S. Alexander Jacobson writes:
> I am not a parsing expert, but given the recent discussion on macros, I
> have to ask: why use happy rather than monadic parsing? Monadic parsing
> allows you to avoid a whole additional language/compilation step and work
> in Hugs (where you don't have a makefile). What does Happy buy you here?
Happy and others like it generate an LR parser, which is a well-established
technology since the late 60's (Knuth): efficient, deterministic, and checks the
grammar for you.
Parser combinators are usually nondeterministic ie backtracking (pre-Knuth!:-)
though Cleverly Disguised in Haskell Higher Order clothes....
LR parsers gives you greated freedom in expressing the grammar, with the LR parser
generator
leaning over your shoulder.
Grammars possible with parsing combinators are more constrained: cannot use left
recursion,
order of rules matters, etc. On the other hand, one has the whole abstraction
machinery
of Haskell or whatever at hand for writing the grammar rules.
The analogy that comes to mind is statically typed languages vs runtime typed ones.
--Thomas
PS would be cool to try to marry the two approaches....
_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell