parsec-free-3.1.11.6: Parsec API encoded as a deeply-embedded DSL, for debugging and analysis

Safe HaskellNone
LanguageHaskell2010

Text.Parsec.Free

Documentation

newtype ParsecDSL s u m a Source #

Constructors

ParsecDSL 

Fields

Instances

MonadState s m => MonadState s (ParsecDSL s' u m) Source # 

Methods

get :: ParsecDSL s' u m s #

put :: s -> ParsecDSL s' u m () #

state :: (s -> (a, s)) -> ParsecDSL s' u m a #

MonadReader r m => MonadReader r (ParsecDSL s u m) Source # 

Methods

ask :: ParsecDSL s u m r #

local :: (r -> r) -> ParsecDSL s u m a -> ParsecDSL s u m a #

reader :: (r -> a) -> ParsecDSL s u m a #

MonadError e m => MonadError e (ParsecDSL s u m) Source # 

Methods

throwError :: e -> ParsecDSL s u m a #

catchError :: ParsecDSL s u m a -> (e -> ParsecDSL s u m a) -> ParsecDSL s u m a #

MonadTrans (ParsecDSL s u) Source # 

Methods

lift :: Monad m => m a -> ParsecDSL s u m a #

Monad (ParsecDSL s u m) Source # 

Methods

(>>=) :: ParsecDSL s u m a -> (a -> ParsecDSL s u m b) -> ParsecDSL s u m b #

(>>) :: ParsecDSL s u m a -> ParsecDSL s u m b -> ParsecDSL s u m b #

return :: a -> ParsecDSL s u m a #

fail :: String -> ParsecDSL s u m a #

Functor (ParsecDSL s u m) Source # 

Methods

fmap :: (a -> b) -> ParsecDSL s u m a -> ParsecDSL s u m b #

(<$) :: a -> ParsecDSL s u m b -> ParsecDSL s u m a #

Applicative (ParsecDSL s u m) Source # 

Methods

pure :: a -> ParsecDSL s u m a #

(<*>) :: ParsecDSL s u m (a -> b) -> ParsecDSL s u m a -> ParsecDSL s u m b #

(*>) :: ParsecDSL s u m a -> ParsecDSL s u m b -> ParsecDSL s u m b #

(<*) :: ParsecDSL s u m a -> ParsecDSL s u m b -> ParsecDSL s u m a #

MonadIO m => MonadIO (ParsecDSL s u m) Source # 

Methods

liftIO :: IO a -> ParsecDSL s u m a #

Alternative (ParsecDSL s u m) Source # 

Methods

empty :: ParsecDSL s u m a #

(<|>) :: ParsecDSL s u m a -> ParsecDSL s u m a -> ParsecDSL s u m a #

some :: ParsecDSL s u m a -> ParsecDSL s u m [a] #

many :: ParsecDSL s u m a -> ParsecDSL s u m [a] #

MonadPlus (ParsecDSL s u m) Source # 

Methods

mzero :: ParsecDSL s u m a #

mplus :: ParsecDSL s u m a -> ParsecDSL s u m a -> ParsecDSL s u m a #

MonadCont m => MonadCont (ParsecDSL s u m) Source # 

Methods

callCC :: ((a -> ParsecDSL s u m b) -> ParsecDSL s u m a) -> ParsecDSL s u m a #

Show a => Show (ParsecDSL s u m a) Source # 

Methods

showsPrec :: Int -> ParsecDSL s u m a -> ShowS #

show :: ParsecDSL s u m a -> String #

showList :: [ParsecDSL s u m a] -> ShowS #

data ParsecF s u m r Source #

Constructors

Plifted (ParsecT s u m a) (a -> r) 
Preturn r 
Pbind r 
Peffect (m a) (a -> r) 
Pquiet (ParsecDSL s u m a) (a -> r) 
PgetState (u -> r) 
PputState u r 
PmodifyState (u -> u) r 
PgetPosition (SourcePos -> r) 
PsetPosition SourcePos r 
PgetInput (s -> r) 
PsetInput s r 
PgetParserState (State s u -> r) 
PsetParserState (State s u) (State s u -> r) 
PupdateParserState (State s u -> State s u) (State s u -> r) 
(Stream s m t, Eq t) => Ptokens ([t] -> String) (SourcePos -> [t] -> SourcePos) [t] ([t] -> r) 
Stream s m t => PtokenPrimEx (t -> String) (SourcePos -> t -> s -> SourcePos) (Maybe (SourcePos -> t -> s -> u -> u)) (t -> Maybe a) (a -> r) 
Stream s m Char => PalphaNum (Char -> r) 
Stream s m Char => PanyChar (Char -> r) 
(Show t, Stream s m t) => PanyToken (t -> r) 
Stream s m Char => Pchar Char r 
Stream s m Char => Pcrlf (Char -> r) 
Stream s m Char => Pdigit (Char -> r) 
Stream s m Char => PendOfLine (Char -> r) 
(Show t, Stream s m t) => Peof r 
Stream s m Char => PhexDigit (Char -> r) 
Stream s m Char => Pletter (Char -> r) 
Stream s m Char => Plower (Char -> r) 
Stream s m Char => Pnewline (Char -> r) 
Stream s m Char => PnoneOf [Char] (Char -> r) 
Stream s m Char => PoctDigit (Char -> r) 
Stream s m Char => PoneOf [Char] (Char -> r) 
PparserFail String 
PparserZero 
Stream s m Char => Psatisfy (Char -> Bool) (Char -> r) 
Stream s m Char => Pspace (Char -> r) 
Stream s m Char => Pspaces r 
Stream s m Char => Pstring String r 
Stream s m Char => Ptab (Char -> r) 
Stream s m Char => Pupper (Char -> r) 
Punexpected String 
PparserPlus (ParsecDSL s u m a) (ParsecDSL s u m a) (a -> r) 
Plabel (ParsecDSL s u m a) String (a -> r) 
Plabels (ParsecDSL s u m a) [String] (a -> r) 
Ptry (ParsecDSL s u m a) (a -> r) 
Pchainl (ParsecDSL s u m a) (ParsecDSL s u m (a -> a -> a)) a (a -> r) 
Pchainl1 (ParsecDSL s u m a) (ParsecDSL s u m (a -> a -> a)) (a -> r) 
Pchainr (ParsecDSL s u m a) (ParsecDSL s u m (a -> a -> a)) a (a -> r) 
Pchainr1 (ParsecDSL s u m a) (ParsecDSL s u m (a -> a -> a)) (a -> r) 
Pchoice [ParsecDSL s u m a] (a -> r) 
Pcount Int (ParsecDSL s u m a) ([a] -> r) 
PlookAhead (ParsecDSL s u m a) (a -> r) 
Pmany (ParsecDSL s u m a) ([a] -> r) 
Pmany1 (ParsecDSL s u m a) ([a] -> r) 
PmanyAccum (a -> [a] -> [a]) (ParsecDSL s u m a) ([a] -> r) 
Show a => PnotFollowedBy (ParsecDSL s u m a) r 
Poption a (ParsecDSL s u m a) (a -> r) 
PoptionMaybe (ParsecDSL s u m a) (Maybe a -> r) 
Poptional (ParsecDSL s u m a) r 
PskipMany (ParsecDSL s u m a) r 
PskipMany1 (ParsecDSL s u m a) r 
PmanyTill (ParsecDSL s u m a) (ParsecDSL s u m end) ([a] -> r) 
Pbetween (ParsecDSL s u m open) (ParsecDSL s u m close) (ParsecDSL s u m a) (a -> r) 
PendBy (ParsecDSL s u m a) (ParsecDSL s u m sep) ([a] -> r) 
PendBy1 (ParsecDSL s u m a) (ParsecDSL s u m sep) ([a] -> r) 
PsepBy (ParsecDSL s u m a) (ParsecDSL s u m sep) ([a] -> r) 
PsepBy1 (ParsecDSL s u m a) (ParsecDSL s u m sep) ([a] -> r) 
PsepEndBy (ParsecDSL s u m a) (ParsecDSL s u m sep) ([a] -> r) 
PsepEndBy1 (ParsecDSL s u m a) (ParsecDSL s u m sep) ([a] -> r) 
Pidentifier (ParsecDSL s u m String) (String -> r) 
Preserved (ParsecDSL s u m ()) String r 
Poperator (ParsecDSL s u m String) (String -> r) 
PreservedOp (ParsecDSL s u m ()) String r 
PcharLiteral (ParsecDSL s u m Char) (Char -> r) 
PstringLiteral (ParsecDSL s u m String) (String -> r) 
Pnatural (ParsecDSL s u m Integer) (Integer -> r) 
Pinteger (ParsecDSL s u m Integer) (Integer -> r) 
Pfloat (ParsecDSL s u m Double) (Double -> r) 
PnaturalOrFloat (ParsecDSL s u m (Either Integer Double)) (Either Integer Double -> r) 
Pdecimal (ParsecDSL s u m Integer) (Integer -> r) 
Phexadecimal (ParsecDSL s u m Integer) (Integer -> r) 
Poctal (ParsecDSL s u m Integer) (Integer -> r) 
Psymbol (ParsecDSL s u m String) String (String -> r) 
Plexeme (ParsecDSL s u m a) (a -> r) 
PwhiteSpace (ParsecDSL s u m ()) r 
Pparens (ParsecDSL s u m a) (a -> r) 
Pbraces (ParsecDSL s u m a) (a -> r) 
Pangles (ParsecDSL s u m a) (a -> r) 
Pbrackets (ParsecDSL s u m a) (a -> r) 
Psquares (ParsecDSL s u m a) (a -> r) 
Psemi (ParsecDSL s u m String) (String -> r) 
Pcomma (ParsecDSL s u m String) (String -> r) 
Pcolon (ParsecDSL s u m String) (String -> r) 
Pdot (ParsecDSL s u m String) (String -> r) 
PsemiSep (ParsecDSL s u m [a]) ([a] -> r) 
PsemiSep1 (ParsecDSL s u m [a]) ([a] -> r) 
PcommaSep (ParsecDSL s u m [a]) ([a] -> r) 
PcommaSep1 (ParsecDSL s u m [a]) ([a] -> r) 

Instances

Functor (ParsecF s u m) Source # 

Methods

fmap :: (a -> b) -> ParsecF s u m a -> ParsecF s u m b #

(<$) :: a -> ParsecF s u m b -> ParsecF s u m a #

Show (ParsecF s u m r) Source # 

Methods

showsPrec :: Int -> ParsecF s u m r -> ShowS #

show :: ParsecF s u m r -> String #

showList :: [ParsecF s u m r] -> ShowS #

liftF' :: ParsecF s u m a -> ParsecDSL s u m a Source #

lifted :: ParsecT s u m a -> ParsecDSL s u m a Source #

quiet :: ParsecDSL s u m a -> ParsecDSL s u m a Source #

putState :: u -> ParsecDSL s u m () Source #

modifyState :: (u -> u) -> ParsecDSL s u m () Source #

setInput :: s -> ParsecDSL s u m () Source #

setParserState :: State s u -> ParsecDSL s u m (State s u) Source #

updateParserState :: (State s u -> State s u) -> ParsecDSL s u m (State s u) Source #

tokens :: (Stream s m t, Eq t) => ([t] -> String) -> (SourcePos -> [t] -> SourcePos) -> [t] -> ParsecDSL s u m [t] Source #

tokenPrimEx :: Stream s m t => (t -> String) -> (SourcePos -> t -> s -> SourcePos) -> Maybe (SourcePos -> t -> s -> u -> u) -> (t -> Maybe a) -> ParsecDSL s u m a Source #

anyToken :: (Show t, Stream s m t) => ParsecDSL s u m t Source #

char :: Stream s m Char => Char -> ParsecDSL s u m Char Source #

eof :: (Show t, Stream s m t) => ParsecDSL s u m () Source #

noneOf :: Stream s m Char => [Char] -> ParsecDSL s u m Char Source #

oneOf :: Stream s m Char => [Char] -> ParsecDSL s u m Char Source #

satisfy :: Stream s m Char => (Char -> Bool) -> ParsecDSL s u m Char Source #

spaces :: Stream s m Char => ParsecDSL s u m () Source #

tab :: Stream s m Char => ParsecDSL s u m Char Source #

parserPlus :: ParsecDSL s u m a -> ParsecDSL s u m a -> ParsecDSL s u m a Source #

label :: ParsecDSL s u m a -> String -> ParsecDSL s u m a Source #

labels :: ParsecDSL s u m a -> [String] -> ParsecDSL s u m a Source #

try :: ParsecDSL s u m a -> ParsecDSL s u m a Source #

chainl :: ParsecDSL s u m a -> ParsecDSL s u m (a -> a -> a) -> a -> ParsecDSL s u m a Source #

chainl1 :: ParsecDSL s u m a -> ParsecDSL s u m (a -> a -> a) -> ParsecDSL s u m a Source #

chainr :: ParsecDSL s u m a -> ParsecDSL s u m (a -> a -> a) -> a -> ParsecDSL s u m a Source #

chainr1 :: ParsecDSL s u m a -> ParsecDSL s u m (a -> a -> a) -> ParsecDSL s u m a Source #

choice :: [ParsecDSL s u m a] -> ParsecDSL s u m a Source #

count :: Int -> ParsecDSL s u m a -> ParsecDSL s u m [a] Source #

lookAhead :: ParsecDSL s u m a -> ParsecDSL s u m a Source #

many :: ParsecDSL s u m a -> ParsecDSL s u m [a] Source #

many1 :: ParsecDSL s u m a -> ParsecDSL s u m [a] Source #

manyAccum :: (a -> [a] -> [a]) -> ParsecDSL s u m a -> ParsecDSL s u m [a] Source #

notFollowedBy :: Show a => ParsecDSL s u m a -> ParsecDSL s u m () Source #

option :: a -> ParsecDSL s u m a -> ParsecDSL s u m a Source #

optionMaybe :: ParsecDSL s u m a -> ParsecDSL s u m (Maybe a) Source #

optional :: ParsecDSL s u m a -> ParsecDSL s u m () Source #

skipMany :: ParsecDSL s u m a -> ParsecDSL s u m () Source #

skipMany1 :: ParsecDSL s u m a -> ParsecDSL s u m () Source #

manyTill :: ParsecDSL s u m a -> ParsecDSL s u m end -> ParsecDSL s u m [a] Source #

between :: ParsecDSL s u m open -> ParsecDSL s u m close -> ParsecDSL s u m a -> ParsecDSL s u m a Source #

endBy :: ParsecDSL s u m a -> ParsecDSL s u m sep -> ParsecDSL s u m [a] Source #

endBy1 :: ParsecDSL s u m a -> ParsecDSL s u m sep -> ParsecDSL s u m [a] Source #

sepBy :: ParsecDSL s u m a -> ParsecDSL s u m sep -> ParsecDSL s u m [a] Source #

sepBy1 :: ParsecDSL s u m a -> ParsecDSL s u m sep -> ParsecDSL s u m [a] Source #

sepEndBy :: ParsecDSL s u m a -> ParsecDSL s u m sep -> ParsecDSL s u m [a] Source #

sepEndBy1 :: ParsecDSL s u m a -> ParsecDSL s u m sep -> ParsecDSL s u m [a] Source #