uu-parsinglib-2.2.1: New version of the Utrecht University parser combinator librarySource codeContentsIndex
Text.ParserCombinators.UU.Derived
Synopsis
opt :: Parser p => p a -> a -> p a
(<$$>) :: Parser p => (a -> b -> c) -> p b -> p (a -> c)
(<??>) :: Parser p => p a -> p (a -> a) -> p a
pPacked :: Parser p => R (State p) b1 -> R (State p) b2 -> p a -> p a
pFoldr :: Parser p => (a -> a1 -> a1, a1) -> p a -> p a1
pFoldr_ng :: Parser p => (a -> a1 -> a1, a1) -> p a -> p a1
pFoldr1 :: Parser p => (v -> b -> b, b) -> p v -> p b
pFoldr1_ng :: Parser p => (v -> b -> b, b) -> p v -> p b
pFoldrSep :: Parser p => (v -> b -> b, b) -> R (State p) a -> p v -> p b
pFoldrSep_ng :: Parser p => (v -> b -> b, b) -> R (State p) a -> p v -> p b
pFoldr1Sep :: Parser p => (a -> b -> b, b) -> R (State p) a1 -> p a -> p b
pFoldr1Sep_ng :: Parser p => (a -> b -> b, b) -> R (State p) a1 -> p a -> p b
list_alg :: (a -> [a] -> [a], [a1])
pList :: Parser p => p a -> p [a]
pList_ng :: Parser p => p a -> p [a]
pList1 :: Parser p => p a -> p [a]
pList1_ng :: Parser p => p a -> p [a]
pListSep :: Parser p => R (State p) a1 -> p a -> p [a]
pListSep_ng :: Parser p => R (State p) a1 -> p a -> p [a]
pList1Sep :: Parser p => R (State p) a1 -> p a -> p [a]
pList1Sep_ng :: Parser p => R (State p) a1 -> p a -> p [a]
pChainr :: Parser p => p (c -> c -> c) -> p c -> p c
pChainr_ng :: Parser p => p (c -> c -> c) -> p c -> p c
pChainl :: Parser p => p (c -> c -> c) -> p c -> p c
pChainl_ng :: Parser p => p (c -> c -> c) -> p c -> p c
pAny :: Alternative p => (a -> p a1) -> [a] -> p a1
pAnySym :: (Alternative p, Symbol p s s) => [s] -> p s
pToken :: (Applicative p, Symbol p s s) => [s] -> p [s]
pAnyToken :: (Parser p, Symbol p s s) => [[s]] -> p [s]
Documentation
opt :: Parser p => p a -> a -> p aSource

Optionally recognize parser p.

If p can be recognized, the return value of p is used. Otherwise, the value v is used. Note that opt is greedy, if you do not want this use ... | pure v instead. Furthermore, p should not recognise the empty string, since this would make your parser ambiguous!!

(<$$>) :: Parser p => (a -> b -> c) -> p b -> p (a -> c)Source
(<??>) :: Parser p => p a -> p (a -> a) -> p aSource
pPacked :: Parser p => R (State p) b1 -> R (State p) b2 -> p a -> p aSource

This can be used to parse x surrounded by l and r.

Example:

 pParens = pPacked pOParen pCParen
pFoldr :: Parser p => (a -> a1 -> a1, a1) -> p a -> p a1Source
pFoldr_ng :: Parser p => (a -> a1 -> a1, a1) -> p a -> p a1Source
pFoldr1 :: Parser p => (v -> b -> b, b) -> p v -> p bSource
pFoldr1_ng :: Parser p => (v -> b -> b, b) -> p v -> p bSource
pFoldrSep :: Parser p => (v -> b -> b, b) -> R (State p) a -> p v -> p bSource
pFoldrSep_ng :: Parser p => (v -> b -> b, b) -> R (State p) a -> p v -> p bSource
pFoldr1Sep :: Parser p => (a -> b -> b, b) -> R (State p) a1 -> p a -> p bSource
pFoldr1Sep_ng :: Parser p => (a -> b -> b, b) -> R (State p) a1 -> p a -> p bSource
list_alg :: (a -> [a] -> [a], [a1])Source
pList :: Parser p => p a -> p [a]Source
pList_ng :: Parser p => p a -> p [a]Source
pList1 :: Parser p => p a -> p [a]Source
pList1_ng :: Parser p => p a -> p [a]Source
pListSep :: Parser p => R (State p) a1 -> p a -> p [a]Source
pListSep_ng :: Parser p => R (State p) a1 -> p a -> p [a]Source
pList1Sep :: Parser p => R (State p) a1 -> p a -> p [a]Source
pList1Sep_ng :: Parser p => R (State p) a1 -> p a -> p [a]Source
pChainr :: Parser p => p (c -> c -> c) -> p c -> p cSource
pChainr_ng :: Parser p => p (c -> c -> c) -> p c -> p cSource
pChainl :: Parser p => p (c -> c -> c) -> p c -> p cSource
pChainl_ng :: Parser p => p (c -> c -> c) -> p c -> p cSource
pAny :: Alternative p => (a -> p a1) -> [a] -> p a1Source
Parses using any of the parsers in the list l.
pAnySym :: (Alternative p, Symbol p s s) => [s] -> p sSource
Parses any of the symbols in l.
pToken :: (Applicative p, Symbol p s s) => [s] -> p [s]Source
pAnyToken :: (Parser p, Symbol p s s) => [[s]] -> p [s]Source
Produced by Haddock version 2.4.2