Safe Haskell | Safe |
---|---|
Language | Haskell98 |
Text.ParserCombinators.MTLParse
- class Monad m => MonadParse a m | m -> a where
- token :: (Eq a, MonadParse a m) => a -> m a
- tokenBack :: (Eq a, MonadParse a m) => a -> m a
- getsHere :: MonadParse a m => (([a], [a]) -> b) -> m b
- modifyHere :: MonadParse a m => (([a], [a]) -> ([a], [a])) -> m ()
- getForward :: MonadParse a m => m [a]
- getsForward :: MonadParse a m => ([a] -> [a]) -> m [a]
- putForward :: MonadParse a m => [a] -> m ()
- modifyForward :: MonadParse a m => ([a] -> [a]) -> m ()
- getBack :: MonadParse a m => m [a]
- getsBack :: MonadParse a m => ([a] -> [a]) -> m [a]
- putBack :: MonadParse a m => [a] -> m ()
- modifyBack :: MonadParse a m => ([a] -> [a]) -> m ()
- newtype Parse a b = Parse {
- runParse :: ([a], [a]) -> [(b, ([a], [a]))]
- evalParse :: Parse a b -> ([a], [a]) -> [b]
- execParse :: Parse a b -> ([a], [a]) -> [([a], [a])]
- mapParse :: ((b, ([a], [a])) -> (c, ([a], [a]))) -> Parse a b -> Parse a c
- withParse :: (([a], [a]) -> ([a], [a])) -> Parse a b -> Parse a b
- newtype ParseT a m b = ParseT {
- runParseT :: ([a], [a]) -> m [(b, ([a], [a]))]
- evalParseT :: Monad m => ParseT a m b -> ([a], [a]) -> m [b]
- execParseT :: Monad m => ParseT a m b -> ([a], [a]) -> m [([a], [a])]
- mapParseT :: (m [(b, ([a], [a]))] -> n [(c, ([a], [a]))]) -> ParseT a m b -> ParseT a n c
- withParseT :: (([a], [a]) -> ([a], [a])) -> ParseT a m b -> ParseT a m b
- module Control.Monad
- module Control.Monad.Trans
- tokens :: (Eq a, MonadParse a m) => [a] -> m [a]
- tokensBack :: (Eq a, MonadParse a m) => [a] -> m [a]
- build :: Monad m => m a -> (a -> b) -> m b
- repeatParse :: MonadPlus m => Int -> Maybe Int -> m b -> m [b]
- optional :: MonadPlus m => m a -> m [a]
- list :: MonadPlus m => m a -> m [a]
- neList :: MonadPlus m => m a -> m [a]
- greedyRepeatParse :: MonadPlus m => Int -> Maybe Int -> m b -> m [b]
- greedyOptional :: MonadPlus m => m a -> m [a]
- greedyList :: MonadPlus m => m a -> m [a]
- greedyNeList :: MonadPlus m => m a -> m [a]
- beginningOfInput :: (MonadPlus m, MonadParse a m) => b -> m b
- endOfInput :: (MonadPlus m, MonadParse a m) => b -> m b
- apply2M :: Monad m => (a -> b -> c) -> m a -> m b -> m c
- (>++>) :: Monad m => m [a] -> m [a] -> m [a]
- (>:>) :: Monad m => m a -> m [a] -> m [a]
MonadParse class
class Monad m => MonadParse a m | m -> a where Source #
Methods
spot :: (a -> Bool) -> m a Source #
spotBack :: (a -> Bool) -> m a Source #
parseNot :: c -> m b -> m c Source #
getHere :: m ([a], [a]) Source #
putHere :: ([a], [a]) -> m () Source #
noBacktrack :: m b -> m b Source #
Instances
MonadParse a (Parse a) Source # | |
MonadParse a m => MonadParse a (StateT r m) Source # | |
(MonadParse a m, Monoid w) => MonadParse a (WriterT w m) Source # | |
Monad m => MonadParse a (ParseT a m) Source # | |
MonadParse a m => MonadParse a (ReaderT * s m) Source # | |
token :: (Eq a, MonadParse a m) => a -> m a Source #
tokenBack :: (Eq a, MonadParse a m) => a -> m a Source #
getsHere :: MonadParse a m => (([a], [a]) -> b) -> m b Source #
modifyHere :: MonadParse a m => (([a], [a]) -> ([a], [a])) -> m () Source #
getForward :: MonadParse a m => m [a] Source #
getsForward :: MonadParse a m => ([a] -> [a]) -> m [a] Source #
putForward :: MonadParse a m => [a] -> m () Source #
modifyForward :: MonadParse a m => ([a] -> [a]) -> m () Source #
getBack :: MonadParse a m => m [a] Source #
getsBack :: MonadParse a m => ([a] -> [a]) -> m [a] Source #
putBack :: MonadParse a m => [a] -> m () Source #
modifyBack :: MonadParse a m => ([a] -> [a]) -> m () Source #
The Parse Monad
A parse monad where a is the type of the token to parse and b is the type of the return value.
The ParseT Monad
A parse monad for encaplulating an inner monad.
Instances
MonadWriter w m => MonadWriter w (ParseT a m) Source # | |
Monad m => MonadParse a (ParseT a m) Source # | |
MonadTrans (ParseT a) Source # | |
Monad m => Monad (ParseT a m) Source # | |
Monad m => Functor (ParseT a m) Source # | |
Monad m => Applicative (ParseT a m) Source # | |
MonadIO m => MonadIO (ParseT a m) Source # | |
Monad m => Alternative (ParseT a m) Source # | |
Monad m => MonadPlus (ParseT a m) Source # | |
Monad m => MonadReader ([a], [a]) (ParseT a m) Source # | |
Monad m => MonadState ([a], [a]) (ParseT a m) Source # | |
evalParseT :: Monad m => ParseT a m b -> ([a], [a]) -> m [b] Source #
execParseT :: Monad m => ParseT a m b -> ([a], [a]) -> m [([a], [a])] Source #
withParseT :: (([a], [a]) -> ([a], [a])) -> ParseT a m b -> ParseT a m b Source #
module Control.Monad
module Control.Monad.Trans
tokens :: (Eq a, MonadParse a m) => [a] -> m [a] Source #
tokensBack :: (Eq a, MonadParse a m) => [a] -> m [a] Source #
greedyOptional :: MonadPlus m => m a -> m [a] Source #
greedyList :: MonadPlus m => m a -> m [a] Source #
greedyNeList :: MonadPlus m => m a -> m [a] Source #
beginningOfInput :: (MonadPlus m, MonadParse a m) => b -> m b Source #
endOfInput :: (MonadPlus m, MonadParse a m) => b -> m b Source #