packages feed

BNFC-2.8.3.1: BNFC.cabal

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