@hackage happy-lib2.1.4

Happy is a parser generator for Haskell implemented using this library

Happy is a parser generator for Haskell. Given a grammar specification in BNF, Happy generates Haskell code to parse the grammar. Happy works in a similar way to the yacc tool for C.

This library provides the following functionality:

  • Data type definitions for the Grammar AST type, capturing the information in .y-files (Happy.Grammar)

  • A parser for happy grammar files (.y) to produce a Grammar (Happy.Frontend.*)

  • Implementations of the text book algorithms that compute the LR action and goto tables for the given Grammar (Happy.Tabular.*)

  • An LALR code generator to produce table-driven, deterministic parsing code in Haskell (Happy.Backend.LALR.*)

  • A (less maintained) GLR code generator to produce table-driven, non-deterministic parsing code in Haskell, where ambiguous parses produce multiple parse trees (Happy.Backend.GLR.*)