4 ms·
> monadic combinators are more powerful [than context free parsers] Monadic parsers can do context-sensitive things that context free parsers can't, but they c
by vorg 9y ago
> monadic combinators are more powerful [than context free parsers]
Monadic parsers can do context-sensitive things that context free parsers can't, but they can't have unordered options which context free parsers can. So really monadic parsers have different powers to context-free.
> do monads warn the user when there is an ambiguity in the "grammar"?
You don't have ambiguity in the grammar because monadic parsers only provide ordered options.
- dozzie 9y ago> You don't have ambiguity in the grammar because monadic parsers only provide ordered options. Oh, but you do have ambiguity in the grammar, except that parser returns one of the possible parse trees deterministically and thus doesn't warn you that the input could be parsed differently. This leads to the false impression that your grammar is unambiguous.
- marcosdumay 9y agoThe parser implements an unambiguous grammar. But it may not be the grammar you were thinking it was. Specifically, it makes it impossible for you to even write down that ambiguous grammar you wanted.