-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSkeleton.H
136 lines (128 loc) · 3.75 KB
/
Skeleton.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
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
/* File generated by the BNF Converter (bnfc 2.9.4). */
#ifndef SKELETON_HEADER
#define SKELETON_HEADER
/* You might want to change the above name. */
#include "Absyn.H"
class Skeleton : public Visitor
{
public:
void visitProg(Prog *p);
void visitTopDef(TopDef *p);
void visitFnDef(FnDef *p);
void visitEVal(EVal *p);
void visitArg(Arg *p);
void visitBType(BType *p);
void visitOType(OType *p);
void visitAType(AType *p);
void visitType(Type *p);
void visitBracketsOpt(BracketsOpt *p);
void visitSBlk(SBlk *p);
void visitCBlk(CBlk *p);
void visitMemItem(MemItem *p);
void visitMemdef(Memdef *p);
void visitCMemdef(CMemdef *p);
void visitBlk(Blk *p);
void visitStmt(Stmt *p);
void visitItem(Item *p);
void visitExpr(Expr *p);
void visitDimExpr(DimExpr *p);
void visitAddOp(AddOp *p);
void visitMulOp(MulOp *p);
void visitRelOp(RelOp *p);
void visitProgram(Program *p);
void visitStruct(Struct *p);
void visitTypeDef(TypeDef *p);
void visitTypeDefWS(TypeDefWS *p);
void visitEnum(Enum *p);
void visitClass(Class *p);
void visitClassWE(ClassWE *p);
void visitGFuncDef(GFuncDef *p);
void visitFuncDef(FuncDef *p);
void visitEnumValue(EnumValue *p);
void visitArgument(Argument *p);
void visitInt(Int *p);
void visitDoub(Doub *p);
void visitBool(Bool *p);
void visitVoid(Void *p);
void visitObjT(ObjT *p);
void visitArray(Array *p);
void visitBaseType(BaseType *p);
void visitObjType(ObjType *p);
void visitArrType(ArrType *p);
void visitBracketsEmpty(BracketsEmpty *p);
void visitSBlock(SBlock *p);
void visitCBlock(CBlock *p);
void visitMemberItem(MemberItem *p);
void visitMemberDef(MemberDef *p);
void visitCVarDef(CVarDef *p);
void visitCFuncDef(CFuncDef *p);
void visitBlock(Block *p);
void visitEmpty(Empty *p);
void visitBStmt(BStmt *p);
void visitDecl(Decl *p);
void visitNoInit(NoInit *p);
void visitInit(Init *p);
void visitSExp(SExp *p);
void visitAss(Ass *p);
void visitRet(Ret *p);
void visitVRet(VRet *p);
void visitCond(Cond *p);
void visitCondElse(CondElse *p);
void visitWhile(While *p);
void visitForLoop(ForLoop *p);
void visitEcast(Ecast *p);
void visitELitNull(ELitNull *p);
void visitELitInt(ELitInt *p);
void visitELitDoub(ELitDoub *p);
void visitELitTrue(ELitTrue *p);
void visitELitFalse(ELitFalse *p);
void visitEString(EString *p);
void visitEVar(EVar *p);
void visitEApp(EApp *p);
void visitENewObj(ENewObj *p);
void visitEArrow(EArrow *p);
void visitEpropety(Epropety *p);
void visitEFunc(EFunc *p);
void visitDim(Dim *p);
void visitENewBArr(ENewBArr *p);
void visitENewOArr(ENewOArr *p);
void visitEAcc(EAcc *p);
void visitEInc(EInc *p);
void visitEDecr(EDecr *p);
void visitENeg(ENeg *p);
void visitENot(ENot *p);
void visitEMul(EMul *p);
void visitEAdd(EAdd *p);
void visitERel(ERel *p);
void visitEAnd(EAnd *p);
void visitEOr(EOr *p);
void visitPlus(Plus *p);
void visitMinus(Minus *p);
void visitTimes(Times *p);
void visitDiv(Div *p);
void visitMod(Mod *p);
void visitLTH(LTH *p);
void visitLE(LE *p);
void visitGTH(GTH *p);
void visitGE(GE *p);
void visitEQU(EQU *p);
void visitNE(NE *p);
void visitListEVal(ListEVal *p);
void visitListArg(ListArg *p);
void visitListTopDef(ListTopDef *p);
void visitListBracketsOpt(ListBracketsOpt *p);
void visitListType(ListType *p);
void visitListMemItem(ListMemItem *p);
void visitListMemdef(ListMemdef *p);
void visitListCMemdef(ListCMemdef *p);
void visitListStmt(ListStmt *p);
void visitListItem(ListItem *p);
void visitListDimExpr(ListDimExpr *p);
void visitListExpr(ListExpr *p);
void visitInteger(Integer x);
void visitChar(Char x);
void visitDouble(Double x);
void visitString(String x);
void visitIdent(Ident x);
};
#endif