diff --git a/src/tokenizer.c b/src/tokenizer.c index 4f23327..8a920f3 100644 --- a/src/tokenizer.c +++ b/src/tokenizer.c @@ -96,7 +96,7 @@ static Token _Tokenizer_IdentifierToken(StringView* source) static Token _Tokenizer_SimpleToken(StringView* source) { - const char* literal_table[] = { "{", "}", "&", ":", "+", "->", "-", "*", "/", "|", "==", "!=", "<", "<=", ">", ">=", ",", ";" }; + const char* literal_table[] = { "{", "}", "&", ":", "+", "->", "-", "*", "/", "|", "==", "!=", "<", "<=", ">", ">=", ",", ";", "bind", "as", "(", ")" }; const enum TokenType type_table[] = { TOKENTYPE_LEFT_BRACE, TOKENTYPE_RIGHT_BRACE, @@ -116,6 +116,10 @@ static Token _Tokenizer_SimpleToken(StringView* source) TOKENTYPE_GREATEREQUAL, TOKENTYPE_COMMA, TOKENTYPE_SEMICOLON, + TOKENTYPE_BIND, + TOKENTYPE_AS, + TOKENTYPE_LEFT_PAREN, + TOKENTYPE_RIGHT_PAREN, }; for (size_t i = 0; i < sizeof(literal_table) / sizeof(literal_table[0]); i++) { @@ -208,8 +212,15 @@ const char* TokenType_ToString(enum TokenType type) return "TOKENTYPE_COMMA"; case TOKENTYPE_SEMICOLON: return "TOKENTYPE_SEMICOLON"; + case TOKENTYPE_BIND: + return "BIND"; + case TOKENTYPE_AS: + return "AS"; + case TOKENTYPE_LEFT_PAREN: + return "LEFT_PAREN"; + case TOKENTYPE_RIGHT_PAREN: + return "RIGHT_PAREN"; + } - } - - return "INVALID"; + return "INVALID"; } diff --git a/src/tokenizer.h b/src/tokenizer.h index be20d2f..618226f 100644 --- a/src/tokenizer.h +++ b/src/tokenizer.h @@ -27,6 +27,10 @@ enum TokenType { TOKENTYPE_GREATERTHAN, TOKENTYPE_GREATEREQUAL, TOKENTYPE_COMMA, + TOKENTYPE_BIND, + TOKENTYPE_AS, + TOKENTYPE_LEFT_PAREN, + TOKENTYPE_RIGHT_PAREN, TOKENTYPE_ERROR, };