BNFC-2.8.4: BNFC.cabal
Name: BNFC
Version: 2.8.4
cabal-version: >= 1.10
build-type: Simple
category: Development
Copyright: (c) Andreas Abel, Jonas Almström Duregård, Krasimir Angelov, Jean-Philippe Bernardy, Björn Bringert, Johan Broberg, Kyle Butt, Paul Callaghan, Grégoire Détrez, Markus Forsberg, Ola Frid, Peter Gammie, Thomas Hallgren, Pascal Hof, Simon Huber, Patrik Jansson, Kristofer Johannisson, Antti-Juhani Kaijanaho, Andreas Lööw, Justin Meiners, Kent Mein, Ulf Norell, Gabriele Paganelli, Michael Pellauer, Fabian Ruch, and Aarne Ranta 2002 - 2020. Free software under GNU General Public License (GPL).
License: GPL-2
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 code,
but can also be used for generating Agda, C, C++, C#, Java, Ocaml and XML code.
.
Given a Labelled BNF grammar the tool produces:
an abstract syntax as a Haskell, Agda, C, C++, C#, Ocaml 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, Bison, or Antlr parser generator file,
a pretty-printer as a Haskell, Agda, C, C++, C#, Java, or Ocaml module,
an XML representation,
a LaTeX file containing a readable specification of the language.
tested-with: GHC == 7.10.3
GHC == 8.0.2
GHC == 8.2.2
GHC == 8.4.4
GHC == 8.6.5
GHC == 8.8.4
GHC == 8.10.2
Extra-source-files:
src/BNF.cf
changelog
Makefile
stack-8.10.2.yaml
stack-8.8.4.yaml
stack-8.8.3.yaml
stack-8.8.2.yaml
stack-8.6.5.yaml
stack-8.6.4.yaml
stack-8.4.4.yaml
stack-8.2.2.yaml
stack-8.0.2.yaml
stack-7.10.3.yaml
Source-repository head
type: git
location: git://github.com/BNFC/bnfc.git
subdir: source
Source-repository this
type: git
location: git://github.com/BNFC/bnfc.git
subdir: source
tag: v2.8.4
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,
semigroups,
mtl >= 2.2.1,
directory,
array,
process,
containers,
pretty >=1.1 && <1.2,
filepath,
deepseq,
time
build-tools: alex, happy
Main-is: Main.hs
HS-source-dirs: src
default-extensions:
CPP
DoAndIfThenElse
FlexibleContexts
LambdaCase
OverloadedStrings
PatternGuards
RecordWildCards
ScopedTypeVariables
TupleSections
Other-modules:
-- generated by cabal
Paths_BNFC
-- Generated by bnfc
LexBNF
ParBNF
AbsBNF
PrintBNF
-- BNFC core
BNFC.Utils
BNFC.CF
BNFC.ToCNFCore
BNFC.MultiView
BNFC.Regex
BNFC.TypeChecker
BNFC.GetCF
BNFC.Lexing
BNFC.Backend.Base
BNFC.Backend.Common
BNFC.Backend.Common.Makefile
BNFC.Backend.Common.NamedVariables
BNFC.Backend.Common.OOAbstract
BNFC.Backend.Common.StrUtils
BNFC.Options
BNFC.PrettyPrint
Data.Pair
-- Documentation backends
BNFC.Backend.Latex
BNFC.Backend.Txt2Tag
-- Haskell backend
BNFC.Backend.Haskell
BNFC.Backend.Haskell.ToCNF
BNFC.Backend.Haskell.RegToAlex
BNFC.Backend.Haskell.CFtoTemplate
BNFC.Backend.Haskell.CFtoAlex3
BNFC.Backend.Haskell.CFtoAlex2
BNFC.Backend.Haskell.CFtoAlex
BNFC.Backend.Haskell.CFtoHappy
BNFC.Backend.Haskell.CFtoPrinter
BNFC.Backend.Haskell.CFtoAbstract
BNFC.Backend.Haskell.CFtoLayout
BNFC.Backend.Haskell.MkErrM
BNFC.Backend.Haskell.MkSharedString
BNFC.Backend.Haskell.HsOpts
BNFC.Backend.Haskell.Utils
-- Profile
BNFC.Backend.HaskellProfile
BNFC.Backend.HaskellProfile.CFtoHappyProfile
-- Haskell GADT
BNFC.Backend.HaskellGADT
BNFC.Backend.HaskellGADT.HaskellGADTCommon
BNFC.Backend.HaskellGADT.CFtoTemplateGADT
BNFC.Backend.HaskellGADT.CFtoAbstractGADT
-- O'Caml backend
BNFC.Backend.OCaml
BNFC.Backend.OCaml.OCamlUtil
BNFC.Backend.OCaml.CFtoOCamlTest
BNFC.Backend.OCaml.CFtoOCamlShow
BNFC.Backend.OCaml.CFtoOCamlPrinter
BNFC.Backend.OCaml.CFtoOCamlTemplate
BNFC.Backend.OCaml.CFtoOCamlAbs
BNFC.Backend.OCaml.CFtoOCamlYacc
BNFC.Backend.OCaml.CFtoOCamlLex
-- C backend
BNFC.Backend.C
BNFC.Backend.C.CFtoCPrinter
BNFC.Backend.C.CFtoCSkel
BNFC.Backend.C.CFtoBisonC
BNFC.Backend.C.CFtoFlexC
BNFC.Backend.C.CFtoCAbs
BNFC.Backend.C.RegToFlex
-- C++ backend
BNFC.Backend.CPP.PrettyPrinter
BNFC.Backend.CPP.Makefile
BNFC.Backend.CPP.Naming
BNFC.Backend.CPP.NoSTL
BNFC.Backend.CPP.NoSTL.CFtoFlex
BNFC.Backend.CPP.NoSTL.CFtoBison
BNFC.Backend.CPP.NoSTL.CFtoCPPAbs
-- C++ STL backend
BNFC.Backend.CPP.STL
BNFC.Backend.CPP.STL.CFtoBisonSTL
BNFC.Backend.CPP.STL.CFtoSTLAbs
BNFC.Backend.CPP.STL.STLUtils
BNFC.Backend.CPP.STL.CFtoCVisitSkelSTL
-- C# backend
BNFC.Backend.CSharp
BNFC.Backend.CSharp.RegToGPLEX
BNFC.Backend.CSharp.CFtoGPLEX
BNFC.Backend.CSharp.CSharpUtils
BNFC.Backend.CSharp.CFtoCSharpPrinter
BNFC.Backend.CSharp.CAbstoCSharpAbs
BNFC.Backend.CSharp.CAbstoCSharpAbstractVisitSkeleton
BNFC.Backend.CSharp.CAbstoCSharpVisitSkeleton
BNFC.Backend.CSharp.CFtoGPPG
-- Java backend
BNFC.Backend.Java
BNFC.Backend.Java.CFtoAntlr4Lexer
BNFC.Backend.Java.CFtoAntlr4Parser
BNFC.Backend.Java.CFtoJavaAbs15
BNFC.Backend.Java.CFtoAllVisitor
BNFC.Backend.Java.CFtoFoldVisitor
BNFC.Backend.Java.CFtoAbstractVisitor
BNFC.Backend.Java.CFtoComposVisitor
BNFC.Backend.Java.CFtoVisitSkel15
BNFC.Backend.Java.CFtoJavaPrinter15
BNFC.Backend.Java.CFtoJLex15
BNFC.Backend.Java.CFtoCup15
BNFC.Backend.Java.RegToJLex
BNFC.Backend.Java.RegToAntlrLexer
BNFC.Backend.Java.Utils
-- XML backend
BNFC.Backend.XML
-- Pygments backend
BNFC.Backend.Pygments
-- Agda backend
BNFC.Backend.Agda
-- --- Testing --------------------------------------------------------------
Test-suite unit-tests
default-language: Haskell2010
Type: exitcode-stdio-1.0
Build-Depends:
-- base-4.9 would be needed for Show1 needed for Show WriterT
base>=4.8 && <5,
semigroups,
mtl >= 2.2.1,
directory,
array,
process,
filepath,
pretty,
hspec,
QuickCheck >= 2.5,
HUnit,
temporary,
containers,
deepseq,
time
Main-is: unit-tests.hs
HS-source-dirs: src test
ghc-options: -W
default-extensions:
CPP
DoAndIfThenElse
FlexibleContexts
LambdaCase
OverloadedStrings
PatternGuards
RecordWildCards
ScopedTypeVariables
TupleSections
Other-modules:
BNFC.CFSpec
BNFC.GetCFSpec
BNFC.OptionsSpec
BNFC.Hspec
BNFC.Backend.BaseSpec
BNFC.Backend.Common.MakefileSpec
BNFC.Backend.Common.NamedVariablesSpec
BNFC.Backend.CPP.NoSTLSpec
BNFC.Backend.CPP.STLSpec
BNFC.Backend.CSharpSpec
BNFC.Backend.CSpec
BNFC.Backend.HaskellSpec
BNFC.Backend.HaskellGADTSpec
BNFC.Backend.Haskell.CFtoHappySpec
BNFC.Backend.JavaSpec
BNFC.Backend.LatexSpec
BNFC.Backend.OCamlSpec
-- Repetition of modules from main:
-----------------------------------
-- generated by cabal
Paths_BNFC
-- Generated by bnfc
LexBNF
ParBNF
AbsBNF
PrintBNF
-- BNFC core
BNFC.Utils
BNFC.CF
BNFC.ToCNFCore
BNFC.MultiView
BNFC.Regex
BNFC.TypeChecker
BNFC.GetCF
BNFC.Lexing
BNFC.Backend.Base
BNFC.Backend.Common
BNFC.Backend.Common.Makefile
BNFC.Backend.Common.NamedVariables
BNFC.Backend.Common.OOAbstract
BNFC.Backend.Common.StrUtils
BNFC.Options
BNFC.PrettyPrint
Data.Pair
-- Documentation backends
BNFC.Backend.Latex
BNFC.Backend.Txt2Tag
-- Haskell backend
BNFC.Backend.Haskell
BNFC.Backend.Haskell.ToCNF
BNFC.Backend.Haskell.RegToAlex
BNFC.Backend.Haskell.CFtoTemplate
BNFC.Backend.Haskell.CFtoAlex3
BNFC.Backend.Haskell.CFtoAlex2
BNFC.Backend.Haskell.CFtoAlex
BNFC.Backend.Haskell.CFtoHappy
BNFC.Backend.Haskell.CFtoPrinter
BNFC.Backend.Haskell.CFtoAbstract
BNFC.Backend.Haskell.CFtoLayout
BNFC.Backend.Haskell.MkErrM
BNFC.Backend.Haskell.MkSharedString
BNFC.Backend.Haskell.HsOpts
BNFC.Backend.Haskell.Utils
-- Profile
BNFC.Backend.HaskellProfile
BNFC.Backend.HaskellProfile.CFtoHappyProfile
-- Haskell GADT
BNFC.Backend.HaskellGADT
BNFC.Backend.HaskellGADT.HaskellGADTCommon
BNFC.Backend.HaskellGADT.CFtoTemplateGADT
BNFC.Backend.HaskellGADT.CFtoAbstractGADT
-- O'Caml backend
BNFC.Backend.OCaml
BNFC.Backend.OCaml.OCamlUtil
BNFC.Backend.OCaml.CFtoOCamlTest
BNFC.Backend.OCaml.CFtoOCamlShow
BNFC.Backend.OCaml.CFtoOCamlPrinter
BNFC.Backend.OCaml.CFtoOCamlTemplate
BNFC.Backend.OCaml.CFtoOCamlAbs
BNFC.Backend.OCaml.CFtoOCamlYacc
BNFC.Backend.OCaml.CFtoOCamlLex
-- C backend
BNFC.Backend.C
BNFC.Backend.C.CFtoCPrinter
BNFC.Backend.C.CFtoCSkel
BNFC.Backend.C.CFtoBisonC
BNFC.Backend.C.CFtoFlexC
BNFC.Backend.C.CFtoCAbs
BNFC.Backend.C.RegToFlex
-- C++ backend
BNFC.Backend.CPP.PrettyPrinter
BNFC.Backend.CPP.Makefile
BNFC.Backend.CPP.Naming
BNFC.Backend.CPP.NoSTL
BNFC.Backend.CPP.NoSTL.CFtoFlex
BNFC.Backend.CPP.NoSTL.CFtoBison
BNFC.Backend.CPP.NoSTL.CFtoCPPAbs
-- C++ STL backend
BNFC.Backend.CPP.STL
BNFC.Backend.CPP.STL.CFtoBisonSTL
BNFC.Backend.CPP.STL.CFtoSTLAbs
BNFC.Backend.CPP.STL.STLUtils
BNFC.Backend.CPP.STL.CFtoCVisitSkelSTL
-- C# backend
BNFC.Backend.CSharp
BNFC.Backend.CSharp.RegToGPLEX
BNFC.Backend.CSharp.CFtoGPLEX
BNFC.Backend.CSharp.CSharpUtils
BNFC.Backend.CSharp.CFtoCSharpPrinter
BNFC.Backend.CSharp.CAbstoCSharpAbs
BNFC.Backend.CSharp.CAbstoCSharpAbstractVisitSkeleton
BNFC.Backend.CSharp.CAbstoCSharpVisitSkeleton
BNFC.Backend.CSharp.CFtoGPPG
-- Java backend
BNFC.Backend.Java
BNFC.Backend.Java.CFtoAntlr4Lexer
BNFC.Backend.Java.CFtoAntlr4Parser
BNFC.Backend.Java.CFtoJavaAbs15
BNFC.Backend.Java.CFtoAllVisitor
BNFC.Backend.Java.CFtoFoldVisitor
BNFC.Backend.Java.CFtoAbstractVisitor
BNFC.Backend.Java.CFtoComposVisitor
BNFC.Backend.Java.CFtoVisitSkel15
BNFC.Backend.Java.CFtoJavaPrinter15
BNFC.Backend.Java.CFtoJLex15
BNFC.Backend.Java.CFtoCup15
BNFC.Backend.Java.RegToJLex
BNFC.Backend.Java.RegToAntlrLexer
BNFC.Backend.Java.Utils
-- XML backend
BNFC.Backend.XML
-- Pygments backend
BNFC.Backend.Pygments
-- Agda backend
BNFC.Backend.Agda
Test-suite bnfc-doctests
default-language: Haskell2010
type: exitcode-stdio-1.0
ghc-options: -threaded
default-extensions: CPP
main-is: doctests.hs
build-depends: base, doctest >= 0.8
HS-source-dirs: test