incremental-parser-0.3.1: Generic parser library capable of providing partial results from partial input.

Safe HaskellSafe
LanguageHaskell2010

Text.ParserCombinators.Incremental.LeftBiasedLocal

Description

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.

Synopsis

Documentation

data LeftBiasedLocal Source #

An empty type to specialize Parser for the left-biased Alternative instance.

Instances

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 MonadPlus instances are the same as the Alternative instances.

leftmost :: Parser s r -> Parser a s r Source #