attoparsec-0.14.4: Fast combinator parsing for bytestrings and text
Copyright Bryan O'Sullivan 2007-2015
License BSD3
Maintainer bos@serpentine.com
Stability experimental
Portability unknown
Safe Haskell None
Language Haskell2010

Data.Attoparsec.Internal

Description

Simple, efficient parser combinators, loosely based on the Parsec library.

Synopsis

Documentation

compareResults :: ( Eq i, Eq r) => IResult i r -> IResult i r -> Maybe Bool Source #

Compare two IResult values for equality.

If both IResult s are Partial , the result will be Nothing , as they are incomplete and hence their equality cannot be known. (This is why there is no Eq instance for IResult .)

prompt :: Chunk t => State t -> Pos -> More -> ( State t -> Pos -> More -> IResult t r) -> ( State t -> Pos -> More -> IResult t r) -> IResult t r Source #

Ask for input. If we receive any, pass the augmented input to a success continuation, otherwise to a failure continuation.

demandInput :: Chunk t => Parser t () Source #

Immediately demand more input via a Partial continuation result.

demandInput_ :: Chunk t => Parser t t Source #

Immediately demand more input via a Partial continuation result. Return the new input.

wantInput :: forall t. Chunk t => Parser t Bool Source #

This parser always succeeds. It returns True if any input is available either immediately or on demand, and False if the end of all input has been reached.

endOfInput :: forall t. Chunk t => Parser t () Source #

Match only if all input has been consumed.

atEnd :: Chunk t => Parser t Bool Source #

Return an indication of whether the end of input has been reached.

satisfyElem :: forall t. Chunk t => ( ChunkElem t -> Bool ) -> Parser t ( ChunkElem t) Source #

The parser satisfyElem p succeeds for any chunk element for which the predicate p returns True . Returns the element that is actually parsed.

concatReverse :: Monoid m => [m] -> m Source #

Concatenate a monoid after reversing its elements. Used to glue together a series of textual chunks that have been accumulated "backwards".