Cabal-syntax
LicenseBSD3
Maintainercabal-devel@haskell.org
Portabilityportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

Distribution.Fields.LexerMonad

Description

 
Synopsis

Documentation

data LexState Source #

Constructors

LexState 

Fields

data LexResult a Source #

Constructors

LexResult !LexState a 

newtype Lex a Source #

Constructors

Lex 

Fields

Instances

Instances details
Applicative Lex Source # 
Instance details

Defined in Distribution.Fields.LexerMonad

Methods

pure :: a -> Lex a #

(<*>) :: Lex (a -> b) -> Lex a -> Lex b #

liftA2 :: (a -> b -> c) -> Lex a -> Lex b -> Lex c #

(*>) :: Lex a -> Lex b -> Lex b #

(<*) :: Lex a -> Lex b -> Lex a #

Functor Lex Source # 
Instance details

Defined in Distribution.Fields.LexerMonad

Methods

fmap :: (a -> b) -> Lex a -> Lex b #

(<$) :: a -> Lex b -> Lex a #

Monad Lex Source # 
Instance details

Defined in Distribution.Fields.LexerMonad

Methods

(>>=) :: Lex a -> (a -> Lex b) -> Lex b #

(>>) :: Lex a -> Lex b -> Lex b #

return :: a -> Lex a #

execLexer :: Lex a -> InputStream -> ([LexWarning], a) Source #

Execute the given lexer on the supplied input stream.

data LexWarning Source #

Instances

Instances details
Show LexWarning Source # 
Instance details

Defined in Distribution.Fields.LexerMonad

addWarning :: LexWarningType -> Lex () Source #

Add warning at the current position

addWarningAt :: Position -> LexWarningType -> Lex () Source #

Add warning at specific position