Name: BNFC Version: 2.8.3.1 cabal-version: >= 1.10 build-type: Simple category: Development Copyright: (c) Andreas Abel, Jonas Almström Duregård, Krasimir Angelov, Jean-Philippe Bernardy, Bjorn Bringert, Johan Broberg, Kyle Butt, Paul Callaghan, Grégoire Détrez, Markus Forsberg, Ola Frid, Peter Gammie, Thomas Hallgren, Pascal Hof, Patrik Jansson, Kristofer Johannisson, Antti-Juhani Kaijanaho, Andreas Lööw, Justin Meiners, Kent Mein, Ulf Norell, Gabrielle Paganelli, Michael Pellauer, Fabian Ruch, and Aarne Ranta 2002 - 2019. 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.6.3 , GHC == 7.8.4 , 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.7 , GHC == 9.0.1 , GHC == 9.2.1 Extra-source-files: src/BNF.cf changelog Makefile Source-repository head type: git location: https://github.com/BNFC/bnfc.git subdir: source Library hs-source-dirs: runtime, src Build-Depends: base>=4.6 && <5, array default-language: Haskell98 exposed-modules: Algebra.RingUtils Data.Pair Data.Matrix.Quad Data.Matrix.Class Parsing.Chart Parsing.TestProgram Executable bnfc Build-Depends: base>=4.6 && <5, semigroups, mtl, directory, array, process, containers, pretty >=1.1 && <1.2, filepath, deepseq, time build-tools: alex, happy Main-is: Main.hs HS-source-dirs: compat src ghc-options: -W default-language: Haskell98 default-extensions: FlexibleContexts LambdaCase OverloadedStrings RecordWildCards ScopedTypeVariables TupleSections Other-modules: -- generated by cabal Paths_BNFC -- Generated by bnfc LexBNF ParBNF AbsBNF PrintBNF ErrM -- BNFC core Prelude' BNFC.Utils BNFC.CF BNFC.ToCNFCore BNFC.MultiView 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.WarningM Data.Pair BNFC.PrettyPrint -- 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 BNFC.Backend.CPP.NoSTL.CFtoCVisitSkel -- 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 Type: exitcode-stdio-1.0 Build-Depends: base>=4 && <5, semigroups, mtl, directory, array, process, filepath, pretty, hspec, QuickCheck >= 2.5, HUnit, temporary, containers, deepseq, time Main-is: unit-tests.hs HS-source-dirs: compat src test default-language: Haskell98 default-extensions: FlexibleContexts LambdaCase OverloadedStrings RecordWildCards ScopedTypeVariables TupleSections Other-modules: BNFC.CFSpec BNFC.GetCFSpec BNFC.OptionsSpec BNFC.WarningMSpec 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 ErrM -- BNFC core Prelude' BNFC.Utils BNFC.CF BNFC.ToCNFCore BNFC.MultiView 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.WarningM Data.Pair BNFC.PrettyPrint -- 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 BNFC.Backend.CPP.NoSTL.CFtoCVisitSkel -- 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 type: exitcode-stdio-1.0 ghc-options: -threaded main-is: doctests.hs build-depends: base, doctest >= 0.8 HS-source-dirs: test default-language: Haskell98