, getParserState, setParserState
) where
+import Prelude
import Text.ParserCombinators.Parsec.Pos
import Text.ParserCombinators.Parsec.Error
import Control.Monad
; return ()
}
-getParserState = updateParserState id
+getParserState :: GenParser tok st (State tok st)
+getParserState = updateParserState id
+
+setParserState :: State tok st -> GenParser tok st (State tok st)
setParserState st = updateParserState (const st)
Right x -> print x
+parse :: GenParser tok () a -> SourceName -> [tok] -> Either ParseError a
parse p name input
= runParser p () name input
label p msg
= labels p [msg]
+labels :: GenParser tok st a -> [String] -> GenParser tok st a
labels (Parser p) msgs
= Parser (\state ->
case (p state) of