Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
This module defines parsing combinators for incremental parsers with left-biased local choice.
The exported Parser
type can provide partial parsing results from partial input, as long as the output is a
Monoid
. Construct a parser using the primitives and combinators, supply it with input using functions feed
and
feedEof
, and extract the parsed output using results
.
Implementation is based on Brzozowski derivatives.
- module Text.ParserCombinators.Incremental
- type Parser s r = Parser LeftBiasedLocal s r
- data LeftBiasedLocal
- leftmost :: Parser s r -> Parser a s r
Documentation
type Parser s r = Parser LeftBiasedLocal s r Source #
data LeftBiasedLocal Source #
An empty type to specialize Parser
for the left-biased Alternative
instance.
Monoid s => Alternative (Parser LeftBiasedLocal s) Source # | Left-biased choice. The right parser is used only if the left one utterly fails. |
Monoid s => MonadPlus (Parser LeftBiasedLocal s) Source # | The |