diff options
| author | Marshall Lochbaum <mwlochbaum@gmail.com> | 2020-09-26 17:24:55 -0400 |
|---|---|---|
| committer | Marshall Lochbaum <mwlochbaum@gmail.com> | 2020-09-26 17:24:55 -0400 |
| commit | bd0a4eb9e4666e4cc251e3de4b7ecaabaf463969 (patch) | |
| tree | f33426fefebf69921e9b42eac253a6aeb42aae2b /src | |
| parent | acf384a5ffa6d420d01d275ce95e7881c1737439 (diff) | |
Move LEB after Parse
Diffstat (limited to 'src')
| -rw-r--r-- | src/c.bqn | 20 |
1 files changed, 10 insertions, 10 deletions
@@ -93,14 +93,6 @@ ReadNums←{ } -LEB←{ - b←128 - s←+`»i←1+l←⌊b⋆⁼1⌈𝕩 - o←⍋⍋↕∘≠⊸-i/s - v←o⊏l{f←×𝕨⋄(𝕨-1)(b⊸(×⟜f+|)∾𝕊⟜(⌊÷⟜b)○(f⊸/))⍟(∨´f)𝕩}𝕩 - v‿s -} - ErrMismatchedBrackets←{ Lcs ← ¯1 ⊑ 0˘∘⊢ {𝕩⌈⌈`𝕨+«𝕩}˝ =⌜ _mis_ ← {"Missing "∾𝕗∾" "∾charSet⊏˜𝕘+⊢/˜≠∘⊣=⊒} @@ -110,7 +102,7 @@ ErrMismatchedBrackets←{ ErrUndeclared←{ 0 !˜ "Undefined identifier"∾(1<≠𝕩)/"s" } -Parse ← {nv‿r←𝕨 +Parse ← {r‿nv←𝕨 g←⍋pd←+`p←𝕩(Mׯ1⋆2|-⟜⊑)bB⋄br←p×𝕩M 2≍˜2+⊑bB p(=⟜1⊸/ErrMismatchedBrackets⍟≢1-˜=⟜¯1⊸/)○(g⊸⊏)𝕩 "Swapped open and closed brackets" ! 0≤(⊑g)⊑pd @@ -169,9 +161,17 @@ Parse ← {nv‿r←𝕨 ⟨bcl,u,fs⟩ } +LEB←{ + b←128 + s←+`»i←1+l←⌊b⋆⁼1⌈𝕩 + o←⍋⍋↕∘≠⊸-i/s + v←o⊏l{f←×𝕨⋄(𝕨-1)(b⊸(×⟜f+|)∾𝕊⟜(⌊÷⟜b)○(f⊸/))⍟(∨´f)𝕩}𝕩 + v‿s +} + Compile←{ ⟨t,r,nVar,const⟩←Tokenize𝕩 - ⟨bc,u,blk⟩←nVar‿r Parse t + ⟨bc,u,blk⟩←r‿nVar Parse t o←(u-(vi+nVar-≠𝕨)×u≥vi)⊏𝕨∾const ⟨bc,o,blk⟩ } |
