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 entry points to a single grammar and several Happy parsers in the same program.
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).
In a hurry? Add it to your Download Basket!
- Fix for GHC 7.10 (Applicative/Monad, #19, #21)