BNFC-2.5.0: BNFC.cabal
Name: BNFC
Version: 2.5.0
cabal-version: >= 1.8
build-type: Simple
category: Development
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).
License: GPL
License-File: LICENSE
Maintainer: bnfc-dev@googlegroups.com
Homepage: http://bnfc.digitalgrammars.com/
bug-reports: https://github.com/BNFC/bnfc/issues
Synopsis: A compiler front-end generator.
Description:
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 Haskell/C++/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 Haskell/Java/C++/C module,
a Latex file containing a readable specification of the language.
-- Includes some extra files in the distributed package
Extra-source-files: src/BNF.cf INSTALL Makefile
Library
hs-source-dirs: runtime, src
Build-Depends: base>=4.4 && <5, array
exposed-modules:
Algebra.RingUtils
Data.Pair
Data.Matrix.Quad
Data.Matrix.Class
Parsing.Chart
Parsing.TestProgram
Executable bnfc
Build-Depends: base>=4.4 && <5, mtl, directory, array, process, containers, pretty >=1.1 && <1.2, filepath
Main-is: Main.hs
HS-source-dirs: src src/formats
src/formats/haskell2
src/formats/haskell-gadt
src/formats/xml
src/formats/profile
src/formats/java
src/formats/java1.5
src/formats/cpp
src/formats/c
src/formats/ocaml
src/formats/cpp_stl
src/formats/c-sharp
src/formats/f-sharp
Other-modules:
Paths_BNFC,
LexBNF,
ParBNF,
AbsBNF,
PrintBNF,
Utils,
CF,
ErrM,
MultiView,
TypeChecker,
GetCF,
NamedVariables,
OOAbstract,
CFtoLatex,
CFtoXML,
CFtoTxt,
Options,
ToCNF,
Common.Makefile
-- Haskell
HaskellTop,
RegToAlex,
CFtoTemplate,
CFtoAlex3,
CFtoAlex2,
CFtoAlex,
CFtoHappy,
CFtoPrinter,
CFtoAbstract,
CFtoLayout,
MkErrM,
MkSharedString,
HsOpts,
-- Profile
ProfileTop,
CFtoHappyProfile,
-- Haskell GADT
HaskellTopGADT,
HaskellGADTCommon,
CFtoPrinterGADT,
CFtoTemplateGADT,
CFtoAbstractGADT,
-- O'Caml
OCamlTop,
OCamlUtil,
CFtoOCamlTest,
CFtoOCamlShow,
CFtoOCamlPrinter,
CFtoOCamlTemplate,
CFtoOCamlAbs,
CFtoOCamlYacc,
CFtoOCamlLex,
-- C
CTop,
CFtoCPrinter,
CFtoCSkel,
CFtoBisonC,
CFtoFlexC,
CFtoCAbs,
CFtoCVisitSkel,
-- C++
CPPTop,
RegToFlex,
CFtoFlex,
CFtoBison,
CFtoCPPPrinter,
CFtoCPPAbs,
-- C++ STL
CFtoBisonSTL,
CFtoSTLAbs,
STLUtils,
CFtoCVisitSkelSTL,
CFtoSTLPrinter,
STLTop,
-- C#
CSharpTop,
RegToGPLEX,
CFtoGPLEX,
CSharpUtils,
CFtoCSharpPrinter,
CAbstoCSharpAbs,
CAbstoCSharpAbstractVisitSkeleton,
CAbstoCSharpVisitSkeleton,
CFtoGPPG,
-- Java
JavaTop,
RegToJLex,
CFtoCup,
CFtoVisitSkel,
CFtoJavaSkeleton,
CFtoJavaPrinter,
CFtoJavaAbs,
CFtoJLex,
-- Java 1.5
JavaTop15,
CFtoJavaAbs15,
CFtoAllVisitor,
CFtoFoldVisitor,
CFtoAbstractVisitor,
CFtoComposVisitor,
CFtoVisitSkel15,
CFtoJavaPrinter15,
CFtoJLex15,
CFtoCup15,
-- F-sharp
FSharpTop
Flag haskell-tests
Description: Enable/disable testing using the haskell backend
Default: True
Test-suite system-tests-haskell
Type: exitcode-stdio-1.0
Build-Depends: base>=4 && <5,
HUnit, test-framework, test-framework-hunit,
shelly, system-filepath, text
Main-is: system-tests-haskell.hs
HS-source-dirs: test/src
if flag(haskell-tests)
Buildable: True
else
Buildable: False
Flag java-tests
Description: Enable/disable testing using the java backend
Default: True
Test-suite system-tests-java
Type: exitcode-stdio-1.0
Build-Depends: base>=4 && <5,
HUnit, test-framework, test-framework-hunit,
shelly, system-filepath, text
Main-is: system-tests-java.hs
HS-source-dirs: test/src
if flag(java-tests)
Buildable: True
else
Buildable: False
Flag c-tests
Description: Enable/disable testing using the C backend
Default: True
Test-suite system-tests-c
Type: exitcode-stdio-1.0
Build-Depends: base>=4 && <5,
HUnit, test-framework, test-framework-hunit,
shelly, system-filepath, text
Main-is: system-tests-c.hs
HS-source-dirs: test/src
if flag(c-tests)
Buildable: True
else
Buildable: False
Flag cpp-tests
Description: Enable/disable testing using the C++ backend
Default: True
Test-suite system-tests-cpp
Type: exitcode-stdio-1.0
Build-Depends: base>=4 && <5,
HUnit, test-framework, test-framework-hunit,
shelly, system-filepath, text
Main-is: system-tests-cpp.hs
HS-source-dirs: test/src
if flag(cpp-tests)
Buildable: True
else
Buildable: False
Test-suite system-tests-cpp-no-stl
Type: exitcode-stdio-1.0
Build-Depends: base>=4 && <5,
HUnit, test-framework, test-framework-hunit,
shelly, system-filepath, text
Main-is: system-tests-cpp-no-stl.hs
HS-source-dirs: test/src
if flag(cpp-tests)
Buildable: True
else
Buildable: False
Test-suite unit-tests
Type: exitcode-stdio-1.0
Build-Depends: base>=4 && <5, mtl, directory, array, process, filepath,
HUnit, test-framework, test-framework-hunit
Main-is: unit-tests.hs
HS-source-dirs: src test/src src/formats
src/formats/haskell2
src/formats/haskell-gadt
src/formats/xml
src/formats/profile
src/formats/java
src/formats/java1.5
src/formats/cpp
src/formats/c
src/formats/ocaml
src/formats/cpp_stl
src/formats/c-sharp
src/formats/f-sharp