packages feed

gll-0.2.0.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.2.0.2
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 to the parser. 
        .
        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
                        , GLL.Combinators.Memoisation
                        , UnitTests
                        , MemTests
    other-modules   :   GLL.Types.Abstract
                        , GLL.Types.Grammar
                        , GLL.Parser
                        , GLL.Common
    extensions      : TypeOperators, FlexibleInstances, ScopedTypeVariables, TypeSynonymInstances