George Russell writes:
Parser combinators don't actually seem to analyse the grammar at
compile time at all, and instead just try all possibilities. This
looks like stone-age technology to me. The first version of MLj
was written with parser combinators. As a result the parsing was
much much slower, even after various exponential blow-ups had been
painfully tracked down and removed. Error correction was hopeless.
And worst of all, there were a number of lurking ambiguities in the
grammar which weren't discovered until it was exposed to the rigour
of LALR parsing.
You simply haven't looked at the latest version of Doaitse Swierstra's
LL(k) parsing combinators. They are blazingly fast (as far as I can
tell), do good error correction (sorry, for those folks that don't
like it --- it can be disabled), and seem to detect ambiguities
nicely.
Check out http:\\www.cs.uu.nl\groups\ST\Parse for more information.
I've been using them, and they really are neat.
Dave Barton <*>
[EMAIL PROTECTED] )0(
http://www.averstar.com/~dlb