hoshi-lang dev
Yet another programming language
Loading...
Searching...
No Matches
lexer::token Struct Reference

#include <lexer.hpp>

Collaboration diagram for lexer::token:

Classes

union  vBasicValue
 

Public Types

enum class  tokenKind {
  unknown = 0 , identifier , character , string ,
  integer , unsignedInt , shortInt , decimal ,
  boolean , toSign , plus , minus ,
  asterisk , slash , percentSign , binaryXor ,
  binaryOr , binaryAnd , binaryNot , logicNot ,
  incrementSign , decrementSign , binaryShiftLeft , binaryShiftRight ,
  additionAssignment , subtractionAssignment , multiplicationAssignment , divisionAssignment ,
  reminderAssignment , greaterThan , lessThan , greaterEqual ,
  lessEqual , equal , notEqual , logicAnd ,
  logicOr , assignSign , directAssignSign , leftParentheses ,
  rightParentheses , leftBracket , rightBracket , leftBraces ,
  rightBraces , semicolon , colon , comma ,
  dot , sharp , kUse , kFunc ,
  kInterface , kConstructor , kFinalizer , kStruct ,
  kImpl , kLet , kIn , kFor ,
  kForEach , kWhile , kIf , kElif ,
  kElse , kReturn , kContinue , kBreak ,
  kCast , kNull , kImport , kExport ,
  kAs , kFrom , kTry , kCatch ,
  kFinally , kThrow , kTypeId , kDynCast ,
  kNoFFI , kStatic , kIntrinsic , kGenerator ,
  kAlwaysInline , kNew , kCallable , kThreeDots ,
  kInterfaceOf , kAlias , kEnum , kDataStruct ,
  kDataField , kYield , kDecltype , kConcept ,
  kSatisfy , eof
}
 

Public Member Functions

 token ()
 
 token (int64_t line, int64_t col, tokenKind kind)
 
 token (int64_t line, int64_t col, tokenKind kind, vBasicValue basicVal)
 
 token (int64_t line, int64_t col, tokenKind kind, wstr strVal)
 

Public Attributes

uint64_t line
 
uint64_t col
 
enum yoi::lexer::token::tokenKind kind
 
union yoi::lexer::token::vBasicValue basicVal
 
wstr strVal
 

Detailed Description

Definition at line 25 of file lexer.hpp.

Member Enumeration Documentation

◆ tokenKind

enum class tokenKind
strong
Enumerator
unknown 
identifier 
character 
string 
integer 
unsignedInt 
shortInt 
decimal 
boolean 
toSign 
plus 
minus 
asterisk 
slash 
percentSign 
binaryXor 
binaryOr 
binaryAnd 
binaryNot 
logicNot 
incrementSign 
decrementSign 
binaryShiftLeft 
binaryShiftRight 
additionAssignment 
subtractionAssignment 
multiplicationAssignment 
divisionAssignment 
reminderAssignment 
greaterThan 
lessThan 
greaterEqual 
lessEqual 
equal 
notEqual 
logicAnd 
logicOr 
assignSign 
directAssignSign 
leftParentheses 
rightParentheses 
leftBracket 
rightBracket 
leftBraces 
rightBraces 
semicolon 
colon 
comma 
dot 
sharp 
kUse 
kFunc 
kInterface 
kConstructor 
kFinalizer 
kStruct 
kImpl 
kLet 
kIn 
kFor 
kForEach 
kWhile 
kIf 
kElif 
kElse 
kReturn 
kContinue 
kBreak 
kCast 
kNull 
kImport 
kExport 
kAs 
kFrom 
kTry 
kCatch 
kFinally 
kThrow 
kTypeId 
kDynCast 
kNoFFI 
kStatic 
kIntrinsic 
kGenerator 
kAlwaysInline 
kNew 
kCallable 
kThreeDots 
kInterfaceOf 
kAlias 
kEnum 
kDataStruct 
kDataField 
kYield 
kDecltype 
kConcept 
kSatisfy 
eof 

Definition at line 27 of file lexer.hpp.

Constructor & Destructor Documentation

◆ token() [1/4]

token ( )

Definition at line 615 of file lexer.cpp.

◆ token() [2/4]

token ( int64_t  line,
int64_t  col,
tokenKind  kind 
)

Definition at line 619 of file lexer.cpp.

◆ token() [3/4]

token ( int64_t  line,
int64_t  col,
tokenKind  kind,
vBasicValue  basicVal 
)

Definition at line 624 of file lexer.cpp.

◆ token() [4/4]

token ( int64_t  line,
int64_t  col,
tokenKind  kind,
wstr  strVal 
)

Definition at line 629 of file lexer.cpp.

Member Data Documentation

◆ basicVal

◆ col

◆ kind

◆ line

◆ strVal


The documentation for this struct was generated from the following files: