diff options
| author | Marshall Lochbaum <mwlochbaum@gmail.com> | 2020-07-11 20:44:59 -0400 |
|---|---|---|
| committer | Marshall Lochbaum <mwlochbaum@gmail.com> | 2020-07-11 20:48:30 -0400 |
| commit | dfe95f4432507fcc11e85e080777e11638acdd20 (patch) | |
| tree | b88ab7c1a3ce9a33e860de6dd2b62da0aa0ad074 | |
| parent | c75c727858c9cfe429c3a2ef40a45d8a562341d1 (diff) | |
One-line expression reversing
| -rwxr-xr-x | dc.bqn | 11 |
1 files changed, 2 insertions, 9 deletions
@@ -126,18 +126,11 @@ Compile←{ # Targetting dzaima/BQN bytecode: -RevE←{ - p‿g←𝕨⋄q←g⊏p⋄b←q>0⋄e←q<0 - l←1+-⟜(b/g)⌾(e/⊢)e×g - ps←b∨g⊏(𝕩∊bS) - sl←-⟜(≠↑0∾⊢)(ps∾1)/+`l∾1 - PL←{sl⌾(𝕩⊸/)0¨𝕩} - ⍋+`(¯1↓⍋0∾1+g)⊏1+(1(∾+○PL∾˜)ps)-1(∾+∾˜)l -} DParse ← {nv‿r𝕊𝕩: g←⍋+`p←bB(⊣(≠⊸>ׯ1⋆2|⊢)⊐)𝕩 r+↩(𝕩=1⊑bB)(⊣∧¬⊸∨=○(⌈`(1+↕∘≠)⊸×)⊢)(¯1⊸⌽⌾(g⊸⊏)3=r)∨1≤r - rev←p‿g RevE𝕩⋄g↩⍋+`rev⊏p + rev←⍋+`(¯1↓⍋¯1∾g)⊏1+-○(⊏⟜(¯1∾g))⟜⍋⍋(∾⟜1-˜0∾+`)g⊏(p>0)∨𝕩∊bS + g↩⍋+`rev⊏p gr←g⊏rev⋄𝕩⊏˜↩gr⋄r⊏˜↩gr⋄o←gr⊏p>0 s←𝕩∊bS⋄ps←s∨o⋄a←𝕩∊2↑bG r-↩ps∨a⋄op←r≥2⋄ro←op∨1⌽r=3 |
