| ||||||||
| ||||||||
| 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 |