Hi doru where do we see it? Stef On Fri, 20 Jan 2017 16:57:51 +0100, Tudor Girba <tudor@tudorgirba.com> wrote:
Hi,
When you have questions like these, you can also use the built-in debugging facilities. For example, in your case, you can see that the #any parser consumed everything like this:
Cheers, Doru
On Jan 20, 2017, at 4:38 PM, Norbert Hartl <norbert@hartl.name> wrote:
Am 20.01.2017 um 15:24 schrieb Peter Uhnak <i.uhnak@gmail.com>:
Is PetitParser eager by default?
I've used PetitParser countless times so I am really baffled why this doesn't work
str := 'a0b'. #any asParser star, #digit asParser, #any asParser star parse: str.
-> PPFailure (input expected at: 3)
PetitParser is not greedy per default. But back tracking only works if a parser fails. Using , creates a sequence of combined parsers. If one fails the whole sequence fails. As a star >>parser always succeeds it would be huge luck if your rule would succeed. The probability that the parser consumes exactly one character is not high. Maybe negating the first >>sequence part is what you want
Norbert
-- www.tudorgirba.com www.feenk.com
"What we can governs what we wish."
-- Using Opera's mail client: http://www.opera.com/mail/