| |||||||||||||||||||
| |||||||||||||||||||
| |||||||||||||||||||
Description | |||||||||||||||||||
Written by John Goerzen, jgoerzen@complete.org | |||||||||||||||||||
Synopsis | |||||||||||||||||||
| |||||||||||||||||||
Generalized Utilities | |||||||||||||||||||
These functions are generalized versions of ones you might see in the Char parser. | |||||||||||||||||||
type GeneralizedToken a = (SourcePos, a) | |||||||||||||||||||
type GeneralizedTokenParser a st b = GenParser (GeneralizedToken a) st b | |||||||||||||||||||
togtok :: a -> GenParser b st (GeneralizedToken a) | |||||||||||||||||||
Generate (return) a GeneralizedToken. | |||||||||||||||||||
tokeng :: Show a => (a -> Maybe b) -> GeneralizedTokenParser a st b | |||||||||||||||||||
Retrieve the next token from a GeneralizedToken stream. The given function should return the value to use, or Nothing to cause an error. | |||||||||||||||||||
satisfyg :: Show a => (a -> Bool) -> GeneralizedTokenParser a st a | |||||||||||||||||||
A shortcut to tokeng; the test here is just a function that returns a Bool. If the result is true; return that value -- otherwise, an error. | |||||||||||||||||||
oneOfg :: (Eq a, Show a) => [a] -> GeneralizedTokenParser a st a | |||||||||||||||||||
Matches one item in a list and returns it. | |||||||||||||||||||
noneOfg :: (Eq a, Show a) => [a] -> GeneralizedTokenParser a st a | |||||||||||||||||||
Matches one item not in a list and returns it. | |||||||||||||||||||
specificg :: (Eq a, Show a) => a -> GeneralizedTokenParser a st a | |||||||||||||||||||
Matches one specific token and returns it. | |||||||||||||||||||
allg :: Show a => GeneralizedTokenParser a st [a] | |||||||||||||||||||
Matches all items and returns them | |||||||||||||||||||
Other Utilities | |||||||||||||||||||
notMatching :: GenParser a b c -> String -> GenParser a b () | |||||||||||||||||||
Running notMatching p msg will try to apply parser p. If it fails, returns (). If it succeds, cause a failure and raise the given error message. It will not consume input in either case. | |||||||||||||||||||
Produced by Haddock version 0.8 |