aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2020-11-20 21:11:00 -0500
committerMarshall Lochbaum <mwlochbaum@gmail.com>2020-11-20 22:06:38 -0500
commit5df3b8b598d507b3e04e1be4cca28c13e706ffef (patch)
tree2518e929be43463a8bc47d33d740fb25f853b7e2 /src
parent6f2d32906b4c36fbe1801d3e8c41ffbb78bf992d (diff)
Emit opening and closing positions for instructions
Diffstat (limited to 'src')
-rw-r--r--src/c.bqn7
-rw-r--r--src/e.bqn2
2 files changed, 5 insertions, 4 deletions
diff --git a/src/c.bqn b/src/c.bqn
index a7dd7a7e..037debfd 100644
--- a/src/c.bqn
+++ b/src/c.bqn
@@ -190,8 +190,9 @@ Parse ← {r‿vn‿i‿e←𝕨⋄nv←≠vn
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⟩
+ oj←i(≠-1˙)⊸⌊oi(-⊸↓˜⟜≠∾⊢)g⊏˜∾⟨1-˜af/at,oa,fa,rt⟩
bcl‿el‿ol←LEB bc∾25
- ⟨bcl,u,⟨ft,¬fx,el/˜1∾or≥bc-○≠rt,lc+fsc⟩, ol/(¯1∾˜or⊏oi)⊏¯1(⊢∾⊏)i⟩
+ ⟨bcl,u,⟨ft,¬fx,el/˜1∾or≥bc-○≠rt,lc+fsc⟩, (ol/¯1∾˜or⊏oj)⊸⊏¨i‿e⟩
}
LEB←{
@@ -204,6 +205,6 @@ LEB←{
Compile←{
⟨tok,role,val,t0,t1⟩←tx←Tokenize 𝕩
- ⟨bc,prim,blk,indb⟩←⟨role,⊑val,t0,t1⟩ Parse tok
- ⟨bc, ∾⟨prim⊏𝕨⟩∾1↓val, <˘⍉>blk, indb, tx⟩
+ ⟨bc,prim,blk,oi⟩←⟨role,⊑val,t0,t1⟩ Parse tok
+ ⟨bc, ∾⟨prim⊏𝕨⟩∾1↓val, <˘⍉>blk, oi, tx⟩
}
diff --git a/src/e.bqn b/src/e.bqn
index 5144c902..c242ce9f 100644
--- a/src/e.bqn
+++ b/src/e.bqn
@@ -37,7 +37,7 @@ hlTag ← {"<tspan class='"∾𝕩∾"'>"}¨ hlcl
escchars ← """&<>" ⋄ escapes ← ("&"∾∾⟜";")¨"quot"‿"amp"‿"lt"‿"gt"
Explain ← {
- b‿const‿blk‿i‿tok ← 𝕨
+ b‿const‿blk‿(i‿e)‿tok ← 𝕨
ba‿bc‿bo‿bp ← '0'-˜⟨ # For each instruction, number of:
"11111000000000010000022000" # Arguments
"000//232323223102303200121" # Stack values consumed