with minor tweaks by me.
--
Happy - The LALR(1) Parser Generator for Haskell
Happy is a parser generator system for Haskell, similar to the
tool `yacc' for C. Like `yacc', it takes a file containing an
annotated BNF specification of a grammar and produces a Haskell
module containing a parser for the grammar.
Happy is flexible: you can have several Happy parsers in the same
program, and several entry points to a single grammar. Happy can
work in conjunction with a lexical analyser supplied by the user
(either hand-written or generated by another program), or it can
parse a stream of characters directly.