8#ifndef SEN_CORE_LANG_STL_TOKEN_H
9#define SEN_CORE_LANG_STL_TOKEN_H
99 SEN_COPY_CONSTRUCT(
StlToken) =
default;
100 SEN_COPY_ASSIGN(
StlToken) =
default;
101 SEN_MOVE_CONSTRUCT(
StlToken) =
default;
102 SEN_MOVE_ASSIGN(
StlToken) =
default;
Here we define a set of template meta-programming helpers to let the compiler take some decisions bas...
std::string toString(const StlToken &token)
std::vector< StlToken > StlTokenList
Definition stl_token.h:121
StlTokenType
Supported tokens.
Definition stl_token.h:28
@ rightBrace
Definition stl_token.h:33
@ comment
Definition stl_token.h:93
@ endOfFile
Definition stl_token.h:94
@ keywordClass
Definition stl_token.h:65
@ keywordExtends
Definition stl_token.h:67
@ rightParen
Definition stl_token.h:31
@ equalEqual
Definition stl_token.h:50
@ keywordAbstract
Definition stl_token.h:63
@ keywordQuantity
Definition stl_token.h:84
@ keywordFunction
Definition stl_token.h:72
@ keywordVar
Definition stl_token.h:74
@ keywordEnum
Definition stl_token.h:81
@ integral
Definition stl_token.h:60
@ keywordSelect
Definition stl_token.h:86
@ keywordNot
Definition stl_token.h:76
@ keywordStruct
Definition stl_token.h:69
@ keywordAlias
Definition stl_token.h:85
@ equal
Definition stl_token.h:49
@ keywordWhere
Definition stl_token.h:87
@ real
Definition stl_token.h:59
@ bangEqual
Definition stl_token.h:48
@ keywordPackage
Definition stl_token.h:80
@ keywordArray
Definition stl_token.h:83
@ keywordVariant
Definition stl_token.h:70
@ keywordImplements
Definition stl_token.h:68
@ dot
Definition stl_token.h:37
@ keywordFrom
Definition stl_token.h:88
@ keywordTrue
Definition stl_token.h:77
@ semicolon
Definition stl_token.h:41
@ bang
Definition stl_token.h:47
@ greater
Definition stl_token.h:51
@ at
Definition stl_token.h:44
@ leftParen
Definition stl_token.h:30
@ star
Definition stl_token.h:43
@ leftBrace
Definition stl_token.h:32
@ greaterEqual
Definition stl_token.h:52
@ keywordEvent
Definition stl_token.h:73
@ keywordAnd
Definition stl_token.h:64
@ slash
Definition stl_token.h:42
@ keywordBetween
Definition stl_token.h:90
@ keywordOptional
Definition stl_token.h:79
@ lessEqual
Definition stl_token.h:54
@ string
Definition stl_token.h:58
@ comma
Definition stl_token.h:36
@ keywordImport
Definition stl_token.h:78
@ keywordSequence
Definition stl_token.h:82
@ keywordFalse
Definition stl_token.h:71
@ rightBracket
Definition stl_token.h:35
@ colon
Definition stl_token.h:40
@ leftBracket
Definition stl_token.h:34
@ plus
Definition stl_token.h:39
@ minus
Definition stl_token.h:38
@ keywordIn
Definition stl_token.h:89
@ less
Definition stl_token.h:53
@ keywordInterface
Definition stl_token.h:66
@ identifier
Definition stl_token.h:57
@ keywordOr
Definition stl_token.h:75
Location of a character in a program.
Definition code_location.h:21
Definition code_location.h:14
Can hold any supported value type. Wraps std::variant to allow recursion and implements some helpers.
Definition var.h:119
Definition stl_token.h:98
CodeLocation loc
Definition stl_token.h:114
std::string lexeme
Definition stl_token.h:112
StlTokenType type
Definition stl_token.h:111
StlToken(StlTokenType type, std::string lexeme, Var value, CodeLocation loc)
Definition stl_token.h:105
Var value
Definition stl_token.h:113