ivory-0.1.0.8: Safe embedded C programming.

Safe HaskellNone
LanguageHaskell2010

Ivory.Language.Syntax.Concrete.Lexer

Synopsis

Documentation

mkRange :: LexerInput -> String -> SrcLoc Source #

Build a range from the lexer state.

utf8Encode :: Char -> [Word8] Source #

Encode a Haskell String to a list of Word8 values, in UTF8 format.

newtype Lexer a Source #

Constructors

Lexer 
Instances
Monad Lexer Source # 
Instance details

Defined in Ivory.Language.Syntax.Concrete.Lexer

Methods

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

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

return :: a -> Lexer a #

fail :: String -> Lexer a #

Functor Lexer Source # 
Instance details

Defined in Ivory.Language.Syntax.Concrete.Lexer

Methods

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

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

Applicative Lexer Source # 
Instance details

Defined in Ivory.Language.Syntax.Concrete.Lexer

Methods

pure :: a -> Lexer a #

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

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

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

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

StateM Lexer LexerState Source # 
Instance details

Defined in Ivory.Language.Syntax.Concrete.Lexer

type AlexAction result = AlexInput -> Int -> result Source #

emitT :: Token -> AlexAction (Lexer (Maybe Lexeme)) Source #

Emit a token from the lexer

data AlexAddr Source #

Constructors

AlexA# Addr# 

data AlexAcc user Source #