diff options
| author | Marshall Lochbaum <mwlochbaum@gmail.com> | 2020-08-17 21:38:52 -0400 |
|---|---|---|
| committer | Marshall Lochbaum <mwlochbaum@gmail.com> | 2020-08-17 22:10:18 -0400 |
| commit | 37597898e329c2f6928a61c089f5b27a97e53b86 (patch) | |
| tree | 455c8cdbb3ed0c6640de38f43bb5fc9586a3f6e8 /src | |
| parent | 44eb5cc1bba34cf1bd908fc8f2d156069c936955 (diff) | |
Refactor identifier handling to use only one ⍷⊸⊐ lookup
Diffstat (limited to 'src')
| -rw-r--r-- | src/c.bqn | 15 |
1 files changed, 7 insertions, 8 deletions
@@ -49,18 +49,17 @@ Tokenize←{ c←CharCode⌾((¬cl)⊸/) f/𝕩 w←(≠↑0∾⊢)⊸<l←c M (⊑bD)≍+´1⊑¨bD‿bN‿bA - i←(1-˜l×+`w)⊔c - na←≠alph⋄us←¯1++´bA + na←≠alph⋄us←c=¯1++´bA + id←(1-˜(us<l)×+`w)⊔na(⊢-⊣×+⟜(⊑bA)⊸≤)c ti←na⌊∘÷˜(⊑bA)-˜w/c - in←na(⊢-⊣×+⟜(⊑bA)⊸≤)us⊸≠⊸/¨i - iu←∊in⋄nv←+´iv←0≤iu/ti⋄id←iv⍒⊸⊏iu/in - ti↩(us=c/˜(1↓0∾˜⊢)⊸<l)(⊢+∧⟜(2⊸=))0⌈ti + iu←(≠↑¯1∾⌈`)⊸<is←⍷⊸⊐id⋄ni←≠in←0>iu/ti + ti↩(us/˜(1↓0∾˜⊢)⊸<l)(⊢+∧⟜(2⊸=))0⌈ti - c↩(w∨¬l∨c M bW)/(vi+id⊐in)⌾(w⊸/)(vi+(≠id)+lu⊐lit)⌾(cl⊸/)c + c↩(w∨¬l∨c M bW)/(vi+is⊏⍋⍋in)⌾(w⊸/)(vi+ni+lu⊐lit)⌾(cl⊸/)c c/˜↩¬(≠↑1∾(c∊2‿4+⊑bB)∨⊢)⊸∧c M bS⋄c/˜↩¬(1↓1∾˜c∊3‿5+⊑bB)∧c M bS - ic←(0⊸≤∧<⟜(≠id))c-vi⋄t←ti⌾(ic⊸/)(vi⌊c)⊏charRole + ic←(0⊸≤∧<⟜ni)c-vi⋄t←ti⌾(ic⊸/)(vi⌊c)⊏charRole c+↩5×c M 5≍˜⊑bI - ⟨c,t,nv,(nv↓id)∾lu⟩ + ⟨c,t,+´¬in,((in//iu)⊏id)∾lu⟩ } ReadNum←{ |
