name:                grammatical-parsers
version:             0.2.2
synopsis:            parsers that can combine into grammars
description:
  /Gram/matical-/pa/rsers, or Grampa for short, is a library of parser types whose values are meant to be assigned
  to grammar record fields. All parser types support the same set of parser combinators, but have different semantics
  and performance characteristics.

homepage:            https://github.com/blamario/grampa/tree/master/grammatical-parsers
bug-reports:         https://github.com/blamario/grampa/issues
license:             BSD3
license-file:        LICENSE
author:              Mario Blažević
maintainer:          Mario Blažević <blamario@protonmail.com>
copyright:           (c) 2017 Mario Blažević
category:            Text
build-type:          Simple
cabal-version:       >=1.10
extra-source-files:  README.md
source-repository head
  type:              git
  location:          https://github.com/blamario/grampa

library
  hs-source-dirs:      src
  exposed-modules:     Text.Grampa,
                       Text.Grampa.PEG.Backtrack, Text.Grampa.PEG.Packrat,
                       Text.Grampa.ContextFree.Continued, Text.Grampa.ContextFree.Parallel,
                       Text.Grampa.ContextFree.Memoizing, Text.Grampa.ContextFree.LeftRecursive
  other-modules:       Text.Grampa.Class, Text.Grampa.Internal,
                       Text.Grampa.PEG.Backtrack.Measured,
                       Text.Grampa.PEG.Continued, Text.Grampa.PEG.Continued.Measured,
                       Text.Grampa.ContextFree.Continued.Measured
  default-language:    Haskell2010
  -- other-modules:
  ghc-options:         -Wall
  build-depends:       base >=4.7 && <5,
                       containers >= 0.4 && < 0.6,
                       transformers >= 0.5 && < 0.6,
                       monoid-subclasses >=0.4 && <0.5,
                       parsers < 0.13,
                       rank2classes == 1.0.*
  -- hs-source-dirs:      
  default-language:    Haskell2010

executable             arithmetic
  hs-source-dirs:      examples
  main-is:             Main.hs
  other-modules:       Arithmetic, Boolean, Combined, Comparisons, Conditionals, Lambda, Utilities
  default-language:    Haskell2010
  build-depends:       base >=4.7 && <5, containers >= 0.5.7.0 && < 0.6,
                       parsers < 0.13,
                       rank2classes == 1.0.*, grammatical-parsers,
                       monoid-subclasses >=0.4 && <0.5

test-suite           quicktests
  type:              exitcode-stdio-1.0
  hs-source-dirs:    test, examples
  x-uses-tf:         true
  build-depends:     base >=4.7 && < 5, monoid-subclasses < 0.5, parsers < 0.13,
                     rank2classes == 1.0.*, grammatical-parsers,
                     QuickCheck >= 2 && < 3, checkers >= 0.4.6 && < 0.5, testing-feat < 0.5,
                     tasty >= 0.7, tasty-quickcheck >= 0.7
  main-is:           Test.hs
  other-modules:     Test.Examples, Arithmetic, Boolean, Combined, Comparisons, Conditionals, Utilities
  default-language:  Haskell2010

test-suite           doctests
  type:              exitcode-stdio-1.0
  hs-source-dirs:    test
  default-language:  Haskell2010
  main-is:           Doctest.hs
  ghc-options:       -threaded -pgmL markdown-unlit
  build-depends:     base, rank2classes, doctest >= 0.8

benchmark            benchmarks
  type:              exitcode-stdio-1.0
  hs-source-dirs:    test, examples
  ghc-options:       -O2 -Wall -rtsopts -main-is Benchmark.main
  Build-Depends:     base >=4.7 && < 5, rank2classes == 1.0.*, grammatical-parsers, monoid-subclasses >=0.4 && <0.5,
                     criterion >= 1.0, deepseq >= 1.1, containers >= 0.5.7.0 && < 0.6, text >= 1.1
  main-is:           Benchmark.hs
  other-modules:     Arithmetic
  default-language:  Haskell2010