diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/c.bqn | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -106,15 +106,17 @@ ErrUndeclared←{ 0 !˜ "Undefined identifier"∾(1<≠𝕩)/"s" } Parse ← {r‿nv←𝕨 - g←⍋pd←+`p←(¯1-2×r)×𝕩 M bB⋄br←p×𝕩M⟨2+⊑bB,2⟩ + g←⍋pd←+`p←(¯1-2×r)×𝕩 M bB⋄pp←g⊏p×𝕩M⟨⊑bB,2⟩ p(=⟜1⊸/ErrMismatchedBrackets⍟≢1-˜=⟜¯1⊸/)○(g⊸⊏)𝕩 "Swapped open and closed brackets" ! 0≤(⊑g)⊑pd - sl←«⊸∨𝕩 M bL⋄sr←»⌾(g⊸⊏)sl⋄cp←𝕩=1+⊑bB + rp←¬g⍋⊸⊏(pp>0)(/{𝕨⌾((pp<0)⊸/)𝕩}∧)(«⊢<1⊸«)⊸∧g⊏p>0 + 𝕩/˜↩rp⋄r/˜↩rp⋄g↩⍋+`p↩rp/p + sr←»⌾(g⊸⊏)sl←«⊸∨𝕩 M bL⋄cp←𝕩=1+⊑bB ps←(𝕩=sep)∨sl∨p>0 g⊏˜↩⍋g⊏sl rev←⍋+`¯1↓(¯1∾g)(⊣⍋⊸⊏⊏˜⟜⍋¬⊏˜)⍋+`⊸+1∾g⊏ps - gf←⍋fd←+`rev⊏br + gf←⍋fd←+`rev⊏br←p×𝕩M⟨2+⊑bB,2⟩ rev⊏˜↩gf⋄fd⊏˜↩gf 𝕩⊏˜↩rev⋄bv←rev⊏br⋄b←/bv<0⋄fi←+`c←bv>0 |
