BNFC: A compiler front-end generator.

[ bsd3, 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.


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


Versions [RSS],,,, 2.5.0,,,,,,, 2.7.1, 2.8, 2.8.1, 2.8.2, 2.8.3,, 2.8.4, 2.9.0, 2.9.1, 2.9.2, 2.9.3, 2.9.4 (info)
Change log changelog
Dependencies array, base (>=4.4 && <5), containers, deepseq, directory, filepath, mtl, pretty (>=1.1 && <1.2), process [details]
License GPL-2.0-only
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).
Revised Revision 1 made by AndreasAbel at 2021-11-09T21:08:44Z
Category Development
Home page
Bug tracker
Source repo head: git clone
Uploaded by GregoireDetrez at 2015-05-24T10:23:02Z
Distributions Arch:2.9.4, Debian:2.8.3, FreeBSD:2.8, LTSHaskell:2.9.4, NixOS:2.9.4, Stackage:2.9.4
Executables bnfc
Downloads 23844 total (107 in the last 30 days)
Rating 2.25 (votes: 2) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2015-05-25 [all 1 reports]