The BNFC package

[Tags:gpl, library, program, test]

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.


Versions,,,, 2.5.0,,,,,,, 2.7.1, 2.8, 2.8.1
Dependencies array, base (>=4.4 && <5), containers, directory, filepath, mtl, pretty (==1.1.*), process [details]
License GPL
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).
Category Development
Home page
Bug tracker
Uploaded Wed Apr 10 16:59:07 UTC 2013 by GregoireDetrez
Distributions Debian:2.8, FreeBSD:2.8, NixOS:2.8.1, Tumbleweed:2.8.1
Downloads 6605 total (78 in the last 30 days)
0 []
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI




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

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


Maintainer's Corner

For package maintainers and hackage trustees