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.

Properties

Versions 2.4.1.1, 2.4.1.2, 2.4.2.0, 2.4.2.1, 2.5.0, 2.6.0.0, 2.6.0.1, 2.6.0.2, 2.6.0.3, 2.7.0.0, 2.7.0.1, 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).
Author
Maintainer bnfc-dev@googlegroups.com
Stability Unknown
Category Development
Home page http://bnfc.digitalgrammars.com/
Bug tracker https://github.com/BNFC/bnfc/issues
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 5961 total (123 in the last 30 days)
Votes
0 []
Status Docs uploaded by user
Build status unknown [no reports yet]

Modules

[Index]

Flags

NameDescriptionDefaultType
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

Downloads

Maintainer's Corner

For package maintainers and hackage trustees