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.*)
Happy
Happy is a parser generator for Haskell 98 (and later).
Happy Parsing!
Documentation
Documentation is hosted on Read the Docs:
For basic information of the sort typically found in a read-me, see the following sections of the docs: