|
Lines 14-35
Link Here
|
| 14 |
|
14 |
|
| 15 |
%options escape=$ |
15 |
%options escape=$ |
| 16 |
%options la=2 |
16 |
%options la=2 |
| 17 |
%options table=java |
|
|
| 18 |
%options fp=QVTrParser,prefix=TK_ |
17 |
%options fp=QVTrParser,prefix=TK_ |
| 19 |
%options error-maps |
|
|
| 20 |
%options scopes |
| 21 |
%options margin=4 |
| 22 |
%options backtrack |
18 |
%options backtrack |
| 23 |
%options noserialize |
19 |
%options noserialize |
| 24 |
%options package=org.eclipse.qvt.declarative.parser.qvtrelation |
20 |
%options package=org.eclipse.qvt.declarative.parser.qvtrelation |
| 25 |
%options import_terminals=QVTrLexer.g |
21 |
%options import_terminals=QVTrLexer.gi |
| 26 |
%options ast_type=CSTNode |
22 |
%options ast_type=CSTNode |
| 27 |
%options programming_language=java |
23 |
%options ParseTable=lpg.runtime.ParseTable |
| 28 |
%options action=("*.java", "/.", "./") |
24 |
%options template=../../../../../../../../org.eclipse.ocl/src/org/eclipse/ocl/lpg/dtParserTemplateF.gi |
| 29 |
%options ParseTable=lpg.lpgjavaruntime.ParseTable |
|
|
| 30 |
%options include_directory=".;../../../../../../../../org.eclipse.ocl/src/org/eclipse/ocl/lpg;../../../../../../../../org.eclipse.ocl/src/org/eclipse/ocl/parser;../../../../../../../../org.eclipse.ocl/src/org/eclipse/ocl/parser/backtracking" |
25 |
%options include_directory=".;../../../../../../../../org.eclipse.ocl/src/org/eclipse/ocl/lpg;../../../../../../../../org.eclipse.ocl/src/org/eclipse/ocl/parser;../../../../../../../../org.eclipse.ocl/src/org/eclipse/ocl/parser/backtracking" |
| 31 |
|
26 |
|
| 32 |
$KeyWords |
27 |
%KeyWords |
| 33 |
checkonly |
28 |
checkonly |
| 34 |
default_values |
29 |
default_values |
| 35 |
domain |
30 |
domain |
|
Lines 53-101
Link Here
|
| 53 |
inv |
48 |
inv |
| 54 |
post |
49 |
post |
| 55 |
pre |
50 |
pre |
| 56 |
$End |
51 |
%End |
| 57 |
|
52 |
|
| 58 |
$Terminals |
53 |
%Terminals |
| 59 |
PLUS_PLUS ::= '++' |
54 |
PLUS_PLUS ::= '++' |
| 60 |
$End |
55 |
%End |
| 61 |
|
56 |
|
| 62 |
$Globals |
57 |
%Globals |
| 63 |
/. |
58 |
/. |
| 64 |
import org.eclipse.qvt.declarative.parser.qvt.cst.*; |
59 |
import org.eclipse.qvt.declarative.parser.qvt.cst.*; |
| 65 |
import org.eclipse.qvt.declarative.parser.qvtrelation.cst.*; |
60 |
import org.eclipse.qvt.declarative.parser.qvtrelation.cst.*; |
| 66 |
import org.eclipse.qvt.declarative.parser.environment.ICSTFileEnvironment; |
61 |
import org.eclipse.qvt.declarative.parser.environment.ICSTFileEnvironment; |
| 67 |
import org.eclipse.ocl.cst.CollectionTypeCS; |
62 |
import org.eclipse.ocl.cst.CollectionTypeCS; |
| 68 |
import org.eclipse.ocl.parser.$prs_stream_class; |
63 |
import org.eclipse.ocl.parser.$super_parser_class; |
| 69 |
import org.eclipse.ocl.parser.backtracking.OCLParserErrors; |
64 |
import org.eclipse.ocl.parser.backtracking.OCLParserErrors; |
| 70 |
|
65 |
|
| 71 |
./ |
66 |
./ |
| 72 |
$End |
67 |
%End |
| 73 |
|
68 |
|
| 74 |
$Start |
69 |
%Start |
| 75 |
topLevelCS |
70 |
topLevelCS |
| 76 |
$End |
71 |
%End |
| 77 |
|
72 |
|
| 78 |
$Include |
73 |
%Import |
| 79 |
EssentialOCL.g |
74 |
EssentialOCL.gi |
| 80 |
$End |
75 |
%End |
| 81 |
|
76 |
|
| 82 |
$Include |
77 |
%Import |
| 83 |
EssentialOCLErrors.g |
78 |
EssentialOCLErrors.gi |
| 84 |
$End |
79 |
%End |
| 85 |
|
80 |
|
| 86 |
$Define |
81 |
%Define |
| 87 |
$prs_parser_class /.BacktrackingParser./ |
82 |
$prs_parser_class /.BacktrackingParser./ |
| 88 |
$prs_parser_exception /.NotBacktrackParseTableException./ |
83 |
$prs_parser_exception /.NotBacktrackParseTableException./ |
| 89 |
$prs_parser_throw /.throw new RuntimeException("****Error: Regenerate $prs_type.java with -BACKTRACK option")./ |
84 |
$prs_parser_throw /.throw new RuntimeException("****Error: Regenerate $prs_type.java with -BACKTRACK option")./ |
| 90 |
$prs_parse_args /.error_repair_count./ |
85 |
$prs_parse_args /.error_repair_count./ |
| 91 |
$environment_class /.ICSTFileEnvironment./ |
86 |
$environment_class /.ICSTFileEnvironment./ |
| 92 |
$lex_stream_class /.QVTrLexer./ |
87 |
$lex_stream_class /.QVTrLexer./ |
| 93 |
$LPGParsersym_class /.QVTrParserSymbols./ |
88 |
$LPGParsersym_class /.QVTrParserSymbols./ |
| 94 |
$copyright_contributions /.* E.D.Willink - Extended API and implementation for QVTr |
89 |
$copyright_contributions /.* E.D.Willink - Extended API and implementation for QVTr |
| 95 |
*./ |
90 |
*./ |
| 96 |
$End |
91 |
%End |
| 97 |
|
92 |
|
| 98 |
$Headers |
93 |
%Headers |
| 99 |
/. |
94 |
/. |
| 100 |
protected IdentifierCS createIdentifierCS(int token) { |
95 |
protected IdentifierCS createIdentifierCS(int token) { |
| 101 |
IdentifierCS result = QVTCSTFactory.eINSTANCE.createIdentifierCS(); |
96 |
IdentifierCS result = QVTCSTFactory.eINSTANCE.createIdentifierCS(); |
|
Lines 113-177
Link Here
|
| 113 |
return result; |
108 |
return result; |
| 114 |
} |
109 |
} |
| 115 |
./ |
110 |
./ |
| 116 |
$End |
111 |
%End |
| 117 |
|
112 |
|
| 118 |
$Rules |
113 |
%Rules |
| 119 |
--<topLevel> ::= ('import' <unit> ';' )* <transformation>* |
114 |
--<topLevel> ::= ('import' <unit> ';' )* <transformation>* |
| 120 |
topLevelCS_0_ ::= $empty |
115 |
topLevelCS_0_ ::= %empty |
| 121 |
/.$BeginJava |
116 |
/.$BeginCode |
| 122 |
TopLevelCS result = QVTrCSTFactory.eINSTANCE.createTopLevelCS(); |
117 |
TopLevelCS result = QVTrCSTFactory.eINSTANCE.createTopLevelCS(); |
| 123 |
setOffsets(result, getIToken($getToken(1))); |
118 |
setOffsets(result, getIToken($getToken(1))); |
| 124 |
$setResult(result); |
119 |
$setResult(result); |
| 125 |
$EndJava |
120 |
$EndCode |
| 126 |
./ |
121 |
./ |
| 127 |
topLevelCS_0_ ::= topLevelCS_0_ import unitCS ';' |
122 |
topLevelCS_0_ ::= topLevelCS_0_ import unitCS ';' |
| 128 |
/.$BeginJava |
123 |
/.$BeginCode |
| 129 |
TopLevelCS result = (TopLevelCS)$getSym(1); |
124 |
TopLevelCS result = (TopLevelCS)$getSym(1); |
| 130 |
result.getImportClause().add((UnitCS)$getSym(3)); |
125 |
result.getImportClause().add((UnitCS)$getSym(3)); |
| 131 |
setOffsets(result, result, getIToken($getToken(4))); |
126 |
setOffsets(result, result, getIToken($getToken(4))); |
| 132 |
$setResult(result); |
127 |
$setResult(result); |
| 133 |
$EndJava |
128 |
$EndCode |
| 134 |
./ |
129 |
./ |
| 135 |
topLevelCS_0_ ::= topLevelCS_0_ ERROR_TOKEN |
130 |
topLevelCS_0_ ::= topLevelCS_0_ ERROR_TOKEN |
| 136 |
/.$BeginJava |
131 |
/.$BeginCode |
| 137 |
reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_TOPLEVEL); |
132 |
reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_TOPLEVEL); |
| 138 |
$EndJava |
133 |
$EndCode |
| 139 |
./ |
134 |
./ |
| 140 |
topLevelCS_1_ ::= topLevelCS transformationCS |
135 |
topLevelCS_1_ ::= topLevelCS transformationCS |
| 141 |
/.$BeginJava |
136 |
/.$BeginCode |
| 142 |
TransformationCS transformationCS = (TransformationCS)$getSym(2); |
137 |
TransformationCS transformationCS = (TransformationCS)$getSym(2); |
| 143 |
TopLevelCS result = (TopLevelCS)$getSym(1); |
138 |
TopLevelCS result = (TopLevelCS)$getSym(1); |
| 144 |
result.getTransformation().add(transformationCS); |
139 |
result.getTransformation().add(transformationCS); |
| 145 |
setOffsets(result, result, transformationCS); |
140 |
setOffsets(result, result, transformationCS); |
| 146 |
$setResult(result); |
141 |
$setResult(result); |
| 147 |
$EndJava |
142 |
$EndCode |
| 148 |
./ |
143 |
./ |
| 149 |
topLevelCS_1_ ::= topLevelCS_1_ ERROR_TOKEN |
144 |
topLevelCS_1_ ::= topLevelCS_1_ ERROR_TOKEN |
| 150 |
/.$BeginJava |
145 |
/.$BeginCode |
| 151 |
reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_TRANSFORMATION); |
146 |
reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_TRANSFORMATION); |
| 152 |
$EndJava |
147 |
$EndCode |
| 153 |
./ |
148 |
./ |
| 154 |
topLevelCS -> topLevelCS_0_ |
149 |
topLevelCS -> topLevelCS_0_ |
| 155 |
topLevelCS -> topLevelCS_1_ |
150 |
topLevelCS -> topLevelCS_1_ |
| 156 |
|
151 |
|
| 157 |
--<unit> ::= <identifier> ('.' <identifier>)* |
152 |
--<unit> ::= <identifier> ('.' <identifier>)* |
| 158 |
unitCS ::= identifierCS |
153 |
unitCS ::= identifierCS |
| 159 |
/.$BeginJava |
154 |
/.$BeginCode |
| 160 |
IdentifierCS identifierCS = (IdentifierCS)$getSym(1); |
155 |
IdentifierCS identifierCS = (IdentifierCS)$getSym(1); |
| 161 |
UnitCS result = QVTrCSTFactory.eINSTANCE.createUnitCS(); |
156 |
UnitCS result = QVTrCSTFactory.eINSTANCE.createUnitCS(); |
| 162 |
result.getIdentifier().add(identifierCS); |
157 |
result.getIdentifier().add(identifierCS); |
| 163 |
setOffsets(result, identifierCS); |
158 |
setOffsets(result, identifierCS); |
| 164 |
$setResult(result); |
159 |
$setResult(result); |
| 165 |
$EndJava |
160 |
$EndCode |
| 166 |
./ |
161 |
./ |
| 167 |
unitCS ::= unitCS '.' identifierCS |
162 |
unitCS ::= unitCS '.' identifierCS |
| 168 |
/.$BeginJava |
163 |
/.$BeginCode |
| 169 |
IdentifierCS identifierCS = (IdentifierCS)$getSym(3); |
164 |
IdentifierCS identifierCS = (IdentifierCS)$getSym(3); |
| 170 |
UnitCS result = (UnitCS)$getSym(1); |
165 |
UnitCS result = (UnitCS)$getSym(1); |
| 171 |
result.getIdentifier().add(identifierCS); |
166 |
result.getIdentifier().add(identifierCS); |
| 172 |
setOffsets(result, result, identifierCS); |
167 |
setOffsets(result, result, identifierCS); |
| 173 |
$setResult(result); |
168 |
$setResult(result); |
| 174 |
$EndJava |
169 |
$EndCode |
| 175 |
./ |
170 |
./ |
| 176 |
|
171 |
|
| 177 |
--<transformation> ::= 'transformation' <identifier> |
172 |
--<transformation> ::= 'transformation' <identifier> |
|
Lines 179-185
Link Here
|
| 179 |
-- ['extends' <identifier> (',' <identifier>)* ] |
174 |
-- ['extends' <identifier> (',' <identifier>)* ] |
| 180 |
-- '{' <keyDecl>* ( <relation> | <query> )* '}' |
175 |
-- '{' <keyDecl>* ( <relation> | <query> )* '}' |
| 181 |
transformationCS_0_ ::= transformation identifierCS '(' modelDeclCS |
176 |
transformationCS_0_ ::= transformation identifierCS '(' modelDeclCS |
| 182 |
/.$BeginJava |
177 |
/.$BeginCode |
| 183 |
IdentifierCS identifierCS = (IdentifierCS)$getSym(2); |
178 |
IdentifierCS identifierCS = (IdentifierCS)$getSym(2); |
| 184 |
ModelDeclCS modelDeclCS = (ModelDeclCS)$getSym(4); |
179 |
ModelDeclCS modelDeclCS = (ModelDeclCS)$getSym(4); |
| 185 |
TransformationCS result = QVTrCSTFactory.eINSTANCE.createTransformationCS(); |
180 |
TransformationCS result = QVTrCSTFactory.eINSTANCE.createTransformationCS(); |
|
Lines 187-304
Link Here
|
| 187 |
result.getModelDecl().add(modelDeclCS); |
182 |
result.getModelDecl().add(modelDeclCS); |
| 188 |
setOffsets(result, getIToken($getToken(1)), modelDeclCS); |
183 |
setOffsets(result, getIToken($getToken(1)), modelDeclCS); |
| 189 |
$setResult(result); |
184 |
$setResult(result); |
| 190 |
$EndJava |
185 |
$EndCode |
| 191 |
./ |
186 |
./ |
| 192 |
transformationCS_0_ ::= transformationCS_0_ ',' modelDeclCS |
187 |
transformationCS_0_ ::= transformationCS_0_ ',' modelDeclCS |
| 193 |
/.$BeginJava |
188 |
/.$BeginCode |
| 194 |
ModelDeclCS modelDeclCS = (ModelDeclCS)$getSym(3); |
189 |
ModelDeclCS modelDeclCS = (ModelDeclCS)$getSym(3); |
| 195 |
TransformationCS result = (TransformationCS)$getSym(1); |
190 |
TransformationCS result = (TransformationCS)$getSym(1); |
| 196 |
result.getModelDecl().add(modelDeclCS); |
191 |
result.getModelDecl().add(modelDeclCS); |
| 197 |
setOffsets(result, result, modelDeclCS); |
192 |
setOffsets(result, result, modelDeclCS); |
| 198 |
$setResult(result); |
193 |
$setResult(result); |
| 199 |
$EndJava |
194 |
$EndCode |
| 200 |
./ |
195 |
./ |
| 201 |
transformationCS_0_ ::= transformationCS_0_ ERROR_TOKEN |
196 |
transformationCS_0_ ::= transformationCS_0_ ERROR_TOKEN |
| 202 |
/.$BeginJava |
197 |
/.$BeginCode |
| 203 |
reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_MODELDECL); |
198 |
reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_MODELDECL); |
| 204 |
$EndJava |
199 |
$EndCode |
| 205 |
./ |
200 |
./ |
| 206 |
transformationCS_1_ ::= transformationCS_0_ ')' |
201 |
transformationCS_1_ ::= transformationCS_0_ ')' |
| 207 |
/.$BeginJava |
202 |
/.$BeginCode |
| 208 |
TransformationCS result = (TransformationCS)$getSym(1); |
203 |
TransformationCS result = (TransformationCS)$getSym(1); |
| 209 |
setOffsets(result, result, getIToken($getToken(3))); |
204 |
setOffsets(result, result, getIToken($getToken(3))); |
| 210 |
$setResult(result); |
205 |
$setResult(result); |
| 211 |
$EndJava |
206 |
$EndCode |
| 212 |
./ |
207 |
./ |
| 213 |
transformationCS_2_ -> transformationCS_1_ |
208 |
transformationCS_2_ -> transformationCS_1_ |
| 214 |
transformationCS_2_ ::= transformationCS_1_ extends identifierCS |
209 |
transformationCS_2_ ::= transformationCS_1_ extends identifierCS |
| 215 |
/.$BeginJava |
210 |
/.$BeginCode |
| 216 |
IdentifierCS identifierCS = (IdentifierCS)$getSym(3); |
211 |
IdentifierCS identifierCS = (IdentifierCS)$getSym(3); |
| 217 |
TransformationCS result = (TransformationCS)$getSym(1); |
212 |
TransformationCS result = (TransformationCS)$getSym(1); |
| 218 |
result.setExtends(identifierCS); |
213 |
result.setExtends(identifierCS); |
| 219 |
setOffsets(result, result, identifierCS); |
214 |
setOffsets(result, result, identifierCS); |
| 220 |
$setResult(result); |
215 |
$setResult(result); |
| 221 |
$EndJava |
216 |
$EndCode |
| 222 |
./ |
217 |
./ |
| 223 |
transformationCS_3_ -> transformationCS_2_ '{' |
218 |
transformationCS_3_ -> transformationCS_2_ '{' |
| 224 |
transformationCS_3_ ::= transformationCS_3_ keyDeclCS |
219 |
transformationCS_3_ ::= transformationCS_3_ keyDeclCS |
| 225 |
/.$BeginJava |
220 |
/.$BeginCode |
| 226 |
KeyDeclCS keyDeclCS = (KeyDeclCS)$getSym(2); |
221 |
KeyDeclCS keyDeclCS = (KeyDeclCS)$getSym(2); |
| 227 |
TransformationCS result = (TransformationCS)$getSym(1); |
222 |
TransformationCS result = (TransformationCS)$getSym(1); |
| 228 |
result.getKeyDecl().add(keyDeclCS); |
223 |
result.getKeyDecl().add(keyDeclCS); |
| 229 |
setOffsets(result, result, keyDeclCS); |
224 |
setOffsets(result, result, keyDeclCS); |
| 230 |
$setResult(result); |
225 |
$setResult(result); |
| 231 |
$EndJava |
226 |
$EndCode |
| 232 |
./ |
227 |
./ |
| 233 |
transformationCS_4_ -> transformationCS_3_ |
228 |
transformationCS_4_ -> transformationCS_3_ |
| 234 |
transformationCS_4_ ::= transformationCS_4_ queryCS |
229 |
transformationCS_4_ ::= transformationCS_4_ queryCS |
| 235 |
/.$BeginJava |
230 |
/.$BeginCode |
| 236 |
QueryCS queryCS =(QueryCS)$getSym(2); |
231 |
QueryCS queryCS =(QueryCS)$getSym(2); |
| 237 |
TransformationCS result = (TransformationCS)$getSym(1); |
232 |
TransformationCS result = (TransformationCS)$getSym(1); |
| 238 |
result.getQuery().add(queryCS); |
233 |
result.getQuery().add(queryCS); |
| 239 |
setOffsets(result, result, queryCS); |
234 |
setOffsets(result, result, queryCS); |
| 240 |
$setResult(result); |
235 |
$setResult(result); |
| 241 |
$EndJava |
236 |
$EndCode |
| 242 |
./ |
237 |
./ |
| 243 |
transformationCS_4_ ::= transformationCS_4_ relationCS |
238 |
transformationCS_4_ ::= transformationCS_4_ relationCS |
| 244 |
/.$BeginJava |
239 |
/.$BeginCode |
| 245 |
RelationCS relationCS = (RelationCS)$getSym(2); |
240 |
RelationCS relationCS = (RelationCS)$getSym(2); |
| 246 |
TransformationCS result = (TransformationCS)$getSym(1); |
241 |
TransformationCS result = (TransformationCS)$getSym(1); |
| 247 |
result.getRelation().add(relationCS); |
242 |
result.getRelation().add(relationCS); |
| 248 |
setOffsets(result, result, relationCS); |
243 |
setOffsets(result, result, relationCS); |
| 249 |
$setResult(result); |
244 |
$setResult(result); |
| 250 |
$EndJava |
245 |
$EndCode |
| 251 |
./ |
246 |
./ |
| 252 |
transformationCS_4_ ::= transformationCS_4_ ERROR_TOKEN |
247 |
transformationCS_4_ ::= transformationCS_4_ ERROR_TOKEN |
| 253 |
/.$BeginJava |
248 |
/.$BeginCode |
| 254 |
reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_TRANSFORMATION_ELEMENT); |
249 |
reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_TRANSFORMATION_ELEMENT); |
| 255 |
$EndJava |
250 |
$EndCode |
| 256 |
./ |
251 |
./ |
| 257 |
transformationCS ::= transformationCS_4_ '}' |
252 |
transformationCS ::= transformationCS_4_ '}' |
| 258 |
/.$BeginJava |
253 |
/.$BeginCode |
| 259 |
TransformationCS result = (TransformationCS)$getSym(1); |
254 |
TransformationCS result = (TransformationCS)$getSym(1); |
| 260 |
setOffsets(result, result, getIToken($getToken(2))); |
255 |
setOffsets(result, result, getIToken($getToken(2))); |
| 261 |
$setResult(result); |
256 |
$setResult(result); |
| 262 |
$EndJava |
257 |
$EndCode |
| 263 |
./ |
258 |
./ |
| 264 |
|
259 |
|
| 265 |
--<modelDecl> ::= <modelId> ':' <metaModelId> |
260 |
--<modelDecl> ::= <modelId> ':' <metaModelId> |
| 266 |
--**<modelDecl> ::= <modelId> ':' '{' <metaModelId> (',' <metaModelId>)* '}' |
261 |
--**<modelDecl> ::= <modelId> ':' '{' <metaModelId> (',' <metaModelId>)* '}' |
| 267 |
modelDeclCS_0_ ::= modelIdCS ':' |
262 |
modelDeclCS_0_ ::= modelIdCS ':' |
| 268 |
/.$BeginJava |
263 |
/.$BeginCode |
| 269 |
IdentifierCS modelIdCS = (IdentifierCS)$getSym(1); |
264 |
IdentifierCS modelIdCS = (IdentifierCS)$getSym(1); |
| 270 |
ModelDeclCS result = QVTrCSTFactory.eINSTANCE.createModelDeclCS(); |
265 |
ModelDeclCS result = QVTrCSTFactory.eINSTANCE.createModelDeclCS(); |
| 271 |
result.setModelId(modelIdCS); |
266 |
result.setModelId(modelIdCS); |
| 272 |
setOffsets(result, modelIdCS, getIToken($getToken(2))); |
267 |
setOffsets(result, modelIdCS, getIToken($getToken(2))); |
| 273 |
$setResult(result); |
268 |
$setResult(result); |
| 274 |
$EndJava |
269 |
$EndCode |
| 275 |
./ |
270 |
./ |
| 276 |
modelDeclCS_1_ -> modelDeclCS_0_ '{' |
271 |
modelDeclCS_1_ -> modelDeclCS_0_ '{' |
| 277 |
modelDeclCS_1_ -> modelDeclCS_2_ ',' |
272 |
modelDeclCS_1_ -> modelDeclCS_2_ ',' |
| 278 |
modelDeclCS_2_ ::= modelDeclCS_1_ metaModelIdCS |
273 |
modelDeclCS_2_ ::= modelDeclCS_1_ metaModelIdCS |
| 279 |
/.$NewCase ./ |
274 |
/.$NewCase ./ |
| 280 |
modelDeclCS ::= modelDeclCS_0_ metaModelIdCS |
275 |
modelDeclCS ::= modelDeclCS_0_ metaModelIdCS |
| 281 |
/.$BeginJava |
276 |
/.$BeginCode |
| 282 |
IdentifierCS metaModelIdCS = (IdentifierCS)$getSym(2); |
277 |
IdentifierCS metaModelIdCS = (IdentifierCS)$getSym(2); |
| 283 |
ModelDeclCS result = (ModelDeclCS)$getSym(1); |
278 |
ModelDeclCS result = (ModelDeclCS)$getSym(1); |
| 284 |
result.getMetaModelId().add(metaModelIdCS); |
279 |
result.getMetaModelId().add(metaModelIdCS); |
| 285 |
setOffsets(result, result, metaModelIdCS); |
280 |
setOffsets(result, result, metaModelIdCS); |
| 286 |
$setResult(result); |
281 |
$setResult(result); |
| 287 |
$EndJava |
282 |
$EndCode |
| 288 |
./ |
283 |
./ |
| 289 |
modelDeclCS_2_ ::= modelDeclCS_1_ ERROR_TOKEN |
284 |
modelDeclCS_2_ ::= modelDeclCS_1_ ERROR_TOKEN |
| 290 |
/.$NewCase ./ |
285 |
/.$NewCase ./ |
| 291 |
modelDeclCS ::= modelDeclCS_0_ ERROR_TOKEN |
286 |
modelDeclCS ::= modelDeclCS_0_ ERROR_TOKEN |
| 292 |
/.$BeginJava |
287 |
/.$BeginCode |
| 293 |
reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_MODELDECL_ELEMENT); |
288 |
reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_MODELDECL_ELEMENT); |
| 294 |
$EndJava |
289 |
$EndCode |
| 295 |
./ |
290 |
./ |
| 296 |
modelDeclCS ::= modelDeclCS_2_ '}' |
291 |
modelDeclCS ::= modelDeclCS_2_ '}' |
| 297 |
/.$BeginJava |
292 |
/.$BeginCode |
| 298 |
ModelDeclCS result = (ModelDeclCS)$getSym(1); |
293 |
ModelDeclCS result = (ModelDeclCS)$getSym(1); |
| 299 |
setOffsets(result, result, getIToken($getToken(2))); |
294 |
setOffsets(result, result, getIToken($getToken(2))); |
| 300 |
$setResult(result); |
295 |
$setResult(result); |
| 301 |
$EndJava |
296 |
$EndCode |
| 302 |
./ |
297 |
./ |
| 303 |
|
298 |
|
| 304 |
--<modelId> ::= <identifier> |
299 |
--<modelId> ::= <identifier> |
|
Lines 309-343
Link Here
|
| 309 |
|
304 |
|
| 310 |
--<keyDecl> ::= 'key' <classId> '{' <propertyId> (, <propertyId>)* '}' ';' |
305 |
--<keyDecl> ::= 'key' <classId> '{' <propertyId> (, <propertyId>)* '}' ';' |
| 311 |
keyDeclCS_0_ ::= key classIdCS '{' |
306 |
keyDeclCS_0_ ::= key classIdCS '{' |
| 312 |
/.$BeginJava |
307 |
/.$BeginCode |
| 313 |
PathNameCS classIdCS = (PathNameCS)$getSym(2); |
308 |
PathNameCS classIdCS = (PathNameCS)$getSym(2); |
| 314 |
KeyDeclCS result = QVTrCSTFactory.eINSTANCE.createKeyDeclCS(); |
309 |
KeyDeclCS result = QVTrCSTFactory.eINSTANCE.createKeyDeclCS(); |
| 315 |
result.setClassId(classIdCS); |
310 |
result.setClassId(classIdCS); |
| 316 |
setOffsets(result, getIToken($getToken(1)), getIToken($getToken(3))); |
311 |
setOffsets(result, getIToken($getToken(1)), getIToken($getToken(3))); |
| 317 |
$setResult(result); |
312 |
$setResult(result); |
| 318 |
$EndJava |
313 |
$EndCode |
| 319 |
./ |
314 |
./ |
| 320 |
keyDeclCS_0_ -> keyDeclCS_1_ ',' |
315 |
keyDeclCS_0_ -> keyDeclCS_1_ ',' |
| 321 |
keyDeclCS_1_ ::= keyDeclCS_0_ propertyIdCS |
316 |
keyDeclCS_1_ ::= keyDeclCS_0_ propertyIdCS |
| 322 |
/.$BeginJava |
317 |
/.$BeginCode |
| 323 |
IdentifiedCS propertyIdCS = (IdentifiedCS)$getSym(2); |
318 |
IdentifiedCS propertyIdCS = (IdentifiedCS)$getSym(2); |
| 324 |
KeyDeclCS result = (KeyDeclCS)$getSym(1); |
319 |
KeyDeclCS result = (KeyDeclCS)$getSym(1); |
| 325 |
result.getPropertyId().add(propertyIdCS); |
320 |
result.getPropertyId().add(propertyIdCS); |
| 326 |
setOffsets(result, result, propertyIdCS); |
321 |
setOffsets(result, result, propertyIdCS); |
| 327 |
$setResult(result); |
322 |
$setResult(result); |
| 328 |
$EndJava |
323 |
$EndCode |
| 329 |
./ |
324 |
./ |
| 330 |
keyDeclCS_1_ ::= keyDeclCS_0_ ERROR_TOKEN |
325 |
keyDeclCS_1_ ::= keyDeclCS_0_ ERROR_TOKEN |
| 331 |
/.$BeginJava |
326 |
/.$BeginCode |
| 332 |
reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_KEYDECL_ELEMENT); |
327 |
reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_KEYDECL_ELEMENT); |
| 333 |
$EndJava |
328 |
$EndCode |
| 334 |
./ |
329 |
./ |
| 335 |
keyDeclCS ::= keyDeclCS_1_ '}' ';' |
330 |
keyDeclCS ::= keyDeclCS_1_ '}' ';' |
| 336 |
/.$BeginJava |
331 |
/.$BeginCode |
| 337 |
KeyDeclCS result = (KeyDeclCS)$getSym(1); |
332 |
KeyDeclCS result = (KeyDeclCS)$getSym(1); |
| 338 |
setOffsets(result, result, getIToken($getToken(3))); |
333 |
setOffsets(result, result, getIToken($getToken(3))); |
| 339 |
$setResult(result); |
334 |
$setResult(result); |
| 340 |
$EndJava |
335 |
$EndCode |
| 341 |
./ |
336 |
./ |
| 342 |
|
337 |
|
| 343 |
--<classId> ::= <PathNameCS> |
338 |
--<classId> ::= <PathNameCS> |
|
Lines 345-357
Link Here
|
| 345 |
|
340 |
|
| 346 |
--<propertyId> ::= <identifier> |
341 |
--<propertyId> ::= <identifier> |
| 347 |
propertyIdCS ::= identifierCS |
342 |
propertyIdCS ::= identifierCS |
| 348 |
/.$BeginJava |
343 |
/.$BeginCode |
| 349 |
IdentifierCS identifierCS = (IdentifierCS)$getSym(1); |
344 |
IdentifierCS identifierCS = (IdentifierCS)$getSym(1); |
| 350 |
IdentifiedCS result = QVTCSTFactory.eINSTANCE.createIdentifiedCS(); |
345 |
IdentifiedCS result = QVTCSTFactory.eINSTANCE.createIdentifiedCS(); |
| 351 |
result.setIdentifier(identifierCS); |
346 |
result.setIdentifier(identifierCS); |
| 352 |
setOffsets(result, identifierCS); |
347 |
setOffsets(result, identifierCS); |
| 353 |
$setResult(result); |
348 |
$setResult(result); |
| 354 |
$EndJava |
349 |
$EndCode |
| 355 |
./ |
350 |
./ |
| 356 |
|
351 |
|
| 357 |
--<relation> ::= ['top'] 'relation' <identifier> |
352 |
--<relation> ::= ['top'] 'relation' <identifier> |
|
Lines 364-535
Link Here
|
| 364 |
--<when> ::= 'when' '{' (<OclExpressionCS> ';')* '}' |
359 |
--<when> ::= 'when' '{' (<OclExpressionCS> ';')* '}' |
| 365 |
--<where> ::= 'where' '{' (<OclExpressionCS> ';')* '}' |
360 |
--<where> ::= 'where' '{' (<OclExpressionCS> ';')* '}' |
| 366 |
relationCS_0_ ::= relation identifierCS |
361 |
relationCS_0_ ::= relation identifierCS |
| 367 |
/.$BeginJava |
362 |
/.$BeginCode |
| 368 |
IdentifierCS identifierCS = (IdentifierCS)$getSym(2); |
363 |
IdentifierCS identifierCS = (IdentifierCS)$getSym(2); |
| 369 |
RelationCS result = QVTrCSTFactory.eINSTANCE.createRelationCS(); |
364 |
RelationCS result = QVTrCSTFactory.eINSTANCE.createRelationCS(); |
| 370 |
result.setIdentifier(identifierCS); |
365 |
result.setIdentifier(identifierCS); |
| 371 |
setOffsets(result, getIToken($getToken(1)), identifierCS); |
366 |
setOffsets(result, getIToken($getToken(1)), identifierCS); |
| 372 |
$setResult(result); |
367 |
$setResult(result); |
| 373 |
$EndJava |
368 |
$EndCode |
| 374 |
./ |
369 |
./ |
| 375 |
relationCS_1_ -> relationCS_0_ |
370 |
relationCS_1_ -> relationCS_0_ |
| 376 |
relationCS_1_ ::= top relationCS_0_ |
371 |
relationCS_1_ ::= top relationCS_0_ |
| 377 |
/.$BeginJava |
372 |
/.$BeginCode |
| 378 |
RelationCS result = (RelationCS)$getSym(2); |
373 |
RelationCS result = (RelationCS)$getSym(2); |
| 379 |
result.setTop(true); |
374 |
result.setTop(true); |
| 380 |
setOffsets(result, getIToken($getToken(1)), result); |
375 |
setOffsets(result, getIToken($getToken(1)), result); |
| 381 |
$setResult(result); |
376 |
$setResult(result); |
| 382 |
$EndJava |
377 |
$EndCode |
| 383 |
./ |
378 |
./ |
| 384 |
relationCS_2_ -> relationCS_1_ |
379 |
relationCS_2_ -> relationCS_1_ |
| 385 |
relationCS_2_ ::= relationCS_1_ overrides identifierCS |
380 |
relationCS_2_ ::= relationCS_1_ overrides identifierCS |
| 386 |
/.$BeginJava |
381 |
/.$BeginCode |
| 387 |
IdentifierCS identifierCS = (IdentifierCS)$getSym(3); |
382 |
IdentifierCS identifierCS = (IdentifierCS)$getSym(3); |
| 388 |
RelationCS result = (RelationCS)$getSym(1); |
383 |
RelationCS result = (RelationCS)$getSym(1); |
| 389 |
result.setOverrides(identifierCS); |
384 |
result.setOverrides(identifierCS); |
| 390 |
setOffsets(result, result, identifierCS); |
385 |
setOffsets(result, result, identifierCS); |
| 391 |
$setResult(result); |
386 |
$setResult(result); |
| 392 |
$EndJava |
387 |
$EndCode |
| 393 |
./ |
388 |
./ |
| 394 |
relationCS_3_ -> relationCS_2_ '{' |
389 |
relationCS_3_ -> relationCS_2_ '{' |
| 395 |
relationCS_3_ ::= relationCS_3_ varDeclarationCS |
390 |
relationCS_3_ ::= relationCS_3_ varDeclarationCS |
| 396 |
/.$BeginJava |
391 |
/.$BeginCode |
| 397 |
VarDeclarationCS varDeclarationCS = (VarDeclarationCS)$getSym(2); |
392 |
VarDeclarationCS varDeclarationCS = (VarDeclarationCS)$getSym(2); |
| 398 |
RelationCS result = (RelationCS)$getSym(1); |
393 |
RelationCS result = (RelationCS)$getSym(1); |
| 399 |
result.getVarDeclaration().add(varDeclarationCS); |
394 |
result.getVarDeclaration().add(varDeclarationCS); |
| 400 |
setOffsets(result, result, varDeclarationCS); |
395 |
setOffsets(result, result, varDeclarationCS); |
| 401 |
$setResult(result); |
396 |
$setResult(result); |
| 402 |
$EndJava |
397 |
$EndCode |
| 403 |
./ |
398 |
./ |
| 404 |
relationCS_preDomain -> relationCS_3_ |
399 |
relationCS_preDomain -> relationCS_3_ |
| 405 |
relationCS_preDomain -> relationCS_postDomain |
400 |
relationCS_preDomain -> relationCS_postDomain |
| 406 |
relationCS_postDomain ::= relationCS_preDomain domainCS |
401 |
relationCS_postDomain ::= relationCS_preDomain domainCS |
| 407 |
/.$NewCase ./ |
402 |
/.$NewCase ./ |
| 408 |
relationCS_postDomain ::= relationCS_preDomain primitiveTypeDomainCS |
403 |
relationCS_postDomain ::= relationCS_preDomain primitiveTypeDomainCS |
| 409 |
/.$BeginJava |
404 |
/.$BeginCode |
| 410 |
AbstractDomainCS domainCS = (AbstractDomainCS)$getSym(2); |
405 |
AbstractDomainCS domainCS = (AbstractDomainCS)$getSym(2); |
| 411 |
RelationCS result = (RelationCS)$getSym(1); |
406 |
RelationCS result = (RelationCS)$getSym(1); |
| 412 |
result.getDomain().add(domainCS); |
407 |
result.getDomain().add(domainCS); |
| 413 |
setOffsets(result, result, domainCS); |
408 |
setOffsets(result, result, domainCS); |
| 414 |
$setResult(result); |
409 |
$setResult(result); |
| 415 |
$EndJava |
410 |
$EndCode |
| 416 |
./ |
411 |
./ |
| 417 |
relationCS_postWhen -> relationCS_postDomain |
412 |
relationCS_postWhen -> relationCS_postDomain |
| 418 |
relationCS_postWhen ::= relationCS_postDomain whenCS |
413 |
relationCS_postWhen ::= relationCS_postDomain whenCS |
| 419 |
/.$BeginJava |
414 |
/.$BeginCode |
| 420 |
RelationCS result = (RelationCS)$getSym(1); |
415 |
RelationCS result = (RelationCS)$getSym(1); |
| 421 |
WhenCS whenCS = (WhenCS)$getSym(2); |
416 |
WhenCS whenCS = (WhenCS)$getSym(2); |
| 422 |
result.setWhen(whenCS); |
417 |
result.setWhen(whenCS); |
| 423 |
setOffsets(result, result, whenCS); |
418 |
setOffsets(result, result, whenCS); |
| 424 |
$setResult(result); |
419 |
$setResult(result); |
| 425 |
$EndJava |
420 |
$EndCode |
| 426 |
./ |
421 |
./ |
| 427 |
relationCS_postWhere -> relationCS_postWhen |
422 |
relationCS_postWhere -> relationCS_postWhen |
| 428 |
relationCS_postWhere ::= relationCS_postWhen whereCS |
423 |
relationCS_postWhere ::= relationCS_postWhen whereCS |
| 429 |
/.$BeginJava |
424 |
/.$BeginCode |
| 430 |
RelationCS result = (RelationCS)$getSym(1); |
425 |
RelationCS result = (RelationCS)$getSym(1); |
| 431 |
WhereCS whereCS = (WhereCS)$getSym(2); |
426 |
WhereCS whereCS = (WhereCS)$getSym(2); |
| 432 |
result.setWhere(whereCS); |
427 |
result.setWhere(whereCS); |
| 433 |
setOffsets(result, result, whereCS); |
428 |
setOffsets(result, result, whereCS); |
| 434 |
$setResult(result); |
429 |
$setResult(result); |
| 435 |
$EndJava |
430 |
$EndCode |
| 436 |
./ |
431 |
./ |
| 437 |
relationCS ::= relationCS_postWhere '}' |
432 |
relationCS ::= relationCS_postWhere '}' |
| 438 |
/.$BeginJava |
433 |
/.$BeginCode |
| 439 |
RelationCS result = (RelationCS)$getSym(1); |
434 |
RelationCS result = (RelationCS)$getSym(1); |
| 440 |
setOffsets(result, result, getIToken($getToken(2))); |
435 |
setOffsets(result, result, getIToken($getToken(2))); |
| 441 |
$setResult(result); |
436 |
$setResult(result); |
| 442 |
$EndJava |
437 |
$EndCode |
| 443 |
./ |
438 |
./ |
| 444 |
|
439 |
|
| 445 |
whenCS_0 ::= when '{' |
440 |
whenCS_0 ::= when '{' |
| 446 |
/.$BeginJava |
441 |
/.$BeginCode |
| 447 |
WhenCS result = QVTrCSTFactory.eINSTANCE.createWhenCS(); |
442 |
WhenCS result = QVTrCSTFactory.eINSTANCE.createWhenCS(); |
| 448 |
setOffsets(result, getIToken($getToken(1)), getIToken($getToken(2))); |
443 |
setOffsets(result, getIToken($getToken(1)), getIToken($getToken(2))); |
| 449 |
$setResult(result); |
444 |
$setResult(result); |
| 450 |
$EndJava |
445 |
$EndCode |
| 451 |
./ |
446 |
./ |
| 452 |
whenCS_0 ::= when ERROR_TOKEN |
447 |
whenCS_0 ::= when ERROR_TOKEN |
| 453 |
/.$BeginJava |
448 |
/.$BeginCode |
| 454 |
reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_WHEN); |
449 |
reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_WHEN); |
| 455 |
$EndJava |
450 |
$EndCode |
| 456 |
./ |
451 |
./ |
| 457 |
whenCS_1 -> whenCS_0 |
452 |
whenCS_1 -> whenCS_0 |
| 458 |
whenCS_1 ::= whenCS_1 oclExpressionCS ';' |
453 |
whenCS_1 ::= whenCS_1 oclExpressionCS ';' |
| 459 |
/.$BeginJava |
454 |
/.$BeginCode |
| 460 |
WhenCS result = (WhenCS)$getSym(1); |
455 |
WhenCS result = (WhenCS)$getSym(1); |
| 461 |
OCLExpressionCS oclExpressionCS = (OCLExpressionCS)$getSym(2); |
456 |
OCLExpressionCS oclExpressionCS = (OCLExpressionCS)$getSym(2); |
| 462 |
result.getExpr().add(oclExpressionCS); |
457 |
result.getExpr().add(oclExpressionCS); |
| 463 |
setOffsets(result, result, getIToken($getToken(3))); |
458 |
setOffsets(result, result, getIToken($getToken(3))); |
| 464 |
$setResult(result); |
459 |
$setResult(result); |
| 465 |
$EndJava |
460 |
$EndCode |
| 466 |
./ |
461 |
./ |
| 467 |
whenCS ::= whenCS_1 '}' |
462 |
whenCS ::= whenCS_1 '}' |
| 468 |
/.$BeginJava |
463 |
/.$BeginCode |
| 469 |
WhenCS result = (WhenCS)$getSym(1); |
464 |
WhenCS result = (WhenCS)$getSym(1); |
| 470 |
setOffsets(result, result, getIToken($getToken(2))); |
465 |
setOffsets(result, result, getIToken($getToken(2))); |
| 471 |
$setResult(result); |
466 |
$setResult(result); |
| 472 |
$EndJava |
467 |
$EndCode |
| 473 |
./ |
468 |
./ |
| 474 |
|
469 |
|
| 475 |
|
470 |
|
| 476 |
whereCS_0 ::= where '{' |
471 |
whereCS_0 ::= where '{' |
| 477 |
/.$BeginJava |
472 |
/.$BeginCode |
| 478 |
WhereCS result = QVTrCSTFactory.eINSTANCE.createWhereCS(); |
473 |
WhereCS result = QVTrCSTFactory.eINSTANCE.createWhereCS(); |
| 479 |
setOffsets(result, getIToken($getToken(1)), getIToken($getToken(2))); |
474 |
setOffsets(result, getIToken($getToken(1)), getIToken($getToken(2))); |
| 480 |
$setResult(result); |
475 |
$setResult(result); |
| 481 |
$EndJava |
476 |
$EndCode |
| 482 |
./ |
477 |
./ |
| 483 |
whereCS_0 ::= where ERROR_TOKEN |
478 |
whereCS_0 ::= where ERROR_TOKEN |
| 484 |
/.$BeginJava |
479 |
/.$BeginCode |
| 485 |
reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_WHERE); |
480 |
reportErrorTokenMessage($getToken(2), QVTrParserErrors.INCOMPLETE_WHERE); |
| 486 |
$EndJava |
481 |
$EndCode |
| 487 |
./ |
482 |
./ |
| 488 |
whereCS_1 -> whereCS_0 |
483 |
whereCS_1 -> whereCS_0 |
| 489 |
whereCS_1 ::= whereCS_1 oclExpressionCS ';' |
484 |
whereCS_1 ::= whereCS_1 oclExpressionCS ';' |
| 490 |
/.$BeginJava |
485 |
/.$BeginCode |
| 491 |
WhereCS result = (WhereCS)$getSym(1); |
486 |
WhereCS result = (WhereCS)$getSym(1); |
| 492 |
OCLExpressionCS oclExpressionCS = (OCLExpressionCS)$getSym(2); |
487 |
OCLExpressionCS oclExpressionCS = (OCLExpressionCS)$getSym(2); |
| 493 |
result.getExpr().add(oclExpressionCS); |
488 |
result.getExpr().add(oclExpressionCS); |
| 494 |
setOffsets(result, result, getIToken($getToken(3))); |
489 |
setOffsets(result, result, getIToken($getToken(3))); |
| 495 |
$setResult(result); |
490 |
$setResult(result); |
| 496 |
$EndJava |
491 |
$EndCode |
| 497 |
./ |
492 |
./ |
| 498 |
whereCS ::= whereCS_1 '}' |
493 |
whereCS ::= whereCS_1 '}' |
| 499 |
/.$BeginJava |
494 |
/.$BeginCode |
| 500 |
WhereCS result = (WhereCS)$getSym(1); |
495 |
WhereCS result = (WhereCS)$getSym(1); |
| 501 |
setOffsets(result, result, getIToken($getToken(2))); |
496 |
setOffsets(result, result, getIToken($getToken(2))); |
| 502 |
$setResult(result); |
497 |
$setResult(result); |
| 503 |
$EndJava |
498 |
$EndCode |
| 504 |
./ |
499 |
./ |
| 505 |
|
500 |
|
| 506 |
|
501 |
|
| 507 |
--<varDeclaration> ::= <identifier> (, <identifier>)* ':' <TypeCS> ';' |
502 |
--<varDeclaration> ::= <identifier> (, <identifier>)* ':' <TypeCS> ';' |
| 508 |
varDeclarationCS_0 ::= identifierCS |
503 |
varDeclarationCS_0 ::= identifierCS |
| 509 |
/.$BeginJava |
504 |
/.$BeginCode |
| 510 |
IdentifierCS identifierCS = (IdentifierCS)$getSym(1); |
505 |
IdentifierCS identifierCS = (IdentifierCS)$getSym(1); |
| 511 |
VarDeclarationCS result = QVTrCSTFactory.eINSTANCE.createVarDeclarationCS(); |
506 |
VarDeclarationCS result = QVTrCSTFactory.eINSTANCE.createVarDeclarationCS(); |
| 512 |
result.getVarDeclarationId().add(identifierCS); |
507 |
result.getVarDeclarationId().add(identifierCS); |
| 513 |
setOffsets(result, identifierCS); |
508 |
setOffsets(result, identifierCS); |
| 514 |
$setResult(result); |
509 |
$setResult(result); |
| 515 |
$EndJava |
510 |
$EndCode |
| 516 |
./ |
511 |
./ |
| 517 |
varDeclarationCS_0 ::= varDeclarationCS_0 ',' identifierCS |
512 |
varDeclarationCS_0 ::= varDeclarationCS_0 ',' identifierCS |
| 518 |
/.$BeginJava |
513 |
/.$BeginCode |
| 519 |
IdentifierCS identifierCS = (IdentifierCS)$getSym(3); |
514 |
IdentifierCS identifierCS = (IdentifierCS)$getSym(3); |
| 520 |
VarDeclarationCS result = (VarDeclarationCS)$getSym(1); |
515 |
VarDeclarationCS result = (VarDeclarationCS)$getSym(1); |
| 521 |
result.getVarDeclarationId().add(identifierCS); |
516 |
result.getVarDeclarationId().add(identifierCS); |
| 522 |
setOffsets(result, result, identifierCS); |
517 |
setOffsets(result, result, identifierCS); |
| 523 |
$setResult(result); |
518 |
$setResult(result); |
| 524 |
$EndJava |
519 |
$EndCode |
| 525 |
./ |
520 |
./ |
| 526 |
varDeclarationCS ::= varDeclarationCS_0 ':' typeCS ';' |
521 |
varDeclarationCS ::= varDeclarationCS_0 ':' typeCS ';' |
| 527 |
/.$BeginJava |
522 |
/.$BeginCode |
| 528 |
VarDeclarationCS result = (VarDeclarationCS)$getSym(1); |
523 |
VarDeclarationCS result = (VarDeclarationCS)$getSym(1); |
| 529 |
result.setType((TypeCS)$getSym(3)); |
524 |
result.setType((TypeCS)$getSym(3)); |
| 530 |
setOffsets(result, result, getIToken($getToken(4))); |
525 |
setOffsets(result, result, getIToken($getToken(4))); |
| 531 |
$setResult(result); |
526 |
$setResult(result); |
| 532 |
$EndJava |
527 |
$EndCode |
| 533 |
./ |
528 |
./ |
| 534 |
|
529 |
|
| 535 |
--<domain> ::= [<checkEnforceQualifier>] 'domain' <modelId> <template> |
530 |
--<domain> ::= [<checkEnforceQualifier>] 'domain' <modelId> <template> |
|
Lines 538-544
Link Here
|
| 538 |
-- ';' |
533 |
-- ';' |
| 539 |
--<checkEnforceQualifier> ::= 'checkonly' | 'enforce' |
534 |
--<checkEnforceQualifier> ::= 'checkonly' | 'enforce' |
| 540 |
domainCS_0_ ::= domain modelIdCS templateCS |
535 |
domainCS_0_ ::= domain modelIdCS templateCS |
| 541 |
/.$BeginJava |
536 |
/.$BeginCode |
| 542 |
IdentifierCS identifierCS = (IdentifierCS)$getSym(2); |
537 |
IdentifierCS identifierCS = (IdentifierCS)$getSym(2); |
| 543 |
TemplateCS templateCS = (TemplateCS)$getSym(3); |
538 |
TemplateCS templateCS = (TemplateCS)$getSym(3); |
| 544 |
DomainCS result = QVTrCSTFactory.eINSTANCE.createDomainCS(); |
539 |
DomainCS result = QVTrCSTFactory.eINSTANCE.createDomainCS(); |
|
Lines 546-617
Link Here
|
| 546 |
result.setTemplate(templateCS); |
541 |
result.setTemplate(templateCS); |
| 547 |
setOffsets(result, getIToken($getToken(1)), templateCS); |
542 |
setOffsets(result, getIToken($getToken(1)), templateCS); |
| 548 |
$setResult(result); |
543 |
$setResult(result); |
| 549 |
$EndJava |
544 |
$EndCode |
| 550 |
./ |
545 |
./ |
| 551 |
domainCS_1_ -> domainCS_0_ |
546 |
domainCS_1_ -> domainCS_0_ |
| 552 |
domainCS_1_ ::= checkonly domainCS_0_ |
547 |
domainCS_1_ ::= checkonly domainCS_0_ |
| 553 |
/.$BeginJava |
548 |
/.$BeginCode |
| 554 |
DomainCS result = (DomainCS)$getSym(2); |
549 |
DomainCS result = (DomainCS)$getSym(2); |
| 555 |
result.setCheckonly(true); |
550 |
result.setCheckonly(true); |
| 556 |
setOffsets(result, getIToken($getToken(1)), result); |
551 |
setOffsets(result, getIToken($getToken(1)), result); |
| 557 |
$setResult(result); |
552 |
$setResult(result); |
| 558 |
$EndJava |
553 |
$EndCode |
| 559 |
./ |
554 |
./ |
| 560 |
domainCS_1_ ::= enforce domainCS_0_ |
555 |
domainCS_1_ ::= enforce domainCS_0_ |
| 561 |
/.$BeginJava |
556 |
/.$BeginCode |
| 562 |
DomainCS result = (DomainCS)$getSym(2); |
557 |
DomainCS result = (DomainCS)$getSym(2); |
| 563 |
result.setEnforce(true); |
558 |
result.setEnforce(true); |
| 564 |
setOffsets(result, getIToken($getToken(1)), result); |
559 |
setOffsets(result, getIToken($getToken(1)), result); |
| 565 |
$setResult(result); |
560 |
$setResult(result); |
| 566 |
$EndJava |
561 |
$EndCode |
| 567 |
./ |
562 |
./ |
| 568 |
domainCS_1_ ::= replace domainCS_0_ |
563 |
domainCS_1_ ::= replace domainCS_0_ |
| 569 |
/.$BeginJava |
564 |
/.$BeginCode |
| 570 |
DomainCS result = (DomainCS)$getSym(2); |
565 |
DomainCS result = (DomainCS)$getSym(2); |
| 571 |
result.setReplace(true); |
566 |
result.setReplace(true); |
| 572 |
setOffsets(result, getIToken($getToken(1)), result); |
567 |
setOffsets(result, getIToken($getToken(1)), result); |
| 573 |
$setResult(result); |
568 |
$setResult(result); |
| 574 |
$EndJava |
569 |
$EndCode |
| 575 |
./ |
570 |
./ |
| 576 |
domainCS_postImplementedby -> domainCS_1_ |
571 |
domainCS_postImplementedby -> domainCS_1_ |
| 577 |
domainCS_postImplementedby ::= domainCS_1_ implementedby operationCallExpCS |
572 |
domainCS_postImplementedby ::= domainCS_1_ implementedby operationCallExpCS |
| 578 |
/.$BeginJava |
573 |
/.$BeginCode |
| 579 |
DomainCS result = (DomainCS)$getSym(1); |
574 |
DomainCS result = (DomainCS)$getSym(1); |
| 580 |
OperationCallExpCS operationCallExpCS =(OperationCallExpCS)$getSym(3); |
575 |
OperationCallExpCS operationCallExpCS =(OperationCallExpCS)$getSym(3); |
| 581 |
result.setImplementedBy(operationCallExpCS); |
576 |
result.setImplementedBy(operationCallExpCS); |
| 582 |
setOffsets(result, result, operationCallExpCS); |
577 |
setOffsets(result, result, operationCallExpCS); |
| 583 |
$setResult(result); |
578 |
$setResult(result); |
| 584 |
$EndJava |
579 |
$EndCode |
| 585 |
./ |
580 |
./ |
| 586 |
domainCS_preDefaultValue -> domainCS_postImplementedby default_values '{' |
581 |
domainCS_preDefaultValue -> domainCS_postImplementedby default_values '{' |
| 587 |
domainCS_preDefaultValue ::= domainCS_preDefaultValue defaultValueCS |
582 |
domainCS_preDefaultValue ::= domainCS_preDefaultValue defaultValueCS |
| 588 |
/.$BeginJava |
583 |
/.$BeginCode |
| 589 |
DomainCS result = (DomainCS)$getSym(1); |
584 |
DomainCS result = (DomainCS)$getSym(1); |
| 590 |
DefaultValueCS defaultValueCS = (DefaultValueCS)$getSym(2); |
585 |
DefaultValueCS defaultValueCS = (DefaultValueCS)$getSym(2); |
| 591 |
result.getDefaultValue().add(defaultValueCS); |
586 |
result.getDefaultValue().add(defaultValueCS); |
| 592 |
setOffsets(result, result, defaultValueCS); |
587 |
setOffsets(result, result, defaultValueCS); |
| 593 |
$setResult(result); |
588 |
$setResult(result); |
| 594 |
$EndJava |
589 |
$EndCode |
| 595 |
./ |
590 |
./ |
| 596 |
domainCS_postDefaultValues -> domainCS_postImplementedby |
591 |
domainCS_postDefaultValues -> domainCS_postImplementedby |
| 597 |
domainCS_postDefaultValues ::= domainCS_preDefaultValue '}' |
592 |
domainCS_postDefaultValues ::= domainCS_preDefaultValue '}' |
| 598 |
/.$BeginJava |
593 |
/.$BeginCode |
| 599 |
DomainCS result = (DomainCS)$getSym(1); |
594 |
DomainCS result = (DomainCS)$getSym(1); |
| 600 |
setOffsets(result, result, getIToken($getToken(2))); |
595 |
setOffsets(result, result, getIToken($getToken(2))); |
| 601 |
$setResult(result); |
596 |
$setResult(result); |
| 602 |
$EndJava |
597 |
$EndCode |
| 603 |
./ |
598 |
./ |
| 604 |
domainCS ::= domainCS_postDefaultValues ';' |
599 |
domainCS ::= domainCS_postDefaultValues ';' |
| 605 |
/.$BeginJava |
600 |
/.$BeginCode |
| 606 |
DomainCS result = (DomainCS)$getSym(1); |
601 |
DomainCS result = (DomainCS)$getSym(1); |
| 607 |
setOffsets(result, result, getIToken($getToken(2))); |
602 |
setOffsets(result, result, getIToken($getToken(2))); |
| 608 |
$setResult(result); |
603 |
$setResult(result); |
| 609 |
$EndJava |
604 |
$EndCode |
| 610 |
./ |
605 |
./ |
| 611 |
|
606 |
|
| 612 |
--<primitiveTypeDomain> ::= 'primitive' 'domain' <identifier> ':' <TypeCS> ';' |
607 |
--<primitiveTypeDomain> ::= 'primitive' 'domain' <identifier> ':' <TypeCS> ';' |
| 613 |
primitiveTypeDomainCS ::= primitive domain identifierCS ':' typeCS ';' |
608 |
primitiveTypeDomainCS ::= primitive domain identifierCS ':' typeCS ';' |
| 614 |
/.$BeginJava |
609 |
/.$BeginCode |
| 615 |
IdentifierCS identifierCS = (IdentifierCS)$getSym(3); |
610 |
IdentifierCS identifierCS = (IdentifierCS)$getSym(3); |
| 616 |
TypeCS typeCS = (TypeCS)$getSym(5); |
611 |
TypeCS typeCS = (TypeCS)$getSym(5); |
| 617 |
PrimitiveTypeDomainCS result = QVTrCSTFactory.eINSTANCE.createPrimitiveTypeDomainCS(); |
612 |
PrimitiveTypeDomainCS result = QVTrCSTFactory.eINSTANCE.createPrimitiveTypeDomainCS(); |
|
Lines 619-625
Link Here
|
| 619 |
result.setType(typeCS); |
614 |
result.setType(typeCS); |
| 620 |
setOffsets(result, getIToken($getToken(1)), getIToken($getToken(6))); |
615 |
setOffsets(result, getIToken($getToken(1)), getIToken($getToken(6))); |
| 621 |
$setResult(result); |
616 |
$setResult(result); |
| 622 |
$EndJava |
617 |
$EndCode |
| 623 |
./ |
618 |
./ |
| 624 |
|
619 |
|
| 625 |
|
620 |
|
|
Lines 629-641
Link Here
|
| 629 |
templateCS_0_ -> collectionTemplateCS |
624 |
templateCS_0_ -> collectionTemplateCS |
| 630 |
templateCS -> templateCS_0_ |
625 |
templateCS -> templateCS_0_ |
| 631 |
templateCS ::= templateCS_0_ '{' oclExpressionCS '}' |
626 |
templateCS ::= templateCS_0_ '{' oclExpressionCS '}' |
| 632 |
/.$BeginJava |
627 |
/.$BeginCode |
| 633 |
TemplateCS result = (TemplateCS)$getSym(1); |
628 |
TemplateCS result = (TemplateCS)$getSym(1); |
| 634 |
OCLExpressionCS oclExpressionCS = (OCLExpressionCS)$getSym(3); |
629 |
OCLExpressionCS oclExpressionCS = (OCLExpressionCS)$getSym(3); |
| 635 |
result.setGuardExpression(oclExpressionCS); |
630 |
result.setGuardExpression(oclExpressionCS); |
| 636 |
setOffsets(result, result, getIToken($getToken(4))); |
631 |
setOffsets(result, result, getIToken($getToken(4))); |
| 637 |
$setResult(result); |
632 |
$setResult(result); |
| 638 |
$EndJava |
633 |
$EndCode |
| 639 |
./ |
634 |
./ |
| 640 |
|
635 |
|
| 641 |
--<objectTemplate> ::= [<identifier>] ':' <pathNameCS> '{' [<propertyTemplateList>] '}' |
636 |
--<objectTemplate> ::= [<identifier>] ':' <pathNameCS> '{' [<propertyTemplateList>] '}' |
|
Lines 645-651
Link Here
|
| 645 |
objectTemplateCS_prePropertyTemplates ::= relationIdentifier ':' pathNameCS '{' |
640 |
objectTemplateCS_prePropertyTemplates ::= relationIdentifier ':' pathNameCS '{' |
| 646 |
/.$NewCase./ |
641 |
/.$NewCase./ |
| 647 |
objectTemplateCS_prePropertyTemplates ::= self ':' pathNameCS '{' |
642 |
objectTemplateCS_prePropertyTemplates ::= self ':' pathNameCS '{' |
| 648 |
/.$BeginJava |
643 |
/.$BeginCode |
| 649 |
IdentifierCS identifierCS = createIdentifierCS($getToken(1)); |
644 |
IdentifierCS identifierCS = createIdentifierCS($getToken(1)); |
| 650 |
TypeCS typeCS = (TypeCS)$getSym(3); |
645 |
TypeCS typeCS = (TypeCS)$getSym(3); |
| 651 |
ObjectTemplateCS result = QVTrCSTFactory.eINSTANCE.createObjectTemplateCS(); |
646 |
ObjectTemplateCS result = QVTrCSTFactory.eINSTANCE.createObjectTemplateCS(); |
|
Lines 653-693
Link Here
|
| 653 |
result.setIdentifier(identifierCS); |
648 |
result.setIdentifier(identifierCS); |
| 654 |
setOffsets(result, identifierCS, getIToken($getToken(4))); |
649 |
setOffsets(result, identifierCS, getIToken($getToken(4))); |
| 655 |
$setResult(result); |
650 |
$setResult(result); |
| 656 |
$EndJava |
651 |
$EndCode |
| 657 |
./ |
652 |
./ |
| 658 |
objectTemplateCS_prePropertyTemplates ::= ':' pathNameCS '{' |
653 |
objectTemplateCS_prePropertyTemplates ::= ':' pathNameCS '{' |
| 659 |
/.$BeginJava |
654 |
/.$BeginCode |
| 660 |
ObjectTemplateCS result = QVTrCSTFactory.eINSTANCE.createObjectTemplateCS(); |
655 |
ObjectTemplateCS result = QVTrCSTFactory.eINSTANCE.createObjectTemplateCS(); |
| 661 |
result.setIdentifier(createUniqueIdentifierCS($getToken(1))); |
656 |
result.setIdentifier(createUniqueIdentifierCS($getToken(1))); |
| 662 |
result.setType((TypeCS)$getSym(2)); |
657 |
result.setType((TypeCS)$getSym(2)); |
| 663 |
setOffsets(result, getIToken($getToken(1)), getIToken($getToken(3))); |
658 |
setOffsets(result, getIToken($getToken(1)), getIToken($getToken(3))); |
| 664 |
$setResult(result); |
659 |
$setResult(result); |
| 665 |
$EndJava |
660 |
$EndCode |
| 666 |
./ |
661 |
./ |
| 667 |
objectTemplateCS_prePropertyTemplate -> objectTemplateCS_prePropertyTemplates |
662 |
objectTemplateCS_prePropertyTemplate -> objectTemplateCS_prePropertyTemplates |
| 668 |
objectTemplateCS_prePropertyTemplate -> objectTemplateCS_postPropertyTemplate ',' |
663 |
objectTemplateCS_prePropertyTemplate -> objectTemplateCS_postPropertyTemplate ',' |
| 669 |
objectTemplateCS_postPropertyTemplate ::= objectTemplateCS_prePropertyTemplate propertyTemplateCS |
664 |
objectTemplateCS_postPropertyTemplate ::= objectTemplateCS_prePropertyTemplate propertyTemplateCS |
| 670 |
/.$BeginJava |
665 |
/.$BeginCode |
| 671 |
ObjectTemplateCS result = (ObjectTemplateCS)$getSym(1); |
666 |
ObjectTemplateCS result = (ObjectTemplateCS)$getSym(1); |
| 672 |
PropertyTemplateCS propertyTemplateCS = (PropertyTemplateCS)$getSym(2); |
667 |
PropertyTemplateCS propertyTemplateCS = (PropertyTemplateCS)$getSym(2); |
| 673 |
result.getPropertyTemplate().add(propertyTemplateCS); |
668 |
result.getPropertyTemplate().add(propertyTemplateCS); |
| 674 |
setOffsets(result, result, propertyTemplateCS); |
669 |
setOffsets(result, result, propertyTemplateCS); |
| 675 |
$setResult(result); |
670 |
$setResult(result); |
| 676 |
$EndJava |
671 |
$EndCode |
| 677 |
./ |
672 |
./ |
| 678 |
objectTemplateCS ::= objectTemplateCS_prePropertyTemplates '}' |
673 |
objectTemplateCS ::= objectTemplateCS_prePropertyTemplates '}' |
| 679 |
/.$NewCase./ |
674 |
/.$NewCase./ |
| 680 |
objectTemplateCS ::= objectTemplateCS_postPropertyTemplate '}' |
675 |
objectTemplateCS ::= objectTemplateCS_postPropertyTemplate '}' |
| 681 |
/.$BeginJava |
676 |
/.$BeginCode |
| 682 |
ObjectTemplateCS result = (ObjectTemplateCS)$getSym(1); |
677 |
ObjectTemplateCS result = (ObjectTemplateCS)$getSym(1); |
| 683 |
setOffsets(result, result, getIToken($getToken(2))); |
678 |
setOffsets(result, result, getIToken($getToken(2))); |
| 684 |
$setResult(result); |
679 |
$setResult(result); |
| 685 |
$EndJava |
680 |
$EndCode |
| 686 |
./ |
681 |
./ |
| 687 |
|
682 |
|
| 688 |
--<propertyTemplate> ::= <identifier> '=' <OclExpressionCS> |
683 |
--<propertyTemplate> ::= <identifier> '=' <OclExpressionCS> |
| 689 |
propertyTemplateCS ::= propertyIdCS '=' oclExpressionCS |
684 |
propertyTemplateCS ::= propertyIdCS '=' oclExpressionCS |
| 690 |
/.$BeginJava |
685 |
/.$BeginCode |
| 691 |
IdentifiedCS propertyIdCS = (IdentifiedCS)$getSym(1); |
686 |
IdentifiedCS propertyIdCS = (IdentifiedCS)$getSym(1); |
| 692 |
PropertyTemplateCS result = QVTrCSTFactory.eINSTANCE.createPropertyTemplateCS(); |
687 |
PropertyTemplateCS result = QVTrCSTFactory.eINSTANCE.createPropertyTemplateCS(); |
| 693 |
OCLExpressionCS oclExpressionCS = (OCLExpressionCS)$getSym(3); |
688 |
OCLExpressionCS oclExpressionCS = (OCLExpressionCS)$getSym(3); |
|
Lines 695-725
Link Here
|
| 695 |
result.setOclExpression(oclExpressionCS); |
690 |
result.setOclExpression(oclExpressionCS); |
| 696 |
setOffsets(result, propertyIdCS, oclExpressionCS); |
691 |
setOffsets(result, propertyIdCS, oclExpressionCS); |
| 697 |
$setResult(result); |
692 |
$setResult(result); |
| 698 |
$EndJava |
693 |
$EndCode |
| 699 |
./ |
694 |
./ |
| 700 |
|
695 |
|
| 701 |
--<collectionTemplate> ::= [<identifier>] ':' <CollectionTypeIdentifierCS> '(' <TypeCS> ')' |
696 |
--<collectionTemplate> ::= [<identifier>] ':' <CollectionTypeIdentifierCS> '(' <TypeCS> ')' |
| 702 |
-- '{' [<memberSelection>] '}' |
697 |
-- '{' [<memberSelection>] '}' |
| 703 |
--<memberSelection> ::= (<identifier> | <template> | '_') |
698 |
--<memberSelection> ::= (<identifier> | <template> | '_') |