aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2020-07-12 17:54:27 -0400
committerMarshall Lochbaum <mwlochbaum@gmail.com>2020-07-12 17:54:27 -0400
commit88289a06c50ede8dedcea1e46684d3e4783ab271 (patch)
treeeaadd6767bbbdb3f85a76929fadd0d61d3f33c67
parenteaa73b3eb12428419138f42dda37caa837714933 (diff)
Order strand and bracket list instructions correctly when a strand ends with a list
-rwxr-xr-xdc.bqn10
1 files changed, 5 insertions, 5 deletions
diff --git a/dc.bqn b/dc.bqn
index 5c2d8a59..7b8a22cf 100755
--- a/dc.bqn
+++ b/dc.bqn
@@ -142,8 +142,8 @@ DParse ← {nv‿r𝕊𝕩:
g⊏˜↩⍋g⊏sl⋄r×↩¬sa⋄o←p>0
r+↩(sa<𝕩=1⊑bB)(⊣∧¬⊸∨=○(⌈`(1+↕∘≠)⊸×)⊢)(¯1⊸⌽⌾(g⊸⊏)3=r)∨1≤r
rev←⍋+`1+¯1↓g((¯1∾⊣)(⊣⍋⊸⊏⊏˜-⊏˜⟜⍋)⟜⍋1(+`∘∾-∾˜)⊏)o∨sl∨𝕩∊bS
- g↩⍋+`rev⊏p⋄gr←g⊏rev⋄ll←1+2÷˜0(<-○/>)gr⊏sr-sl
- g⊏˜↩⍋gr⊏sl⋄gr↩g⊏rev⋄𝕩⊏˜↩gr⋄r⊏˜↩gr⋄o⊏˜↩gr⋄l←/gr⊏sr>sl
+ g↩⍋+`rev⊏p⋄gr←g⊏rev⋄sll←1+2÷˜0(<-○/>)gr⊏sr-sl
+ g⊏˜↩⍋gr⊏sl⋄gr↩g⊏rev⋄𝕩⊏˜↩gr⋄r⊏˜↩gr⋄o⊏˜↩gr⋄si←/gr⊏sr>sl
s←𝕩∊bS⋄ps←s∨o∨gr⊏sl⋄a←𝕩∊2↑bG
r-↩ps∨a⋄op←r≥2⋄ro←op∨1⌽r=3
tr←(⌈`↕∘≠⊸ׯ1⌽ps)⊏ro∨r≥1
@@ -152,11 +152,11 @@ DParse ← {nv‿r𝕊𝕩:
oa←⌽/opa⋄fa←/(tf∨¬tr)∧(ro∧1⌽opa)<(r=1)∨op<¯1⌽opa
dy←fa⊏1↓0∾˜(tr∧r≥0)∨r=0
n←𝕩≥vi+nv⋄id←/n<𝕩≥vi⋄cn←/n∨𝕩≤¯1⊑bC⋄u←⍷ob←cn⊏𝕩
- lo←(o/𝕩)=4⊑bB⋄l∾↩/𝕩=5⊑bB⋄ll∾↩1+lo/1(↓--⊸↓)(o∾1)/+`(s∾0)-(1∾o)∧ps∾1
+ lo←(o/𝕩)=4⊑bB⋄l←/𝕩=5⊑bB⋄ll←1+lo/1(↓--⊸↓)(o∾1)/+`(s∾0)-(1∾o)∧ps∾1
dr←/s>o+`⊸⊏0∾lo
- or←⍋g⊏˜∾⟨cn,cn,id,id,1+/a,dr,l,l,oa+1⌈1-˜oa⊏os,fa+dy⟩
+ or←⍋g⊏˜∾⟨cn,cn,id,id,1+/a,dr,l,l,si,si,oa+1⌈1-˜oa⊏os,fa+dy⟩
bc←or⊏∾⟨0¨cn,u⊐ob,1+(id-1)⊏a,vi-˜id⊏𝕩,(11-⊑bG)+a/𝕩
- 14¨dr,3¨l,ll,5+oa⊏r,5+dy+4×fa⊏tr⟩
+ 14¨dr,3¨l,ll,3¨si,sll,5+oa⊏r,5+dy+4×fa⊏tr⟩
bc‿u
}