-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathUnparseTreeVisitor.h
More file actions
97 lines (86 loc) · 4.47 KB
/
UnparseTreeVisitor.h
File metadata and controls
97 lines (86 loc) · 4.47 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
#ifndef UNPARSETREEVISITOR_H
#define UNPARSETREEVISITOR_H
#include "TreeVisitor.h"
#include <stack>
#include <string>
class UnparseTreeVisitor : public TreeVisitor {
private:
std::stack<std::string> ast2string;
public:
UnparseTreeVisitor();
std::string getSourceText();
virtual void visitProgram( Object& node) override;
virtual void visitStmts( Object& node) override;
virtual void visitStmt( Object& node) override;
virtual void visitBreak( Object& node) override;
virtual void visitContinue( Object& node) override;
virtual void visitExpr( Object& node) override;
virtual void visitArithExpr( Object& node) override;
virtual void visitRelExpr( Object& node) override;
virtual void visitBoolExpr( Object& node) override;
virtual void visitTerm( Object& node) override;
virtual void visitTermParensExpr( Object& node) override;
virtual void visitTermMinusExpr( Object& node) override;
virtual void visitTermNotExpr( Object& node) override;
virtual void visitTermPlusPlusLvalue( Object& node) override;
virtual void visitTermMinusMinusLvalue( Object& node) override;
virtual void visitTermLvaluePlusPlus( Object& node) override;
virtual void visitTermLvalueMinusMinus( Object& node) override;
virtual void visitAssignExpr( Object& node) override;
virtual void visitPrimary( Object& node) override;
virtual void visitLvalueId( Object& node) override;
virtual void visitLvalueGlobalId( Object& node) override;
virtual void visitLvalueLocalId( Object& node) override;
virtual void visitLvalueMember( Object& node) override;
virtual void visitMemberId( Object& node) override;
virtual void visitMemberExpr( Object& node) override;
virtual void visitCall( Object& node) override;
virtual void visitMultiCall( Object& node) override;
virtual void visitFdefCall( Object& node) override;
virtual void visitNormCallSuffix( Object& node) override;
virtual void visitMethodCallSuffix( Object& node) override;
virtual void visitNormCall( Object& node) override;
virtual void visitMethodCall( Object& node) override;
virtual void visitElist( Object& node) override;
virtual void visitElistNotEmpty( Object& node) override;
virtual void visitArgument( Object& node) override;
virtual void visitObjectDef( Object& node) override;
virtual void visitObjElistNotEmpty( Object& node) override;
virtual void visitObjectDinnerObjElistnotempty( Object& node) override;
virtual void visitObjectDinnerIndexed( Object& node) override;
virtual void visitCommaIndexed( Object& node) override;
virtual void visitIndexedElem( Object& node) override;
virtual void visitBlock( Object& node) override;
virtual void visitFuncDef( Object& node) override;
virtual void visitFuncPrefix( Object& node) override;
virtual void visitFuncName( Object& node) override;
virtual void visitConst( Object& node) override;
virtual void visitConstNumconst( Object& node) override;
virtual void visitConstStringconst( Object& node) override;
virtual void visitConstBoolconst( Object& node) override;
virtual void visitConstNil( Object& node) override;
virtual void visitID( Object& node) override;
virtual void visitCommaIdList( Object& node) override;
virtual void visitFormal( Object& node) override;
virtual void visitIfPrefix( Object& node) override;
virtual void visitElsePrefix( Object& node) override;
virtual void visitIfStmt( Object& node) override;
virtual void visitIfStmtElseStmt( Object& node) override;
virtual void visitWhileStart( Object& node) override;
virtual void visitWhileCond( Object& node) override;
virtual void visitWhileStmt( Object& node) override;
virtual void visitForPrefix( Object& node) override;
virtual void visitForStmt( Object&node) override;
virtual void visitReturnStmt( Object& node) override;
virtual void visitReturnStmtExpr( Object& node) override;
virtual void visitQuasiQuotes(Object& node) override;
virtual void visitQuotedRules(Object& node) override;
virtual void visitEscapeId(Object& node) override;
virtual void visitEscapeExpr(Object& node) override;
virtual void visitInline( Object& node) override;
virtual void visitUnparsed( Object& node) override;
virtual void visitCompiledString(Object& node) override;
virtual void visitValueStorage(Object& node) override;
virtual TreeVisitor* Clone(void) const override;
};
#endif