aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/c.bqn6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/c.bqn b/src/c.bqn
index b6af9c89..2ab168eb 100644
--- a/src/c.bqn
+++ b/src/c.bqn
@@ -29,7 +29,7 @@ CharCode←charSet{
}
vi←⊑bD # Start of identifier numbering
-charRole←∾⥊¨˜⟜(≠↑cgl˙)⟨1,2,3,¯1,¯1,¯1‿0,¯1,0,5/⌽↕2⟩ # For first vi chars
+charRole←∾⥊¨˜⟜(≠↑cgl˙)⟨1,2,3,¯1,¯2,¯1‿0,¯1,0,5/⌽↕2⟩ # For first vi chars
T←⌈`× ⋄ IT←↕∘≠⊸T ⋄ I1T←(1+↕∘≠)⊸T
# Source to ⟨tokens, roles, number of identifiers, literals⟩
@@ -112,7 +112,7 @@ Parse ← {r‿nv←𝕨
rp←¬g⍋⊸⊏(pp>0)(/{𝕨⌾((pp<0)⊸/)𝕩}∧)(«⊢<1⊸«)⊸∧g⊏p>0
𝕩/˜↩rp⋄r/˜↩rp⋄g↩⍋+`p↩rp/p
sr←»⌾(g⊸⊏)sl←«⊸∨𝕩 M bL⋄cp←𝕩=1+⊑bB
- ps←(𝕩=sep)∨sl∨p>0
+ ps←sl∨r=¯1
g⊏˜↩⍋g⊏sl
rev←⍋+`¯1↓(¯1∾g)(⊣⍋⊸⊏⊏˜⟜⍋¬⊏˜)⍋+`⊸+1∾g⊏ps
@@ -133,7 +133,7 @@ Parse ← {r‿nv←𝕨
g↩⍋+`rev⊏p-br⋄gr←g⊏rev⋄sll←1+2÷˜0(<-○/>)gr⊏sr-sl⋄l←/g⊏𝕩=5+⊑bB
g⊏˜↩gs←⍋gr⊏sl⋄gr↩g⊏rev⋄gi←⍋g
𝕩⊏˜↩g⋄r⊏˜↩gr⋄ps⊏˜↩gr⋄si←/gr⊏sr>sl⋄l⊏↩⍋gs
- a←𝕩 M bG⋄ro←(r≥2)∨a<«r=3
+ a←r=¯2⋄ro←(r≥2)∨a<«r=3
tr←(IT»ps)⊏fe←ro∨r=1⋄ma←tr<(𝕩=1+⊑bG)∧«fe
os←⌽↕∘≠⊸(⊣-T)⌽¬ro∨ma⋄at←1+⊏⟜os⊸+/a
r(×⟜¬-⊢)↩aa←g⊏asn←»+`gi⊏«⊸-(≠𝕩)↑/⁼at