aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/c.bqn14
1 files 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⥊<is←id∾sp
idbc←⟨21+is⊏asn,(id-○(⊏⟜fd)ui)∾0¨sp,ii⟩
@@ -169,7 +169,7 @@ Parse ← {r‿nv←𝕨
bc←or⊏∾idbc∾⟨0¨cn,ob,15¨b,1+↕≠b,14¨dr,3+l⊏aa,ll,3+si⊏aa,sll
(11-⊑bG)+a/ma+𝕩,5+oa⊏r,(⊢+9×10⊸=)16+dy-7×fa⊏er,25¨rt⟩
bcl‿el←LEB bc∾25
- fs←(ft⊏⥊3≍⌜⟜⌽○↕2)∾¨(el/˜1∾or≥bc-○≠rt)≍¨lc+fsc
+ fs←(ft≍¨¬fx)∾¨(el/˜1∾or≥bc-○≠rt)≍¨lc+fsc
⟨bcl,u,fs⟩
}