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 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