lambdacube-compiler-0.5.0.0: LambdaCube 3D is a DSL to program GPUs

Safe HaskellNone
LanguageHaskell2010

LambdaCube.Compiler.Lexer

Documentation

try_ :: MonadParsec s m t => String -> m a -> m a Source

manyNM :: (Num a, Ord a, MonadPlus m) => a -> a -> m t -> m [t] Source

runP_ :: (Num t3, Num t4) => t2 -> String -> RWS (t2, (t3, t4)) t1 SourcePos t -> (t, t1) Source

runP :: (Num t2, Num t3, Monoid t, Stream s t4) => t1 -> String -> ParsecT s (RWST (t1, (t2, t3)) t SourcePos Identity) a -> s -> (Either ParseError a, t) Source

runP' :: (Num t2, Num t3, Monoid t, Stream s t4) => t1 -> String -> ParsecT s (RWST (t1, (t2, t3)) t SourcePos Identity) a -> State s -> ((State s, Either ParseError a), t) Source

getCaseName :: (Eq a, IsString [a]) => [a] -> Maybe [a] Source

pattern MatchName :: [Char] -> [Char] Source

matchName :: IsString [a] => [a] -> [a] Source

validate :: SI -> [SI] -> SI Source

class SourceInfo si where Source

Methods

sourceInfo :: si -> SI Source

class SetSourceInfo a where Source

Methods

setSI :: SI -> a -> a Source

Instances

appRange :: P (SI -> a) -> P a Source

type SIName = (SI, SName) Source

modifyLevel :: MonadReader ((d1, c), d) m => (c -> c) -> m a -> m a Source

typeNS :: P a -> P a Source

expNS :: P a -> P a Source

switchNS :: P a -> P a Source

maybeStartWith :: MonadParsec s f Char => (Char -> Bool) -> f [Char] -> f [Char] Source

data FixityDef Source

Constructors

Infix 
InfixL 
InfixR 

Instances

calcPrec :: (Show e, Show f) => (f -> e -> e -> e) -> (f -> Fixity) -> e -> [(f, e)] -> e Source

expect :: (Show b, MonadParsec s m t) => [Char] -> (b -> Bool) -> m b -> m b Source

identifier :: (Ord t, Show t, IsString t, MonadParsec s m Char, MonadReader (a, (Int, Int)) m, MonadState SourcePos m) => m t -> m (SI, t) Source

operator :: (Ord t, Show t, IsString t, MonadParsec s m Char, MonadReader (a, (Int, Int)) m, MonadState SourcePos m) => m t -> m (SI, t) Source

indentMS :: (MonadParsec s m t1, MonadReader (d, (Int, Int)) m) => Bool -> m t -> m [t] Source

lexeme' :: (MonadParsec s m t, MonadReader (a, (Int, Int)) m, MonadState SourcePos m) => m a1 -> m t1 -> m (SI, t1) Source

lexeme :: (MonadParsec s f Char, MonadReader (a, (Int, Int)) f, MonadState SourcePos f) => f b -> f b Source

lexeme_ :: (MonadParsec s m Char, MonadReader (a, (Int, Int)) m, MonadState SourcePos m) => m t -> m (SI, t) Source

symbol' :: (MonadParsec s m Char, MonadReader (a, (Int, Int)) m, MonadState SourcePos m) => m a1 -> String -> m (SI, String) Source

parens :: (MonadParsec s m Char, MonadReader (a1, (Int, Int)) m, MonadState SourcePos m) => m a -> m a Source

braces :: (MonadParsec s m Char, MonadReader (a1, (Int, Int)) m, MonadState SourcePos m) => m a -> m a Source

brackets :: (MonadParsec s m Char, MonadReader (a1, (Int, Int)) m, MonadState SourcePos m) => m a -> m a Source

commaSep :: (MonadParsec s m Char, MonadReader (a1, (Int, Int)) m, MonadState SourcePos m) => m a -> m [a] Source

commaSep1 :: (MonadParsec s m Char, MonadReader (a1, (Int, Int)) m, MonadState SourcePos m) => m a -> m [a] Source