{-# LANGUAGE CPP #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE ExistentialQuantification #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE UndecidableInstances #-}
{-# LANGUAGE LambdaCase #-}
module Text.Parsec.Free where
import Control.Applicative hiding (many)
import Control.Monad
import Control.Monad.Cont.Class
import Control.Monad.Error.Class
import Control.Monad.Free
import Control.Monad.IO.Class
import Control.Monad.Reader.Class
import Control.Monad.State.Class
import Control.Monad.Trans.Class
import qualified "parsec" Text.Parsec.Pos as P
import qualified "parsec" Text.Parsec.Prim as P
newtype ParsecDSL s u m a = ParsecDSL {
forall s u (m :: * -> *) a.
ParsecDSL s u m a -> Free (ParsecF s u m) a
runParsecDSL :: Free (ParsecF s u m) a
}
deriving (forall a b. a -> ParsecDSL s u m b -> ParsecDSL s u m a
forall a b. (a -> b) -> ParsecDSL s u m a -> ParsecDSL s u m b
forall s u (m :: * -> *) a b.
a -> ParsecDSL s u m b -> ParsecDSL s u m a
forall s u (m :: * -> *) a b.
(a -> b) -> ParsecDSL s u m a -> ParsecDSL s u m b
forall (f :: * -> *).
(forall a b. (a -> b) -> f a -> f b)
-> (forall a b. a -> f b -> f a) -> Functor f
<$ :: forall a b. a -> ParsecDSL s u m b -> ParsecDSL s u m a
$c<$ :: forall s u (m :: * -> *) a b.
a -> ParsecDSL s u m b -> ParsecDSL s u m a
fmap :: forall a b. (a -> b) -> ParsecDSL s u m a -> ParsecDSL s u m b
$cfmap :: forall s u (m :: * -> *) a b.
(a -> b) -> ParsecDSL s u m a -> ParsecDSL s u m b
Functor, forall a. a -> ParsecDSL s u m a
forall a b.
ParsecDSL s u m a -> ParsecDSL s u m b -> ParsecDSL s u m a
forall a b.
ParsecDSL s u m a -> ParsecDSL s u m b -> ParsecDSL s u m b
forall a b.
ParsecDSL s u m (a -> b) -> ParsecDSL s u m a -> ParsecDSL s u m b
forall a b c.
(a -> b -> c)
-> ParsecDSL s u m a -> ParsecDSL s u m b -> ParsecDSL s u m c
forall s u (m :: * -> *). Functor (ParsecDSL s u m)
forall s u (m :: * -> *) a. a -> ParsecDSL s u m a
forall s u (m :: * -> *) a b.
ParsecDSL s u m a -> ParsecDSL s u m b -> ParsecDSL s u m a
forall s u (m :: * -> *) a b.
ParsecDSL s u m a -> ParsecDSL s u m b -> ParsecDSL s u m b
forall s u (m :: * -> *) a b.
ParsecDSL s u m (a -> b) -> ParsecDSL s u m a -> ParsecDSL s u m b
forall s u (m :: * -> *) a b c.
(a -> b -> c)
-> ParsecDSL s u m a -> ParsecDSL s u m b -> ParsecDSL s u m c
forall (f :: * -> *).
Functor f
-> (forall a. a -> f a)
-> (forall a b. f (a -> b) -> f a -> f b)
-> (forall a b c. (a -> b -> c) -> f a -> f b -> f c)
-> (forall a b. f a -> f b -> f b)
-> (forall a b. f a -> f b -> f a)
-> Applicative f
<* :: forall a b.
ParsecDSL s u m a -> ParsecDSL s u m b -> ParsecDSL s u m a
$c<* :: forall s u (m :: * -> *) a b.
ParsecDSL s u m a -> ParsecDSL s u m b -> ParsecDSL s u m a
*> :: forall a b.
ParsecDSL s u m a -> ParsecDSL s u m b -> ParsecDSL s u m b
$c*> :: forall s u (m :: * -> *) a b.
ParsecDSL s u m a -> ParsecDSL s u m b -> ParsecDSL s u m b
liftA2 :: forall a b c.
(a -> b -> c)
-> ParsecDSL s u m a -> ParsecDSL s u m b -> ParsecDSL s u m c
$cliftA2 :: forall s u (m :: * -> *) a b c.
(a -> b -> c)
-> ParsecDSL s u m a -> ParsecDSL s u m b -> ParsecDSL s u m c
<*> :: forall a b.
ParsecDSL s u m (a -> b) -> ParsecDSL s u m a -> ParsecDSL s u m b
$c<*> :: forall s u (m :: * -> *) a b.
ParsecDSL s u m (a -> b) -> ParsecDSL s u m a -> ParsecDSL s u m b
pure :: forall a. a -> ParsecDSL s u m a
$cpure :: forall s u (m :: * -> *) a. a -> ParsecDSL s u m a
Applicative, forall a. a -> ParsecDSL s u m a
forall a b.
ParsecDSL s u m a -> ParsecDSL s u m b -> ParsecDSL s u m b
forall a b.
ParsecDSL s u m a -> (a -> ParsecDSL s u m b) -> ParsecDSL s u m b
forall s u (m :: * -> *). Applicative (ParsecDSL s u m)
forall s u (m :: * -> *) a. a -> ParsecDSL s u m a
forall s u (m :: * -> *) a b.
ParsecDSL s u m a -> ParsecDSL s u m b -> ParsecDSL s u m b
forall s u (m :: * -> *) a b.
ParsecDSL s u m a -> (a -> ParsecDSL s u m b) -> ParsecDSL s u m b
forall (m :: * -> *).
Applicative m
-> (forall a b. m a -> (a -> m b) -> m b)
-> (forall a b. m a -> m b -> m b)
-> (forall a. a -> m a)
-> Monad m
return :: forall a. a -> ParsecDSL s u m a
$creturn :: forall s u (m :: * -> *) a. a -> ParsecDSL s u m a
>> :: forall a b.
ParsecDSL s u m a -> ParsecDSL s u m b -> ParsecDSL s u m b
$c>> :: forall s u (m :: * -> *) a b.
ParsecDSL s u m a -> ParsecDSL s u m b -> ParsecDSL s u m b
>>= :: forall a b.
ParsecDSL s u m a -> (a -> ParsecDSL s u m b) -> ParsecDSL s u m b
$c>>= :: forall s u (m :: * -> *) a b.
ParsecDSL s u m a -> (a -> ParsecDSL s u m b) -> ParsecDSL s u m b
Monad)
instance Alternative (ParsecDSL s u m) where
empty :: forall a. ParsecDSL s u m a
empty = forall s u (m :: * -> *) a. ParsecDSL s u m a
parserZero
<|> :: forall a.
ParsecDSL s u m a -> ParsecDSL s u m a -> ParsecDSL s u m a
(<|>) = forall s u (m :: * -> *) a.
ParsecDSL s u m a -> ParsecDSL s u m a -> ParsecDSL s u m a
parserPlus
#if __GLASGOW_HASKELL__ >= 808
instance MonadFail (ParsecDSL s u m) where
fail :: forall a. String -> ParsecDSL s u m a
fail String
_ = forall s u (m :: * -> *) a. ParsecDSL s u m a
parserZero
#endif
instance MonadPlus (ParsecDSL s u m) where
mzero :: forall a. ParsecDSL s u m a
mzero = forall s u (m :: * -> *) a. ParsecDSL s u m a
parserZero
mplus :: forall a.
ParsecDSL s u m a -> ParsecDSL s u m a -> ParsecDSL s u m a
mplus = forall s u (m :: * -> *) a.
ParsecDSL s u m a -> ParsecDSL s u m a -> ParsecDSL s u m a
parserPlus
instance (MonadReader r m) => MonadReader r (ParsecDSL s u m) where
ask :: ParsecDSL s u m r
ask = forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall r (m :: * -> *). MonadReader r m => m r
ask
local :: forall a. (r -> r) -> ParsecDSL s u m a -> ParsecDSL s u m a
local r -> r
f ParsecDSL s u m a
p = forall a. HasCallStack => String -> a
error String
"NYI Free.MonadReader"
instance (MonadState s m) => MonadState s (ParsecDSL s' u m) where
get :: ParsecDSL s' u m s
get = forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall s (m :: * -> *). MonadState s m => m s
get
put :: s -> ParsecDSL s' u m ()
put = forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall s (m :: * -> *). MonadState s m => s -> m ()
put
instance (MonadCont m) => MonadCont (ParsecDSL s u m) where
callCC :: forall a b.
((a -> ParsecDSL s u m b) -> ParsecDSL s u m a)
-> ParsecDSL s u m a
callCC (a -> ParsecDSL s u m b) -> ParsecDSL s u m a
f = forall a. HasCallStack => String -> a
error String
"NYI Free.callCC"
instance (MonadError e m) => MonadError e (ParsecDSL s u m) where
throwError :: forall a. e -> ParsecDSL s u m a
throwError = forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall e (m :: * -> *) a. MonadError e m => e -> m a
throwError
ParsecDSL s u m a
p catchError :: forall a.
ParsecDSL s u m a -> (e -> ParsecDSL s u m a) -> ParsecDSL s u m a
`catchError` e -> ParsecDSL s u m a
h = forall a. HasCallStack => String -> a
error String
"NYI Free.catchError"
instance MonadTrans (ParsecDSL s u) where
lift :: forall (m :: * -> *) a. Monad m => m a -> ParsecDSL s u m a
lift m a
m = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r a. m a -> (a -> r) -> ParsecF s u m r
Peffect m a
m forall a. a -> a
id
instance MonadIO m => MonadIO (ParsecDSL s u m) where
liftIO :: forall a. IO a -> ParsecDSL s u m a
liftIO = forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO
data ParsecF s u m r
= forall a. Plifted (P.ParsecT s u m a) (a -> r)
| Preturn r
| Pbind r
| forall a. Peffect (m a) (a -> r)
| forall a. Pquiet (ParsecDSL s u m a) (a -> r)
| PgetState (u -> r)
| PputState u r
| PmodifyState (u -> u) r
| PgetPosition (P.SourcePos -> r)
| PsetPosition P.SourcePos r
| PgetInput (s -> r)
| PsetInput s r
| PgetParserState (P.State s u -> r)
| PsetParserState (P.State s u) (P.State s u -> r)
| PupdateParserState (P.State s u -> P.State s u) (P.State s u -> r)
| forall t. (P.Stream s m t, Eq t)
=> Ptokens ([t] -> String) (P.SourcePos -> [t] -> P.SourcePos)
[t] ([t] -> r)
| forall t a. P.Stream s m t
=> PtokenPrimEx (t -> String) (P.SourcePos -> t -> s -> P.SourcePos)
(Maybe (P.SourcePos -> t -> s -> u -> u))
(t -> Maybe a) (a -> r)
| P.Stream s m Char => PalphaNum (Char -> r)
| P.Stream s m Char => PanyChar (Char -> r)
| forall t. (Show t, P.Stream s m t) => PanyToken (t -> r)
| P.Stream s m Char => Pchar Char r
| P.Stream s m Char => Pcrlf (Char -> r)
| P.Stream s m Char => Pdigit (Char -> r)
| P.Stream s m Char => PendOfLine (Char -> r)
| forall t. (Show t, P.Stream s m t) => Peof r
| P.Stream s m Char => PhexDigit (Char -> r)
| P.Stream s m Char => Pletter (Char -> r)
| P.Stream s m Char => Plower (Char -> r)
| P.Stream s m Char => Pnewline (Char -> r)
| P.Stream s m Char => PnoneOf [Char] (Char -> r)
| P.Stream s m Char => PoctDigit (Char -> r)
| P.Stream s m Char => PoneOf [Char] (Char -> r)
| PparserFail String
| PparserZero
| P.Stream s m Char => Psatisfy (Char -> Bool) (Char -> r)
| P.Stream s m Char => Pspace (Char -> r)
| P.Stream s m Char => Pspaces r
| P.Stream s m Char => Pstring String r
| P.Stream s m Char => Ptab (Char -> r)
| P.Stream s m Char => Pupper (Char -> r)
| Punexpected String
| forall a. PparserPlus (ParsecDSL s u m a) (ParsecDSL s u m a) (a -> r)
| forall a. Plabel (ParsecDSL s u m a) String (a -> r)
| forall a. Plabels (ParsecDSL s u m a) [String] (a -> r)
| forall a. Ptry (ParsecDSL s u m a) (a -> r)
| forall a. Pchainl (ParsecDSL s u m a) (ParsecDSL s u m (a -> a -> a)) a (a -> r)
| forall a. Pchainl1 (ParsecDSL s u m a) (ParsecDSL s u m (a -> a -> a)) (a -> r)
| forall a. Pchainr (ParsecDSL s u m a) (ParsecDSL s u m (a -> a -> a)) a (a -> r)
| forall a. Pchainr1 (ParsecDSL s u m a) (ParsecDSL s u m (a -> a -> a)) (a -> r)
| forall a. Pchoice [ParsecDSL s u m a] (a -> r)
| forall a. Pcount Int (ParsecDSL s u m a) ([a] -> r)
| forall a. PlookAhead (ParsecDSL s u m a) (a -> r)
| forall a. Pmany (ParsecDSL s u m a) ([a] -> r)
| forall a. Pmany1 (ParsecDSL s u m a) ([a] -> r)
| forall a. PmanyAccum (a -> [a] -> [a]) (ParsecDSL s u m a) ([a] -> r)
| forall a. Show a => PnotFollowedBy (ParsecDSL s u m a) r
| forall a. Poption a (ParsecDSL s u m a) (a -> r)
| forall a. PoptionMaybe (ParsecDSL s u m a) (Maybe a -> r)
| forall a. Poptional (ParsecDSL s u m a) r
| forall a. PskipMany (ParsecDSL s u m a) r
| forall a. PskipMany1 (ParsecDSL s u m a) r
| forall end a. PmanyTill (ParsecDSL s u m a) (ParsecDSL s u m end) ([a] -> r)
| forall open close a. Pbetween (ParsecDSL s u m open) (ParsecDSL s u m close)
(ParsecDSL s u m a) (a -> r)
| forall sep a. PendBy (ParsecDSL s u m a) (ParsecDSL s u m sep) ([a] -> r)
| forall sep a. PendBy1 (ParsecDSL s u m a) (ParsecDSL s u m sep) ([a] -> r)
| forall sep a. PsepBy (ParsecDSL s u m a) (ParsecDSL s u m sep) ([a] -> r)
| forall sep a. PsepBy1 (ParsecDSL s u m a) (ParsecDSL s u m sep) ([a] -> r)
| forall sep a. PsepEndBy (ParsecDSL s u m a) (ParsecDSL s u m sep) ([a] -> r)
| forall sep a. 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)
| forall a. Plexeme (ParsecDSL s u m a) (a -> r)
| PwhiteSpace (ParsecDSL s u m ()) r
| forall a. Pparens (ParsecDSL s u m a) (a -> r)
| forall a. Pbraces (ParsecDSL s u m a) (a -> r)
| forall a. Pangles (ParsecDSL s u m a) (a -> r)
| forall a. Pbrackets (ParsecDSL s u m a) (a -> r)
| forall a. 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)
| forall a. PsemiSep (ParsecDSL s u m [a]) ([a] -> r)
| forall a. PsemiSep1 (ParsecDSL s u m [a]) ([a] -> r)
| forall a. PcommaSep (ParsecDSL s u m [a]) ([a] -> r)
| forall a. PcommaSep1 (ParsecDSL s u m [a]) ([a] -> r)
instance Functor (ParsecF s u m) where
fmap :: forall a b. (a -> b) -> ParsecF s u m a -> ParsecF s u m b
fmap a -> b
f = \case
Plifted ParsecT s u m a
p a -> a
k -> forall s u (m :: * -> *) r a.
ParsecT s u m a -> (a -> r) -> ParsecF s u m r
Plifted ParsecT s u m a
p (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. a -> a
k)
Preturn a
x -> forall s u (m :: * -> *) r. r -> ParsecF s u m r
Preturn (a -> b
f a
x)
Pbind a
r -> forall s u (m :: * -> *) r. r -> ParsecF s u m r
Pbind (a -> b
f a
r)
Peffect m a
m a -> a
k -> forall s u (m :: * -> *) r a. m a -> (a -> r) -> ParsecF s u m r
Peffect m a
m (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. a -> a
k)
Pquiet ParsecDSL s u m a
p a -> a
k -> forall s u (m :: * -> *) r a.
ParsecDSL s u m a -> (a -> r) -> ParsecF s u m r
Pquiet ParsecDSL s u m a
p (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. a -> a
k)
PgetState u -> a
k -> forall s u (m :: * -> *) r. (u -> r) -> ParsecF s u m r
PgetState (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. u -> a
k)
PputState u
u a
r -> forall s u (m :: * -> *) r. u -> r -> ParsecF s u m r
PputState u
u (a -> b
f a
r)
PmodifyState u -> u
g a
r -> forall s u (m :: * -> *) r. (u -> u) -> r -> ParsecF s u m r
PmodifyState u -> u
g (a -> b
f a
r)
PgetPosition SourcePos -> a
k -> forall s u (m :: * -> *) r. (SourcePos -> r) -> ParsecF s u m r
PgetPosition (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. SourcePos -> a
k)
PsetPosition SourcePos
p a
r -> forall s u (m :: * -> *) r. SourcePos -> r -> ParsecF s u m r
PsetPosition SourcePos
p (a -> b
f a
r)
PgetInput s -> a
k -> forall s u (m :: * -> *) r. (s -> r) -> ParsecF s u m r
PgetInput (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. s -> a
k)
PsetInput s
s a
r -> forall s u (m :: * -> *) r. s -> r -> ParsecF s u m r
PsetInput s
s (a -> b
f a
r)
PgetParserState State s u -> a
k -> forall s u (m :: * -> *) r. (State s u -> r) -> ParsecF s u m r
PgetParserState (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. State s u -> a
k)
PsetParserState State s u
s State s u -> a
k -> forall s u (m :: * -> *) r.
State s u -> (State s u -> r) -> ParsecF s u m r
PsetParserState State s u
s (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. State s u -> a
k)
PupdateParserState State s u -> State s u
g State s u -> a
k -> forall s u (m :: * -> *) r.
(State s u -> State s u) -> (State s u -> r) -> ParsecF s u m r
PupdateParserState State s u -> State s u
g (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. State s u -> a
k)
Ptokens [t] -> String
a SourcePos -> [t] -> SourcePos
b [t]
c [t] -> a
k -> forall s u (m :: * -> *) r t.
(Stream s m t, Eq t) =>
([t] -> String)
-> (SourcePos -> [t] -> SourcePos)
-> [t]
-> ([t] -> r)
-> ParsecF s u m r
Ptokens [t] -> String
a SourcePos -> [t] -> SourcePos
b [t]
c (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. [t] -> a
k)
PtokenPrimEx t -> String
a SourcePos -> t -> s -> SourcePos
b Maybe (SourcePos -> t -> s -> u -> u)
c t -> Maybe a
d a -> a
k -> forall s u (m :: * -> *) r t a.
Stream s m t =>
(t -> String)
-> (SourcePos -> t -> s -> SourcePos)
-> Maybe (SourcePos -> t -> s -> u -> u)
-> (t -> Maybe a)
-> (a -> r)
-> ParsecF s u m r
PtokenPrimEx t -> String
a SourcePos -> t -> s -> SourcePos
b Maybe (SourcePos -> t -> s -> u -> u)
c t -> Maybe a
d (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. a -> a
k)
PalphaNum Char -> a
k -> forall s u (m :: * -> *) r.
Stream s m Char =>
(Char -> r) -> ParsecF s u m r
PalphaNum (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> a
k)
PanyChar Char -> a
k -> forall s u (m :: * -> *) r.
Stream s m Char =>
(Char -> r) -> ParsecF s u m r
PanyChar (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> a
k)
PanyToken t -> a
k -> forall s u (m :: * -> *) r t.
(Show t, Stream s m t) =>
(t -> r) -> ParsecF s u m r
PanyToken (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. t -> a
k)
Pchar Char
x a
r -> forall s u (m :: * -> *) r.
Stream s m Char =>
Char -> r -> ParsecF s u m r
Pchar Char
x (a -> b
f a
r)
Pcrlf Char -> a
k -> forall s u (m :: * -> *) r.
Stream s m Char =>
(Char -> r) -> ParsecF s u m r
Pcrlf (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> a
k)
Pdigit Char -> a
k -> forall s u (m :: * -> *) r.
Stream s m Char =>
(Char -> r) -> ParsecF s u m r
Pdigit (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> a
k)
PendOfLine Char -> a
k -> forall s u (m :: * -> *) r.
Stream s m Char =>
(Char -> r) -> ParsecF s u m r
PendOfLine (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> a
k)
Peof a
r -> forall s u (m :: * -> *) r t.
(Show t, Stream s m t) =>
r -> ParsecF s u m r
Peof (a -> b
f a
r)
PhexDigit Char -> a
k -> forall s u (m :: * -> *) r.
Stream s m Char =>
(Char -> r) -> ParsecF s u m r
PhexDigit (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> a
k)
Pletter Char -> a
k -> forall s u (m :: * -> *) r.
Stream s m Char =>
(Char -> r) -> ParsecF s u m r
Pletter (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> a
k)
Plower Char -> a
k -> forall s u (m :: * -> *) r.
Stream s m Char =>
(Char -> r) -> ParsecF s u m r
Plower (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> a
k)
Pnewline Char -> a
k -> forall s u (m :: * -> *) r.
Stream s m Char =>
(Char -> r) -> ParsecF s u m r
Pnewline (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> a
k)
PnoneOf String
xs Char -> a
k -> forall s u (m :: * -> *) r.
Stream s m Char =>
String -> (Char -> r) -> ParsecF s u m r
PnoneOf String
xs (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> a
k)
PoctDigit Char -> a
k -> forall s u (m :: * -> *) r.
Stream s m Char =>
(Char -> r) -> ParsecF s u m r
PoctDigit (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> a
k)
PoneOf String
xs Char -> a
k -> forall s u (m :: * -> *) r.
Stream s m Char =>
String -> (Char -> r) -> ParsecF s u m r
PoneOf String
xs (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> a
k)
PparserFail String
s -> forall s u (m :: * -> *) r. String -> ParsecF s u m r
PparserFail String
s
ParsecF s u m a
PparserZero -> forall s u (m :: * -> *) r. ParsecF s u m r
PparserZero
Psatisfy Char -> Bool
g Char -> a
k -> forall s u (m :: * -> *) r.
Stream s m Char =>
(Char -> Bool) -> (Char -> r) -> ParsecF s u m r
Psatisfy Char -> Bool
g (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> a
k)
Pspace Char -> a
k -> forall s u (m :: * -> *) r.
Stream s m Char =>
(Char -> r) -> ParsecF s u m r
Pspace (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> a
k)
Pspaces a
r -> forall s u (m :: * -> *) r. Stream s m Char => r -> ParsecF s u m r
Pspaces (a -> b
f a
r)
Pstring String
x a
r -> forall s u (m :: * -> *) r.
Stream s m Char =>
String -> r -> ParsecF s u m r
Pstring String
x (a -> b
f a
r)
Ptab Char -> a
k -> forall s u (m :: * -> *) r.
Stream s m Char =>
(Char -> r) -> ParsecF s u m r
Ptab (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> a
k)
Pupper Char -> a
k -> forall s u (m :: * -> *) r.
Stream s m Char =>
(Char -> r) -> ParsecF s u m r
Pupper (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> a
k)
Punexpected String
s -> forall s u (m :: * -> *) r. String -> ParsecF s u m r
Punexpected String
s
PparserPlus ParsecDSL s u m a
p ParsecDSL s u m a
q a -> a
k -> forall s u (m :: * -> *) r a.
ParsecDSL s u m a
-> ParsecDSL s u m a -> (a -> r) -> ParsecF s u m r
PparserPlus ParsecDSL s u m a
p ParsecDSL s u m a
q (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. a -> a
k)
Plabel ParsecDSL s u m a
p String
a a -> a
k -> forall s u (m :: * -> *) r a.
ParsecDSL s u m a -> String -> (a -> r) -> ParsecF s u m r
Plabel ParsecDSL s u m a
p String
a (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. a -> a
k)
Plabels ParsecDSL s u m a
p [String]
a a -> a
k -> forall s u (m :: * -> *) r a.
ParsecDSL s u m a -> [String] -> (a -> r) -> ParsecF s u m r
Plabels ParsecDSL s u m a
p [String]
a (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. a -> a
k)
Ptry ParsecDSL s u m a
p a -> a
k -> forall s u (m :: * -> *) r a.
ParsecDSL s u m a -> (a -> r) -> ParsecF s u m r
Ptry ParsecDSL s u m a
p (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. a -> a
k)
Pchainl ParsecDSL s u m a
p ParsecDSL s u m (a -> a -> a)
q a
a a -> a
k -> forall s u (m :: * -> *) r a.
ParsecDSL s u m a
-> ParsecDSL s u m (a -> a -> a)
-> a
-> (a -> r)
-> ParsecF s u m r
Pchainl ParsecDSL s u m a
p ParsecDSL s u m (a -> a -> a)
q a
a (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. a -> a
k)
Pchainl1 ParsecDSL s u m a
p ParsecDSL s u m (a -> a -> a)
q a -> a
k -> forall s u (m :: * -> *) r a.
ParsecDSL s u m a
-> ParsecDSL s u m (a -> a -> a) -> (a -> r) -> ParsecF s u m r
Pchainl1 ParsecDSL s u m a
p ParsecDSL s u m (a -> a -> a)
q (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. a -> a
k)
Pchainr ParsecDSL s u m a
p ParsecDSL s u m (a -> a -> a)
q a
a a -> a
k -> forall s u (m :: * -> *) r a.
ParsecDSL s u m a
-> ParsecDSL s u m (a -> a -> a)
-> a
-> (a -> r)
-> ParsecF s u m r
Pchainr ParsecDSL s u m a
p ParsecDSL s u m (a -> a -> a)
q a
a (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. a -> a
k)
Pchainr1 ParsecDSL s u m a
p ParsecDSL s u m (a -> a -> a)
q a -> a
k -> forall s u (m :: * -> *) r a.
ParsecDSL s u m a
-> ParsecDSL s u m (a -> a -> a) -> (a -> r) -> ParsecF s u m r
Pchainr1 ParsecDSL s u m a
p ParsecDSL s u m (a -> a -> a)
q (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. a -> a
k)
Pchoice [ParsecDSL s u m a]
xs a -> a
k -> forall s u (m :: * -> *) r a.
[ParsecDSL s u m a] -> (a -> r) -> ParsecF s u m r
Pchoice [ParsecDSL s u m a]
xs (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. a -> a
k)
Pcount Int
n ParsecDSL s u m a
p [a] -> a
k -> forall s u (m :: * -> *) r a.
Int -> ParsecDSL s u m a -> ([a] -> r) -> ParsecF s u m r
Pcount Int
n ParsecDSL s u m a
p (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. [a] -> a
k)
PlookAhead ParsecDSL s u m a
p a -> a
k -> forall s u (m :: * -> *) r a.
ParsecDSL s u m a -> (a -> r) -> ParsecF s u m r
PlookAhead ParsecDSL s u m a
p (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. a -> a
k)
Pmany ParsecDSL s u m a
p [a] -> a
k -> forall s u (m :: * -> *) r a.
ParsecDSL s u m a -> ([a] -> r) -> ParsecF s u m r
Pmany ParsecDSL s u m a
p (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. [a] -> a
k)
Pmany1 ParsecDSL s u m a
p [a] -> a
k -> forall s u (m :: * -> *) r a.
ParsecDSL s u m a -> ([a] -> r) -> ParsecF s u m r
Pmany1 ParsecDSL s u m a
p (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. [a] -> a
k)
PmanyAccum a -> [a] -> [a]
g ParsecDSL s u m a
p [a] -> a
k -> forall s u (m :: * -> *) r a.
(a -> [a] -> [a])
-> ParsecDSL s u m a -> ([a] -> r) -> ParsecF s u m r
PmanyAccum a -> [a] -> [a]
g ParsecDSL s u m a
p (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. [a] -> a
k)
PnotFollowedBy ParsecDSL s u m a
p a
r -> forall s u (m :: * -> *) r a.
Show a =>
ParsecDSL s u m a -> r -> ParsecF s u m r
PnotFollowedBy ParsecDSL s u m a
p (a -> b
f a
r)
Poption a
a ParsecDSL s u m a
p a -> a
k -> forall s u (m :: * -> *) r a.
a -> ParsecDSL s u m a -> (a -> r) -> ParsecF s u m r
Poption a
a ParsecDSL s u m a
p (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. a -> a
k)
PoptionMaybe ParsecDSL s u m a
p Maybe a -> a
k -> forall s u (m :: * -> *) r a.
ParsecDSL s u m a -> (Maybe a -> r) -> ParsecF s u m r
PoptionMaybe ParsecDSL s u m a
p (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. Maybe a -> a
k)
Poptional ParsecDSL s u m a
p a
r -> forall s u (m :: * -> *) r a.
ParsecDSL s u m a -> r -> ParsecF s u m r
Poptional ParsecDSL s u m a
p (a -> b
f a
r)
PskipMany ParsecDSL s u m a
p a
r -> forall s u (m :: * -> *) r a.
ParsecDSL s u m a -> r -> ParsecF s u m r
PskipMany ParsecDSL s u m a
p (a -> b
f a
r)
PskipMany1 ParsecDSL s u m a
p a
r -> forall s u (m :: * -> *) r a.
ParsecDSL s u m a -> r -> ParsecF s u m r
PskipMany1 ParsecDSL s u m a
p (a -> b
f a
r)
PmanyTill ParsecDSL s u m a
p ParsecDSL s u m end
e [a] -> a
k -> forall s u (m :: * -> *) r end a.
ParsecDSL s u m a
-> ParsecDSL s u m end -> ([a] -> r) -> ParsecF s u m r
PmanyTill ParsecDSL s u m a
p ParsecDSL s u m end
e (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. [a] -> a
k)
Pbetween ParsecDSL s u m open
o ParsecDSL s u m close
c ParsecDSL s u m a
p a -> a
k -> forall s u (m :: * -> *) r open close a.
ParsecDSL s u m open
-> ParsecDSL s u m close
-> ParsecDSL s u m a
-> (a -> r)
-> ParsecF s u m r
Pbetween ParsecDSL s u m open
o ParsecDSL s u m close
c ParsecDSL s u m a
p (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. a -> a
k)
PendBy ParsecDSL s u m a
p ParsecDSL s u m sep
s [a] -> a
k -> forall s u (m :: * -> *) r end a.
ParsecDSL s u m a
-> ParsecDSL s u m end -> ([a] -> r) -> ParsecF s u m r
PendBy ParsecDSL s u m a
p ParsecDSL s u m sep
s (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. [a] -> a
k)
PendBy1 ParsecDSL s u m a
p ParsecDSL s u m sep
s [a] -> a
k -> forall s u (m :: * -> *) r end a.
ParsecDSL s u m a
-> ParsecDSL s u m end -> ([a] -> r) -> ParsecF s u m r
PendBy1 ParsecDSL s u m a
p ParsecDSL s u m sep
s (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. [a] -> a
k)
PsepBy ParsecDSL s u m a
p ParsecDSL s u m sep
s [a] -> a
k -> forall s u (m :: * -> *) r end a.
ParsecDSL s u m a
-> ParsecDSL s u m end -> ([a] -> r) -> ParsecF s u m r
PsepBy ParsecDSL s u m a
p ParsecDSL s u m sep
s (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. [a] -> a
k)
PsepBy1 ParsecDSL s u m a
p ParsecDSL s u m sep
s [a] -> a
k -> forall s u (m :: * -> *) r end a.
ParsecDSL s u m a
-> ParsecDSL s u m end -> ([a] -> r) -> ParsecF s u m r
PsepBy1 ParsecDSL s u m a
p ParsecDSL s u m sep
s (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. [a] -> a
k)
PsepEndBy ParsecDSL s u m a
p ParsecDSL s u m sep
s [a] -> a
k -> forall s u (m :: * -> *) r end a.
ParsecDSL s u m a
-> ParsecDSL s u m end -> ([a] -> r) -> ParsecF s u m r
PsepEndBy ParsecDSL s u m a
p ParsecDSL s u m sep
s (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. [a] -> a
k)
PsepEndBy1 ParsecDSL s u m a
p ParsecDSL s u m sep
s [a] -> a
k -> forall s u (m :: * -> *) r end a.
ParsecDSL s u m a
-> ParsecDSL s u m end -> ([a] -> r) -> ParsecF s u m r
PsepEndBy1 ParsecDSL s u m a
p ParsecDSL s u m sep
s (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. [a] -> a
k)
Pidentifier ParsecDSL s u m String
t String -> a
k -> forall s u (m :: * -> *) r.
ParsecDSL s u m String -> (String -> r) -> ParsecF s u m r
Pidentifier ParsecDSL s u m String
t (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> a
k)
Preserved ParsecDSL s u m ()
t String
s a
r -> forall s u (m :: * -> *) r.
ParsecDSL s u m () -> String -> r -> ParsecF s u m r
Preserved ParsecDSL s u m ()
t String
s (a -> b
f a
r)
Poperator ParsecDSL s u m String
t String -> a
k -> forall s u (m :: * -> *) r.
ParsecDSL s u m String -> (String -> r) -> ParsecF s u m r
Poperator ParsecDSL s u m String
t (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> a
k)
PreservedOp ParsecDSL s u m ()
t String
s a
r -> forall s u (m :: * -> *) r.
ParsecDSL s u m () -> String -> r -> ParsecF s u m r
PreservedOp ParsecDSL s u m ()
t String
s (a -> b
f a
r)
PcharLiteral ParsecDSL s u m Char
t Char -> a
k -> forall s u (m :: * -> *) r.
ParsecDSL s u m Char -> (Char -> r) -> ParsecF s u m r
PcharLiteral ParsecDSL s u m Char
t (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> a
k)
PstringLiteral ParsecDSL s u m String
t String -> a
k -> forall s u (m :: * -> *) r.
ParsecDSL s u m String -> (String -> r) -> ParsecF s u m r
PstringLiteral ParsecDSL s u m String
t (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> a
k)
Pnatural ParsecDSL s u m Integer
t Integer -> a
k -> forall s u (m :: * -> *) r.
ParsecDSL s u m Integer -> (Integer -> r) -> ParsecF s u m r
Pnatural ParsecDSL s u m Integer
t (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. Integer -> a
k)
Pinteger ParsecDSL s u m Integer
t Integer -> a
k -> forall s u (m :: * -> *) r.
ParsecDSL s u m Integer -> (Integer -> r) -> ParsecF s u m r
Pinteger ParsecDSL s u m Integer
t (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. Integer -> a
k)
Pfloat ParsecDSL s u m Double
t Double -> a
k -> forall s u (m :: * -> *) r.
ParsecDSL s u m Double -> (Double -> r) -> ParsecF s u m r
Pfloat ParsecDSL s u m Double
t (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. Double -> a
k)
PnaturalOrFloat ParsecDSL s u m (Either Integer Double)
t Either Integer Double -> a
k -> forall s u (m :: * -> *) r.
ParsecDSL s u m (Either Integer Double)
-> (Either Integer Double -> r) -> ParsecF s u m r
PnaturalOrFloat ParsecDSL s u m (Either Integer Double)
t (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. Either Integer Double -> a
k)
Pdecimal ParsecDSL s u m Integer
t Integer -> a
k -> forall s u (m :: * -> *) r.
ParsecDSL s u m Integer -> (Integer -> r) -> ParsecF s u m r
Pdecimal ParsecDSL s u m Integer
t (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. Integer -> a
k)
Phexadecimal ParsecDSL s u m Integer
t Integer -> a
k -> forall s u (m :: * -> *) r.
ParsecDSL s u m Integer -> (Integer -> r) -> ParsecF s u m r
Phexadecimal ParsecDSL s u m Integer
t (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. Integer -> a
k)
Poctal ParsecDSL s u m Integer
t Integer -> a
k -> forall s u (m :: * -> *) r.
ParsecDSL s u m Integer -> (Integer -> r) -> ParsecF s u m r
Poctal ParsecDSL s u m Integer
t (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. Integer -> a
k)
Psymbol ParsecDSL s u m String
t String
s String -> a
k -> forall s u (m :: * -> *) r.
ParsecDSL s u m String
-> String -> (String -> r) -> ParsecF s u m r
Psymbol ParsecDSL s u m String
t String
s (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> a
k)
Plexeme ParsecDSL s u m a
p a -> a
k -> forall s u (m :: * -> *) r a.
ParsecDSL s u m a -> (a -> r) -> ParsecF s u m r
Plexeme ParsecDSL s u m a
p (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. a -> a
k)
PwhiteSpace ParsecDSL s u m ()
t a
r -> forall s u (m :: * -> *) r.
ParsecDSL s u m () -> r -> ParsecF s u m r
PwhiteSpace ParsecDSL s u m ()
t (a -> b
f a
r)
Pparens ParsecDSL s u m a
p a -> a
k -> forall s u (m :: * -> *) r a.
ParsecDSL s u m a -> (a -> r) -> ParsecF s u m r
Pparens ParsecDSL s u m a
p (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. a -> a
k)
Pbraces ParsecDSL s u m a
p a -> a
k -> forall s u (m :: * -> *) r a.
ParsecDSL s u m a -> (a -> r) -> ParsecF s u m r
Pbraces ParsecDSL s u m a
p (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. a -> a
k)
Pangles ParsecDSL s u m a
p a -> a
k -> forall s u (m :: * -> *) r a.
ParsecDSL s u m a -> (a -> r) -> ParsecF s u m r
Pangles ParsecDSL s u m a
p (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. a -> a
k)
Pbrackets ParsecDSL s u m a
p a -> a
k -> forall s u (m :: * -> *) r a.
ParsecDSL s u m a -> (a -> r) -> ParsecF s u m r
Pbrackets ParsecDSL s u m a
p (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. a -> a
k)
Psquares ParsecDSL s u m a
p a -> a
k -> forall s u (m :: * -> *) r a.
ParsecDSL s u m a -> (a -> r) -> ParsecF s u m r
Psquares ParsecDSL s u m a
p (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. a -> a
k)
Psemi ParsecDSL s u m String
t String -> a
k -> forall s u (m :: * -> *) r.
ParsecDSL s u m String -> (String -> r) -> ParsecF s u m r
Psemi ParsecDSL s u m String
t (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> a
k)
Pcomma ParsecDSL s u m String
t String -> a
k -> forall s u (m :: * -> *) r.
ParsecDSL s u m String -> (String -> r) -> ParsecF s u m r
Pcomma ParsecDSL s u m String
t (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> a
k)
Pcolon ParsecDSL s u m String
t String -> a
k -> forall s u (m :: * -> *) r.
ParsecDSL s u m String -> (String -> r) -> ParsecF s u m r
Pcolon ParsecDSL s u m String
t (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> a
k)
Pdot ParsecDSL s u m String
t String -> a
k -> forall s u (m :: * -> *) r.
ParsecDSL s u m String -> (String -> r) -> ParsecF s u m r
Pdot ParsecDSL s u m String
t (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> a
k)
PsemiSep ParsecDSL s u m [a]
p [a] -> a
k -> forall s u (m :: * -> *) r a.
ParsecDSL s u m [a] -> ([a] -> r) -> ParsecF s u m r
PsemiSep ParsecDSL s u m [a]
p (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. [a] -> a
k)
PsemiSep1 ParsecDSL s u m [a]
p [a] -> a
k -> forall s u (m :: * -> *) r a.
ParsecDSL s u m [a] -> ([a] -> r) -> ParsecF s u m r
PsemiSep1 ParsecDSL s u m [a]
p (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. [a] -> a
k)
PcommaSep ParsecDSL s u m [a]
p [a] -> a
k -> forall s u (m :: * -> *) r a.
ParsecDSL s u m [a] -> ([a] -> r) -> ParsecF s u m r
PcommaSep ParsecDSL s u m [a]
p (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. [a] -> a
k)
PcommaSep1 ParsecDSL s u m [a]
p [a] -> a
k -> forall s u (m :: * -> *) r a.
ParsecDSL s u m [a] -> ([a] -> r) -> ParsecF s u m r
PcommaSep1 ParsecDSL s u m [a]
p (a -> b
f forall b c a. (b -> c) -> (a -> b) -> a -> c
. [a] -> a
k)
instance Show (ParsecF s u m r) where
show :: ParsecF s u m r -> String
show = \case
Plifted ParsecT s u m a
_ a -> r
_ -> String
"lifted"
Preturn r
_ -> String
"return"
Pbind r
_ -> String
"bind"
Peffect m a
_ a -> r
_ -> String
"effect"
Pquiet ParsecDSL s u m a
_ a -> r
_ -> String
"quiet"
PgetState u -> r
_ -> String
"getState"
PputState u
_ r
_ -> String
"putState"
PmodifyState u -> u
_ r
_ -> String
"modifyState"
PgetPosition SourcePos -> r
_ -> String
"getPosition"
PsetPosition SourcePos
_ r
_ -> String
"setPosition"
PgetInput s -> r
_ -> String
"getInput"
PsetInput s
_ r
_ -> String
"setInput"
PgetParserState State s u -> r
_ -> String
"getParserState"
PsetParserState State s u
_ State s u -> r
_ -> String
"setParserState"
PupdateParserState State s u -> State s u
_ State s u -> r
_ -> String
"updateParserState"
Ptokens [t] -> String
_ SourcePos -> [t] -> SourcePos
_ [t]
_ [t] -> r
_ -> String
"tokens"
PtokenPrimEx t -> String
_ SourcePos -> t -> s -> SourcePos
_ Maybe (SourcePos -> t -> s -> u -> u)
_ t -> Maybe a
_ a -> r
_ -> String
"tokenPrim"
PalphaNum Char -> r
_ -> String
"alphaNum"
PanyChar Char -> r
_ -> String
"anyChar"
PanyToken t -> r
_ -> String
"anyToken"
Pchar Char
x r
_ -> String
"char " forall a. [a] -> [a] -> [a]
++ forall a. Show a => a -> String
show Char
x
Pcrlf Char -> r
_ -> String
"crlf"
Pdigit Char -> r
_ -> String
"digit"
PendOfLine Char -> r
_ -> String
"endOfLine"
Peof r
_ -> String
"eof"
PhexDigit Char -> r
_ -> String
"hexDigit"
Pletter Char -> r
_ -> String
"letter"
Plower Char -> r
_ -> String
"lower"
Pnewline Char -> r
_ -> String
"newline"
PnoneOf String
xs Char -> r
_ -> String
"noneOf " forall a. [a] -> [a] -> [a]
++ forall a. Show a => a -> String
show String
xs
PoctDigit Char -> r
_ -> String
"octDigit"
PoneOf String
xs Char -> r
_ -> String
"oneOf " forall a. [a] -> [a] -> [a]
++ forall a. Show a => a -> String
show String
xs
PparserFail String
s -> String
"parserFail " forall a. [a] -> [a] -> [a]
++ forall a. Show a => a -> String
show String
s
ParsecF s u m r
PparserZero -> String
"parserZero"
Psatisfy Char -> Bool
_ Char -> r
_ -> String
"satisfy"
Pspace Char -> r
_ -> String
"space"
Pspaces r
_ -> String
"spaces"
Pstring String
x r
_ -> String
"string " forall a. [a] -> [a] -> [a]
++ forall a. Show a => a -> String
show String
x
Ptab Char -> r
_ -> String
"tab"
Pupper Char -> r
_ -> String
"upper"
Punexpected String
s -> String
"unexpected " forall a. [a] -> [a] -> [a]
++ forall a. Show a => a -> String
show String
s
PparserPlus ParsecDSL s u m a
_ ParsecDSL s u m a
_ a -> r
_ -> String
"parserPlus"
Plabel ParsecDSL s u m a
_ String
a a -> r
_ -> String
"label " forall a. [a] -> [a] -> [a]
++ forall a. Show a => a -> String
show String
a
Plabels ParsecDSL s u m a
_ [String]
a a -> r
_ -> String
"labels " forall a. [a] -> [a] -> [a]
++ forall a. Show a => a -> String
show [String]
a
Ptry ParsecDSL s u m a
_ a -> r
_ -> String
"try"
Pchainl ParsecDSL s u m a
_ ParsecDSL s u m (a -> a -> a)
_ a
_ a -> r
_ -> String
"chainl"
Pchainl1 ParsecDSL s u m a
_ ParsecDSL s u m (a -> a -> a)
_ a -> r
_ -> String
"chainl1"
Pchainr ParsecDSL s u m a
_ ParsecDSL s u m (a -> a -> a)
_ a
_ a -> r
_ -> String
"chainr"
Pchainr1 ParsecDSL s u m a
_ ParsecDSL s u m (a -> a -> a)
_ a -> r
_ -> String
"chainr1"
Pchoice [ParsecDSL s u m a]
_ a -> r
_ -> String
"choice"
Pcount Int
n ParsecDSL s u m a
_ [a] -> r
_ -> String
"count " forall a. [a] -> [a] -> [a]
++ forall a. Show a => a -> String
show Int
n
PlookAhead ParsecDSL s u m a
_ a -> r
_ -> String
"lookAhead"
Pmany ParsecDSL s u m a
_ [a] -> r
_ -> String
"many"
Pmany1 ParsecDSL s u m a
_ [a] -> r
_ -> String
"many1"
PmanyAccum a -> [a] -> [a]
_ ParsecDSL s u m a
_ [a] -> r
_ -> String
"manyAccum"
PnotFollowedBy ParsecDSL s u m a
_ r
_ -> String
"notFollowedBy"
Poption a
_ ParsecDSL s u m a
_ a -> r
_ -> String
"option"
PoptionMaybe ParsecDSL s u m a
_ Maybe a -> r
_ -> String
"optionMaybe"
Poptional ParsecDSL s u m a
_ r
_ -> String
"optional"
PskipMany ParsecDSL s u m a
_ r
_ -> String
"skipMany"
PskipMany1 ParsecDSL s u m a
_ r
_ -> String
"skipMany1"
PmanyTill ParsecDSL s u m a
_ ParsecDSL s u m end
_ [a] -> r
_ -> String
"manyTill"
Pbetween ParsecDSL s u m open
_ ParsecDSL s u m close
_ ParsecDSL s u m a
_ a -> r
_ -> String
"between"
PendBy ParsecDSL s u m a
_ ParsecDSL s u m sep
_ [a] -> r
_ -> String
"endBy"
PendBy1 ParsecDSL s u m a
_ ParsecDSL s u m sep
_ [a] -> r
_ -> String
"endBy1"
PsepBy ParsecDSL s u m a
_ ParsecDSL s u m sep
_ [a] -> r
_ -> String
"sepBy"
PsepBy1 ParsecDSL s u m a
_ ParsecDSL s u m sep
_ [a] -> r
_ -> String
"sepBy1"
PsepEndBy ParsecDSL s u m a
_ ParsecDSL s u m sep
_ [a] -> r
_ -> String
"sepEndBy"
PsepEndBy1 ParsecDSL s u m a
_ ParsecDSL s u m sep
_ [a] -> r
_ -> String
"sepEndBy1"
Pidentifier ParsecDSL s u m String
_ String -> r
_ -> String
"identifier"
Preserved ParsecDSL s u m ()
_ String
s r
_ -> String
"reserved " forall a. [a] -> [a] -> [a]
++ forall a. Show a => a -> String
show String
s
Poperator ParsecDSL s u m String
_ String -> r
_ -> String
"operator"
PreservedOp ParsecDSL s u m ()
_ String
s r
_ -> String
"reservedOp " forall a. [a] -> [a] -> [a]
++ forall a. Show a => a -> String
show String
s
PcharLiteral ParsecDSL s u m Char
_ Char -> r
_ -> String
"charLiteral"
PstringLiteral ParsecDSL s u m String
_ String -> r
_ -> String
"stringLiteral"
Pnatural ParsecDSL s u m Integer
_ Integer -> r
_ -> String
"natural"
Pinteger ParsecDSL s u m Integer
_ Integer -> r
_ -> String
"integer"
Pfloat ParsecDSL s u m Double
_ Double -> r
_ -> String
"float"
PnaturalOrFloat ParsecDSL s u m (Either Integer Double)
_ Either Integer Double -> r
_ -> String
"naturalOrFloat"
Pdecimal ParsecDSL s u m Integer
_ Integer -> r
_ -> String
"decimal"
Phexadecimal ParsecDSL s u m Integer
_ Integer -> r
_ -> String
"hexadecimal"
Poctal ParsecDSL s u m Integer
_ Integer -> r
_ -> String
"octal"
Psymbol ParsecDSL s u m String
_ String
s String -> r
_ -> String
"symbol " forall a. [a] -> [a] -> [a]
++ forall a. Show a => a -> String
show String
s
Plexeme ParsecDSL s u m a
_ a -> r
_ -> String
"lexeme"
PwhiteSpace ParsecDSL s u m ()
_ r
_ -> String
"whiteSpace"
Pparens ParsecDSL s u m a
_ a -> r
_ -> String
"parens"
Pbraces ParsecDSL s u m a
_ a -> r
_ -> String
"braces"
Pangles ParsecDSL s u m a
_ a -> r
_ -> String
"angles"
Pbrackets ParsecDSL s u m a
_ a -> r
_ -> String
"brackets"
Psquares ParsecDSL s u m a
_ a -> r
_ -> String
"squares"
Psemi ParsecDSL s u m String
_ String -> r
_ -> String
"semi"
Pcomma ParsecDSL s u m String
_ String -> r
_ -> String
"comma"
Pcolon ParsecDSL s u m String
_ String -> r
_ -> String
"colon"
Pdot ParsecDSL s u m String
_ String -> r
_ -> String
"dot"
PsemiSep ParsecDSL s u m [a]
_ [a] -> r
_ -> String
"semiSep"
PsemiSep1 ParsecDSL s u m [a]
_ [a] -> r
_ -> String
"semiSep1"
PcommaSep ParsecDSL s u m [a]
_ [a] -> r
_ -> String
"commaSep"
PcommaSep1 ParsecDSL s u m [a]
_ [a] -> r
_ -> String
"commaSep1"
liftF' :: ParsecF s u m a -> ParsecDSL s u m a
liftF' :: forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' ParsecF s u m a
x = forall s u (m :: * -> *) a.
Free (ParsecF s u m) a -> ParsecDSL s u m a
ParsecDSL forall a b. (a -> b) -> a -> b
$ forall (f :: * -> *) a. f (Free f a) -> Free f a
Free (forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap forall (f :: * -> *) a. Applicative f => a -> f a
pure ParsecF s u m a
x)
lifted :: P.ParsecT s u m a -> ParsecDSL s u m a
lifted :: forall s u (m :: * -> *) a. ParsecT s u m a -> ParsecDSL s u m a
lifted ParsecT s u m a
p = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r a.
ParsecT s u m a -> (a -> r) -> ParsecF s u m r
Plifted ParsecT s u m a
p forall a. a -> a
id
quiet :: ParsecDSL s u m a -> ParsecDSL s u m a
quiet :: forall s u (m :: * -> *) a. ParsecDSL s u m a -> ParsecDSL s u m a
quiet ParsecDSL s u m a
p = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r a.
ParsecDSL s u m a -> (a -> r) -> ParsecF s u m r
Pquiet ParsecDSL s u m a
p forall a. a -> a
id
getState :: ParsecDSL s u m u
getState :: forall s u (m :: * -> *). ParsecDSL s u m u
getState = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r. (u -> r) -> ParsecF s u m r
PgetState forall a. a -> a
id
putState :: u -> ParsecDSL s u m ()
putState :: forall u s (m :: * -> *). u -> ParsecDSL s u m ()
putState u
u = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r. u -> r -> ParsecF s u m r
PputState u
u ()
modifyState :: (u -> u) -> ParsecDSL s u m ()
modifyState :: forall u s (m :: * -> *). (u -> u) -> ParsecDSL s u m ()
modifyState u -> u
g = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r. (u -> u) -> r -> ParsecF s u m r
PmodifyState u -> u
g ()
getPosition :: ParsecDSL s u m P.SourcePos
getPosition :: forall s u (m :: * -> *). ParsecDSL s u m SourcePos
getPosition = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r. (SourcePos -> r) -> ParsecF s u m r
PgetPosition forall a. a -> a
id
setPosition :: P.SourcePos -> ParsecDSL s u m ()
setPosition :: forall s u (m :: * -> *). SourcePos -> ParsecDSL s u m ()
setPosition SourcePos
p = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r. SourcePos -> r -> ParsecF s u m r
PsetPosition SourcePos
p ()
getInput :: ParsecDSL s u m s
getInput :: forall s u (m :: * -> *). ParsecDSL s u m s
getInput = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r. (s -> r) -> ParsecF s u m r
PgetInput forall a. a -> a
id
setInput :: s -> ParsecDSL s u m ()
setInput :: forall s u (m :: * -> *). s -> ParsecDSL s u m ()
setInput s
s = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r. s -> r -> ParsecF s u m r
PsetInput s
s ()
getParserState :: ParsecDSL s u m (P.State s u)
getParserState :: forall s u (m :: * -> *). ParsecDSL s u m (State s u)
getParserState = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r. (State s u -> r) -> ParsecF s u m r
PgetParserState forall a. a -> a
id
setParserState :: P.State s u -> ParsecDSL s u m (P.State s u)
setParserState :: forall s u (m :: * -> *). State s u -> ParsecDSL s u m (State s u)
setParserState State s u
s = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r.
State s u -> (State s u -> r) -> ParsecF s u m r
PsetParserState State s u
s forall a. a -> a
id
updateParserState :: (P.State s u -> P.State s u)
-> ParsecDSL s u m (P.State s u)
updateParserState :: forall s u (m :: * -> *).
(State s u -> State s u) -> ParsecDSL s u m (State s u)
updateParserState State s u -> State s u
g = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r.
(State s u -> State s u) -> (State s u -> r) -> ParsecF s u m r
PupdateParserState State s u -> State s u
g forall a. a -> a
id
tokens :: (P.Stream s m t, Eq t)
=> ([t] -> String)
-> (P.SourcePos -> [t] -> P.SourcePos)
-> [t]
-> ParsecDSL s u m [t]
tokens :: forall s (m :: * -> *) t u.
(Stream s m t, Eq t) =>
([t] -> String)
-> (SourcePos -> [t] -> SourcePos) -> [t] -> ParsecDSL s u m [t]
tokens [t] -> String
a SourcePos -> [t] -> SourcePos
b [t]
c = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r t.
(Stream s m t, Eq t) =>
([t] -> String)
-> (SourcePos -> [t] -> SourcePos)
-> [t]
-> ([t] -> r)
-> ParsecF s u m r
Ptokens [t] -> String
a SourcePos -> [t] -> SourcePos
b [t]
c forall a. a -> a
id
tokenPrimEx :: (P.Stream s m t)
=> (t -> String)
-> (P.SourcePos -> t -> s -> P.SourcePos)
-> Maybe (P.SourcePos -> t -> s -> u -> u)
-> (t -> Maybe a)
-> ParsecDSL s u m a
tokenPrimEx :: forall s (m :: * -> *) t u a.
Stream s m t =>
(t -> String)
-> (SourcePos -> t -> s -> SourcePos)
-> Maybe (SourcePos -> t -> s -> u -> u)
-> (t -> Maybe a)
-> ParsecDSL s u m a
tokenPrimEx t -> String
a SourcePos -> t -> s -> SourcePos
b Maybe (SourcePos -> t -> s -> u -> u)
c t -> Maybe a
d = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r t a.
Stream s m t =>
(t -> String)
-> (SourcePos -> t -> s -> SourcePos)
-> Maybe (SourcePos -> t -> s -> u -> u)
-> (t -> Maybe a)
-> (a -> r)
-> ParsecF s u m r
PtokenPrimEx t -> String
a SourcePos -> t -> s -> SourcePos
b Maybe (SourcePos -> t -> s -> u -> u)
c t -> Maybe a
d forall a. a -> a
id
alphaNum :: P.Stream s m Char => ParsecDSL s u m Char
alphaNum :: forall s (m :: * -> *) u. Stream s m Char => ParsecDSL s u m Char
alphaNum = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r.
Stream s m Char =>
(Char -> r) -> ParsecF s u m r
PalphaNum forall a. a -> a
id
anyChar :: P.Stream s m Char => ParsecDSL s u m Char
anyChar :: forall s (m :: * -> *) u. Stream s m Char => ParsecDSL s u m Char
anyChar = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r.
Stream s m Char =>
(Char -> r) -> ParsecF s u m r
PanyChar forall a. a -> a
id
anyToken :: (Show t, P.Stream s m t) => ParsecDSL s u m t
anyToken :: forall t s (m :: * -> *) u.
(Show t, Stream s m t) =>
ParsecDSL s u m t
anyToken = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r t.
(Show t, Stream s m t) =>
(t -> r) -> ParsecF s u m r
PanyToken forall a. a -> a
id
char :: P.Stream s m Char => Char -> ParsecDSL s u m Char
char :: forall s (m :: * -> *) u.
Stream s m Char =>
Char -> ParsecDSL s u m Char
char Char
x = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r.
Stream s m Char =>
Char -> r -> ParsecF s u m r
Pchar Char
x Char
x
crlf :: P.Stream s m Char => ParsecDSL s u m Char
crlf :: forall s (m :: * -> *) u. Stream s m Char => ParsecDSL s u m Char
crlf = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r.
Stream s m Char =>
(Char -> r) -> ParsecF s u m r
Pcrlf forall a. a -> a
id
digit :: P.Stream s m Char => ParsecDSL s u m Char
digit :: forall s (m :: * -> *) u. Stream s m Char => ParsecDSL s u m Char
digit = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r.
Stream s m Char =>
(Char -> r) -> ParsecF s u m r
Pdigit forall a. a -> a
id
endOfLine :: P.Stream s m Char => ParsecDSL s u m Char
endOfLine :: forall s (m :: * -> *) u. Stream s m Char => ParsecDSL s u m Char
endOfLine = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r.
Stream s m Char =>
(Char -> r) -> ParsecF s u m r
PendOfLine forall a. a -> a
id
eof :: (Show t, P.Stream s m t) => ParsecDSL s u m ()
eof :: forall t s (m :: * -> *) u.
(Show t, Stream s m t) =>
ParsecDSL s u m ()
eof = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r t.
(Show t, Stream s m t) =>
r -> ParsecF s u m r
Peof ()
hexDigit :: P.Stream s m Char => ParsecDSL s u m Char
hexDigit :: forall s (m :: * -> *) u. Stream s m Char => ParsecDSL s u m Char
hexDigit = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r.
Stream s m Char =>
(Char -> r) -> ParsecF s u m r
PhexDigit forall a. a -> a
id
letter :: P.Stream s m Char => ParsecDSL s u m Char
letter :: forall s (m :: * -> *) u. Stream s m Char => ParsecDSL s u m Char
letter = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r.
Stream s m Char =>
(Char -> r) -> ParsecF s u m r
Pletter forall a. a -> a
id
lower :: P.Stream s m Char => ParsecDSL s u m Char
lower :: forall s (m :: * -> *) u. Stream s m Char => ParsecDSL s u m Char
lower = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r.
Stream s m Char =>
(Char -> r) -> ParsecF s u m r
Plower forall a. a -> a
id
newline :: P.Stream s m Char => ParsecDSL s u m Char
newline :: forall s (m :: * -> *) u. Stream s m Char => ParsecDSL s u m Char
newline = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r.
Stream s m Char =>
(Char -> r) -> ParsecF s u m r
Pnewline forall a. a -> a
id
noneOf :: P.Stream s m Char => [Char] -> ParsecDSL s u m Char
noneOf :: forall s (m :: * -> *) u.
Stream s m Char =>
String -> ParsecDSL s u m Char
noneOf String
xs = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r.
Stream s m Char =>
String -> (Char -> r) -> ParsecF s u m r
PnoneOf String
xs forall a. a -> a
id
octDigit :: P.Stream s m Char => ParsecDSL s u m Char
octDigit :: forall s (m :: * -> *) u. Stream s m Char => ParsecDSL s u m Char
octDigit = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r.
Stream s m Char =>
(Char -> r) -> ParsecF s u m r
PoctDigit forall a. a -> a
id
oneOf :: P.Stream s m Char => [Char] -> ParsecDSL s u m Char
oneOf :: forall s (m :: * -> *) u.
Stream s m Char =>
String -> ParsecDSL s u m Char
oneOf String
xs = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r.
Stream s m Char =>
String -> (Char -> r) -> ParsecF s u m r
PoneOf String
xs forall a. a -> a
id
parserFail :: String -> ParsecDSL s u m a
parserFail :: forall s u (m :: * -> *) a. String -> ParsecDSL s u m a
parserFail String
s = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r. String -> ParsecF s u m r
PparserFail String
s
parserZero :: ParsecDSL s u m a
parserZero :: forall s u (m :: * -> *) a. ParsecDSL s u m a
parserZero = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall s u (m :: * -> *) r. ParsecF s u m r
PparserZero
satisfy :: P.Stream s m Char => (Char -> Bool) -> ParsecDSL s u m Char
satisfy :: forall s (m :: * -> *) u.
Stream s m Char =>
(Char -> Bool) -> ParsecDSL s u m Char
satisfy Char -> Bool
g = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r.
Stream s m Char =>
(Char -> Bool) -> (Char -> r) -> ParsecF s u m r
Psatisfy Char -> Bool
g forall a. a -> a
id
space :: P.Stream s m Char => ParsecDSL s u m Char
space :: forall s (m :: * -> *) u. Stream s m Char => ParsecDSL s u m Char
space = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r.
Stream s m Char =>
(Char -> r) -> ParsecF s u m r
Pspace forall a. a -> a
id
spaces :: P.Stream s m Char => ParsecDSL s u m ()
spaces :: forall s (m :: * -> *) u. Stream s m Char => ParsecDSL s u m ()
spaces = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r. Stream s m Char => r -> ParsecF s u m r
Pspaces ()
string :: P.Stream s m Char => String -> ParsecDSL s u m String
string :: forall s (m :: * -> *) u.
Stream s m Char =>
String -> ParsecDSL s u m String
string String
x = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r.
Stream s m Char =>
String -> r -> ParsecF s u m r
Pstring String
x String
x
tab :: P.Stream s m Char => ParsecDSL s u m Char
tab :: forall s (m :: * -> *) u. Stream s m Char => ParsecDSL s u m Char
tab = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r.
Stream s m Char =>
(Char -> r) -> ParsecF s u m r
Ptab forall a. a -> a
id
upper :: P.Stream s m Char => ParsecDSL s u m Char
upper :: forall s (m :: * -> *) u. Stream s m Char => ParsecDSL s u m Char
upper = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r.
Stream s m Char =>
(Char -> r) -> ParsecF s u m r
Pupper forall a. a -> a
id
unexpected :: String -> ParsecDSL s u m a
unexpected :: forall s u (m :: * -> *) a. String -> ParsecDSL s u m a
unexpected String
s = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r. String -> ParsecF s u m r
Punexpected String
s
parserPlus :: ParsecDSL s u m a -> ParsecDSL s u m a -> ParsecDSL s u m a
parserPlus :: forall s u (m :: * -> *) a.
ParsecDSL s u m a -> ParsecDSL s u m a -> ParsecDSL s u m a
parserPlus ParsecDSL s u m a
p ParsecDSL s u m a
q = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r a.
ParsecDSL s u m a
-> ParsecDSL s u m a -> (a -> r) -> ParsecF s u m r
PparserPlus ParsecDSL s u m a
p ParsecDSL s u m a
q forall a. a -> a
id
label :: ParsecDSL s u m a -> String -> ParsecDSL s u m a
label :: forall s u (m :: * -> *) a.
ParsecDSL s u m a -> String -> ParsecDSL s u m a
label ParsecDSL s u m a
p String
a = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r a.
ParsecDSL s u m a -> String -> (a -> r) -> ParsecF s u m r
Plabel ParsecDSL s u m a
p String
a forall a. a -> a
id
labels :: ParsecDSL s u m a -> [String] -> ParsecDSL s u m a
labels :: forall s u (m :: * -> *) a.
ParsecDSL s u m a -> [String] -> ParsecDSL s u m a
labels ParsecDSL s u m a
p [String]
a = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r a.
ParsecDSL s u m a -> [String] -> (a -> r) -> ParsecF s u m r
Plabels ParsecDSL s u m a
p [String]
a forall a. a -> a
id
try :: ParsecDSL s u m a -> ParsecDSL s u m a
try :: forall s u (m :: * -> *) a. ParsecDSL s u m a -> ParsecDSL s u m a
try ParsecDSL s u m a
p = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r a.
ParsecDSL s u m a -> (a -> r) -> ParsecF s u m r
Ptry ParsecDSL s u m a
p forall a. a -> a
id
chainl :: ParsecDSL s u m a -> ParsecDSL s u m (a -> a -> a) -> a -> ParsecDSL s u m a
chainl :: forall s u (m :: * -> *) a.
ParsecDSL s u m a
-> ParsecDSL s u m (a -> a -> a) -> a -> ParsecDSL s u m a
chainl ParsecDSL s u m a
p ParsecDSL s u m (a -> a -> a)
q a
a = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r a.
ParsecDSL s u m a
-> ParsecDSL s u m (a -> a -> a)
-> a
-> (a -> r)
-> ParsecF s u m r
Pchainl ParsecDSL s u m a
p ParsecDSL s u m (a -> a -> a)
q a
a forall a. a -> a
id
chainl1 :: ParsecDSL s u m a -> ParsecDSL s u m (a -> a -> a) -> ParsecDSL s u m a
chainl1 :: forall s u (m :: * -> *) a.
ParsecDSL s u m a
-> ParsecDSL s u m (a -> a -> a) -> ParsecDSL s u m a
chainl1 ParsecDSL s u m a
p ParsecDSL s u m (a -> a -> a)
q = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r a.
ParsecDSL s u m a
-> ParsecDSL s u m (a -> a -> a) -> (a -> r) -> ParsecF s u m r
Pchainl1 ParsecDSL s u m a
p ParsecDSL s u m (a -> a -> a)
q forall a. a -> a
id
chainr :: ParsecDSL s u m a -> ParsecDSL s u m (a -> a -> a) -> a -> ParsecDSL s u m a
chainr :: forall s u (m :: * -> *) a.
ParsecDSL s u m a
-> ParsecDSL s u m (a -> a -> a) -> a -> ParsecDSL s u m a
chainr ParsecDSL s u m a
p ParsecDSL s u m (a -> a -> a)
q a
a = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r a.
ParsecDSL s u m a
-> ParsecDSL s u m (a -> a -> a)
-> a
-> (a -> r)
-> ParsecF s u m r
Pchainr ParsecDSL s u m a
p ParsecDSL s u m (a -> a -> a)
q a
a forall a. a -> a
id
chainr1 :: ParsecDSL s u m a -> ParsecDSL s u m (a -> a -> a) -> ParsecDSL s u m a
chainr1 :: forall s u (m :: * -> *) a.
ParsecDSL s u m a
-> ParsecDSL s u m (a -> a -> a) -> ParsecDSL s u m a
chainr1 ParsecDSL s u m a
p ParsecDSL s u m (a -> a -> a)
q = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r a.
ParsecDSL s u m a
-> ParsecDSL s u m (a -> a -> a) -> (a -> r) -> ParsecF s u m r
Pchainr1 ParsecDSL s u m a
p ParsecDSL s u m (a -> a -> a)
q forall a. a -> a
id
choice :: [ParsecDSL s u m a] -> ParsecDSL s u m a
choice :: forall s u (m :: * -> *) a.
[ParsecDSL s u m a] -> ParsecDSL s u m a
choice [ParsecDSL s u m a]
xs = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r a.
[ParsecDSL s u m a] -> (a -> r) -> ParsecF s u m r
Pchoice [ParsecDSL s u m a]
xs forall a. a -> a
id
count :: Int -> ParsecDSL s u m a -> ParsecDSL s u m [a]
count :: forall s u (m :: * -> *) a.
Int -> ParsecDSL s u m a -> ParsecDSL s u m [a]
count Int
n ParsecDSL s u m a
p = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r a.
Int -> ParsecDSL s u m a -> ([a] -> r) -> ParsecF s u m r
Pcount Int
n ParsecDSL s u m a
p forall a. a -> a
id
lookAhead :: ParsecDSL s u m a -> ParsecDSL s u m a
lookAhead :: forall s u (m :: * -> *) a. ParsecDSL s u m a -> ParsecDSL s u m a
lookAhead ParsecDSL s u m a
p = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r a.
ParsecDSL s u m a -> (a -> r) -> ParsecF s u m r
PlookAhead ParsecDSL s u m a
p forall a. a -> a
id
many :: ParsecDSL s u m a -> ParsecDSL s u m [a]
many :: forall s u (m :: * -> *) a.
ParsecDSL s u m a -> ParsecDSL s u m [a]
many ParsecDSL s u m a
p = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r a.
ParsecDSL s u m a -> ([a] -> r) -> ParsecF s u m r
Pmany ParsecDSL s u m a
p forall a. a -> a
id
many1 :: ParsecDSL s u m a -> ParsecDSL s u m [a]
many1 :: forall s u (m :: * -> *) a.
ParsecDSL s u m a -> ParsecDSL s u m [a]
many1 ParsecDSL s u m a
p = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r a.
ParsecDSL s u m a -> ([a] -> r) -> ParsecF s u m r
Pmany1 ParsecDSL s u m a
p forall a. a -> a
id
manyAccum :: (a -> [a] -> [a]) -> ParsecDSL s u m a -> ParsecDSL s u m [a]
manyAccum :: forall a s u (m :: * -> *).
(a -> [a] -> [a]) -> ParsecDSL s u m a -> ParsecDSL s u m [a]
manyAccum a -> [a] -> [a]
acc ParsecDSL s u m a
p = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r a.
(a -> [a] -> [a])
-> ParsecDSL s u m a -> ([a] -> r) -> ParsecF s u m r
PmanyAccum a -> [a] -> [a]
acc ParsecDSL s u m a
p forall a. a -> a
id
notFollowedBy :: Show a => ParsecDSL s u m a -> ParsecDSL s u m ()
notFollowedBy :: forall a s u (m :: * -> *).
Show a =>
ParsecDSL s u m a -> ParsecDSL s u m ()
notFollowedBy ParsecDSL s u m a
p = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r a.
Show a =>
ParsecDSL s u m a -> r -> ParsecF s u m r
PnotFollowedBy ParsecDSL s u m a
p ()
option :: a -> ParsecDSL s u m a -> ParsecDSL s u m a
option :: forall a s u (m :: * -> *).
a -> ParsecDSL s u m a -> ParsecDSL s u m a
option a
a ParsecDSL s u m a
p = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r a.
a -> ParsecDSL s u m a -> (a -> r) -> ParsecF s u m r
Poption a
a ParsecDSL s u m a
p forall a. a -> a
id
optionMaybe :: ParsecDSL s u m a -> ParsecDSL s u m (Maybe a)
optionMaybe :: forall s u (m :: * -> *) a.
ParsecDSL s u m a -> ParsecDSL s u m (Maybe a)
optionMaybe ParsecDSL s u m a
p = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r a.
ParsecDSL s u m a -> (Maybe a -> r) -> ParsecF s u m r
PoptionMaybe ParsecDSL s u m a
p forall a. a -> a
id
optional :: ParsecDSL s u m a -> ParsecDSL s u m ()
optional :: forall s u (m :: * -> *) a. ParsecDSL s u m a -> ParsecDSL s u m ()
optional ParsecDSL s u m a
p = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r a.
ParsecDSL s u m a -> r -> ParsecF s u m r
Poptional ParsecDSL s u m a
p ()
skipMany :: ParsecDSL s u m a -> ParsecDSL s u m ()
skipMany :: forall s u (m :: * -> *) a. ParsecDSL s u m a -> ParsecDSL s u m ()
skipMany ParsecDSL s u m a
p = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r a.
ParsecDSL s u m a -> r -> ParsecF s u m r
PskipMany ParsecDSL s u m a
p ()
skipMany1 :: ParsecDSL s u m a -> ParsecDSL s u m ()
skipMany1 :: forall s u (m :: * -> *) a. ParsecDSL s u m a -> ParsecDSL s u m ()
skipMany1 ParsecDSL s u m a
p = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r a.
ParsecDSL s u m a -> r -> ParsecF s u m r
PskipMany1 ParsecDSL s u m a
p ()
manyTill :: ParsecDSL s u m a -> ParsecDSL s u m end -> ParsecDSL s u m [a]
manyTill :: forall s u (m :: * -> *) a end.
ParsecDSL s u m a -> ParsecDSL s u m end -> ParsecDSL s u m [a]
manyTill ParsecDSL s u m a
p ParsecDSL s u m end
e = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r end a.
ParsecDSL s u m a
-> ParsecDSL s u m end -> ([a] -> r) -> ParsecF s u m r
PmanyTill ParsecDSL s u m a
p ParsecDSL s u m end
e forall a. a -> a
id
between :: ParsecDSL s u m open -> ParsecDSL s u m close -> ParsecDSL s u m a
-> ParsecDSL s u m a
between :: forall s u (m :: * -> *) open close a.
ParsecDSL s u m open
-> ParsecDSL s u m close -> ParsecDSL s u m a -> ParsecDSL s u m a
between ParsecDSL s u m open
o ParsecDSL s u m close
c ParsecDSL s u m a
p = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r open close a.
ParsecDSL s u m open
-> ParsecDSL s u m close
-> ParsecDSL s u m a
-> (a -> r)
-> ParsecF s u m r
Pbetween ParsecDSL s u m open
o ParsecDSL s u m close
c ParsecDSL s u m a
p forall a. a -> a
id
endBy :: ParsecDSL s u m a -> ParsecDSL s u m sep -> ParsecDSL s u m [a]
endBy :: forall s u (m :: * -> *) a end.
ParsecDSL s u m a -> ParsecDSL s u m end -> ParsecDSL s u m [a]
endBy ParsecDSL s u m a
p ParsecDSL s u m sep
s = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r end a.
ParsecDSL s u m a
-> ParsecDSL s u m end -> ([a] -> r) -> ParsecF s u m r
PendBy ParsecDSL s u m a
p ParsecDSL s u m sep
s forall a. a -> a
id
endBy1 :: ParsecDSL s u m a -> ParsecDSL s u m sep -> ParsecDSL s u m [a]
endBy1 :: forall s u (m :: * -> *) a end.
ParsecDSL s u m a -> ParsecDSL s u m end -> ParsecDSL s u m [a]
endBy1 ParsecDSL s u m a
p ParsecDSL s u m sep
s = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r end a.
ParsecDSL s u m a
-> ParsecDSL s u m end -> ([a] -> r) -> ParsecF s u m r
PendBy1 ParsecDSL s u m a
p ParsecDSL s u m sep
s forall a. a -> a
id
sepBy :: ParsecDSL s u m a -> ParsecDSL s u m sep -> ParsecDSL s u m [a]
sepBy :: forall s u (m :: * -> *) a end.
ParsecDSL s u m a -> ParsecDSL s u m end -> ParsecDSL s u m [a]
sepBy ParsecDSL s u m a
p ParsecDSL s u m sep
s = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r end a.
ParsecDSL s u m a
-> ParsecDSL s u m end -> ([a] -> r) -> ParsecF s u m r
PsepBy ParsecDSL s u m a
p ParsecDSL s u m sep
s forall a. a -> a
id
sepBy1 :: ParsecDSL s u m a -> ParsecDSL s u m sep -> ParsecDSL s u m [a]
sepBy1 :: forall s u (m :: * -> *) a end.
ParsecDSL s u m a -> ParsecDSL s u m end -> ParsecDSL s u m [a]
sepBy1 ParsecDSL s u m a
p ParsecDSL s u m sep
s = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r end a.
ParsecDSL s u m a
-> ParsecDSL s u m end -> ([a] -> r) -> ParsecF s u m r
PsepBy1 ParsecDSL s u m a
p ParsecDSL s u m sep
s forall a. a -> a
id
sepEndBy :: ParsecDSL s u m a -> ParsecDSL s u m sep -> ParsecDSL s u m [a]
sepEndBy :: forall s u (m :: * -> *) a end.
ParsecDSL s u m a -> ParsecDSL s u m end -> ParsecDSL s u m [a]
sepEndBy ParsecDSL s u m a
p ParsecDSL s u m sep
s = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r end a.
ParsecDSL s u m a
-> ParsecDSL s u m end -> ([a] -> r) -> ParsecF s u m r
PsepEndBy ParsecDSL s u m a
p ParsecDSL s u m sep
s forall a. a -> a
id
sepEndBy1 :: ParsecDSL s u m a -> ParsecDSL s u m sep -> ParsecDSL s u m [a]
sepEndBy1 :: forall s u (m :: * -> *) a end.
ParsecDSL s u m a -> ParsecDSL s u m end -> ParsecDSL s u m [a]
sepEndBy1 ParsecDSL s u m a
p ParsecDSL s u m sep
s = forall s u (m :: * -> *) a. ParsecF s u m a -> ParsecDSL s u m a
liftF' forall a b. (a -> b) -> a -> b
$ forall s u (m :: * -> *) r end a.
ParsecDSL s u m a
-> ParsecDSL s u m end -> ([a] -> r) -> ParsecF s u m r
PsepEndBy1 ParsecDSL s u m a
p ParsecDSL s u m sep
s forall a. a -> a
id