From 1c598b836ad34d87b4799bb933fe76ba0a4132f4 Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Thu, 30 Jun 2022 10:21:02 -0400 Subject: Prevent modified assignment to [] in the compiler --- src/c.bqn | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/c.bqn b/src/c.bqn index 6c22cb9c..1696306a 100644 --- a/src/c.bqn +++ b/src/c.bqn @@ -257,10 +257,11 @@ Parse ← {r‿vn‿i‿e‿def←𝕨⋄nv←≠vn ak←af+(0≤ar)+(ai⊏ma)+(⊑bG)-˜ai⊏𝕩 # Class of assignment: 1⇐ 2⇐? 3←? 4↩? 5+↩? at∾↩hj⋄ac←«⊸-(ak∾6¨hj)⌾(at⊸⊏)0¨𝕩 # Header assignment is 6 temporarily aa←×gac←g⊏ac↩»+`(1⊸»⊸∨0=+`)⊸×gi⊏ac # Broadcast ac to the entire target + mat←5=gac # Modified assignment target api←/(𝕩=⊑bO)∧ap←aa∧2=no # Assignment placeholder - "Can't use Nothing (·) in lists"_nerr (¬ap)×no×ns≤»lo∨ls - "Can't modify Nothing (·)"_err_(G) ap∧5=gac - "Square brackets can't be empty"_err_(G) aa<(𝕩=6+⊑bB)∧1«ps + "Can't use Nothing (·) in lists"_nerr no×ap«𝕩=⊑bL)∨𝕩(=⟜(3+⊑)aa af>↩alm←ai⊏aa⋄al←alm/ai # aliases al "Alias must have a name on the right and appear within ⟨⟩"_err_(al⊏G) ¬(al-1)⊏aid∧ns∧»ls∨𝕩=4+⊑bB -- cgit v1.2.3