cabal-version: 2.4 name: BNFC3 version: 3.0 category: Parsing 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++, Java, Ocaml and XML code. . Given a Labelled BNF grammar the tool produces: an abstract syntax as a Haskell, Agda, 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++, Java, or Ocaml module, an XML representation, a LaTeX file containing a readable specification of the language. homepage: https://bnfc.digitalgrammars.com bug-reports: https://github.com/BNFC/bnfc3/issues license: BSD-3-Clause license-file: LICENSE author: Andreas Abel and Beatrice Vergani maintainer: bnfc-dev@googlegroups.com -- A copyright notice. -- copyright: tested-with: 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: CHANGELOG.md README.md examples/**/*.cf src/BNFC.cf data-files: src/BNFC.cf test/check/**/*.cf test/check/**/*.golden examples/**/*.cf test/haskell/**/*.golden test/latex/**/*.golden test/txt2tags/**/*.golden source-repository head type: git location: git://github.com/andreasabel/bnfc3.git common common-language-options ghc-options: -Wall -Wcompat -- -Wno-unused-imports -Wno-orphans if impl(ghc >= 8.2) ghc-options: -Wmissing-home-modules if impl(ghc >= 9.2) ghc-options: -Wno-incomplete-uni-patterns default-language: Haskell2010 library import: common-language-options hs-source-dirs: src exposed-modules: -- Generated by cabal Paths_BNFC3 -- Generated by BNFC BNFC.Abs BNFC.Lex BNFC.Par BNFC.Print -- Lexing utilities. BNFC.Lexing -- Generated from Licence BNFC.License -- Entrypoints BNFC.Main -- Option handling BNFC.Options.Commands BNFC.Options.GlobalOptions BNFC.Options.InfoOptions BNFC.Options.Target BNFC.Options.Version BNFC.Options -- Core BNFC.Prelude BNFC.CF BNFC.Check.Expressions BNFC.Check.Monad BNFC.Check.Pass1 BNFC.Check.Pass2 BNFC.Check.Regex BNFC.Check.Run BNFC.Types.Position BNFC.Types.Regex -- Utils BNFC.Utils.Decoration BNFC.Utils.List1 BNFC.Utils.List2 BNFC.Utils.Singleton BNFC.Utils.Panic -- Backend -- Backend common functions BNFC.Backend.Common.Makefile BNFC.Backend.Common.StringUtils BNFC.Backend.Common.Utils BNFC.Backend.Common.Xml -- Backend common interface BNFC.Backend.CommonInterface.Backend BNFC.Backend.CommonInterface.Makefile BNFC.Backend.CommonInterface.NamedVariables BNFC.Backend.CommonInterface.OOAbstractSyntax BNFC.Backend.CommonInterface.Write BNFC.Backend.CommonInterface.Types -- Latex backend BNFC.Backend.Latex.InitState BNFC.Backend.Latex.Latex BNFC.Backend.Latex.Makefile BNFC.Backend.Latex.State -- Agda backend BNFC.Backend.Agda.AbstractSyntax BNFC.Backend.Agda.InitState BNFC.Backend.Agda.IOLib BNFC.Backend.Agda.Lexer BNFC.Backend.Agda.Main BNFC.Backend.Agda.Makefile BNFC.Backend.Agda.Options BNFC.Backend.Agda.Parser BNFC.Backend.Agda.Printer BNFC.Backend.Agda.State BNFC.Backend.Agda.Template BNFC.Backend.Agda.Test BNFC.Backend.Agda.Utilities.Utils BNFC.Backend.Agda.Utilities.ReservedWords -- Haskell backend BNFC.Backend.Haskell.AbstractSyntax BNFC.Backend.Haskell.InitState BNFC.Backend.Haskell.Layout BNFC.Backend.Haskell.Lexer BNFC.Backend.Haskell.Makefile BNFC.Backend.Haskell.Options BNFC.Backend.Haskell.Parser BNFC.Backend.Haskell.Printer BNFC.Backend.Haskell.State BNFC.Backend.Haskell.Template BNFC.Backend.Haskell.Test -- Haskell GADTs BNFC.Backend.Haskell.GADT.AbstractSyntax BNFC.Backend.Haskell.GADT.ComposOp BNFC.Backend.Haskell.GADT.Template BNFC.Backend.Haskell.GADT.Utils -- Haskel backend utilities BNFC.Backend.Haskell.Utilities.InitState BNFC.Backend.Haskell.Utilities.Lexer BNFC.Backend.Haskell.Utilities.Parser BNFC.Backend.Haskell.Utilities.Printer BNFC.Backend.Haskell.Utilities.ReservedWords BNFC.Backend.Haskell.Utilities.Utils -- Txt2Tags backend BNFC.Backend.Txt2Tags.InitState BNFC.Backend.Txt2Tags.Makefile BNFC.Backend.Txt2Tags.Options BNFC.Backend.Txt2Tags.State BNFC.Backend.Txt2Tags.Txt2Tags -- Backends instances BNFC.Backend.Agda BNFC.Backend.C BNFC.Backend.CPP BNFC.Backend.Haskell BNFC.Backend.Java BNFC.Backend.Latex BNFC.Backend.OCaml BNFC.Backend.Txt2Tags default-extensions: -- keep in sync with src/.ghci DefaultSignatures -- DeriveFunctor -- implied by DeriveTraversable -- DeriveFoldable -- implied by DeriveTraversable DeriveTraversable FlexibleContexts FlexibleInstances FunctionalDependencies GeneralizedNewtypeDeriving InstanceSigs LambdaCase MultiParamTypeClasses MultiWayIf NamedFieldPuns NoImplicitPrelude PatternSynonyms RankNTypes RecordWildCards TupleSections -- TypeSynonymInstances -- implied by FlexibleInstances other-extensions: CPP DataKinds MagicHash OverlappingInstances QuasiQuotes TemplateHaskell TypeApplications TypeFamilies -- keep dependencies in sync with src/.ghci file build-depends: , base >= 4.9 && < 5 -- Not needed, as (<&>) is also in Lens.Micro -- , base-compat ^>= 0.11.2 -- -- ^ Version 0.10.0 backports (<&>) to Data.Functor.Compat , array ^>= 0.5 , containers >= 0.6.0.1 && < 0.7 -- ^ Data.Containers.ListUtils.nubOrd requires >= 0.6.0.1 -- containers-0.6 comes first with ghc-8.6. -- So to allow this newer version on Haskell CI with e.g. ghc-8.0, -- flag it negatively at `installed` in `cabal.haskell-ci`. , deepseq ^>= 1.4.2.0 , directory ^>= 1.3 , extra ^>= 1.7.9 , microlens ^>= 0.4.12 , microlens-th ^>= 0.4.3.9 , microlens-mtl ^>= 0.2.0.1 , monad-control ^>= 1.0.2.3 , mtl ^>= 2.2.2 , filepath ^>= 1.4 , optparse-applicative ^>= 0.16 , prettyprinter ^>= 1.7.0 , prettyprinter-ansi-terminal ^>= 1.1.2 , pretty-show , split ^>= 0.2.3.4 , string-qq ^>= 0.0.4 , transformers >= 0.5.2 build-tool-depends: , alex:alex ^>= 3.2.5 , happy:happy >= 1.19 && < 2 executable bnfc3 import: common-language-options hs-source-dirs: main main-is: Main.hs build-depends: base, BNFC3 test-suite bnfc3-test-agda import: common-language-options type: exitcode-stdio-1.0 hs-source-dirs: test/agda/makefile main-is: Main.hs autogen-modules: Paths_BNFC3 other-modules: Paths_BNFC3 build-depends: , base , BNFC3 , filepath ^>= 1.4 , text ^>= 1.2.3.1 test-suite bnfc3-test-check import: common-language-options type: exitcode-stdio-1.0 hs-source-dirs: test/check main-is: Main.hs autogen-modules: Paths_BNFC3 other-modules: Paths_BNFC3 build-depends: , base , BNFC3 , filepath ^>= 1.4 , tasty ^>= 1.4.2 , tasty-silver >= 3.2.3 , text ^>= 1.2.3.1 test-suite bnfc3-test-haskell import: common-language-options type: exitcode-stdio-1.0 hs-source-dirs: test/haskell main-is: Main.hs autogen-modules: Paths_BNFC3 other-modules: Paths_BNFC3 build-depends: , base , BNFC3 , filepath ^>= 1.4 , tasty ^>= 1.4.2 , tasty-silver >= 3.2.3 , text ^>= 1.2.3.1 test-suite bnfc3-test-haskell-printer import: common-language-options type: exitcode-stdio-1.0 hs-source-dirs: test/haskell/printer main-is: Main.hs autogen-modules: Paths_BNFC3 other-modules: Paths_BNFC3 build-depends: , base , BNFC3 , filepath ^>= 1.4 , text ^>= 1.2.3.1 test-suite bnfc3-test-haskell-makefile import: common-language-options type: exitcode-stdio-1.0 hs-source-dirs: test/haskell/makefile main-is: Main.hs autogen-modules: Paths_BNFC3 other-modules: Paths_BNFC3 build-depends: , base , BNFC3 , filepath ^>= 1.4 , text ^>= 1.2.3.1 test-suite bnfc3-test-latex import: common-language-options type: exitcode-stdio-1.0 hs-source-dirs: test/latex main-is: Main.hs autogen-modules: Paths_BNFC3 other-modules: Paths_BNFC3 build-depends: , base , BNFC3 , filepath ^>= 1.4 , tasty ^>= 1.4.2 , tasty-silver >= 3.2.3 , text ^>= 1.2.3.1 test-suite bnfc3-test-txt2tags import: common-language-options type: exitcode-stdio-1.0 hs-source-dirs: test/txt2tags main-is: Main.hs autogen-modules: Paths_BNFC3 other-modules: Paths_BNFC3 build-depends: , base , BNFC3 , filepath ^>= 1.4 , tasty ^>= 1.4.2 , tasty-silver >= 3.2.3 , text ^>= 1.2.3.1