aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2020-06-12 10:57:58 -0400
committerMarshall Lochbaum <mwlochbaum@gmail.com>2020-06-12 10:57:58 -0400
commit0d7b0af37e163a075b798feda130879c27a31dd1 (patch)
tree5669fbb15bcab9aba93d9bdbeaa0c815c0c3782c
parent86b05c92e6bf1277783ff31b5f8da4cb57600feb (diff)
Treat arguments as variables from the beginning
-rwxr-xr-xc.bqn8
1 files changed, 4 insertions, 4 deletions
diff --git a/c.bqn b/c.bqn
index 86f0e854..face7cf9 100755
--- a/c.bqn
+++ b/c.bqn
@@ -37,13 +37,13 @@ Parse←{
⟨⟩Parse𝕩;args←charSet⊸⊐¨𝕨⋄x←charSet⊐𝕩
x(/˜)↩¬<○(⌈`↕∘≠⊸×)´((⊑bS)∾bR)=⌜x
w←(<´≠↕0∾⊢)wc←x∊bA
- id←∪ids←(1-˜wc×+`w)⊔x
- vi←≠charSet⋄vars←vi+↕≠id⋄args↩vi+id⊐args
+ id←∪args∾ids←(1-˜wc×+`w)⊔x
+ vi←≠charSet⋄vars←vi+↕≠id
x↩(w∨¬wc∨x∊bW)/(vi+id⊐ids)⌾(w⊸/)x
x(/˜)↩¬(1⌾⊑1⌽1⌾⊑)⊸∧x∊bS
a←x∊(2↑bG)⋄at←1⌽a⋄x(/˜)↩¬a⋄a(/˜)↩¬at
l←≠x⋄sep←x∊bS⋄x↩(bF⊑˜chF⊐<'⊣')¨⌾(sep⊸/)x
- o←x=0⊑bB⋄c←x=1⊑bB⋄v←a-˜x∊bD∾args∾vars⋄f←¬o∨c∨v∨sep
+ o←x=0⊑bB⋄c←x=1⊑bB⋄v←a-˜x∊bD∾vars⋄f←¬o∨c∨v∨sep
na←(2×sep)+f×1+l↑0∾c∨v
e←/c⋄d←+`o-c
ed←e⊏d⋄b←(⍋⍋ed)⊏(⍋⊏⟜d)⊸⊏/o
@@ -52,7 +52,7 @@ Parse←{
fe⌊↩(l-1)-l↑(⌈`↕∘≠⊸×)⌾⌽1∾˜sep
ia←+`l↑0∾f-l↑/⁼∧f/fe
sel←¬∘⊏⟜(o∨c)⊸/⍋(fe⌈↕l)-ia
- ⟨sel⊸⊏¨x‿na,args∾vars,vars⟩
+ ⟨sel⊸⊏¨x‿na,vars,args≠⊸↓vars⟩
}
f64←127-3