-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathsemantics.h
More file actions
31 lines (27 loc) · 1.05 KB
/
semantics.h
File metadata and controls
31 lines (27 loc) · 1.05 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
#ifndef SEMANTICS_H
#define SEMANTICS_H
#include"symboltable.h"
extern void doProgram(TreeNode *p);
extern void doExtDefList(TreeNode *p);
extern void doExtDef(TreeNode *p);
extern varElement* doExtDecList(TreeNode *p);
extern Type doSpecifier(TreeNode *p);
extern Type doStructSpecifier(TreeNode *p);
extern char* doOptTag(TreeNode *p);
extern char* doTag(TreeNode *p);
extern varElement* doVarDec(TreeNode *p);
extern void doFunDec(Type type, TreeNode *p);
extern argElement* doVarList(TreeNode *p);
extern argElement* doParamDec(TreeNode *p);
extern void doCompSt(TreeNode *p);
extern void doStmtList(TreeNode *p);
extern void doStmt(TreeNode *p);
extern varElement* doDefList(TreeNode *p, int ifStruct); //ifStruct这个参数表示是否在处理struct的成员
extern varElement* doDef(TreeNode *p, int ifStruct);
extern varElement* doDecList(TreeNode *p);
extern varElement* doDec(TreeNode *p);
extern Type doExp(TreeNode *p);
extern Type doOptExp(TreeNode *p);
extern argElement* doArgs(TreeNode *p);
extern int compareArgs(argElement *arg1, argElement *arg2);
#endif