gigaparsec-0.3.0.0: Refreshed parsec-style library for compatibility with Scala parsley
This is a monadic parser combinator designed to be easy to use,
especially for beginners, and have API parity with the
parsley
library. It supports
design patterns introduced in Design Patterns for Parser Combinators.
- Text
- Text.Gigaparsec Contains the bulk of the core combinators.
- Text.Gigaparsec.Char Contains the combinators needed to read characters and strings, as well as combinators to match specific sub-sets of characters.
- Text.Gigaparsec.Combinator This module contains a huge number of pre-made combinators that are
very useful for a variety of purposes.
- Text.Gigaparsec.Combinator.NonEmpty This module contains variants of combinators that return non-empty lists of results, modifying the result type to
NonEmpty
.
- Text.Gigaparsec.Combinator.NonEmpty This module contains variants of combinators that return non-empty lists of results, modifying the result type to
- Text.Gigaparsec.Debug This module contains the very useful debugging combinator, as well as breakpoints.
- Errors
- Text.Gigaparsec.Errors.Combinator This module contains combinators that can be used to directly influence error messages of parsers.
- Text.Gigaparsec.Errors.DefaultErrorBuilder This module defines Gigaparsec's default error messages.
- Text.Gigaparsec.Errors.ErrorBuilder This module defines the ErrorBuilder typeclass, which specifies how to generate an error from a parser as a specified type.
- Text.Gigaparsec.Errors.ErrorGen This module can be used to generate hand-tuned error messages without using monadic bind.
- Text.Gigaparsec.Errors.Patterns This module contains combinators that help facilitate the error message generational patterns Verified Errors and Preventative Errors.
- Text.Gigaparsec.Errors.TokenExtractors This module contains implementations of token extractors that can be used in the
ErrorBuilder
to decide how to extract unexpected tokens from the residual input left over from a parse error.
- Text.Gigaparsec.Expr This module contains various functionality relating to the parsing of expressions.
- Text.Gigaparsec.Expr.Chain This module contains the very useful chaining family of combinators, which are mostly used to parse operators and expressions of varying fixities.
- Text.Gigaparsec.Expr.Infix This module contains the very useful chaining family of combinators, which are mostly used to parse operators and expressions of varying fixities.
- Text.Gigaparsec.Expr.Subtype This module defines explicit subtyping, with up- and -downcasting.
- Text.Gigaparsec.Patterns Template Haskell generators to help with patterns.
- Text.Gigaparsec.Position This module contains parsers that provide a way to extract position information during parsing.
- Text.Gigaparsec.State This module contains all the functionality and operations for using and manipulating references.
- Token
- Text.Gigaparsec.Token.Descriptions This module contains the descriptions of various lexical structures to configure the lexer.
- Text.Gigaparsec.Token.Errors This module contains the relevant functionality for configuring the error messages generated by the parsers provided by the Lexer.
- Text.Gigaparsec.Token.Lexer This module provides a large selection of functionality concerned with lexing.
- Text.Gigaparsec.Token.Patterns Template Haskell generators to help with patterns
- Text.Gigaparsec Contains the bulk of the core combinators.