-
Notifications
You must be signed in to change notification settings - Fork 0
/
program_visitor.h
64 lines (56 loc) · 1.78 KB
/
program_visitor.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
#ifndef PROGRAM_VISITOR_H
#define PROGRAM_VISITOR_H
#include "visitor.h"
#include "statement.h"
#include "expression.h"
namespace AST {
class ASTProgramOrderVisitor : public ASTVisitor {
public:
void Visit( StatementBlock * );
void Visit( ORlyBlock * );
void Visit( WtfBlock * );
void Visit( ForLoopBlock * );
void Visit( RangeLoopBlock * );
void Visit( FunkshunBlock * );
void Visit( FunkshunDeclare * );
void Visit( PlzBlock * );
void Visit( LiteralVarDeclare * );
void Visit( SrsVarDeclare * );
void Visit( SlotVarDeclare * );
void Visit( VarAssign * );
void Visit( FunkshunReturn * );
void Visit( VisibleStatement * );
void Visit( GimmehStatement * );
void Visit( Program * );
void Visit( SrsIdentifier * );
void Visit( SlotIdentifier * );
void Visit( MaekExpression * );
void Visit( NotExpression * );
void Visit( UppinExpression * );
void Visit( NerfinExpression * );
void Visit( TilExpression * );
void Visit( WileExpression * );
void Visit( SumExpression * );
void Visit( DiffExpression * );
void Visit( ProduktExpression * );
void Visit( QuoshuntExpression * );
void Visit( ModExpression * );
void Visit( BiggrExpression * );
void Visit( SmallrExpression * );
void Visit( BothExpression * );
void Visit( EitherExpression * );
void Visit( WonExpression * );
void Visit( SaemExpression * );
void Visit( DiffrintExpression * );
void Visit( AllExpression * );
void Visit( AnyExpression * );
void Visit( SmooshExpression * );
void Visit( FunkshunCall * );
private:
void VisitVarDeclare( VarDeclare * );
void VisitUnaryExpression( UnaryExpression * );
void VisitBinaryExpression( BinaryExpression * );
void VisitNaryExpression( NaryExpression * );
};
}
#endif