forked from UndergroundCoin/compiler
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathshow.h
More file actions
106 lines (97 loc) · 2.77 KB
/
show.h
File metadata and controls
106 lines (97 loc) · 2.77 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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#ifndef _SHOW_
#define _SHOW_
#include "structures.h"
static const char *NODE_STRING[] = {"Program",
"VarDecl",
"MethodDecl",
"MethodParams",
"MethodBody",
"ParamDeclaration",
"CompoundStat",
"IfElse",
"Print",
"Return",
"Store",
"Mul",
"Div",
"Mod",
"Not",
"Sub",
"Add",
"Length",
"LoadArray",
"Call",
"NewInt",
"NewBool",
"ParseArgs",
"While",
"StoreArray",
"IntLit",
"BoolLit",
"Id",
"And",
"Or",
"Lt",
"Gt",
"Leq",
"Geq",
"Neq",
"Eq",
"Null",
"Plus",
"Minus",
"DON'T PRINT THIS SHIT!"
};
static const char *OPERATOR_STRING[] = {"Program",
"VarDecl",
"MethodDecl",
"MethodParams",
"MethodBody",
"ParamDeclaration",
"CompoundStat",
"if",
"System.out.println",
"return",
"=",
"*",
"/",
"%",
"!",
"-",
"+",
".length",
"[",
"call",
"new int",
"new boolean",
"Integer.parseInt",
"while",
"=",
"IntLit",
"BoolLit",
"Id",
"&&",
"||",
"<",
">",
"<=",
">=",
"!=",
"==",
"null",
"+",
"-"
};
static const char* NODE_TYPE_NAMES[] = { "Void", "Int", "Bool",
"IntArray", "BoolArray", "StringArray", "Id", "IntLit",
"BoolLit", "BoolArray", };
static const char* SYMBOLS_TYPE_NAMES[] = { "void", "int", "boolean",
"int[]", "boolean[]", "String[]", "Id", "IntLit",
"BoolLit", "BoolArray", };
void printTabs(int i);
void printAST(Node* AST);
void printIDs(listID* ids,int tabs, int n_type, int type);
void printSubTree(Node* currentNode, int tabs);
void printSymbols(Table* table);
void printSymbolsDecl(TableNode* tableNode);
#endif