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.