This commit is contained in:
Krzosa Karol
2022-06-04 09:12:27 +02:00
parent 4910671ab9
commit c3f235bd44
5 changed files with 95 additions and 93 deletions

View File

@@ -676,76 +676,76 @@ lex_stream(Allocator *token_string_arena, Allocator *map_allocator, String istre
//-----------------------------------------------------------------------------
// Token metadata
//-----------------------------------------------------------------------------
function String
token_kind_string(Token_Kind kind){
function const char *
name(Token_Kind kind){
switch(kind){
case TK_End: return "End of stream"_s;
case TK_Mul: return "*"_s;
case TK_Div: return "/"_s;
case TK_Add: return "+"_s;
case TK_Sub: return "-"_s;
case TK_Mod: return "%"_s;
case TK_BitAnd: return "&"_s;
case TK_BitOr: return "|"_s;
case TK_BitXor: return "^"_s;
case TK_Neg: return "~"_s;
case TK_Not: return "!"_s;
case TK_OpenParen: return "("_s;
case TK_CloseParen: return ")"_s;
case TK_OpenBrace: return "{"_s;
case TK_CloseBrace: return "}"_s;
case TK_OpenBracket: return "["_s;
case TK_CloseBracket: return "]"_s;
case TK_ColonAssign: return ":="_s;
case TK_Comma: return ","_s;
case TK_Pound: return "#"_s;
case TK_Question: return "?"_s;
case TK_ThreeDots: return "..."_s;
case TK_Semicolon: return ";"_s;
case TK_Dot: return "."_s;
case TK_LesserThen: return "<"_s;
case TK_GreaterThen: return ">"_s;
case TK_Colon: return ":"_s;
case TK_Assign: return "="_s;
case TK_DivAssign: return "/="_s;
case TK_MulAssign: return "*="_s;
case TK_ModAssign: return "%="_s;
case TK_SubAssign: return "-="_s;
case TK_AddAssign: return "+="_s;
case TK_AndAssign: return "&="_s;
case TK_OrAssign: return "|="_s;
case TK_XorAssign: return "^="_s;
case TK_LeftShiftAssign: return "<<="_s;
case TK_RightShiftAssign: return ">>="_s;
case TK_DoubleColon: return "::"_s;
case TK_At: return "@"_s;
case TK_Decrement: return "--"_s;
case TK_Increment: return "++"_s;
case TK_PostDecrement: return "--"_s;
case TK_PostIncrement: return "++"_s;
case TK_LesserThenOrEqual: return "<="_s;
case TK_GreaterThenOrEqual: return ">="_s;
case TK_Equals: return "=="_s;
case TK_And: return "&&"_s;
case TK_Or: return "||"_s;
case TK_NotEquals: return "!="_s;
case TK_LeftShift: return "<<"_s;
case TK_RightShift: return ">>"_s;
case TK_Arrow: return "->"_s;
case TK_NewLine: return "New_Line"_s;
case TK_ExprSizeof: return "sizeof"_s;
case TK_DocComment: return "Doc_Comment"_s;
case TK_Comment: return "Comment"_s;
case TK_Identifier: return "Identifier"_s;
case TK_StringLit: return "String_Lit"_s;
case TK_Character: return "Character"_s;
case TK_Error: return "Error"_s;
case TK_Float: return "Float"_s;
case TK_Integer: return "int"_s;
case TK_Keyword: return "Keyword"_s;
case CLOSE_SCOPE: return "Close_Scope"_s;
case OPEN_SCOPE: return "Open_Scope"_s;
case SAME_SCOPE: return "Same_Scope"_s;
default: invalid_codepath; return "<Undefined>"_s;
case TK_End: return "End of stream";
case TK_Mul: return "*";
case TK_Div: return "/";
case TK_Add: return "+";
case TK_Sub: return "-";
case TK_Mod: return "%";
case TK_BitAnd: return "&";
case TK_BitOr: return "|";
case TK_BitXor: return "^";
case TK_Neg: return "~";
case TK_Not: return "!";
case TK_OpenParen: return "(";
case TK_CloseParen: return ")";
case TK_OpenBrace: return "{";
case TK_CloseBrace: return "}";
case TK_OpenBracket: return "[";
case TK_CloseBracket: return "]";
case TK_ColonAssign: return ":=";
case TK_Comma: return ",";
case TK_Pound: return "#";
case TK_Question: return "?";
case TK_ThreeDots: return "...";
case TK_Semicolon: return ";";
case TK_Dot: return ".";
case TK_LesserThen: return "<";
case TK_GreaterThen: return ">";
case TK_Colon: return ":";
case TK_Assign: return "=";
case TK_DivAssign: return "/=";
case TK_MulAssign: return "*=";
case TK_ModAssign: return "%=";
case TK_SubAssign: return "-=";
case TK_AddAssign: return "+=";
case TK_AndAssign: return "&=";
case TK_OrAssign: return "|=";
case TK_XorAssign: return "^=";
case TK_LeftShiftAssign: return "<<=";
case TK_RightShiftAssign: return ">>=";
case TK_DoubleColon: return "::";
case TK_At: return "@";
case TK_Decrement: return "--";
case TK_Increment: return "++";
case TK_PostDecrement: return "--";
case TK_PostIncrement: return "++";
case TK_LesserThenOrEqual: return "<=";
case TK_GreaterThenOrEqual: return ">=";
case TK_Equals: return "==";
case TK_And: return "&&";
case TK_Or: return "||";
case TK_NotEquals: return "!=";
case TK_LeftShift: return "<<";
case TK_RightShift: return ">>";
case TK_Arrow: return "->";
case TK_NewLine: return "New_Line";
case TK_ExprSizeof: return "sizeof";
case TK_DocComment: return "Doc_Comment";
case TK_Comment: return "Comment";
case TK_Identifier: return "Identifier";
case TK_StringLit: return "String_Lit";
case TK_Character: return "Character";
case TK_Error: return "Error";
case TK_Float: return "Float";
case TK_Integer: return "int";
case TK_Keyword: return "Keyword";
case CLOSE_SCOPE: return "Close_Scope";
case OPEN_SCOPE: return "Open_Scope";
case SAME_SCOPE: return "Same_Scope";
default: invalid_codepath; return "<Undefined>";
}
}