diff options
| author | Marshall Lochbaum <mwlochbaum@gmail.com> | 2021-08-21 18:08:13 -0400 |
|---|---|---|
| committer | Marshall Lochbaum <mwlochbaum@gmail.com> | 2021-08-21 18:08:13 -0400 |
| commit | 419b16de511ab474e06e0e710e586bfa77d4a5b1 (patch) | |
| tree | 0a1d25454e0acdfecfd20e1670c3814ff6b67197 /src/c.bqn | |
| parent | db1b030ad7febc0c1f7d51ef2e868104c6fab956 (diff) | |
Fix testing for expression-like syntax in header inputs
Diffstat (limited to 'src/c.bqn')
| -rw-r--r-- | src/c.bqn | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -236,7 +236,7 @@ Parse ← {r‿vn‿i‿e‿def←𝕨⋄nv←≠vn ak←af+(0≤ar)+(⊑bG)-˜ai⊏𝕩 # Class of assignment: 1⇐ 2⇐? 3←? 4↩? at∾↩hj⋄ac←«⊸-(ak∾5¨hj)⌾(at⊸⊏)0¨𝕩 # Header assignment is 5 temporarily aa←×g⊏ac↩»+`(1⊸»⊸∨0=+`)⊸×gi⊏ac # Broadcast ac to the entire target - ac-↩2×ah←5=ac⋄ah⊏˜↩g # Assignment is header; 5→3 + ac-↩2×ah←5=ac # Assignment is header; 5→3 nf←H ac<xv=vi-˜⊑bG # Namespace bodies fw←H gi⊏nx # Bodies where 𝕨 must be defined {"Can't return Nothing (·)"_err_(𝕩⊏⍋∘Rev) 2=fw⌈↩nf¬⊸×𝕩⊏nr} 1-˜0∾cc⊏rev @@ -245,8 +245,8 @@ Parse ← {r‿vn‿i‿e‿def←𝕨⋄nv←≠vn cw⌈↩2×fw nn←fo+`⊸⊏2=cw⋄no(⊣-=)↩nn⋄ne(⊣-=)↩nn # 2=cw indicates 𝕨 is never Nothing aid←(¯6⊸≤∧<⟜nv)𝕩-vi # Assignable identifer - hq←/hp←ah∧𝕩≥nv+vi # Header constant - atc←(ah<ps<«aa∧r≥0)<aid∨hp∨(ps>«𝕩=⊑bL)∨𝕩(=⟜(3+⊑)<M)bB + hq←/hp←(g⊏ah)∧𝕩≥nv+vi # Header constant + atc←(hg<ps<«aa∧r≥0)<aid∨hp∨(ps>«𝕩=⊑bL)∨𝕩(=⟜(3+⊑)<M)bB "Assignment target must be a name or list of targets"_err_(G) (a∨atc)<aa "Can't nest assignments (write aliases with ⇐)"_err_(ai⊏G) (ak=2)<ai⊏aa "Can't use result of function/modifier assignment without parentheses"_err_(G) hg<(0<er)∧(0≤r)∧»⊸>aa |
