aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2020-10-29 15:53:35 -0400
committerMarshall Lochbaum <mwlochbaum@gmail.com>2020-10-29 16:08:29 -0400
commit2214c609e2459c397dfa9431558e4770d4bde24c (patch)
treee36da2de94ee729e9d00af136f1645af9d866d16
parent0c3d8245e216d431bc04f48ce1b44e981bef9010 (diff)
Add source indices to compiler output, but don't use them anywhere
-rwxr-xr-xdc.bqn2
-rw-r--r--src/c.bqn12
-rwxr-xr-xsrc/cjs.bqn2
3 files changed, 8 insertions, 8 deletions
diff --git a/dc.bqn b/dc.bqn
index 28d46020..d21bb7e3 100755
--- a/dc.bqn
+++ b/dc.bqn
@@ -13,7 +13,7 @@ prims ← (•Import "dzref"){𝔽} "⟨
special←<˘∘‿2⥊"𝕤𝕩𝕨𝕣𝕗𝕘"
DCompile⇐{
- ⟨bc,o,fblk⟩ ← prims Compile 𝕩
+ ⟨bc,o,fblk,ind⟩ ← prims Compile 𝕩
blk‿bdy ← <˘⍉>(↕≠fblk){
⟨t,i,l,n⟩←𝕩
s←(3×i)↓(t⊑3‿5‿6)↑special
diff --git a/src/c.bqn b/src/c.bqn
index 29c7d752..2e5c8e63 100644
--- a/src/c.bqn
+++ b/src/c.bqn
@@ -179,11 +179,11 @@ Parse ← {r‿vn‿ind←𝕨⋄nv←≠vn
ll←sll∾˜(¬lo/1«ps)+-⟜»1↓(lo∾1)/+`ls∾0
dr←/ls<s⋄rt←/fo
- or←⍋idor∾g⊏˜∾⟨cn,cn,bk,bk,dr,2/l,af/at,oa+1⌈oa⊏os,(dy×⊏⟜os)⊸+fa+dy,rt⟩
+ or←⍋oi←idor∾g⊏˜∾⟨cn,cn,bk,bk,dr,2/l,af/at,oa+1⌈oa⊏os,(dy×⊏⟜os)⊸+fa+dy,rt⟩
bc←or⊏∾idbc∾⟨0¨cn,ob,15¨bk,1+↕≠bk,14¨dr,⥊⍉(3+l⊏aa)≍ll
11⌈(11-1+⊑bG)+(af/ai)⊏ma+𝕩,5+oa⊏r,(⊢+9×10⊸=)16+dy-7×fa⊏er,25¨rt⟩
- bcl‿el←LEB bc∾25
- ⟨bcl,u,⟨ft,¬fx,el/˜1∾or≥bc-○≠rt,lc+fsc⟩⟩
+ bcl‿el‿ol←LEB bc∾25
+ ⟨bcl,u,⟨ft,¬fx,el/˜1∾or≥bc-○≠rt,lc+fsc⟩, ol/(¯1∾˜or⊏oi)⊏¯1(⊢∾⊏)ind⟩
}
LEB←{
@@ -191,11 +191,11 @@ LEB←{
s←+`»i←1+l←⌊b⋆⁼1⌈𝕩
o←⍋⍋↕∘≠⊸-i/s
v←o⊏l{f←×𝕨⋄(𝕨-1)(b⊸(×⟜f+|)∾𝕊⟜(⌊÷⟜b)○(f⊸/))⍟(∨´f)𝕩}𝕩
- v‿s
+ v‿s‿i
}
Compile←{
⟨tok,role,val,ind⟩←Tokenize 𝕩
- ⟨bc,prim,blk⟩←⟨role,⊑val,ind⟩ Parse tok
- ⟨bc, ∾⟨prim⊏𝕨⟩∾1↓val, <˘⍉>blk⟩
+ ⟨bc,prim,blk,indb⟩←⟨role,⊑val,ind⟩ Parse tok
+ ⟨bc, ∾⟨prim⊏𝕨⟩∾1↓val, <˘⍉>blk, indb⟩
}
diff --git a/src/cjs.bqn b/src/cjs.bqn
index 3e6aaabf..47e65d04 100755
--- a/src/cjs.bqn
+++ b/src/cjs.bqn
@@ -1,7 +1,7 @@
#! /usr/bin/env dbqn
compile ← •Import "c.bqn"
-Comp ← ((<"runtime["∾⍕∾"]"˙)¨↕62)⊸Compile
+Comp ← ¯1 ↓ ((<"runtime["∾⍕∾"]"˙)¨↕62)⊸Compile
FP ← ∞⊸=◶⟨⍕,"Infinity"⟩
Esc ← (⟨"\t","\n","\r","\'","\"""⟩∾<∘⥊)⊑˜("'"""∾˜@+9‿10‿13)⊑∘⊐⊢
Str ← "str("""∾(∾Esc¨)∾""")"˜