parsimony-1.3: Monadic parser combinators derived from Parsec

Copyright(c) Iavor S. Diatchki 2009
LicenseBSD3
Maintaineriavor.diatchki@gmail.com
Stabilityprovisional
Safe HaskellSafe
LanguageHaskell98

Parsimony.UserState

Description

Support for parsers with custom state.

Synopsis

Documentation

type ParserU u s = Parser (UserState u s) #

The type of parsers with a user state.

data UserState user stream #

An input stream annotated with some user state.

Constructors

UserState 

Fields

Instances

Stream stream token => Stream (UserState user stream) token # 

Methods

getToken :: PrimParser (UserState user stream) token #

lifted :: Parser s a -> ParserU u s a #

Turn a parser without user space into ine that supports user state manipulation.

getUserState :: ParserU u s u #

Get the user state.

setUserState :: u -> ParserU u s () #

Set the user state.

updateUserState :: (u -> u) -> ParserU u s () #

Update the user state.

uparse :: ParserU u s a -> u -> s -> Either ParseError a #

uparseSource :: ParserU u s a -> u -> SourceName -> s -> Either ParseError a #