packages feed

gll-0.4.1.2: gll.cabal

-- Initial haskell-gll.cabal generated by cabal init.  For further 
-- documentation, see http://haskell.org/cabal/users-guide/

-- The name of the package.
name:                gll
version:             0.4.1.2
synopsis:            GLL parser with simple combinator interface 
license:             BSD3
license-file:        LICENSE
author:              L. Thomas van Binsbergen
maintainer:          L. Thomas van Binsbergen <ltvanbinsbergen@acm.org>
category:            Compilers
build-type:          Simple 
cabal-version:       1.22
tested-with:         GHC >= 8.2.1 && <= 8.6, GHC == 8.8.3, GHC >= 9.2.5, GHC == 9.4.3, GHC == 9.6.7
copyright:           Copyright (C) 2015-2026 L. Thomas van Binsbergen
stability:           experimental
homepage:            https://github.com/ltbinsbe/gll-combinators
bug-reports:         https://github.com/ltbinsbe/gll-combinators/issues
description:         

        The package gll provides generalised top-down parsing according to the 
        (R)GLL parsing algorithm [Scott and Johnstone 2016]. 
        .
        The user can either invoke the GLL
        parser directly by importing "GLL.Parser" and providing a
        value of the Grammar datatype in (exported by "GLL.Parser"). 
        Alternatively, the user can import "GLL.Combinators" to write combinator expressions 
        from which a grammar of the required form is extracted.
        The combinators enable applying arbitrary semantic actions to parse results.
        The documentation of the respective packages provides more information.
        .
        The main motivation for this package
        is the development of Domain Specific Languages (DSLs).
        More specifically: designing DSLs with minimal differences between
        between abstract and concrete syntax (abstract syntax is often ambiguous). 
        .
        Please email any questions, comments and suggestions to the 
        maintainer.

extra-source-files: changelog.txt

library
    hs-source-dirs  :   src
    build-depends   :     base >=4.3.1.0 && < 6 
                        , containers >= 0.4 && < 0.9
                        , array >= 0.5 && < 0.6
                        , pretty >= 1.1 && < 1.2
                        , text >= 2 && < 3
                        , regex-applicative >= 0.3 && < 0.4
                        , time >= 1.8 && < 2
    exposed-modules :     GLL.Combinators.Interface
                        , GLL.Combinators.BinaryInterface
                        , GLL.GrammarCombinators
                        , GLL.Combinators
                        , GLL.Combinators.Test.Interface
                        , GLL.Combinators.Test.BinaryInterface
                        , GLL.Combinators.Options
                        , GLL.Combinators.Memoisation
                        , GLL.Combinators.Lexer
                        , GLL.Parser
                        , GLL.Parseable.Char
                        , GLL.Types.Derivations
                        , GLL.Types.Grammar 
                        , GLL.Types.TypeCompose
                        , GLL.Flags

    other-modules   :     GLL.Combinators.Visit.Grammar
                        , GLL.Combinators.Visit.Sem
                        , GLL.Combinators.Visit.Join
    ghc-options:         -fwarn-incomplete-patterns -fwarn-monomorphism-restriction -fwarn-unused-imports
    default-language:    Haskell2010
    default-extensions:  TypeOperators, FlexibleInstances, ScopedTypeVariables, TypeSynonymInstances