BNFC-2.5.0.1: BNFC.cabal
cabal-version: >= 1.10
Name: BNFC
Version: 2.5.0.1
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.
Extra-source-files: src/BNF.cf CHANGELOG.md
tested-with:
GHC == 9.8.1
GHC == 9.6.3
GHC == 9.4.7
GHC == 9.2.8
GHC == 9.0.2
GHC == 8.10.7
GHC == 8.8.4
GHC == 8.6.5
GHC == 8.4.4
GHC == 8.2.2
GHC == 8.0.2
GHC == 7.10.3
Library
hs-source-dirs: runtime, src
default-language: Haskell2010
Build-Depends: base>=4.8 && <5, array
exposed-modules:
Algebra.RingUtils
Data.Pair
Data.Matrix.Quad
Data.Matrix.Class
Parsing.Chart
Parsing.TestProgram
Executable bnfc
default-language: Haskell2010
Build-Depends: base>=4.8 && <5, mtl, directory, array, process, containers, pretty >=1.1 && <1.2, filepath
build-tools: alex, happy
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,
Data.Pair,
-- 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 debug support
Default: True
Test-suite system-tests-haskell
Type: exitcode-stdio-1.0
default-language: Haskell2010
Build-Depends: base>=4.8 && <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 debug support
Default: True
Test-suite system-tests-java
Type: exitcode-stdio-1.0
default-language: Haskell2010
Build-Depends: base>=4.8 && <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 debug support
Default: True
Test-suite system-tests-c
Type: exitcode-stdio-1.0
default-language: Haskell2010
Build-Depends: base>=4.8 && <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
Test-suite unit-tests
Type: exitcode-stdio-1.0
default-language: Haskell2010
Build-Depends: base>=4.8 && <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