From 04324e2cb698afde7c4bce8e188ee7b904ab4a75 Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Thu, 8 Oct 2020 17:10:54 -0400 Subject: Split block type, immediacy, and role into separate variables --- src/c.bqn | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/c.bqn b/src/c.bqn index 7e2c73a7..4f3e8cc0 100644 --- a/src/c.bqn +++ b/src/c.bqn @@ -121,11 +121,11 @@ Parse ← {r‿nv←𝕨 𝕩⊏˜↩rev⋄bv←rev⊏br⋄b←/bv<0⋄fi←+`c←bv>0 H←¬1(∾/∾˜)c(∨/⊣)= - ft←(1⊸H+2×2⊸H⌈2×3⊸H)(0‿3‿4‿5+5+⊑bI)⍋𝕩 - "Special name outside of any block" ! 0=⊑ft - fsc←ft⊏⥊3‿5‿6-⌜3‿0 - pt←cp∧sn←¬sl∨sr - r↩sl-˜sn×((1↓ft)⊏(1+2⊸≤)⊸/↕4)⌾((b⊏rev)⊸⊏)r + sn←(0‿3‿4‿5+5+⊑bI)⍋𝕩⋄fx←1 H sn⋄fr←(fx∨0⊸<)⊸+ft←(2⊸H⌈2×3⊸H)sn + "Special name outside of any block" ! 0=⊑fr + fsc←(ft⊏0‿2‿3)+3×fx + pt←cp∧ns←¬sl∨sr + r↩sl-˜ns×(1↓fr)⌾((b⊏rev)⊸⊏)r pp←pt∧»no←1⊸»⌾(g⊸⊏)r<0 ir←((»⌾(g⊸⊏)(1+no)×3=⊢)⌈⊢-no<2≤⊢)r+pp×(IT¬pp)⊏r ir⌈↩(IT¬pt∧ir=0)((⊏-⊢)⟜(+`¬pp)(⊢⌊1⌈+)⊏)ir @@ -160,7 +160,7 @@ Parse ← {r‿nv←𝕨 ig↩<⟜(≠id)⊸/(⍋+`∘⊏⟜(d∾-/˜d))⊸⊏ig d⊏˜↩ig⋄ErrUndeclared∘/˜⍟(0∨´⊢)⟜(d<»⊸≠)ig⊏idx ui←(IT d)⊸⊏⌾(ig⊸⊏)id - ii←(ui⊏(fi⊏fsc)-c⊸T⊸¬+`dec)∾((sp⊏fi)⊏3×2|ft)++⟜(0⊸≤)2+sp⊏xv + ii←(ui⊏(fi⊏fsc)-c⊸T⊸¬+`dec)∾((sp⊏fi)⊏3×fx)++⟜(0⊸≤)2+sp⊏xv idor←∾3⥊