Pinchot provides a simple language that you use to write a Haskell value that describes a context-free grammar. Using this value, you can automatically generate data types corresponding to the grammar, as well as an Earley parser to parse strings in that grammar.

For more documentation, see the Haddocks for the main Pinchot module.