From 08998ea5b097a40cc19271c1918afc3ef9b17cc5 Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Tue, 17 Nov 2020 15:29:06 -0500 Subject: Report (possibly incomplete) sources for all lexical resolution errors --- src/c.bqn | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/c.bqn b/src/c.bqn index 4268b356..2b3ea883 100644 --- a/src/c.bqn +++ b/src/c.bqn @@ -160,20 +160,21 @@ Parse ← {r‿vn‿i‿e←𝕨⋄nv←≠vn "Assignment target must be a name or list of targets"_err_(GI) (aid∨ps∨𝕩∊bB⊑⊸+1‿5)aa - ip←id⊏ac⋄d←ip M 2‿4⋄zic←0¨ic←id/˜icf←2(<∧|)ip + ip←id⊏ac⋄d←ip M 2‿4 + zic←0¨ic←id/˜icf←2(<∧|)ip⋄II←∾⟜(icf⊸/)id⊏I il←ic⊏+`bv<0⋄ex←il⊏(/∾≠)c ixf←(((1=ip)+⊏⟜(¯1∾c/gf))∾(il∾d⊸/)⊏((≠𝕩)∾b⊏gf)˜)id⊏fi d∾↩zic⋄idx∾↩icf/idx ig←(⍋⊏⟜(ixx←∾⟜(d⊸/)idx))⊸⊏⍋ixf - "Multiple definitions" ! ∧´ixx∨○(»⊸≠((≠d)⊸≤⊸/ig)⊸⊏)ixf + {"Redefinition"_err_(𝕩⊏·∾⟜(d⊸/)II) ¬ixx∨○(»⊸≠𝕩⊸⊏)ixf} (≠d)⊸≤⊸/ig ig↩<⟜(≠d)⊸/(⍋+`∘⊏⟜(d∾-/˜d))⊸⊏ig - d⊏˜↩ig⋄idx⊏˜↩ig - ("Undefined identifier"Pl/)_err_(ig⊏id⊏I) d<»⊸≠idx - "Imports must have been exported" ! ∧´2>-⟜»(d∨×)⊸/ig⊏(ip M 1‿3)∾2¨ic + d⊏˜↩ig⋄idx⊏˜↩ig⋄II↩ig⊏II + ("Undefined identifier"Pl/)_err_(II) d<»⊸≠idx + {"Imports must have been exported"_err_(f/II) 2≤-⟜»(f←d∨×𝕩)/𝕩} ig⊏(ip M 1‿3)∾2¨ic ui←(IT d)⊸⊏⌾(ig⊸⊏)id∾ex lc←(1«c)/dn←c(⊢-T)+`idm∧ac M 2‿4 - ii←(ui⊏(fi⊏fsc)+dn-1)∾((sp⊏fi)⊏3×fx)++⟜(0⊸≤)2+sp⊏xv - ib←⟨21+0ib,3¨ed,ex≠⊸(«-⊢)ed,14¨ed⟩ -- cgit v1.2.3