uu-parsinglib-2.9.2: Fast, online, error-correcting, monadic, applicative, merging, permuting, interleaving, idiomatic parser combinators.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Text.ParserCombinators.UU.Interleaved

Description

This module contains the additional data types, instance definitions and functions to run parsers in an interleaved way. If all the interleaved parsers recognise a single connected piece of the input text this incorporates the permutation parsers. For some examples see the module Text.ParserCombinators.UU.Demo.MergeAndPermute.

Synopsis

Documentation

mkP :: Gram (P st) a -> P st a Source #

doNotInterpret :: P st a -> P st a Source #

doNotInterpret forgets the computed minimal number of tokens recognised by this parser which makes a parser opaque for abstract interpretation; used when interleaving parsers where we do not want to compare lengths.

Orphan instances

Splittable (P st) Source # 
Instance details

Methods

getNonPure :: P st a -> Maybe (P st a) #

getPure :: P st a -> Maybe a #

Functor f => ExtAlternative (Gram f) Source # 
Instance details

Methods

(<<|>) :: Gram f a -> Gram f a -> Gram f a Source #

(<?>) :: Gram f a -> String -> Gram f a Source #

must_be_non_empty :: String -> Gram f a -> c -> c Source #

must_be_non_empties :: String -> Gram f a -> Gram f b -> c -> c Source #

opt :: Gram f a -> a -> Gram f a Source #

IsParser (Gram (P st)) Source # 
Instance details