Backup, new approach to ast
This commit is contained in:
67
lex.h
67
lex.h
@@ -106,6 +106,7 @@ typedef struct Lex_Stream{
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
global String token_kind_string[] = {
|
||||
[TK_End] = lit("End of stream"),
|
||||
[TK_Error] = lit("Error"),
|
||||
@@ -170,3 +171,69 @@ global String token_kind_string[] = {
|
||||
[TK_Arrow] = lit("->"),
|
||||
[TK_ExprSizeof] = lit("sizeof"),
|
||||
};
|
||||
|
||||
global String Token_Kind_metadata[] = {
|
||||
[TK_End] = lit("End of stream"),
|
||||
[TK_Mul] = lit("*"),
|
||||
[TK_Div] = lit("/"),
|
||||
[TK_Add] = lit("+"),
|
||||
[TK_Sub] = lit("-"),
|
||||
[TK_Mod] = lit("%"),
|
||||
[TK_BitAnd] = lit("&"),
|
||||
[TK_BitOr] = lit("|"),
|
||||
[TK_BitXor] = lit("^"),
|
||||
[TK_Neg] = lit("~"),
|
||||
[TK_Not] = lit("!"),
|
||||
[TK_OpenParen] = lit("("),
|
||||
[TK_CloseParen] = lit(" "),
|
||||
[TK_OpenBrace] = lit("{"),
|
||||
[TK_CloseBrace] = lit("}"),
|
||||
[TK_OpenBracket] = lit("["),
|
||||
[TK_CloseBracket] = lit("]"),
|
||||
[TK_Comma] = lit(","),
|
||||
[TK_Pound] = lit("#"),
|
||||
[TK_Question] = lit("?"),
|
||||
[TK_ThreeDots] = lit("..."),
|
||||
[TK_Semicolon] = lit(";"),
|
||||
[TK_Dot] = lit("."),
|
||||
[TK_LesserThen] = lit("<"),
|
||||
[TK_GreaterThen] = lit(">"),
|
||||
[TK_Colon] = lit(":"),
|
||||
[TK_Assign] = lit("="),
|
||||
[TK_DivAssign] = lit("/="),
|
||||
[TK_MulAssign] = lit("*="),
|
||||
[TK_ModAssign] = lit("%="),
|
||||
[TK_SubAssign] = lit("-="),
|
||||
[TK_AddAssign] = lit("+="),
|
||||
[TK_AndAssign] = lit("&="),
|
||||
[TK_OrAssign] = lit("|="),
|
||||
[TK_XorAssign] = lit("^="),
|
||||
[TK_LeftShiftAssign] = lit("<<="),
|
||||
[TK_RightShiftAssign] = lit(">>="),
|
||||
[TK_DoubleColon] = lit("::"),
|
||||
[TK_At] = lit("@"),
|
||||
[TK_Decrement] = lit("--"),
|
||||
[TK_Increment] = lit("++"),
|
||||
[TK_PostDecrement] = lit("--"),
|
||||
[TK_PostIncrement] = lit("++"),
|
||||
[TK_LesserThenOrEqual] = lit("<="),
|
||||
[TK_GreaterThenOrEqual] = lit(">="),
|
||||
[TK_Equals] = lit("=="),
|
||||
[TK_And] = lit("&&"),
|
||||
[TK_Or] = lit("||"),
|
||||
[TK_NotEquals] = lit("!="),
|
||||
[TK_LeftShift] = lit("<<"),
|
||||
[TK_RightShift] = lit(">>"),
|
||||
[TK_Arrow] = lit("->"),
|
||||
[TK_ExprSizeof] = lit("sizeof"),
|
||||
[TK_DocComment] = lit("DocComment"),
|
||||
[TK_Comment] = lit("Comment"),
|
||||
[TK_Identifier] = lit("Identifier"),
|
||||
[TK_StringLit] = lit("StringLit"),
|
||||
[TK_U8Lit] = lit("U8Lit"),
|
||||
[TK_Character] = lit("Character"),
|
||||
[TK_Error] = lit("Error"),
|
||||
[TK_Float] = lit("Float"),
|
||||
[TK_Int] = lit("Int"),
|
||||
[TK_Keyword] = lit("Keyword"),
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user