aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2020-07-09 21:04:18 -0400
committerMarshall Lochbaum <mwlochbaum@gmail.com>2020-07-09 21:04:18 -0400
commit90a6f7e95094722fd0d2785efd3ea1b06654518b (patch)
tree6d7117ca1322f438735ad639308ad92c6a84364a
parent729359e26e8d0ce9a43e53a7a87d0c982270035e (diff)
Support operator assignment
-rwxr-xr-xdc.bqn4
-rw-r--r--test/bcases.bqn2
2 files changed, 4 insertions, 2 deletions
diff --git a/dc.bqn b/dc.bqn
index b82cc784..9c237f75 100755
--- a/dc.bqn
+++ b/dc.bqn
@@ -133,8 +133,8 @@ DParse ← {nv‿r𝕊𝕩:
𝕩⊏˜↩g⋄r⊏˜↩g⋄v←𝕩≥vi⋄a←𝕩∊2↑bG⋄s←/𝕩∊bS⋄op←r≥2⋄f←(l↑0∾1+g)⊏xf∾0
tr←ps+`⊸⊏(0∾ps/g)⊏xf
tf←tr∧2(|<≤)ps(⊢-⌈`∘×)+`¬op
- ro←1⌽r=3⋄os←⌽↕∘≠⊸(⊣-⌈`∘×)⌽¬ro∨¯1⊸⌽⊸∨op
- oa←⌽/op⋄fa←/ro<((tr∨op)<f∨¯1⌽op)∨tf∧a<○(⌈`(1+↕∘≠)⊸×)ps
+ opa←op>1↓0∾˜ps∨a⋄os←⌽↕∘≠⊸(⊣-⌈`∘×)⌽¬(1⌽r=3)∨¯1⊸⌽⊸∨op
+ oa←⌽/opa⋄fa←/(1⌽opa∧r=3)<((tr∨op)<f∨¯1⌽opa)∨tf∧a<○(⌈`(1+↕∘≠)⊸×)ps
dy←fa⊏1↓0∾˜(tr>tf∨ps)∨v∨f<𝕩=0⊑bB
n←𝕩≥vi+nv⋄id←/v-n⋄cn←/n∨𝕩≤¯1⊑bC⋄u←⍷ob←cn⊏𝕩
or←⍋g⊏˜∾⟨cn,cn,id,id,1+/a,s,oa+1⌈1-˜oa⊏os,fa+dy⟩
diff --git a/test/bcases.bqn b/test/bcases.bqn
index 23fa1257..5d727ca2 100644
--- a/test/bcases.bqn
+++ b/test/bcases.bqn
@@ -10,3 +10,5 @@
1 % 3-˜4
0.25 % 4-˜○÷2
3 % √5-○(ט)4
+8 % _m←˜⋄+_m 4
+8 % _c_←⊸ , 4 _c_ × 2