| ||||||||
| ||||||||
Description | ||||||||
This Haskell script defines a library of parser combinators, and is taken from sections 1-6 of our article Monadic Parser Combinators. Some changes to the library have been made in the move from Gofer to Haskell:
| ||||||||
Synopsis | ||||||||
Documentation | ||||||||
newtype Parser a | ||||||||
| ||||||||
item :: Parser Token | ||||||||
first :: Parser a -> Parser a | ||||||||
papply :: Parser a -> [Token] -> [(a, [Token])] | ||||||||
(+++) :: Parser a -> Parser a -> Parser a | ||||||||
sat :: (Token -> Bool) -> Parser Token | ||||||||
many :: Parser a -> Parser [a] | ||||||||
many1 :: Parser a -> Parser [a] | ||||||||
sepby :: Parser a -> Parser b -> Parser [a] | ||||||||
sepby1 :: Parser a -> Parser b -> Parser [a] | ||||||||
chainl :: Parser a -> Parser (a -> a -> a) -> a -> Parser a | ||||||||
chainl1 :: Parser a -> Parser (a -> a -> a) -> Parser a | ||||||||
chainr :: Parser a -> Parser (a -> a -> a) -> a -> Parser a | ||||||||
chainr1 :: Parser a -> Parser (a -> a -> a) -> Parser a | ||||||||
ops :: [(Parser a, b)] -> Parser b | ||||||||
bracket :: Parser a -> Parser b -> Parser c -> Parser b | ||||||||
char :: Char -> Parser Char | ||||||||
digit :: Parser Char | ||||||||
lower :: Parser Char | ||||||||
upper :: Parser Char | ||||||||
letter :: Parser Char | ||||||||
alphanum :: Parser Char | ||||||||
string :: String -> Parser String | ||||||||
ident :: Parser String | ||||||||
nat :: Parser Int | ||||||||
int :: Parser Int | ||||||||
spaces :: Parser () | ||||||||
comment :: Parser () | ||||||||
junk :: Parser () | ||||||||
skip :: Parser a -> Parser a | ||||||||
token :: Parser a -> Parser a | ||||||||
natural :: Parser Int | ||||||||
integer :: Parser Int | ||||||||
symbol :: String -> Parser String | ||||||||
identifier :: [String] -> Parser String | ||||||||
Produced by Haddock version 2.5.0 |