How would I do something like this in Treetop?
/.+?;/
It seems like the only way is to do:
[^;]+ ';'
Which is kind of ugly.. any other way? .+?
doesn't seem to work..
PEGs are greedy and blind by default, that means they eat as much input as they can and they do not consider what comes afterwards:
S <- P1* P2
(greedy, blind)
That can be considerably easy fixed though by making use of the ordered choice (and without using lookaheads):
S <- P1 S / P2
(greedy, non-blind)
S <- P2 / P1 S
(lazy, non-blind)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With