| |||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||
Contents | |||||||||||||||||||||||||||||||
Description | |||||||||||||||||||||||||||||||
ReadP is a library of parser combinators, originally written by Koen Claessen. It parses all alternatives in parallel, so it never keeps hold of the beginning of the input string, a common source of space leaks with other parsers. The '(+++)' choice combinator is genuinely commutative; it makes no difference which branch is shorter. | |||||||||||||||||||||||||||||||
Synopsis | |||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||
The ReadP type | |||||||||||||||||||||||||||||||
data ReadP a | |||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||
Primitive operations | |||||||||||||||||||||||||||||||
get :: ReadP Char | |||||||||||||||||||||||||||||||
look :: ReadP String | |||||||||||||||||||||||||||||||
(+++) :: ReadP a -> ReadP a -> ReadP a | |||||||||||||||||||||||||||||||
gather :: ReadP a -> ReadP (String, a) | |||||||||||||||||||||||||||||||
Transforms a parser into one that does the same, but in addition returns the exact characters read. IMPORTANT NOTE: gather gives a runtime error if its first argument is built using any occurrences of readS_to_P. | |||||||||||||||||||||||||||||||
Other operations | |||||||||||||||||||||||||||||||
pfail :: ReadP a | |||||||||||||||||||||||||||||||
satisfy :: (Char -> Bool) -> ReadP Char | |||||||||||||||||||||||||||||||
char :: Char -> ReadP Char | |||||||||||||||||||||||||||||||
string :: String -> ReadP String | |||||||||||||||||||||||||||||||
munch :: (Char -> Bool) -> ReadP String | |||||||||||||||||||||||||||||||
munch1 :: (Char -> Bool) -> ReadP String | |||||||||||||||||||||||||||||||
skipSpaces :: ReadP () | |||||||||||||||||||||||||||||||
choice :: [ReadP a] -> ReadP a | |||||||||||||||||||||||||||||||
Conversions | |||||||||||||||||||||||||||||||
readP_to_S :: ReadP a -> ReadS a | |||||||||||||||||||||||||||||||
readS_to_P :: ReadS a -> ReadP a | |||||||||||||||||||||||||||||||
Produced by Haddock version 0.4 |