module Text.Parsec.Combinator
( choice
, count
, between
, option, optionMaybe, optional
, skipMany1
, many1
, sepBy, sepBy1
, endBy, endBy1
, sepEndBy, sepEndBy1
, chainl, chainl1
, chainr, chainr1
, eof, notFollowedBy
, manyTill, lookAhead, anyToken
) where
import Control.Monad
import Text.Parsec.Prim
import qualified Text.Parsec.Free as F
choice :: (Stream s m t) => [ParsecT s u m a] -> ParsecT s u m a
choice :: forall s (m :: * -> *) t u a.
Stream s m t =>
[ParsecT s u m a] -> ParsecT s u m a
choice = forall s u (m :: * -> *) a.
[ParsecDSL s u m a] -> ParsecDSL s u m a
F.choice
option :: (Stream s m t) => a -> ParsecT s u m a -> ParsecT s u m a
option :: forall s (m :: * -> *) t a u.
Stream s m t =>
a -> ParsecT s u m a -> ParsecT s u m a
option = forall a s u (m :: * -> *).
a -> ParsecDSL s u m a -> ParsecDSL s u m a
F.option
optionMaybe :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m (Maybe a)
optionMaybe :: forall s (m :: * -> *) t u a.
Stream s m t =>
ParsecT s u m a -> ParsecT s u m (Maybe a)
optionMaybe = forall s u (m :: * -> *) a.
ParsecDSL s u m a -> ParsecDSL s u m (Maybe a)
F.optionMaybe
optional :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m ()
optional :: forall s (m :: * -> *) t u a.
Stream s m t =>
ParsecT s u m a -> ParsecT s u m ()
optional = forall s u (m :: * -> *) a. ParsecDSL s u m a -> ParsecDSL s u m ()
F.optional
between :: (Stream s m t) => ParsecT s u m open -> ParsecT s u m close
-> ParsecT s u m a -> ParsecT s u m a
between :: forall s (m :: * -> *) t u open close a.
Stream s m t =>
ParsecT s u m open
-> ParsecT s u m close -> ParsecT s u m a -> ParsecT 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
F.between
skipMany1 :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m ()
skipMany1 :: forall s (m :: * -> *) t u a.
Stream s m t =>
ParsecT s u m a -> ParsecT s u m ()
skipMany1 = forall s u (m :: * -> *) a. ParsecDSL s u m a -> ParsecDSL s u m ()
F.skipMany1
many1 :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m [a]
many1 :: forall s (m :: * -> *) t u a.
Stream s m t =>
ParsecT s u m a -> ParsecT s u m [a]
many1 = forall s u (m :: * -> *) a.
ParsecDSL s u m a -> ParsecDSL s u m [a]
F.many1
sepBy :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
sepBy :: forall s (m :: * -> *) t u a sep.
Stream s m t =>
ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
sepBy = forall s u (m :: * -> *) a sep.
ParsecDSL s u m a -> ParsecDSL s u m sep -> ParsecDSL s u m [a]
F.sepBy
sepBy1 :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
sepBy1 :: forall s (m :: * -> *) t u a sep.
Stream s m t =>
ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
sepBy1 = forall s u (m :: * -> *) a sep.
ParsecDSL s u m a -> ParsecDSL s u m sep -> ParsecDSL s u m [a]
F.sepBy1
sepEndBy1 :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
sepEndBy1 :: forall s (m :: * -> *) t u a sep.
Stream s m t =>
ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
sepEndBy1 = forall s u (m :: * -> *) a sep.
ParsecDSL s u m a -> ParsecDSL s u m sep -> ParsecDSL s u m [a]
F.sepEndBy1
sepEndBy :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
sepEndBy :: forall s (m :: * -> *) t u a sep.
Stream s m t =>
ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
sepEndBy = forall s u (m :: * -> *) a sep.
ParsecDSL s u m a -> ParsecDSL s u m sep -> ParsecDSL s u m [a]
F.sepEndBy
endBy1 :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
endBy1 :: forall s (m :: * -> *) t u a sep.
Stream s m t =>
ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
endBy1 = forall s u (m :: * -> *) a sep.
ParsecDSL s u m a -> ParsecDSL s u m sep -> ParsecDSL s u m [a]
F.endBy1
endBy :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
endBy :: forall s (m :: * -> *) t u a sep.
Stream s m t =>
ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
endBy = forall s u (m :: * -> *) a sep.
ParsecDSL s u m a -> ParsecDSL s u m sep -> ParsecDSL s u m [a]
F.endBy
count :: (Stream s m t) => Int -> ParsecT s u m a -> ParsecT s u m [a]
count :: forall s (m :: * -> *) t u a.
Stream s m t =>
Int -> ParsecT s u m a -> ParsecT s u m [a]
count = forall s u (m :: * -> *) a.
Int -> ParsecDSL s u m a -> ParsecDSL s u m [a]
F.count
chainr :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m (a -> a -> a) -> a -> ParsecT s u m a
chainr :: forall s (m :: * -> *) t u a.
Stream s m t =>
ParsecT s u m a
-> ParsecT s u m (a -> a -> a) -> a -> ParsecT 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
F.chainr
chainl :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m (a -> a -> a) -> a -> ParsecT s u m a
chainl :: forall s (m :: * -> *) t u a.
Stream s m t =>
ParsecT s u m a
-> ParsecT s u m (a -> a -> a) -> a -> ParsecT 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
F.chainl
chainl1 :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m (a -> a -> a) -> ParsecT s u m a
chainl1 :: forall s (m :: * -> *) t u a.
Stream s m t =>
ParsecT s u m a -> ParsecT s u m (a -> a -> a) -> ParsecT 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
F.chainl1
chainr1 :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m (a -> a -> a) -> ParsecT s u m a
chainr1 :: forall s (m :: * -> *) t u a.
Stream s m t =>
ParsecT s u m a -> ParsecT s u m (a -> a -> a) -> ParsecT 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
F.chainr1
anyToken :: (Stream s m t, Show t) => ParsecT s u m t
anyToken :: forall s (m :: * -> *) t u.
(Stream s m t, Show t) =>
ParsecT s u m t
anyToken = forall t s (m :: * -> *) u.
(Show t, Stream s m t) =>
ParsecDSL s u m t
F.anyToken
eof :: (Stream s m t, Show t) => ParsecT s u m ()
eof :: forall s (m :: * -> *) t u.
(Stream s m t, Show t) =>
ParsecT s u m ()
eof = forall t s (m :: * -> *) u.
(Show t, Stream s m t) =>
ParsecDSL s u m ()
F.eof
notFollowedBy :: (Stream s m t, Show a) => ParsecT s u m a -> ParsecT s u m ()
notFollowedBy :: forall s (m :: * -> *) t a u.
(Stream s m t, Show a) =>
ParsecT s u m a -> ParsecT s u m ()
notFollowedBy = forall a s u (m :: * -> *).
Show a =>
ParsecDSL s u m a -> ParsecDSL s u m ()
F.notFollowedBy
manyTill :: (Stream s m t) => ParsecT s u m a -> ParsecT s u m end -> ParsecT s u m [a]
manyTill :: forall s (m :: * -> *) t u a sep.
Stream s m t =>
ParsecT s u m a -> ParsecT s u m sep -> ParsecT s u m [a]
manyTill = forall s u (m :: * -> *) a sep.
ParsecDSL s u m a -> ParsecDSL s u m sep -> ParsecDSL s u m [a]
F.manyTill