diff options
| author | Marshall Lochbaum <mwlochbaum@gmail.com> | 2020-07-08 14:35:59 -0400 |
|---|---|---|
| committer | Marshall Lochbaum <mwlochbaum@gmail.com> | 2020-07-08 14:36:53 -0400 |
| commit | 42b9f8dab1d88537060f73b12137330052b8f267 (patch) | |
| tree | 3c4b4cae7fcb7ad37ac8305e7d6f3b16b4218044 | |
| parent | 9213d5469fc53496eb1a83260062661ffdf269e8 (diff) | |
Support function assignment, but not use
| -rwxr-xr-x | dc.bqn | 21 | ||||
| -rw-r--r-- | test/bcases.bqn | 1 |
2 files changed, 12 insertions, 10 deletions
@@ -120,16 +120,17 @@ Compile←{ # Targetting dzaima/BQN bytecode: DParse ← { - l←≠𝕩⋄sep←𝕩∊bS⋄𝕩↩(⌽⍋⍋⌽+`(≠↑0∾⊢)⊸∨sep)⊏𝕩 - o←𝕩=1⊑bB⋄g←⍋d←+`o-𝕩=0⊑bB⋄pi←+`ps←g⊏o - tr←pi⊏(0∾(⍋⊏⟜d)⊸⊏/o)⊏xf←⌽(¬o)=○(·⌈`(1+↕∘≠)⊸×)○⌽𝕩∊bF - tf←(2(|<≤)↕∘≠⊸(⊣-·⌈`×)ps)×tr - f←¯1↓(⍋0∾d)⊏xf∾0 - 𝕩↩g⊏𝕩⋄v←𝕩≥vi⋄fa←/tf∨tr<f - dy←1↓0∾˜(tr>tf∨ps)∨v∨f<𝕩=0⊑bB - n←𝕩≥vi+𝕨⋄id←/v-n⋄cn←/n∨𝕩∊bF⋄a←𝕩∊2↑bG⋄s←/𝕩∊bS⋄u←⍷ob←cn⊏𝕩 - or←⍋g⊏˜∾⟨cn,cn,id,id,1+/a,s,+⟜(⊏⟜dy)fa⟩ - bc←or⊏∾⟨0¨cn,u⊐ob,(1+(id-1)⊏a),vi-˜id⊏𝕩,(11-⊑bG)+a/𝕩,14¨s,5+fa⊏dy+4×tr⟩ + l←≠𝕩⋄sep←𝕩∊bS⋄𝕩⊏˜↩⌽⍋⍋⌽+`(≠↑0∾⊢)⊸∨sep + o←𝕩=1⊑bB⋄g←⍋d←+`o-𝕩=0⊑bB⋄ps←g⊏o∨sep + xf←⌽(¬o∨sep)=○(⌈`(1+↕∘≠)⊸×)○⌽𝕩∊bF + 𝕩↩g⊏𝕩⋄v←𝕩≥vi⋄a←𝕩∊2↑bG⋄s←/𝕩∊bS⋄f←(l↑0∾1+g)⊏xf∾0 + tr←ps+`⊸⊏(0∾ps/g)⊏xf + tf←tr∧2(|<≤)ps(⊢-⌈`∘×)↕l + fa←/(tr<f)∨tf∧a<○(⌈`(1+↕∘≠)⊸×)ps + dy←fa⊏1↓0∾˜(tr>tf∨ps)∨v∨f<𝕩=0⊑bB + n←𝕩≥vi+𝕨⋄id←/v-n⋄cn←/n∨𝕩∊bF⋄u←⍷ob←cn⊏𝕩 + or←⍋g⊏˜∾⟨cn,cn,id,id,1+/a,s,fa+dy⟩ + bc←or⊏∾⟨0¨cn,u⊐ob,1+(id-1)⊏a,vi-˜id⊏𝕩,(11-⊑bG)+a/𝕩,14¨s,5+dy+4×fa⊏tr⟩ bc‿u } diff --git a/test/bcases.bqn b/test/bcases.bqn index 93388d41..3c546248 100644 --- a/test/bcases.bqn +++ b/test/bcases.bqn @@ -1,3 +1,4 @@ -4 % (⌈-)4+÷2 3 % √5(+×-)4 1 % 4((¬=)∧¬=1+-)6 +5 % F←-⋄2+3 |
