Revision 9
Added by Willibald K. over 8 years ago
OoaPrologIdentifier.java | ||
---|---|---|
31 | 31 |
import org.momut.ooas.ast.identifiers.EnumIdentifier; |
32 | 32 |
import org.momut.ooas.ast.identifiers.ExpressionVariableIdentifier; |
33 | 33 |
import org.momut.ooas.ast.identifiers.Identifier; |
34 |
import org.momut.ooas.ast.identifiers.LandmarkIdentifier; |
|
35 | 34 |
import org.momut.ooas.ast.identifiers.LocalVariableIdentifier; |
36 | 35 |
import org.momut.ooas.ast.identifiers.MethodIdentifier; |
37 | 36 |
import org.momut.ooas.ast.identifiers.NamedActionIdentifier; |
... | ... | |
53 | 52 |
|
54 | 53 |
OoasCodeEmitter m_emitter; |
55 | 54 |
|
56 |
private void AddTokenText(Identifier anId) |
|
57 |
{ |
|
58 |
m_emitter.Append(anId.tokenText()); |
|
59 |
} |
|
60 |
|
|
61 | 55 |
private String getUniquePostFix(Identifier id) { |
62 | 56 |
return (id.line() > 0) && (id.column()>0) |
63 | 57 |
? String.format("%s_%s", id.line(), id.column()) |
... | ... | |
65 | 59 |
} |
66 | 60 |
|
67 | 61 |
@Override |
68 |
public /*override*/ void visit(EnumIdentifier enumIdentifier)
|
|
62 |
public void visit(EnumIdentifier enumIdentifier) |
|
69 | 63 |
{ |
70 | 64 |
assert(false); // handled in visit(IdentifierExpression identifierExpression) |
71 | 65 |
//AddTokenText(enumIdentifier); |
72 | 66 |
} |
73 | 67 |
|
74 | 68 |
@Override |
75 |
public /*override*/ void visit(LandmarkIdentifier landmarkIdentifier)
|
|
69 |
public void visit(AttributeIdentifier attributeIdentifier)
|
|
76 | 70 |
{ |
77 |
AddTokenText(landmarkIdentifier); |
|
78 |
} |
|
79 |
|
|
80 |
@Override |
|
81 |
public /*override*/ void visit(AttributeIdentifier attributeIdentifier) |
|
82 |
{ |
|
83 | 71 |
m_emitter.Append(String.format("attr_%s_%s", attributeIdentifier.tokenText(), getUniquePostFix(attributeIdentifier))); |
84 | 72 |
} |
85 | 73 |
|
86 | 74 |
@Override |
87 |
public /*override*/ void visit(ExpressionVariableIdentifier expressionVariableIdentifier)
|
|
75 |
public void visit(ExpressionVariableIdentifier expressionVariableIdentifier) |
|
88 | 76 |
{ |
89 | 77 |
m_emitter.Append(String.format("ExprVar_%s_%s", expressionVariableIdentifier, getUniquePostFix(expressionVariableIdentifier))); |
90 | 78 |
} |
91 | 79 |
|
92 | 80 |
@Override |
93 |
public /*override*/ void visit(ParameterIdentifier parameterIdentifier)
|
|
81 |
public void visit(ParameterIdentifier parameterIdentifier) |
|
94 | 82 |
{ |
95 |
//m_emitter.Append(parameterIdentifier.tokenText().ToUpper()); |
|
96 | 83 |
if (parameterIdentifier.tokenText().equals("result")) |
97 | 84 |
m_emitter.Append("RESULT"); // methods are transformed into their own predicates, so they have their own scope.. |
98 | 85 |
else |
... | ... | |
100 | 87 |
} |
101 | 88 |
|
102 | 89 |
@Override |
103 |
public /*override*/ void visit(LocalVariableIdentifier localVariableIdentifier)
|
|
90 |
public void visit(LocalVariableIdentifier localVariableIdentifier) |
|
104 | 91 |
{ |
105 | 92 |
m_emitter.Append(String.format("_%s_%s", |
106 | 93 |
localVariableIdentifier.tokenText(), getUniquePostFix(localVariableIdentifier))); |
107 | 94 |
} |
108 | 95 |
|
109 | 96 |
@Override |
110 |
public /*override*/ void visit(TypeIdentifier typeIdentifier)
|
|
97 |
public void visit(TypeIdentifier typeIdentifier) |
|
111 | 98 |
{ |
112 | 99 |
switch (typeIdentifier.type().kind()) |
113 | 100 |
{ |
... | ... | |
161 | 148 |
} |
162 | 149 |
|
163 | 150 |
@Override |
164 |
public /*override*/ void visit(MethodIdentifier methodIdentifier)
|
|
151 |
public void visit(MethodIdentifier methodIdentifier) |
|
165 | 152 |
{ |
166 | 153 |
m_emitter.Append(String.format("'%s'", methodIdentifier.tokenText())); |
167 | 154 |
} |
168 | 155 |
|
169 | 156 |
@Override |
170 |
public /*override*/ void visit(NamedActionIdentifier namedActionIdentifier)
|
|
157 |
public void visit(NamedActionIdentifier namedActionIdentifier) |
|
171 | 158 |
{ |
172 | 159 |
m_emitter.Append(String.format("'%s'", namedActionIdentifier.tokenText())); |
173 | 160 |
} |
174 | 161 |
|
175 | 162 |
|
176 | 163 |
@Override |
177 |
public /*override*/ String toString()
|
|
164 |
public String toString() |
|
178 | 165 |
{ |
179 | 166 |
return m_emitter.toString(); |
180 | 167 |
} |
Also available in: Unified diff
remove support for Qualitative Action Systems, rename UlyssesType to Type