 | polyparse-1.3: A variety of alternative parser combinator libraries. | Contents | Index |
|
Text.ParserCombinators.Poly.Plain |
|
|
|
|
|
Synopsis |
|
|
|
|
The Parser datatype
|
|
newtype Parser t a |
This Parser datatype is a fairly generic parsing monad with error
reporting. It can be used for arbitrary token types, not just
String input. (If you require a running state, use module PolyState
instead)
| Constructors | | Instances | |
|
|
data Result z a |
A return type like Either, that distinguishes not only between
right and wrong answers, but also has commitment, so that a failure
cannot be undone. This should only be used for writing very primitive
parsers - really it is an internal detail of the library.
| Constructors | | Instances | |
|
|
runParser :: Parser t a -> [t] -> (Either String a, [t]) |
Apply a parser to an input token sequence.
|
|
basic parsers
|
|
next :: Parser t t |
|
satisfy :: (t -> Bool) -> Parser t t |
|
re-parsing
|
|
reparse :: [t] -> Parser t () |
Push some tokens back onto the front of the input stream and reparse.
This is useful e.g. for recursively expanding macros. When the
user-parser recognises a macro use, it can lookup the macro
expansion from the parse state, lex it, and then stuff the
lexed expansion back down into the parser.
|
|
Re-export all more general combinators
|
|
module Text.ParserCombinators.Poly.Base |
|
Produced by Haddock version 2.5.0 |