|
Text.ParserCombinators.Poly.State |
|
|
|
|
|
Synopsis |
|
|
|
|
The Parser datatype
|
|
|
The Parser datatype is a fairly generic parsing monad with error
reporting and a running state. It can be used for arbitrary token
types, not just String input.
| Constructors | P (s -> [t] -> (EitherE String a, s, [t])) | |
| Instances | |
|
|
runParser :: Parser s t a -> s -> [t] -> (Either String a, s, [t]) | Source |
|
Apply a parser to an initial state and input token sequence.
|
|
basic parsers
|
|
|
|
State-handling
|
|
|
Update the internal state.
|
|
|
Query the internal state.
|
|
|
Deliver the entire internal state.
|
|
Re-parsing
|
|
|
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 0.8 |