packages feed

gll-0.2.0.0: 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.2.0.0
synopsis:            GLL parser with simple combinator interface 
license:             BSD3
license-file:        LICENSE
author:              L. Thomas van Binsbergen
maintainer:          ltvanbinsbergen@acm.org
category:            Compilers
build-type:          Simple 
cabal-version:       >=1.8
tested-with:         GHC == 7.6.3
description:         

        GLL is a parser combinator library for writing generalised parsers.
        The parsers can correspond to arbitrary context-free grammar, accepting 
        both non-determinism and (left-) recursion.
        The underlying parsing algorithm is GLL (Scott and Johnstone 2013)

        The library provides an interface in Control.Applicative style (although no
        instance of Applicative is given). 
        Users can add arbitrary semantic with the <$> combinator. 

        There are 4 top-level functions: parse, parseString, parseWithOptions
        and parseStringWithOptions. They all return a list of semantic results,
        one for each derivation. In the case that infinite derivations are possible
        only 'good parse trees' are accepted (Ridge 2014).

        Function parse relies on a builtin Token datatype. User-defined token-types 
        are currently not supported. parseString enables parsing character strings.
        The user is granted GLL.Combinators.Options to specify certain disambiguation
        rules.

        GLL.Combinators.MemInterface is a memoised version of the library.
        Parsers are no longer pure functions and must be built inside the IO monad,
        providing fresh memo-tables to each memo'ed non-terminal.

        See UnitTests and MemTests for examples of using both version of
        the library.

library
    hs-source-dirs  :   src,tests/interface
    build-depends   :     base >=4.5 && <= 4.8.0.0
                        , containers >= 0.4
                        , array
                        , TypeCompose
    exposed-modules :     GLL.Combinators.Interface
                        , GLL.Combinators.MemInterface
                        , GLL.Combinators.Options
                        , UnitTests
                        , MemTests
    other-modules   :   GLL.Types.Abstract
                        , GLL.Types.Grammar
                        , GLL.Parser
                        , GLL.Common
    extensions      : TypeOperators, FlexibleInstances, ScopedTypeVariables, TypeSynonymInstances