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

Reply via email to