-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathConst.java
89 lines (68 loc) · 1.93 KB
/
Const.java
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
// generated with ast extension for cup
// version 0.8
// 1/1/2023 19:22:27
package askov.schoolprojects.compilerconstruction.mjcompiler.ast;
public class Const implements SyntaxNode {
private SyntaxNode parent;
private int line;
private String ident;
private Literal Literal;
public Const (String ident, Literal Literal) {
this.ident=ident;
this.Literal=Literal;
if(Literal!=null) Literal.setParent(this);
}
public String getIdent() {
return ident;
}
public void setIdent(String ident) {
this.ident=ident;
}
public Literal getLiteral() {
return Literal;
}
public void setLiteral(Literal Literal) {
this.Literal=Literal;
}
public SyntaxNode getParent() {
return parent;
}
public void setParent(SyntaxNode parent) {
this.parent=parent;
}
public int getLine() {
return line;
}
public void setLine(int line) {
this.line=line;
}
public void accept(Visitor visitor) {
visitor.visit(this);
}
public void childrenAccept(Visitor visitor) {
if(Literal!=null) Literal.accept(visitor);
}
public void traverseTopDown(Visitor visitor) {
accept(visitor);
if(Literal!=null) Literal.traverseTopDown(visitor);
}
public void traverseBottomUp(Visitor visitor) {
if(Literal!=null) Literal.traverseBottomUp(visitor);
accept(visitor);
}
public String toString(String tab) {
StringBuffer buffer=new StringBuffer();
buffer.append(tab);
buffer.append("Const(\n");
buffer.append(" "+tab+ident);
buffer.append("\n");
if(Literal!=null)
buffer.append(Literal.toString(" "+tab));
else
buffer.append(tab+" null");
buffer.append("\n");
buffer.append(tab);
buffer.append(") [Const]");
return buffer.toString();
}
}