aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2020-10-08 16:44:58 -0400
committerMarshall Lochbaum <mwlochbaum@gmail.com>2020-10-08 16:44:58 -0400
commit437fa41bb1160f9bfd1b618495e8706c3eca2ba9 (patch)
tree0e211dd505bd66ba1ca345ba9a006633517cd117 /src
parentb9b20748d1fd4511150092c43c43bb429e809a35 (diff)
Compute a block type for the entire program, and require it to be 0
Diffstat (limited to 'src')
-rw-r--r--src/c.bqn5
1 files changed, 3 insertions, 2 deletions
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