packages feed

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