happy-lib: Happy is a parser generator for Haskell implemented using this library

[ bsd2, development, library ] [ Propose Tags ] [ Report a vulnerability ]

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.*)


[Skip to Readme]

library happy-lib

Modules

[Index] [Quick Jump]

  • Happy
    • Backend
    • Happy.Frontend
      • Happy.Frontend.AbsSyn
      • Happy.Frontend.Mangler
      • Happy.Frontend.PrettyGrammar
    • Happy.Grammar
      • Happy.Grammar.ExpressionWithHole
    • Happy.Tabular
      • Happy.Tabular.First
      • Happy.Tabular.Info
      • Happy.Tabular.LALR
      • Happy.Tabular.NameSet

library happy-lib:backend-glr

Modules

[Index] [Quick Jump]

  • Happy
    • Backend
      • Happy.Backend.GLR
        • Happy.Backend.GLR.ProduceCode

library happy-lib:backend-lalr

library happy-lib:tabular

Modules

[Index] [Quick Jump]

  • Happy
    • Happy.Tabular
      • Happy.Tabular.First
      • Happy.Tabular.Info
      • Happy.Tabular.LALR
      • Happy.Tabular.NameSet

library happy-lib:frontend

Modules

[Index] [Quick Jump]

  • Happy
    • Happy.Frontend
      • Happy.Frontend.AbsSyn
      • Happy.Frontend.Mangler
      • Happy.Frontend.PrettyGrammar

library happy-lib:grammar

Modules

[Index] [Quick Jump]

  • Happy
    • Happy.Grammar
      • Happy.Grammar.ExpressionWithHole

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 2.0, 2.0.1, 2.0.2, 2.1, 2.1.1, 2.1.2, 2.1.3 (info)
Change log ChangeLog.md
Dependencies array (>=0.5), base (>=4.9 && <5), containers (>=0.4.2), happy-lib, mtl (>=2.2.1), transformers (>=0.5.6.2) [details]
Tested with ghc ==9.10.1, ghc ==9.8.2, ghc ==9.6.5, ghc ==9.4.8, ghc ==9.2.8, ghc ==9.0.2, ghc ==8.10.7, ghc ==8.8.4, ghc ==8.6.5, ghc ==8.4.4, ghc ==8.2.2, ghc ==8.0.2
License BSD-2-Clause
Copyright (c) Andy Gill, Simon Marlow
Author Andy Gill and Simon Marlow
Maintainer https://github.com/haskell/happy
Category Development
Home page https://www.haskell.org/happy/
Bug tracker https://github.com/haskell/happy/issues
Source repo head: git clone https://github.com/haskell/happy.git
Uploaded by sgraf812 at 2024-11-08T10:13:56Z
Distributions Arch:2.0.2, LTSHaskell:2.0.2, NixOS:2.1.1, Stackage:2.1.3
Downloads 1532 total (432 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for happy-lib-2.1.3

[back to package description]

Happy

Build Status

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: