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 (but this
isn't practical in most cases).