Stability | provisional |
---|---|
Maintainer | iavor.diatchki@gmail.com |
Safe Haskell | Safe-Infered |
Support for parsers with custom state.
- type ParserU u s = Parser (UserState u s)
- data UserState user stream = UserState {
- userState :: !user
- parserStream :: !stream
- lifted :: Parser s a -> ParserU u s a
- getUserState :: ParserU u s u
- setUserState :: u -> ParserU u s ()
- updateUserState :: (u -> u) -> ParserU u s ()
- uparse :: ParserU u s a -> u -> s -> Either ParseError a
- uparseSource :: ParserU u s a -> u -> SourceName -> s -> Either ParseError a
Documentation
data UserState user stream Source
An input stream annotated with some user state.
UserState | |
|
lifted :: Parser s a -> ParserU u s aSource
Turn a parser without user space into ine that supports user state manipulation.
getUserState :: ParserU u s uSource
Get the user state.
setUserState :: u -> ParserU u s ()Source
Set the user state.
updateUserState :: (u -> u) -> ParserU u s ()Source
Update the user state.
uparse :: ParserU u s a -> u -> s -> Either ParseError aSource
uparseSource :: ParserU u s a -> u -> SourceName -> s -> Either ParseError aSource