trifecta-0.50.1: A modern parser combinator library with convenient diagnostics

Portabilitynon-portable
Stabilityexperimental
Maintainerekmett@gmail.com
Safe HaskellNone

Text.Trifecta.Parser.Prim

Description

 

Documentation

data Parser r e a Source

Constructors

Parser 

Fields

unparser :: (a -> ErrState e -> ErrLog e -> Bool -> Delta -> ByteString -> It Rope r) -> (ErrState e -> ErrLog e -> Bool -> Delta -> ByteString -> It Rope r) -> (a -> ErrState e -> ErrLog e -> Bool -> Delta -> ByteString -> It Rope r) -> (ErrState e -> ErrLog e -> Bool -> Delta -> ByteString -> It Rope r) -> ErrLog e -> Bool -> Delta -> ByteString -> It Rope r
 

Instances

MonadDiagnostic e (Parser r e) 
MonadMark Delta (Parser r e) 
MonadError (ErrState e) (Parser r e) 
MonadWriter (ErrLog e) (Parser r e) 
Monad (Parser r e) 
Functor (Parser r e) 
MonadPlus (Parser r e) 
Applicative (Parser r e) 
Alternative (Parser r e) 
Alt (Parser r e) 
Apply (Parser r e) 
Plus (Parser r e) 
Bind (Parser r e) 
MonadParser (Parser r e) 
MonadCont (Parser r e) 
Monoid (Parser r e a) 
Semigroup (Parser r e a) 

why :: Pretty e => (e -> Doc t) -> ErrState e -> Highlights -> Bool -> Delta -> ByteString -> Diagnostic (Doc t)Source

stepParser :: (Diagnostic e -> Diagnostic t) -> (ErrState e -> Highlights -> Bool -> Delta -> ByteString -> Diagnostic t) -> (forall r. Parser r e a) -> ErrLog e -> Bool -> Delta -> ByteString -> Step t aSource

parseTest :: Show a => (forall r. Parser r String a) -> String -> IO ()Source

manyAccum :: (a -> [a] -> [a]) -> Parser r e a -> Parser r e [a]Source