package:BNFC
A compiler front-end generator.
The BNF Converter is a compiler construction tool generating a
compiler front-end from a Labelled BNF grammar. It was originally
written to generate Haskell code, but can also be used for generating
Agda, C, C++, Java, Ocaml and XML code.
Given a Labelled BNF grammar the tool produces: an abstract syntax as
a Haskell, Agda, C, C++, Ocaml module or Java package, a case skeleton
for the abstract syntax in the same language, an Alex, Flex, JLex,
JFlex, or ocamllex lexer generator file, a Happy, CUP, Bison, Antlr,
ocamlyacc or menhir parser generator file, a pretty-printer as a
Haskell, Agda, C, C++, Java, or Ocaml module, an XML representation, a
LaTeX file containing a readable specification of the language.