Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Language.Giml.Syntax.Lexer
Synopsis
- newtype LexerError = LexerError (ParseErrorBundle Text ())
- data Loc = Loc {}
- data Token = Token {}
- data RawToken
- = Identifier !Text
- | UpperIdentifier !Text
- | HashIdentifier !Text
- | Op !Text
- | Integer !Int32
- | String !Text
- | Character !Char
- | Boolean !Bool
- | LineComment Text
- | Let
- | In
- | Case
- | Of
- | Do
- | Ffi
- | Equals
- | Colon
- | Dot
- | Comma
- | Lambda
- | Bar
- | Underscore
- | Arrow
- | LeftArrow
- | EOF
- | Indentation !Word64
- | LParen
- | RParen
- | LBracket
- | RBracket
- | LBrace
- | RBrace
- type Parser = Parsec Void Text
- type ErrBundle = ParseErrorBundle Text Void
- keywords :: [Text]
- runLexer :: FilePath -> Text -> Either ErrBundle [Token]
- parseTokens :: Parser [Token]
- parseSimpleTokens :: Parser [Token]
- simpleToken :: SourcePos -> Parser (Maybe Token)
- eofToken :: SourcePos -> Parser Token
- parenTokens :: SourcePos -> Parser Token
- opTokens :: SourcePos -> Parser (Maybe Token)
- underscoreToken :: SourcePos -> Parser Token
- spaceConsumer :: Parser (Maybe Token)
- rawIndentation :: Parser (Maybe Token)
- indentationTokens :: Maybe Token -> Parser (Maybe Token)
- commentToken :: Maybe Token -> Parser (Maybe Token)
- identifierToken :: Parser Token
- upperIdentifierToken :: Parser Token
- hashIdentifierToken :: Parser Token
- singleCharToken :: SourcePos -> Char -> RawToken -> Parser Token
- opChars :: [Char]
- identBeginChars :: [Char]
- upperIdentBeginChars :: [Char]
- identRestChars :: [Char]
- numberToken :: SourcePos -> (Int32 -> Int32) -> Parser Token
- numberRawToken :: (Int32 -> Int32) -> Parser RawToken
- charToken :: Parser Token
- stringToken :: Parser Token
- subtractCol :: SourcePos -> SourcePos -> Int
Error
newtype LexerError Source #
Constructors
LexerError (ParseErrorBundle Text ()) |
Instances
Data LexerError Source # | |
Defined in Language.Giml.Syntax.Lexer Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LexerError -> c LexerError # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LexerError # toConstr :: LexerError -> Constr # dataTypeOf :: LexerError -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LexerError) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LexerError) # gmapT :: (forall b. Data b => b -> b) -> LexerError -> LexerError # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LexerError -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LexerError -> r # gmapQ :: (forall d. Data d => d -> u) -> LexerError -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> LexerError -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> LexerError -> m LexerError # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LexerError -> m LexerError # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LexerError -> m LexerError # | |
Generic LexerError Source # | |
Defined in Language.Giml.Syntax.Lexer Associated Types type Rep LexerError :: Type -> Type # | |
Show LexerError Source # | |
Defined in Language.Giml.Syntax.Lexer Methods showsPrec :: Int -> LexerError -> ShowS # show :: LexerError -> String # showList :: [LexerError] -> ShowS # | |
NFData LexerError Source # | |
Defined in Language.Giml.Syntax.Lexer Methods rnf :: LexerError -> () # | |
Eq LexerError Source # | |
Defined in Language.Giml.Syntax.Lexer | |
type Rep LexerError Source # | |
Defined in Language.Giml.Syntax.Lexer type Rep LexerError = D1 ('MetaData "LexerError" "Language.Giml.Syntax.Lexer" "giml-syntax-0.1.0.0-9UQLZqxqQ2EKgcQLvWN9qJ" 'True) (C1 ('MetaCons "LexerError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ParseErrorBundle Text ())))) |
Instances
Data Loc Source # | |
Defined in Language.Giml.Syntax.Lexer Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Loc -> c Loc # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Loc # dataTypeOf :: Loc -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Loc) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Loc) # gmapT :: (forall b. Data b => b -> b) -> Loc -> Loc # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Loc -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Loc -> r # gmapQ :: (forall d. Data d => d -> u) -> Loc -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Loc -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Loc -> m Loc # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Loc -> m Loc # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Loc -> m Loc # | |
Generic Loc Source # | |
Show Loc Source # | |
NFData Loc Source # | |
Defined in Language.Giml.Syntax.Lexer | |
Eq Loc Source # | |
Ord Loc Source # | |
type Rep Loc Source # | |
Defined in Language.Giml.Syntax.Lexer type Rep Loc = D1 ('MetaData "Loc" "Language.Giml.Syntax.Lexer" "giml-syntax-0.1.0.0-9UQLZqxqQ2EKgcQLvWN9qJ" 'False) (C1 ('MetaCons "Loc" 'PrefixI 'True) (S1 ('MetaSel ('Just "locStart") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SourcePos) :*: (S1 ('MetaSel ('Just "locEnd") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SourcePos) :*: S1 ('MetaSel ('Just "locLength") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))) |
Token
Instances
Data Token Source # | |
Defined in Language.Giml.Syntax.Lexer Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Token -> c Token # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Token # dataTypeOf :: Token -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Token) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Token) # gmapT :: (forall b. Data b => b -> b) -> Token -> Token # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Token -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Token -> r # gmapQ :: (forall d. Data d => d -> u) -> Token -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Token -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Token -> m Token # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Token -> m Token # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Token -> m Token # | |
Generic Token Source # | |
Show Token Source # | |
NFData Token Source # | |
Defined in Language.Giml.Syntax.Lexer | |
Eq Token Source # | |
Ord Token Source # | |
type Rep Token Source # | |
Defined in Language.Giml.Syntax.Lexer type Rep Token = D1 ('MetaData "Token" "Language.Giml.Syntax.Lexer" "giml-syntax-0.1.0.0-9UQLZqxqQ2EKgcQLvWN9qJ" 'False) (C1 ('MetaCons "Token" 'PrefixI 'True) (S1 ('MetaSel ('Just "tokToken") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RawToken) :*: S1 ('MetaSel ('Just "tokLoc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Loc))) |
Constructors
Instances
Lexer
parseTokens :: Parser [Token] Source #
parseSimpleTokens :: Parser [Token] Source #
identBeginChars :: [Char] Source #
upperIdentBeginChars :: [Char] Source #
identRestChars :: [Char] Source #