The BNFC package

[Tags: gpl, library, program]

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 HaskellC++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 HaskellJavaC++/C module, a Latex file containing a readable specification of the language.


Versions2.4.1.1,,,, 2.5.0,,,,,,, 2.7.1
Dependenciesarray, base (>=4.4 && <5), containers, directory, filepath, mtl, pretty (==1.1.*), process
Copyright(c) Krasimir Angelov, Jean-Philippe Bernardy, Bjorn Bringert, Johan Broberg, Paul Callaghan, Markus Forsberg, Ola Frid, Peter Gammie, Patrik Jansson, Kristofer Johannisson, Antti-Juhani Kaijanaho, Ulf Norell, Michael Pellauer and Aarne Ranta 2002 - 2012. Free software under GNU General Public License (GPL).
Home page
Bug tracker
UploadedWed Apr 10 16:59:07 UTC 2013 by GregoireDetrez
DistributionsDebian:, FreeBSD:, NixOS:2.7.1
Downloads3488 total (293 in last 30 days)
StatusDocs uploaded by user
Build status unknown [no reports yet]




haskell-testsEnable/disable testing using the haskell backendEnabled
java-testsEnable/disable testing using the java backendEnabled
c-testsEnable/disable testing using the C backendEnabled
cpp-testsEnable/disable testing using the C++ backendEnabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainers' corner

For package maintainers and hackage trustees