-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsemant.h
36 lines (30 loc) · 1.24 KB
/
semant.h
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
/*
* semant.h -- semantic analysis
*/
#ifndef _SEMANT_H_
#define _SEMANT_H_
Table *check(Absyn * program, boolean tables);
void enterBibProcs(Table * symTab);
Type *checkNode(Absyn * node, Table * symTab);
Type *checkNameTy(Absyn * node, Table * symTab);
Type *checkArrayTy(Absyn * node, Table * symTab);
Type *checkTypeDec(Absyn * node, Table * symTab);
Type *checkProcDec(Absyn * node, Table * symTab);
Type *checkParDec(Absyn * node, Table * symTab);
Type *checkVarDec(Absyn * node, Table * symTab);
Type *checkEmptyStm();
Type *checkCompStm(Absyn * node, Table * symTab);
Type *checkAssignStm(Absyn * node, Table * symTab);
Type *checkIfStm(Absyn * node, Table * symTab);
Type *checkWhileStm(Absyn * node, Table * symTab);
Type *checkCallStm(Absyn * node, Table * symTab);
Type *checkOpExp(Absyn * node, Table * symTab);
Type *checkVarExp(Absyn * node, Table * symTab);
Type *checkIntExp(Absyn * node, Table * symTab);
Type *checkSimpleVar(Absyn * node, Table * symTab);
Type *checkArrayVar(Absyn * node, Table * symTab);
Type *checkDecList(Absyn * node, Table * symTab);
Type *checkStmList(Absyn * node, Table * symTab);
Type *checkExpList(Absyn * node, Table * symTab);
ParamTypes *checkParamTypes(Absyn * params, Table * symTab);
#endif /* _SEMANT_H_ */