From 15953f1248d847903466f349c9e1e925e47002f9 Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Wed, 14 Oct 2020 15:12:53 -0400 Subject: Add support for module imports, but not aliases --- src/c.bqn | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) (limited to 'src') diff --git a/src/c.bqn b/src/c.bqn index 2dd2eaab..62793e01 100644 --- a/src/c.bqn +++ b/src/c.bqn @@ -139,28 +139,34 @@ Parse ← {r‿nv←𝕨 g↩⍋+`rev⊏p-br⋄gr←g⊏rev⋄sll←1+2÷˜0(<-○/>)gr⊏sr-sl⋄l←/g⊏𝕩=5+⊑bB g⊏˜↩gs←⍋gr⊏sl⋄gr↩g⊏rev⋄gi←⍋g 𝕩⊏˜↩g⋄r⊏˜↩gr⋄ir⊏˜↩gr⋄l↩(l⊏⍋gs)∾/gr⊏sr>sl - ni←(1↓nf)/bk←b⊏gi - "Modules must be immediately assigned" ! (0<≠)◶1‿(r≠⊸>⟜(2+⌈´)◶0‿(∧´∘⥊¯3‿0‿¯1=∾⟜¯1⊏˜(1+↕3)+⌜⊢)⊢)ni - "Modules must be destructured" ! ¬∨´(⊏⟜idm>⊏⟜rev⊏sr˙)(ni+2)⊏g + ni←1+(1↓nf)/bk←b⊏gi + "Modules must be immediately assigned" ! (0<≠)◶1‿(r≠⊸>⟜(1+⌈´)◶0‿(∧´∘⥊¯3‿0‿¯1=∾⟜¯1⊏˜(↕3)+⌜⊢)⊢)ni + "Modules must be destructured" ! ¬∨´(⊏⟜idm>⊏⟜rev⊏sr˙)(ni+1)⊏g a←r≤¯3⋄ps←a-⟜»(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 - idor←∾3⥊ib,3¨ed,ex≠⊸(«-⊢)ed,14¨ed⟩ ta←tr∧2(>∨|)ps(⊢-T)+`¬ro fa←/(ta∨ro∨«⊸∨aa)<(r=1)∨»op -- cgit v1.2.3