GroteTrap-0.5.2: Parser and selection library for expression languages.

Safe HaskellSafe
LanguageHaskell98

Language.GroteTrap.Lexer

Contents

Description

Deriving a lexer from a Language.

Synopsis

Types

data Token Source #

The tokenizer produces a list of tokens.

Instances

Eq Token Source # 

Methods

(==) :: Token -> Token -> Bool #

(/=) :: Token -> Token -> Bool #

Show Token Source # 

Methods

showsPrec :: Int -> Token -> ShowS #

show :: Token -> String #

showList :: [Token] -> ShowS #

Tokenizing

run :: Monad m => String -> GenParser tok () a -> [tok] -> m a Source #

run sourceName p input runs the specified parser on the input, returning the result in a monad.

tokenize :: Monad m => Language a -> String -> m [TokenPos] Source #

When given a language, transforms a list of characters into a list of tokens.

isWhite :: Token -> Bool Source #

Whether the token is whitespace.