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).
These details are provided for information only. No information here is legal advice and should not be used as such.