aboutsummaryrefslogtreecommitdiff
path: root/src/c.bqn
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2022-04-08 22:04:22 -0400
committerMarshall Lochbaum <mwlochbaum@gmail.com>2022-04-08 22:04:22 -0400
commit9bdaee77985cea538416c312f49a1653a40db6e1 (patch)
treec131e73099902f7c32ea41992e6c555721af3300 /src/c.bqn
parentf01267f78cb2c3a472ab314e22e4c0c3c101c1ae (diff)
Fix bracket matching in error messages when . follows parens
Diffstat (limited to 'src/c.bqn')
-rw-r--r--src/c.bqn6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/c.bqn b/src/c.bqn
index 4bc3cefb..f87415d3 100644
--- a/src/c.bqn
+++ b/src/c.bqn
@@ -159,10 +159,10 @@ Parse ← {r‿vn‿i‿e‿def←𝕨⋄nv←≠vn
𝕩⊏˜↩rev⋄dc⊏˜↩rev⋄i⊏˜↩rev⋄e⊏˜↩rev
# Compute parsing ordering gr≡g⊏rev
- g↩⍋+`p↩br-˜rev⊏p⋄g⊏˜↩⍋g⊏«⊸∨dc⋄gr←g⊏rev # Order by non-brace bracket depth, then dots
+ g↩⍋+`p↩br-˜rev⊏p⋄bp←0(<⋈○(/⟜g)>)g⊏p # Order by non-brace bracket depth
+ g⊏˜↩⍋g⊏«⊸∨dc⋄gr←g⊏rev # Now by dots
sll←1+2÷˜0(<-○/>)gr⊏sr-sl⋄l←/g⊏𝕩=5+⊑bB # Strand length; list starts
- b←br>0⋄c←/br<0 # Block Begin (mask) and Close (index), in matching order
- bp←⟨/b,c⟩∾¨0(<≍○(</⟜g)>)g⊏p # Bracket pairs
+ b←br>0⋄c←/br<0⋄bp∾¨↩⟨/b,c⟩ # Block Begin (mask) and Close (index), in matching order
g⊏˜↩gs←⍋gr⊏sl⋄gr↩g⊏rev⋄gi←⍋g # Send strand prefixes *‿ to the end
# Headers