-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathToken.cpp
More file actions
56 lines (52 loc) · 1.23 KB
/
Token.cpp
File metadata and controls
56 lines (52 loc) · 1.23 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
55
56
#include "Token.h"
Token::Token()
{
initmap();
}
std::string Token::id2str(token T, std::string str)
{
return transfer[T] + " " + str;
}
std::string Token::get(token T)
{
return transfer[T];
}
void Token::initmap()
{
transfer[identifier] = "IDENFR";
transfer[intconst] = "INTCON";
transfer[charconst] = "CHARCON";
transfer[str] = "STRCON";
transfer[_const] = "CONSTTK";
transfer[_int] = "INTTK";
transfer[_char] = "CHARTK";
transfer[_void] = "VOIDTK";
transfer[_main] = "MAINTK";
transfer[_if] = "IFTK";
transfer[_else] = "ELSETK";
transfer[_do] = "DOTK";
transfer[_while] = "WHILETK";
transfer[_for] = "FORTK";
transfer[_scanf] = "SCANFTK";
transfer[_printf] = "PRINTFTK";
transfer[_return] = "RETURNTK";
transfer[plus] = "PLUS";
transfer[minus] = "MINU";
transfer[multi] = "MULT";
transfer[div] = "DIV";
transfer[less] = "LSS";
transfer[le] = "LEQ";
transfer[greater] = "GRE";
transfer[ge] = "GEQ";
transfer[equal] = "EQL";
transfer[ne] = "NEQ";
transfer[assign] = "ASSIGN";
transfer[semicolon] = "SEMICN";
transfer[comma] = "COMMA";
transfer[lparent] = "LPARENT";
transfer[rparent] = "RPARENT";
transfer[lbrack] = "LBRACK";
transfer[rbrack] = "RBRACK";
transfer[lbrace] = "LBRACE";
transfer[rbrace] = "RBRACE";
}