grammatical-parsers-0.4.0.1: parsers that combine into grammars

Safe HaskellNone
LanguageHaskell2010

Text.Grampa.ContextFree.Parallel

Synopsis

Documentation

data ResultList s r Source #

Constructors

ResultList !(BinTree (ResultInfo s r)) !FailureInfo 
Instances
Functor (ResultList s) Source # 
Instance details

Defined in Text.Grampa.ContextFree.Parallel

Methods

fmap :: (a -> b) -> ResultList s a -> ResultList s b #

(<$) :: a -> ResultList s b -> ResultList s a #

Show1 (ResultList s) Source # 
Instance details

Defined in Text.Grampa.ContextFree.Parallel

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> ResultList s a -> ShowS #

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [ResultList s a] -> ShowS #

(Show s, Show r) => Show (ResultList s r) Source # 
Instance details

Defined in Text.Grampa.ContextFree.Parallel

Methods

showsPrec :: Int -> ResultList s r -> ShowS #

show :: ResultList s r -> String #

showList :: [ResultList s r] -> ShowS #

Semigroup (ResultList s r) Source # 
Instance details

Defined in Text.Grampa.ContextFree.Parallel

Methods

(<>) :: ResultList s r -> ResultList s r -> ResultList s r #

sconcat :: NonEmpty (ResultList s r) -> ResultList s r #

stimes :: Integral b => b -> ResultList s r -> ResultList s r #

Monoid (ResultList s r) Source # 
Instance details

Defined in Text.Grampa.ContextFree.Parallel

Methods

mempty :: ResultList s r #

mappend :: ResultList s r -> ResultList s r -> ResultList s r #

mconcat :: [ResultList s r] -> ResultList s r #

data Parser (g :: (* -> *) -> *) s r Source #

Parser type for context-free grammars using a parallel parsing algorithm with no result sharing nor left recursion support.

Instances
MultiParsing Parser Source #

Parallel parser produces a list of all possible parses.

parseComplete :: (Rank2.Functor g, FactorialMonoid s) =>
                 g (Parallel.Parser g s) -> s -> g (Compose ParseResults [])
Instance details

Defined in Text.Grampa.ContextFree.Parallel

MonoidParsing (Parser g) Source # 
Instance details

Defined in Text.Grampa.ContextFree.Parallel

Monad (Parser g s) Source # 
Instance details

Defined in Text.Grampa.ContextFree.Parallel

Methods

(>>=) :: Parser g s a -> (a -> Parser g s b) -> Parser g s b #

(>>) :: Parser g s a -> Parser g s b -> Parser g s b #

return :: a -> Parser g s a #

fail :: String -> Parser g s a #

Functor (Parser g s) Source # 
Instance details

Defined in Text.Grampa.ContextFree.Parallel

Methods

fmap :: (a -> b) -> Parser g s a -> Parser g s b #

(<$) :: a -> Parser g s b -> Parser g s a #

Applicative (Parser g s) Source # 
Instance details

Defined in Text.Grampa.ContextFree.Parallel

Methods

pure :: a -> Parser g s a #

(<*>) :: Parser g s (a -> b) -> Parser g s a -> Parser g s b #

liftA2 :: (a -> b -> c) -> Parser g s a -> Parser g s b -> Parser g s c #

(*>) :: Parser g s a -> Parser g s b -> Parser g s b #

(<*) :: Parser g s a -> Parser g s b -> Parser g s a #

FactorialMonoid s => Alternative (Parser g s) Source # 
Instance details

Defined in Text.Grampa.ContextFree.Parallel

Methods

empty :: Parser g s a #

(<|>) :: Parser g s a -> Parser g s a -> Parser g s a #

some :: Parser g s a -> Parser g s [a] #

many :: Parser g s a -> Parser g s [a] #

FactorialMonoid s => MonadPlus (Parser g s) Source # 
Instance details

Defined in Text.Grampa.ContextFree.Parallel

Methods

mzero :: Parser g s a #

mplus :: Parser g s a -> Parser g s a -> Parser g s a #

(Lexical g, LexicalConstraint Parser g s, Show s, TextualMonoid s) => TokenParsing (Parser g s) Source # 
Instance details

Defined in Text.Grampa.ContextFree.Parallel

Methods

someSpace :: Parser g s () #

nesting :: Parser g s a -> Parser g s a #

semi :: Parser g s Char #

highlight :: Highlight -> Parser g s a -> Parser g s a #

token :: Parser g s a -> Parser g s a #

FactorialMonoid s => LookAheadParsing (Parser g s) Source # 
Instance details

Defined in Text.Grampa.ContextFree.Parallel

Methods

lookAhead :: Parser g s a -> Parser g s a #

(Show s, TextualMonoid s) => CharParsing (Parser g s) Source # 
Instance details

Defined in Text.Grampa.ContextFree.Parallel

Methods

satisfy :: (Char -> Bool) -> Parser g s Char #

char :: Char -> Parser g s Char #

notChar :: Char -> Parser g s Char #

anyChar :: Parser g s Char #

string :: String -> Parser g s String #

text :: Text -> Parser g s Text #

FactorialMonoid s => Parsing (Parser g s) Source # 
Instance details

Defined in Text.Grampa.ContextFree.Parallel

Methods

try :: Parser g s a -> Parser g s a #

(<?>) :: Parser g s a -> String -> Parser g s a #

skipMany :: Parser g s a -> Parser g s () #

skipSome :: Parser g s a -> Parser g s () #

unexpected :: String -> Parser g s a #

eof :: Parser g s () #

notFollowedBy :: Show a => Parser g s a -> Parser g s () #

Semigroup x => Semigroup (Parser g s x) Source # 
Instance details

Defined in Text.Grampa.ContextFree.Parallel

Methods

(<>) :: Parser g s x -> Parser g s x -> Parser g s x #

sconcat :: NonEmpty (Parser g s x) -> Parser g s x #

stimes :: Integral b => b -> Parser g s x -> Parser g s x #

Monoid x => Monoid (Parser g s x) Source # 
Instance details

Defined in Text.Grampa.ContextFree.Parallel

Methods

mempty :: Parser g s x #

mappend :: Parser g s x -> Parser g s x -> Parser g s x #

mconcat :: [Parser g s x] -> Parser g s x #

type ResultFunctor Parser Source # 
Instance details

Defined in Text.Grampa.ContextFree.Parallel

type GrammarConstraint Parser g Source # 
Instance details

Defined in Text.Grampa.ContextFree.Parallel