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, but starting from Version 2.0, it can also be used for generating
Java, C++, and C.
Given a Labelled BNF grammar the tool produces: an abstract syntax as a
Haskell/C++/C module or Java directory, a case skeleton for the abstract syntax
in the same language, an Alex, JLex, or Flex lexer generator file, a Happy,
CUP, or Bison parser generator file, a pretty-printer as a Haskell/Java/C++/C
module, a Latex file containing a readable specification of the language.