tlex-0.5.0.0: A lexer generator
Safe HaskellSafe-Inferred
LanguageHaskell2010

Language.Lexer.Tlex.Syntax

Synopsis

Documentation

newtype Scanner unit action Source #

Constructors

Scanner 

Fields

Instances

Instances details
Functor (Scanner unit) Source # 
Instance details

Defined in Language.Lexer.Tlex.Syntax

Methods

fmap :: (a -> b) -> Scanner unit a -> Scanner unit b #

(<$) :: a -> Scanner unit b -> Scanner unit a #

(Enum unit, Show unit, Show action) => Show (Scanner unit action) Source # 
Instance details

Defined in Language.Lexer.Tlex.Syntax

Methods

showsPrec :: Int -> Scanner unit action -> ShowS #

show :: Scanner unit action -> String #

showList :: [Scanner unit action] -> ShowS #

Eq action => Eq (Scanner unit action) Source # 
Instance details

Defined in Language.Lexer.Tlex.Syntax

Methods

(==) :: Scanner unit action -> Scanner unit action -> Bool #

(/=) :: Scanner unit action -> Scanner unit action -> Bool #

data ScanRule unit action Source #

Instances

Instances details
Functor (ScanRule unit) Source # 
Instance details

Defined in Language.Lexer.Tlex.Syntax

Methods

fmap :: (a -> b) -> ScanRule unit a -> ScanRule unit b #

(<$) :: a -> ScanRule unit b -> ScanRule unit a #

(Enum unit, Show unit, Show action) => Show (ScanRule unit action) Source # 
Instance details

Defined in Language.Lexer.Tlex.Syntax

Methods

showsPrec :: Int -> ScanRule unit action -> ShowS #

show :: ScanRule unit action -> String #

showList :: [ScanRule unit action] -> ShowS #

Eq action => Eq (ScanRule unit action) Source # 
Instance details

Defined in Language.Lexer.Tlex.Syntax

Methods

(==) :: ScanRule unit action -> ScanRule unit action -> Bool #

(/=) :: ScanRule unit action -> ScanRule unit action -> Bool #

type ScannerBuilder state unit action = State (ScannerBuilderContext state unit action) Source #

data ScannerBuilderContext state unit action Source #

Instances

Instances details
Functor (ScannerBuilderContext state unit) Source # 
Instance details

Defined in Language.Lexer.Tlex.Syntax

Methods

fmap :: (a -> b) -> ScannerBuilderContext state unit a -> ScannerBuilderContext state unit b #

(<$) :: a -> ScannerBuilderContext state unit b -> ScannerBuilderContext state unit a #

(Enum unit, Show unit, Show action) => Show (ScannerBuilderContext state unit action) Source # 
Instance details

Defined in Language.Lexer.Tlex.Syntax

Methods

showsPrec :: Int -> ScannerBuilderContext state unit action -> ShowS #

show :: ScannerBuilderContext state unit action -> String #

showList :: [ScannerBuilderContext state unit action] -> ShowS #

Eq action => Eq (ScannerBuilderContext state unit action) Source # 
Instance details

Defined in Language.Lexer.Tlex.Syntax

Methods

(==) :: ScannerBuilderContext state unit action -> ScannerBuilderContext state unit action -> Bool #

(/=) :: ScannerBuilderContext state unit action -> ScannerBuilderContext state unit action -> Bool #

buildScanner :: Enum unit => ScannerBuilder state unit action () -> Scanner unit action Source #

lexRule :: Enum state => Enum unit => [state] -> Pattern unit -> action -> ScannerBuilder state unit action () Source #

data Pattern e #

Instances

Instances details
Enum e => Monoid (Pattern e) 
Instance details

Defined in Language.Lexer.Tlex.Machine.Pattern

Methods

mempty :: Pattern e #

mappend :: Pattern e -> Pattern e -> Pattern e #

mconcat :: [Pattern e] -> Pattern e #

Enum e => Semigroup (Pattern e) 
Instance details

Defined in Language.Lexer.Tlex.Machine.Pattern

Methods

(<>) :: Pattern e -> Pattern e -> Pattern e #

sconcat :: NonEmpty (Pattern e) -> Pattern e #

stimes :: Integral b => b -> Pattern e -> Pattern e #

(Enum e, Show e) => Show (Pattern e) 
Instance details

Defined in Language.Lexer.Tlex.Machine.Pattern

Methods

showsPrec :: Int -> Pattern e -> ShowS #

show :: Pattern e -> String #

showList :: [Pattern e] -> ShowS #

Eq (Pattern e) 
Instance details

Defined in Language.Lexer.Tlex.Machine.Pattern

Methods

(==) :: Pattern e -> Pattern e -> Bool #

(/=) :: Pattern e -> Pattern e -> Bool #

enumsP :: Enum e => [e] -> Pattern e #

anyoneP :: Enum unit => Pattern unit Source #

Wildcard pattern which accepts an any unit.

maybeP :: Enum unit => Pattern unit -> Pattern unit Source #

Maybe pattern which accepts given pattern or nothing.

someP :: Enum unit => Pattern unit -> Pattern unit Source #

Some pattern which accepts one given pattern or more times.

manyP :: Enum unit => Pattern unit -> Pattern unit Source #

Many pattern which accepts nothing or given pattern more times.

orP :: Enum unit => [Pattern unit] -> Pattern unit Source #

Or pattern which accepts one of given patterns.

data Accept a #

Constructors

Accept 

Instances

Instances details
Functor Accept 
Instance details

Defined in Language.Lexer.Tlex.Machine.Pattern

Methods

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

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

Show a => Show (Accept a) 
Instance details

Defined in Language.Lexer.Tlex.Machine.Pattern

Methods

showsPrec :: Int -> Accept a -> ShowS #

show :: Accept a -> String #

showList :: [Accept a] -> ShowS #

Eq a => Eq (Accept a) 
Instance details

Defined in Language.Lexer.Tlex.Machine.Pattern

Methods

(==) :: Accept a -> Accept a -> Bool #

(/=) :: Accept a -> Accept a -> Bool #

data AcceptPriority #

Instances

Instances details
Enum AcceptPriority 
Instance details

Defined in Language.Lexer.Tlex.Machine.Pattern

Show AcceptPriority 
Instance details

Defined in Language.Lexer.Tlex.Machine.Pattern

Eq AcceptPriority 
Instance details

Defined in Language.Lexer.Tlex.Machine.Pattern

Ord AcceptPriority 
Instance details

Defined in Language.Lexer.Tlex.Machine.Pattern

Hashable AcceptPriority 
Instance details

Defined in Language.Lexer.Tlex.Machine.Pattern