/grampa

Grammatical parsers - combinator library for parsing general context-free grammars

Primary LanguageHaskellBSD 2-Clause "Simplified" LicenseBSD-2-Clause

The Grampa project consists of three related Haskell libraries:

  • rank2classes is at the lowest level. It provides a set of type classes that mirror Functor and related type classes but for records.
  • grammatical-parsers is a parser combinator and grammar combinator library that depends on rank2classes.
  • deep-transformations depends on and extends rank2classes to operate on trees of mutually-recusive types. This library is independent of grammatical-parsers, but can be used to manipulate the parse trees produced by it.