From 437fa41bb1160f9bfd1b618495e8706c3eca2ba9 Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Thu, 8 Oct 2020 16:44:58 -0400 Subject: Compute a block type for the entire program, and require it to be 0 --- src/c.bqn | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/c.bqn b/src/c.bqn index f5ed619e..7e2c73a7 100644 --- a/src/c.bqn +++ b/src/c.bqn @@ -120,8 +120,9 @@ Parse ← {r‿nv←𝕨 rev⊏˜↩gf⋄fd⊏˜↩gf 𝕩⊏˜↩rev⋄bv←rev⊏br⋄b←/bv<0⋄fi←+`c←bv>0 - H←¬·1⊸«⊸/c(∨/⊣)= - ft←(0∾1⊸H+2×2⊸H⌈2×3⊸H)(0‿3‿4‿5+5+⊑bI)⍋𝕩 + 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 -- cgit v1.2.3