-- 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