diff options
| author | Marshall Lochbaum <mwlochbaum@gmail.com> | 2020-09-25 16:45:42 -0400 |
|---|---|---|
| committer | Marshall Lochbaum <mwlochbaum@gmail.com> | 2020-09-25 16:56:09 -0400 |
| commit | 25918eb8c6463af4726f60e99ce8371ce6bcf15b (patch) | |
| tree | 56a3a1ce0b986bb32c0dd2d174ead46baaca54be /src | |
| parent | 01acb6a8f130c07b2c042aacf32c1f1b15fa30a9 (diff) | |
Avoid redoing work to adjust block start indices for LEB128
Diffstat (limited to 'src')
| -rw-r--r-- | src/c.bqn | 16 |
1 files changed, 9 insertions, 7 deletions
@@ -83,11 +83,12 @@ ReadNums←{ } -LEBv ← { +LEB←{ b←128 - l←⌊b⋆⁼1⌈𝕩 - o←⍋⍋((↕¯1⊑⊢)-/⟜»)⟜(+`)1+l - o⊏l{f←×𝕨⋄(𝕨-1)(b⊸(×⟜f+|)∾𝕊⟜(⌊÷⟜b)○(f⊸/))⍟(∨´f)𝕩}𝕩 + s←+`»i←1+l←⌊b⋆⁼1⌈𝕩 + o←⍋⍋↕∘≠⊸-i/s + v←o⊏l{f←×𝕨⋄(𝕨-1)(b⊸(×⟜f+|)∾𝕊⟜(⌊÷⟜b)○(f⊸/))⍟(∨´f)𝕩}𝕩 + v‿s } ErrMismatchedBrackets←{ @@ -152,9 +153,10 @@ Parse ← {nv‿r←𝕨 b⊏↩gi or←⍋idor∾g⊏˜∾⟨cn,cn,b,b,rt,dr,l,l,si,si,at,oa+1⌈oa⊏os,(dy×⊏⟜os)⊸+fa+dy⟩ bc0←∾idbc∾⟨0¨cn,u⊐ob,15¨b,1+↕≠b⟩ - bc←or⊏bc0∾∾⟨25¨rt,14¨dr,3+l⊏aa,ll,3+si⊏aa,sll,(11-⊑bG)+a/ma+𝕩,5+oa⊏r,(⊢+9×10⊸=)16+dy-7×fa⊏tr⟩ - fs←(ft⊏⥊3≍⌜⟜⌽○↕2)∾¨((+`0∾1+⌊128⋆⁼1⌈bc)⊏˜/1∾or M bc0≍○≠rt)≍○<¨lc+fsc - ⟨LEBv bc∾25,u,fs⟩ + bc←or⊏∾⟨bc0,25¨rt,14¨dr,3+l⊏aa,ll,3+si⊏aa,sll,(11-⊑bG)+a/ma+𝕩,5+oa⊏r,(⊢+9×10⊸=)16+dy-7×fa⊏tr⟩ + bcl‿el←LEB bc∾25 + fs←(ft⊏⥊3≍⌜⟜⌽○↕2)∾¨(el/˜1∾or M bc0≍○≠rt)≍¨lc+fsc + ⟨bcl,u,fs⟩ } Compile←{ |
