tlex-th-0.1.0.0: TemplateHaskell plugin for Tlex
Safe HaskellNone
LanguageHaskell2010

Language.Lexer.Tlex.Plugin.TH

Documentation

class (Enum e, Monad m) => TlexContext p e (m :: Type -> Type) | m -> p, m -> e where #

Methods

tlexGetInputPart :: m (Maybe e) #

tlexGetMark :: m p #

data TlexResult p a #

Instances

Instances details
(Eq p, Eq a) => Eq (TlexResult p a) 
Instance details

Defined in Language.Lexer.Tlex.Runner

Methods

(==) :: TlexResult p a -> TlexResult p a -> Bool #

(/=) :: TlexResult p a -> TlexResult p a -> Bool #

(Show p, Show a) => Show (TlexResult p a) 
Instance details

Defined in Language.Lexer.Tlex.Runner

Methods

showsPrec :: Int -> TlexResult p a -> ShowS #

show :: TlexResult p a -> String #

showList :: [TlexResult p a] -> ShowS #

data Runner (e :: k) a #

Constructors

Runner 

Fields

Instances

Instances details
Functor (Runner e) 
Instance details

Defined in Language.Lexer.Tlex.Runner

Methods

fmap :: (a -> b) -> Runner e a -> Runner e b #

(<$) :: a -> Runner e b -> Runner e a #

runRunner :: (Enum s, TlexContext p c m) => Runner c a -> s -> m (TlexResult p a) #

buildTHScanner :: forall e s a. Enum e => Bounded e => Type -> Type -> Type -> THScannerBuilder s e a () -> THScanner e Source #

buildTHScannerWithReify :: forall s a e. Enum e => Bounded e => Typeable e => Typeable s => Typeable a => THScannerBuilder s e a () -> Q (THScanner e) Source #

thLexRule :: Enum e => Enum s => [s] -> Pattern e -> Q (TExp a) -> THScannerBuilder s e a () Source #