8#ifndef SEN_CORE_LANG_STL_TOKEN_H
9#define SEN_CORE_LANG_STL_TOKEN_H
113 [[nodiscard]] std::string
lexeme()
const {
return lexeme_; }
123 CodeLocation codeLocation_ {};
Definition stl_token.h:102
CodeLocation codeLocation() const
Definition stl_token.h:117
std::string lexeme() const
Definition stl_token.h:113
StlTokenType type() const
Definition stl_token.h:111
StlToken(const StlTokenType type, std::string lexeme, Var value, CodeLocation codeLocation)
Definition stl_token.h:105
Var value() const
Definition stl_token.h:115
std::string toString(const StlToken &token)
StlTokenType fromString(const std::string &stlTokenType)
std::vector< StlToken > StlTokenList
Definition stl_token.h:132
StlTokenType
Supported tokens.
Definition stl_token.h:29
@ rightBrace
Definition stl_token.h:34
@ comment
Definition stl_token.h:94
@ endOfFile
Definition stl_token.h:95
@ keywordClass
Definition stl_token.h:66
@ keywordExtends
Definition stl_token.h:68
@ rightParen
Definition stl_token.h:32
@ equalEqual
Definition stl_token.h:51
@ keywordAbstract
Definition stl_token.h:64
@ keywordQuantity
Definition stl_token.h:85
@ keywordFunction
Definition stl_token.h:73
@ keywordVar
Definition stl_token.h:75
@ keywordEnum
Definition stl_token.h:82
@ integral
Definition stl_token.h:61
@ keywordSelect
Definition stl_token.h:87
@ keywordNot
Definition stl_token.h:77
@ keywordStruct
Definition stl_token.h:70
@ keywordAlias
Definition stl_token.h:86
@ equal
Definition stl_token.h:50
@ keywordWhere
Definition stl_token.h:88
@ real
Definition stl_token.h:60
@ bangEqual
Definition stl_token.h:49
@ keywordPackage
Definition stl_token.h:81
@ keywordArray
Definition stl_token.h:84
@ keywordVariant
Definition stl_token.h:71
@ keywordImplements
Definition stl_token.h:69
@ dot
Definition stl_token.h:38
@ keywordFrom
Definition stl_token.h:89
@ keywordTrue
Definition stl_token.h:78
@ semicolon
Definition stl_token.h:42
@ bang
Definition stl_token.h:48
@ greater
Definition stl_token.h:52
@ at
Definition stl_token.h:45
@ leftParen
Definition stl_token.h:31
@ star
Definition stl_token.h:44
@ leftBrace
Definition stl_token.h:33
@ greaterEqual
Definition stl_token.h:53
@ keywordEvent
Definition stl_token.h:74
@ keywordAnd
Definition stl_token.h:65
@ slash
Definition stl_token.h:43
@ keywordBetween
Definition stl_token.h:91
@ unknown
Definition stl_token.h:98
@ keywordOptional
Definition stl_token.h:80
@ lessEqual
Definition stl_token.h:55
@ string
Definition stl_token.h:59
@ comma
Definition stl_token.h:37
@ keywordImport
Definition stl_token.h:79
@ keywordSequence
Definition stl_token.h:83
@ keywordFalse
Definition stl_token.h:72
@ rightBracket
Definition stl_token.h:36
@ colon
Definition stl_token.h:41
@ leftBracket
Definition stl_token.h:35
@ plus
Definition stl_token.h:40
@ minus
Definition stl_token.h:39
@ keywordIn
Definition stl_token.h:90
@ less
Definition stl_token.h:54
@ keywordInterface
Definition stl_token.h:67
@ identifier
Definition stl_token.h:58
@ keywordOr
Definition stl_token.h:76
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