Happy

From HaskellWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Happy

This is a parser generator in the general style of yacc. See http://www.haskell.org/happy for downloads and documentation.

Usage

happy uses a language description file to create a Haskell module that will do the parsing. Typical usage in in the second stage of a compiler, where it will be used to generate an abstract syntax tree.

Input File Structure

A happy file consists of four parts.

  • The module header (Optional) : This is where you may define the module name and import other Haskell modules
  • Various directives : This is used for definition of the tokens, the type of scanner to use, precedence setting.
  • Grammar definition : The set of rules and actions
  • The module trailer (Optional) : More Haskell code that can be used in the actions.


This article is a stub. You can help by expanding it.