BNFC: A compiler front-end generator.

[ bsd3, development, gpl, library, parsing, program ] [ Propose Tags ]

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 [RSS] [faq] 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, 2.8.2, 2.8.3, 2.8.3.1, 2.8.4, 2.9.0, 2.9.1, 2.9.2, 2.9.3 (info)
Dependencies array, base (>=4.4 && <5), containers, directory, filepath, mtl, pretty (==1.1.*), process [details]
License LicenseRef-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
Revised Revision 1 made by AndreasAbel at 2021-11-10T07:08:24Z
Category Development
Home page http://bnfc.digitalgrammars.com/
Bug tracker https://github.com/BNFC/bnfc/issues
Uploaded by GregoireDetrez at 2013-04-10T16:59:07Z
Distributions Arch:2.9.3, Debian:2.8.1, FreeBSD:2.8, LTSHaskell:2.9.3, NixOS:2.9.2, Stackage:2.9.3
Executables bnfc
Downloads 22480 total (121 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user
Build status unknown [no reports yet]

Modules

[Index]

Manual Flags

NameDescriptionDefault
Automatic Flags
NameDescriptionDefault
haskell-tests

Enable/disable testing using the haskell backend

Enabled
java-tests

Enable/disable testing using the java backend

Enabled
c-tests

Enable/disable testing using the C backend

Enabled
cpp-tests

Enable/disable testing using the C++ backend

Enabled

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

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees

Candidates