-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtoken.cpp
More file actions
54 lines (46 loc) · 1.94 KB
/
token.cpp
File metadata and controls
54 lines (46 loc) · 1.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include "token.h"
std::string tokenTypeName(TokenType t) {
switch (t) {
case TokenType::KW_INT: return "KW_INT";
case TokenType::KW_FLOAT: return "KW_FLOAT";
case TokenType::KW_BOOL: return "KW_BOOL";
case TokenType::KW_STRING: return "KW_STRING";
case TokenType::KW_CHAR: return "KW_CHAR";
case TokenType::KW_FUN: return "KW_FUN";
case TokenType::KW_DONE: return "KW_DONE";
case TokenType::KW_RETURN: return "KW_RETURN";
case TokenType::KW_PRINT: return "KW_PRINT";
case TokenType::KW_TRUE: return "KW_TRUE";
case TokenType::KW_FALSE: return "KW_FALSE";
// ✅ NEW:
case TokenType::KW_WHILE: return "KW_WHILE";
case TokenType::KW_FOR: return "KW_FOR";
case TokenType::IDENT: return "IDENT";
case TokenType::NUMBER: return "NUMBER";
case TokenType::STRING_LIT: return "STRING_LIT";
case TokenType::CHAR_LIT: return "CHAR_LIT";
case TokenType::ASSIGN: return "ASSIGN";
case TokenType::PLUS: return "PLUS";
case TokenType::MINUS: return "MINUS";
case TokenType::MUL: return "MUL";
case TokenType::DIV: return "DIV";
case TokenType::MOD: return "MOD";
case TokenType::EQ: return "EQ";
case TokenType::NEQ: return "NEQ";
case TokenType::LT: return "LT";
case TokenType::GT: return "GT";
case TokenType::LE: return "LE";
case TokenType::GE: return "GE";
case TokenType::AND: return "AND";
case TokenType::OR: return "OR";
case TokenType::NOT: return "NOT";
case TokenType::LPAREN: return "LPAREN";
case TokenType::RPAREN: return "RPAREN";
case TokenType::COLON: return "COLON";
case TokenType::SEMI: return "SEMI";
case TokenType::COMMA: return "COMMA";
case TokenType::END: return "END";
case TokenType::INVALID: return "INVALID";
}
return "UNKNOWN";
}