diff options
Diffstat (limited to 'Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.g')
-rw-r--r-- | Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.g | 2871 |
1 files changed, 1728 insertions, 1143 deletions
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.g b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.g index 8ec69aaa..eb6f05c7 100644 --- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.g +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.g | |||
@@ -71,23 +71,73 @@ ruleProblem returns [EObject current=null] | |||
71 | }: | 71 | }: |
72 | ( | 72 | ( |
73 | ( | 73 | ( |
74 | otherlv_0=Problem | ||
74 | { | 75 | { |
75 | newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0()); | 76 | newLeafNode(otherlv_0, grammarAccess.getProblemAccess().getProblemKeyword_0_0()); |
76 | } | 77 | } |
77 | lv_statements_0_0=ruleStatement | 78 | ( |
79 | ( | ||
80 | { | ||
81 | newCompositeNode(grammarAccess.getProblemAccess().getNameQualifiedNameParserRuleCall_0_1_0()); | ||
82 | } | ||
83 | lv_name_1_0=ruleQualifiedName | ||
84 | { | ||
85 | if ($current==null) { | ||
86 | $current = createModelElementForParent(grammarAccess.getProblemRule()); | ||
87 | } | ||
88 | set( | ||
89 | $current, | ||
90 | "name", | ||
91 | lv_name_1_0, | ||
92 | "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName"); | ||
93 | afterParserOrEnumRuleCall(); | ||
94 | } | ||
95 | ) | ||
96 | ) | ||
97 | this_FULL_STOP_2=RULE_FULL_STOP | ||
78 | { | 98 | { |
79 | if ($current==null) { | 99 | newLeafNode(this_FULL_STOP_2, grammarAccess.getProblemAccess().getFULL_STOPTerminalRuleCall_0_2()); |
80 | $current = createModelElementForParent(grammarAccess.getProblemRule()); | ||
81 | } | ||
82 | add( | ||
83 | $current, | ||
84 | "statements", | ||
85 | lv_statements_0_0, | ||
86 | "org.eclipse.viatra.solver.language.SolverLanguage.Statement"); | ||
87 | afterParserOrEnumRuleCall(); | ||
88 | } | 100 | } |
89 | ) | 101 | )? |
90 | )* | 102 | ( |
103 | ( | ||
104 | { | ||
105 | newCompositeNode(grammarAccess.getProblemAccess().getImportsImportParserRuleCall_1_0()); | ||
106 | } | ||
107 | lv_imports_3_0=ruleImport | ||
108 | { | ||
109 | if ($current==null) { | ||
110 | $current = createModelElementForParent(grammarAccess.getProblemRule()); | ||
111 | } | ||
112 | add( | ||
113 | $current, | ||
114 | "imports", | ||
115 | lv_imports_3_0, | ||
116 | "org.eclipse.viatra.solver.language.SolverLanguage.Import"); | ||
117 | afterParserOrEnumRuleCall(); | ||
118 | } | ||
119 | ) | ||
120 | )* | ||
121 | ( | ||
122 | ( | ||
123 | { | ||
124 | newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_2_0()); | ||
125 | } | ||
126 | lv_statements_4_0=ruleStatement | ||
127 | { | ||
128 | if ($current==null) { | ||
129 | $current = createModelElementForParent(grammarAccess.getProblemRule()); | ||
130 | } | ||
131 | add( | ||
132 | $current, | ||
133 | "statements", | ||
134 | lv_statements_4_0, | ||
135 | "org.eclipse.viatra.solver.language.SolverLanguage.Statement"); | ||
136 | afterParserOrEnumRuleCall(); | ||
137 | } | ||
138 | ) | ||
139 | )* | ||
140 | ) | ||
91 | ; | 141 | ; |
92 | 142 | ||
93 | // Entry rule entryRuleStatement | 143 | // Entry rule entryRuleStatement |
@@ -106,118 +156,280 @@ ruleStatement returns [EObject current=null] | |||
106 | leaveRule(); | 156 | leaveRule(); |
107 | }: | 157 | }: |
108 | ( | 158 | ( |
159 | { | ||
160 | newCompositeNode(grammarAccess.getStatementAccess().getAssertionOrDefinitionParserRuleCall_0()); | ||
161 | } | ||
162 | this_AssertionOrDefinition_0=ruleAssertionOrDefinition | ||
163 | { | ||
164 | $current = $this_AssertionOrDefinition_0.current; | ||
165 | afterParserOrEnumRuleCall(); | ||
166 | } | ||
167 | | | ||
168 | { | ||
169 | newCompositeNode(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_1()); | ||
170 | } | ||
171 | this_PredicateDefinition_1=rulePredicateDefinition | ||
172 | { | ||
173 | $current = $this_PredicateDefinition_1.current; | ||
174 | afterParserOrEnumRuleCall(); | ||
175 | } | ||
176 | | | ||
177 | { | ||
178 | newCompositeNode(grammarAccess.getStatementAccess().getUnnamedErrorPredicateDefintionParserRuleCall_2()); | ||
179 | } | ||
180 | this_UnnamedErrorPredicateDefintion_2=ruleUnnamedErrorPredicateDefintion | ||
181 | { | ||
182 | $current = $this_UnnamedErrorPredicateDefintion_2.current; | ||
183 | afterParserOrEnumRuleCall(); | ||
184 | } | ||
185 | | | ||
186 | { | ||
187 | newCompositeNode(grammarAccess.getStatementAccess().getDefaultAssertionParserRuleCall_3()); | ||
188 | } | ||
189 | this_DefaultAssertion_3=ruleDefaultAssertion | ||
190 | { | ||
191 | $current = $this_DefaultAssertion_3.current; | ||
192 | afterParserOrEnumRuleCall(); | ||
193 | } | ||
194 | | | ||
195 | { | ||
196 | newCompositeNode(grammarAccess.getStatementAccess().getFunctionDefinitionParserRuleCall_4()); | ||
197 | } | ||
198 | this_FunctionDefinition_4=ruleFunctionDefinition | ||
199 | { | ||
200 | $current = $this_FunctionDefinition_4.current; | ||
201 | afterParserOrEnumRuleCall(); | ||
202 | } | ||
203 | | | ||
204 | { | ||
205 | newCompositeNode(grammarAccess.getStatementAccess().getAttributeParserRuleCall_5()); | ||
206 | } | ||
207 | this_Attribute_5=ruleAttribute | ||
208 | { | ||
209 | $current = $this_Attribute_5.current; | ||
210 | afterParserOrEnumRuleCall(); | ||
211 | } | ||
212 | | | ||
213 | { | ||
214 | newCompositeNode(grammarAccess.getStatementAccess().getExternDeclarationParserRuleCall_6()); | ||
215 | } | ||
216 | this_ExternDeclaration_6=ruleExternDeclaration | ||
217 | { | ||
218 | $current = $this_ExternDeclaration_6.current; | ||
219 | afterParserOrEnumRuleCall(); | ||
220 | } | ||
221 | | | ||
222 | { | ||
223 | newCompositeNode(grammarAccess.getStatementAccess().getScopeDeclarationParserRuleCall_7()); | ||
224 | } | ||
225 | this_ScopeDeclaration_7=ruleScopeDeclaration | ||
226 | { | ||
227 | $current = $this_ScopeDeclaration_7.current; | ||
228 | afterParserOrEnumRuleCall(); | ||
229 | } | ||
230 | | | ||
231 | { | ||
232 | newCompositeNode(grammarAccess.getStatementAccess().getObjectiveDeclarationParserRuleCall_8()); | ||
233 | } | ||
234 | this_ObjectiveDeclaration_8=ruleObjectiveDeclaration | ||
235 | { | ||
236 | $current = $this_ObjectiveDeclaration_8.current; | ||
237 | afterParserOrEnumRuleCall(); | ||
238 | } | ||
239 | | | ||
240 | { | ||
241 | newCompositeNode(grammarAccess.getStatementAccess().getClassDeclarationParserRuleCall_9()); | ||
242 | } | ||
243 | this_ClassDeclaration_9=ruleClassDeclaration | ||
244 | { | ||
245 | $current = $this_ClassDeclaration_9.current; | ||
246 | afterParserOrEnumRuleCall(); | ||
247 | } | ||
248 | | | ||
249 | { | ||
250 | newCompositeNode(grammarAccess.getStatementAccess().getEnumDeclarationParserRuleCall_10()); | ||
251 | } | ||
252 | this_EnumDeclaration_10=ruleEnumDeclaration | ||
253 | { | ||
254 | $current = $this_EnumDeclaration_10.current; | ||
255 | afterParserOrEnumRuleCall(); | ||
256 | } | ||
257 | ) | ||
258 | ; | ||
259 | |||
260 | // Entry rule entryRuleImport | ||
261 | entryRuleImport returns [EObject current=null]: | ||
262 | { newCompositeNode(grammarAccess.getImportRule()); } | ||
263 | iv_ruleImport=ruleImport | ||
264 | { $current=$iv_ruleImport.current; } | ||
265 | EOF; | ||
266 | |||
267 | // Rule Import | ||
268 | ruleImport returns [EObject current=null] | ||
269 | @init { | ||
270 | enterRule(); | ||
271 | } | ||
272 | @after { | ||
273 | leaveRule(); | ||
274 | }: | ||
275 | ( | ||
276 | { | ||
277 | newCompositeNode(grammarAccess.getImportAccess().getUriImportParserRuleCall_0()); | ||
278 | } | ||
279 | this_UriImport_0=ruleUriImport | ||
280 | { | ||
281 | $current = $this_UriImport_0.current; | ||
282 | afterParserOrEnumRuleCall(); | ||
283 | } | ||
284 | | | ||
285 | { | ||
286 | newCompositeNode(grammarAccess.getImportAccess().getNamespaceImportParserRuleCall_1()); | ||
287 | } | ||
288 | this_NamespaceImport_1=ruleNamespaceImport | ||
289 | { | ||
290 | $current = $this_NamespaceImport_1.current; | ||
291 | afterParserOrEnumRuleCall(); | ||
292 | } | ||
293 | ) | ||
294 | ; | ||
295 | |||
296 | // Entry rule entryRuleUriImport | ||
297 | entryRuleUriImport returns [EObject current=null]: | ||
298 | { newCompositeNode(grammarAccess.getUriImportRule()); } | ||
299 | iv_ruleUriImport=ruleUriImport | ||
300 | { $current=$iv_ruleUriImport.current; } | ||
301 | EOF; | ||
302 | |||
303 | // Rule UriImport | ||
304 | ruleUriImport returns [EObject current=null] | ||
305 | @init { | ||
306 | enterRule(); | ||
307 | } | ||
308 | @after { | ||
309 | leaveRule(); | ||
310 | }: | ||
311 | ( | ||
312 | otherlv_0=Import | ||
313 | { | ||
314 | newLeafNode(otherlv_0, grammarAccess.getUriImportAccess().getImportKeyword_0()); | ||
315 | } | ||
109 | ( | 316 | ( |
317 | ( | ||
318 | lv_uri_1_0=RULE_STRING | ||
319 | { | ||
320 | newLeafNode(lv_uri_1_0, grammarAccess.getUriImportAccess().getUriSTRINGTerminalRuleCall_1_0()); | ||
321 | } | ||
322 | { | ||
323 | if ($current==null) { | ||
324 | $current = createModelElement(grammarAccess.getUriImportRule()); | ||
325 | } | ||
326 | setWithLastConsumed( | ||
327 | $current, | ||
328 | "uri", | ||
329 | lv_uri_1_0, | ||
330 | "org.eclipse.viatra.solver.language.SolverLanguage.STRING"); | ||
331 | } | ||
332 | ) | ||
333 | ) | ||
334 | ( | ||
335 | otherlv_2=As | ||
110 | { | 336 | { |
111 | newCompositeNode(grammarAccess.getStatementAccess().getAssertionOrDefinitionParserRuleCall_0_0()); | 337 | newLeafNode(otherlv_2, grammarAccess.getUriImportAccess().getAsKeyword_2_0()); |
112 | } | ||
113 | this_AssertionOrDefinition_0=ruleAssertionOrDefinition | ||
114 | { | ||
115 | $current = $this_AssertionOrDefinition_0.current; | ||
116 | afterParserOrEnumRuleCall(); | ||
117 | } | ||
118 | | | ||
119 | { | ||
120 | newCompositeNode(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_0_1()); | ||
121 | } | ||
122 | this_PredicateDefinition_1=rulePredicateDefinition | ||
123 | { | ||
124 | $current = $this_PredicateDefinition_1.current; | ||
125 | afterParserOrEnumRuleCall(); | ||
126 | } | ||
127 | | | ||
128 | { | ||
129 | newCompositeNode(grammarAccess.getStatementAccess().getUnnamedErrorPrediateDefinitionParserRuleCall_0_2()); | ||
130 | } | ||
131 | this_UnnamedErrorPrediateDefinition_2=ruleUnnamedErrorPrediateDefinition | ||
132 | { | ||
133 | $current = $this_UnnamedErrorPrediateDefinition_2.current; | ||
134 | afterParserOrEnumRuleCall(); | ||
135 | } | ||
136 | | | ||
137 | { | ||
138 | newCompositeNode(grammarAccess.getStatementAccess().getDefaultDefinitionParserRuleCall_0_3()); | ||
139 | } | ||
140 | this_DefaultDefinition_3=ruleDefaultDefinition | ||
141 | { | ||
142 | $current = $this_DefaultDefinition_3.current; | ||
143 | afterParserOrEnumRuleCall(); | ||
144 | } | ||
145 | | | ||
146 | { | ||
147 | newCompositeNode(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_4()); | ||
148 | } | ||
149 | this_MetricDefinition_4=ruleMetricDefinition | ||
150 | { | ||
151 | $current = $this_MetricDefinition_4.current; | ||
152 | afterParserOrEnumRuleCall(); | ||
153 | } | ||
154 | | | ||
155 | { | ||
156 | newCompositeNode(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_5()); | ||
157 | } | ||
158 | this_ExternPredicateDefinition_5=ruleExternPredicateDefinition | ||
159 | { | ||
160 | $current = $this_ExternPredicateDefinition_5.current; | ||
161 | afterParserOrEnumRuleCall(); | ||
162 | } | ||
163 | | | ||
164 | { | ||
165 | newCompositeNode(grammarAccess.getStatementAccess().getExternMetricDefinitionParserRuleCall_0_6()); | ||
166 | } | ||
167 | this_ExternMetricDefinition_6=ruleExternMetricDefinition | ||
168 | { | ||
169 | $current = $this_ExternMetricDefinition_6.current; | ||
170 | afterParserOrEnumRuleCall(); | ||
171 | } | ||
172 | | | ||
173 | { | ||
174 | newCompositeNode(grammarAccess.getStatementAccess().getExternAggregatorDefinitionParserRuleCall_0_7()); | ||
175 | } | ||
176 | this_ExternAggregatorDefinition_7=ruleExternAggregatorDefinition | ||
177 | { | ||
178 | $current = $this_ExternAggregatorDefinition_7.current; | ||
179 | afterParserOrEnumRuleCall(); | ||
180 | } | ||
181 | | | ||
182 | { | ||
183 | newCompositeNode(grammarAccess.getStatementAccess().getExternDatatypeDefinitionParserRuleCall_0_8()); | ||
184 | } | ||
185 | this_ExternDatatypeDefinition_8=ruleExternDatatypeDefinition | ||
186 | { | ||
187 | $current = $this_ExternDatatypeDefinition_8.current; | ||
188 | afterParserOrEnumRuleCall(); | ||
189 | } | ||
190 | | | ||
191 | { | ||
192 | newCompositeNode(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_9()); | ||
193 | } | ||
194 | this_ClassDefinition_9=ruleClassDefinition | ||
195 | { | ||
196 | $current = $this_ClassDefinition_9.current; | ||
197 | afterParserOrEnumRuleCall(); | ||
198 | } | ||
199 | | | ||
200 | { | ||
201 | newCompositeNode(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_10()); | ||
202 | } | ||
203 | this_ScopeDefinition_10=ruleScopeDefinition | ||
204 | { | ||
205 | $current = $this_ScopeDefinition_10.current; | ||
206 | afterParserOrEnumRuleCall(); | ||
207 | } | ||
208 | | | ||
209 | { | ||
210 | newCompositeNode(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_11()); | ||
211 | } | 338 | } |
212 | this_ObjectiveDefinition_11=ruleObjectiveDefinition | 339 | ( |
340 | ( | ||
341 | { | ||
342 | newCompositeNode(grammarAccess.getUriImportAccess().getAliasQualifiedNameParserRuleCall_2_1_0()); | ||
343 | } | ||
344 | lv_alias_3_0=ruleQualifiedName | ||
345 | { | ||
346 | if ($current==null) { | ||
347 | $current = createModelElementForParent(grammarAccess.getUriImportRule()); | ||
348 | } | ||
349 | set( | ||
350 | $current, | ||
351 | "alias", | ||
352 | lv_alias_3_0, | ||
353 | "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName"); | ||
354 | afterParserOrEnumRuleCall(); | ||
355 | } | ||
356 | ) | ||
357 | ) | ||
358 | ) | ||
359 | this_FULL_STOP_4=RULE_FULL_STOP | ||
360 | { | ||
361 | newLeafNode(this_FULL_STOP_4, grammarAccess.getUriImportAccess().getFULL_STOPTerminalRuleCall_3()); | ||
362 | } | ||
363 | ) | ||
364 | ; | ||
365 | |||
366 | // Entry rule entryRuleNamespaceImport | ||
367 | entryRuleNamespaceImport returns [EObject current=null]: | ||
368 | { newCompositeNode(grammarAccess.getNamespaceImportRule()); } | ||
369 | iv_ruleNamespaceImport=ruleNamespaceImport | ||
370 | { $current=$iv_ruleNamespaceImport.current; } | ||
371 | EOF; | ||
372 | |||
373 | // Rule NamespaceImport | ||
374 | ruleNamespaceImport returns [EObject current=null] | ||
375 | @init { | ||
376 | enterRule(); | ||
377 | } | ||
378 | @after { | ||
379 | leaveRule(); | ||
380 | }: | ||
381 | ( | ||
382 | otherlv_0=Import | ||
383 | { | ||
384 | newLeafNode(otherlv_0, grammarAccess.getNamespaceImportAccess().getImportKeyword_0()); | ||
385 | } | ||
386 | ( | ||
387 | ( | ||
388 | { | ||
389 | newCompositeNode(grammarAccess.getNamespaceImportAccess().getImportedNamespaceQualifiedNameParserRuleCall_1_0()); | ||
390 | } | ||
391 | lv_importedNamespace_1_0=ruleQualifiedName | ||
392 | { | ||
393 | if ($current==null) { | ||
394 | $current = createModelElementForParent(grammarAccess.getNamespaceImportRule()); | ||
395 | } | ||
396 | set( | ||
397 | $current, | ||
398 | "importedNamespace", | ||
399 | lv_importedNamespace_1_0, | ||
400 | "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName"); | ||
401 | afterParserOrEnumRuleCall(); | ||
402 | } | ||
403 | ) | ||
404 | ) | ||
405 | ( | ||
406 | otherlv_2=As | ||
213 | { | 407 | { |
214 | $current = $this_ObjectiveDefinition_11.current; | 408 | newLeafNode(otherlv_2, grammarAccess.getNamespaceImportAccess().getAsKeyword_2_0()); |
215 | afterParserOrEnumRuleCall(); | ||
216 | } | 409 | } |
410 | ( | ||
411 | ( | ||
412 | { | ||
413 | newCompositeNode(grammarAccess.getNamespaceImportAccess().getAliasQualifiedNameParserRuleCall_2_1_0()); | ||
414 | } | ||
415 | lv_alias_3_0=ruleQualifiedName | ||
416 | { | ||
417 | if ($current==null) { | ||
418 | $current = createModelElementForParent(grammarAccess.getNamespaceImportRule()); | ||
419 | } | ||
420 | set( | ||
421 | $current, | ||
422 | "alias", | ||
423 | lv_alias_3_0, | ||
424 | "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName"); | ||
425 | afterParserOrEnumRuleCall(); | ||
426 | } | ||
427 | ) | ||
428 | ) | ||
217 | ) | 429 | ) |
218 | this_FULL_STOP_12=RULE_FULL_STOP | 430 | this_FULL_STOP_4=RULE_FULL_STOP |
219 | { | 431 | { |
220 | newLeafNode(this_FULL_STOP_12, grammarAccess.getStatementAccess().getFULL_STOPTerminalRuleCall_1()); | 432 | newLeafNode(this_FULL_STOP_4, grammarAccess.getNamespaceImportAccess().getFULL_STOPTerminalRuleCall_3()); |
221 | } | 433 | } |
222 | ) | 434 | ) |
223 | ; | 435 | ; |
@@ -251,33 +463,35 @@ ruleAssertionOrDefinition returns [EObject current=null] | |||
251 | ( | 463 | ( |
252 | { | 464 | { |
253 | $current = forceCreateModelElementAndSet( | 465 | $current = forceCreateModelElementAndSet( |
254 | grammarAccess.getAssertionOrDefinitionAccess().getInterpretationBodyAction_1_0_0(), | 466 | grammarAccess.getAssertionOrDefinitionAccess().getAssertionExpressionAction_1_0_0(), |
255 | $current); | 467 | $current); |
256 | } | 468 | } |
257 | ) | 469 | ) |
258 | otherlv_2=Colon | ||
259 | { | ||
260 | newLeafNode(otherlv_2, grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1()); | ||
261 | } | ||
262 | ( | 470 | ( |
471 | otherlv_2=Colon | ||
472 | { | ||
473 | newLeafNode(otherlv_2, grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1_0()); | ||
474 | } | ||
263 | ( | 475 | ( |
264 | { | 476 | ( |
265 | newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_2_0()); | 477 | { |
266 | } | 478 | newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_1_1_0()); |
267 | lv_range_3_0=ruleExpression | ||
268 | { | ||
269 | if ($current==null) { | ||
270 | $current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule()); | ||
271 | } | 479 | } |
272 | set( | 480 | lv_range_3_0=ruleExpression |
273 | $current, | 481 | { |
274 | "range", | 482 | if ($current==null) { |
275 | lv_range_3_0, | 483 | $current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule()); |
276 | "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); | 484 | } |
277 | afterParserOrEnumRuleCall(); | 485 | set( |
278 | } | 486 | $current, |
487 | "range", | ||
488 | lv_range_3_0, | ||
489 | "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); | ||
490 | afterParserOrEnumRuleCall(); | ||
491 | } | ||
492 | ) | ||
279 | ) | 493 | ) |
280 | ) | 494 | )? |
281 | ) | 495 | ) |
282 | | | 496 | | |
283 | ( | 497 | ( |
@@ -317,13 +531,13 @@ ruleAssertionOrDefinition returns [EObject current=null] | |||
317 | ( | 531 | ( |
318 | { | 532 | { |
319 | $current = forceCreateModelElementAndSet( | 533 | $current = forceCreateModelElementAndSet( |
320 | grammarAccess.getAssertionOrDefinitionAccess().getMetricDefinitionHeadAction_1_2_0(), | 534 | grammarAccess.getAssertionOrDefinitionAccess().getFunctionDefinitionHeadAction_1_2_0(), |
321 | $current); | 535 | $current); |
322 | } | 536 | } |
323 | ) | 537 | ) |
324 | otherlv_8=EqualsSign | 538 | otherlv_8=ColonEqualsSign |
325 | { | 539 | { |
326 | newLeafNode(otherlv_8, grammarAccess.getAssertionOrDefinitionAccess().getEqualsSignKeyword_1_2_1()); | 540 | newLeafNode(otherlv_8, grammarAccess.getAssertionOrDefinitionAccess().getColonEqualsSignKeyword_1_2_1()); |
327 | } | 541 | } |
328 | ( | 542 | ( |
329 | ( | 543 | ( |
@@ -345,7 +559,11 @@ ruleAssertionOrDefinition returns [EObject current=null] | |||
345 | ) | 559 | ) |
346 | ) | 560 | ) |
347 | ) | 561 | ) |
348 | )? | 562 | ) |
563 | this_FULL_STOP_10=RULE_FULL_STOP | ||
564 | { | ||
565 | newLeafNode(this_FULL_STOP_10, grammarAccess.getAssertionOrDefinitionAccess().getFULL_STOPTerminalRuleCall_2()); | ||
566 | } | ||
349 | ) | 567 | ) |
350 | ; | 568 | ; |
351 | 569 | ||
@@ -470,18 +688,22 @@ rulePredicateDefinition returns [EObject current=null] | |||
470 | } | 688 | } |
471 | ) | 689 | ) |
472 | ) | 690 | ) |
691 | this_FULL_STOP_7=RULE_FULL_STOP | ||
692 | { | ||
693 | newLeafNode(this_FULL_STOP_7, grammarAccess.getPredicateDefinitionAccess().getFULL_STOPTerminalRuleCall_4()); | ||
694 | } | ||
473 | ) | 695 | ) |
474 | ; | 696 | ; |
475 | 697 | ||
476 | // Entry rule entryRuleUnnamedErrorPrediateDefinition | 698 | // Entry rule entryRuleUnnamedErrorPredicateDefintion |
477 | entryRuleUnnamedErrorPrediateDefinition returns [EObject current=null]: | 699 | entryRuleUnnamedErrorPredicateDefintion returns [EObject current=null]: |
478 | { newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); } | 700 | { newCompositeNode(grammarAccess.getUnnamedErrorPredicateDefintionRule()); } |
479 | iv_ruleUnnamedErrorPrediateDefinition=ruleUnnamedErrorPrediateDefinition | 701 | iv_ruleUnnamedErrorPredicateDefintion=ruleUnnamedErrorPredicateDefintion |
480 | { $current=$iv_ruleUnnamedErrorPrediateDefinition.current; } | 702 | { $current=$iv_ruleUnnamedErrorPredicateDefintion.current; } |
481 | EOF; | 703 | EOF; |
482 | 704 | ||
483 | // Rule UnnamedErrorPrediateDefinition | 705 | // Rule UnnamedErrorPredicateDefintion |
484 | ruleUnnamedErrorPrediateDefinition returns [EObject current=null] | 706 | ruleUnnamedErrorPredicateDefintion returns [EObject current=null] |
485 | @init { | 707 | @init { |
486 | enterRule(); | 708 | enterRule(); |
487 | } | 709 | } |
@@ -491,17 +713,17 @@ ruleUnnamedErrorPrediateDefinition returns [EObject current=null] | |||
491 | ( | 713 | ( |
492 | otherlv_0=Error | 714 | otherlv_0=Error |
493 | { | 715 | { |
494 | newLeafNode(otherlv_0, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getErrorKeyword_0()); | 716 | newLeafNode(otherlv_0, grammarAccess.getUnnamedErrorPredicateDefintionAccess().getErrorKeyword_0()); |
495 | } | 717 | } |
496 | ( | 718 | ( |
497 | ( | 719 | ( |
498 | { | 720 | { |
499 | newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListArgumentListParserRuleCall_1_0()); | 721 | newCompositeNode(grammarAccess.getUnnamedErrorPredicateDefintionAccess().getArgumentListArgumentListParserRuleCall_1_0()); |
500 | } | 722 | } |
501 | lv_argumentList_1_0=ruleArgumentList | 723 | lv_argumentList_1_0=ruleArgumentList |
502 | { | 724 | { |
503 | if ($current==null) { | 725 | if ($current==null) { |
504 | $current = createModelElementForParent(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); | 726 | $current = createModelElementForParent(grammarAccess.getUnnamedErrorPredicateDefintionRule()); |
505 | } | 727 | } |
506 | set( | 728 | set( |
507 | $current, | 729 | $current, |
@@ -514,17 +736,17 @@ ruleUnnamedErrorPrediateDefinition returns [EObject current=null] | |||
514 | ) | 736 | ) |
515 | otherlv_2=ColonHyphenMinus | 737 | otherlv_2=ColonHyphenMinus |
516 | { | 738 | { |
517 | newLeafNode(otherlv_2, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getColonHyphenMinusKeyword_2()); | 739 | newLeafNode(otherlv_2, grammarAccess.getUnnamedErrorPredicateDefintionAccess().getColonHyphenMinusKeyword_2()); |
518 | } | 740 | } |
519 | ( | 741 | ( |
520 | ( | 742 | ( |
521 | { | 743 | { |
522 | newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); | 744 | newCompositeNode(grammarAccess.getUnnamedErrorPredicateDefintionAccess().getBodyExpressionParserRuleCall_3_0()); |
523 | } | 745 | } |
524 | lv_body_3_0=ruleExpression | 746 | lv_body_3_0=ruleExpression |
525 | { | 747 | { |
526 | if ($current==null) { | 748 | if ($current==null) { |
527 | $current = createModelElementForParent(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); | 749 | $current = createModelElementForParent(grammarAccess.getUnnamedErrorPredicateDefintionRule()); |
528 | } | 750 | } |
529 | set( | 751 | set( |
530 | $current, | 752 | $current, |
@@ -535,18 +757,22 @@ ruleUnnamedErrorPrediateDefinition returns [EObject current=null] | |||
535 | } | 757 | } |
536 | ) | 758 | ) |
537 | ) | 759 | ) |
760 | this_FULL_STOP_4=RULE_FULL_STOP | ||
761 | { | ||
762 | newLeafNode(this_FULL_STOP_4, grammarAccess.getUnnamedErrorPredicateDefintionAccess().getFULL_STOPTerminalRuleCall_4()); | ||
763 | } | ||
538 | ) | 764 | ) |
539 | ; | 765 | ; |
540 | 766 | ||
541 | // Entry rule entryRuleDefaultDefinition | 767 | // Entry rule entryRuleDefaultAssertion |
542 | entryRuleDefaultDefinition returns [EObject current=null]: | 768 | entryRuleDefaultAssertion returns [EObject current=null]: |
543 | { newCompositeNode(grammarAccess.getDefaultDefinitionRule()); } | 769 | { newCompositeNode(grammarAccess.getDefaultAssertionRule()); } |
544 | iv_ruleDefaultDefinition=ruleDefaultDefinition | 770 | iv_ruleDefaultAssertion=ruleDefaultAssertion |
545 | { $current=$iv_ruleDefaultDefinition.current; } | 771 | { $current=$iv_ruleDefaultAssertion.current; } |
546 | EOF; | 772 | EOF; |
547 | 773 | ||
548 | // Rule DefaultDefinition | 774 | // Rule DefaultAssertion |
549 | ruleDefaultDefinition returns [EObject current=null] | 775 | ruleDefaultAssertion returns [EObject current=null] |
550 | @init { | 776 | @init { |
551 | enterRule(); | 777 | enterRule(); |
552 | } | 778 | } |
@@ -556,17 +782,100 @@ ruleDefaultDefinition returns [EObject current=null] | |||
556 | ( | 782 | ( |
557 | otherlv_0=Default | 783 | otherlv_0=Default |
558 | { | 784 | { |
559 | newLeafNode(otherlv_0, grammarAccess.getDefaultDefinitionAccess().getDefaultKeyword_0()); | 785 | newLeafNode(otherlv_0, grammarAccess.getDefaultAssertionAccess().getDefaultKeyword_0()); |
560 | } | 786 | } |
561 | ( | 787 | ( |
562 | ( | 788 | ( |
563 | { | 789 | { |
564 | newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getHeadCallParserRuleCall_1_0()); | 790 | newCompositeNode(grammarAccess.getDefaultAssertionAccess().getExpressionCallParserRuleCall_1_0()); |
791 | } | ||
792 | lv_expression_1_0=ruleCall | ||
793 | { | ||
794 | if ($current==null) { | ||
795 | $current = createModelElementForParent(grammarAccess.getDefaultAssertionRule()); | ||
796 | } | ||
797 | set( | ||
798 | $current, | ||
799 | "expression", | ||
800 | lv_expression_1_0, | ||
801 | "org.eclipse.viatra.solver.language.SolverLanguage.Call"); | ||
802 | afterParserOrEnumRuleCall(); | ||
803 | } | ||
804 | ) | ||
805 | ) | ||
806 | ( | ||
807 | otherlv_2=Colon | ||
808 | { | ||
809 | newLeafNode(otherlv_2, grammarAccess.getDefaultAssertionAccess().getColonKeyword_2_0()); | ||
810 | } | ||
811 | ( | ||
812 | ( | ||
813 | { | ||
814 | newCompositeNode(grammarAccess.getDefaultAssertionAccess().getRangeExpressionParserRuleCall_2_1_0()); | ||
815 | } | ||
816 | lv_range_3_0=ruleExpression | ||
817 | { | ||
818 | if ($current==null) { | ||
819 | $current = createModelElementForParent(grammarAccess.getDefaultAssertionRule()); | ||
820 | } | ||
821 | set( | ||
822 | $current, | ||
823 | "range", | ||
824 | lv_range_3_0, | ||
825 | "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); | ||
826 | afterParserOrEnumRuleCall(); | ||
827 | } | ||
828 | ) | ||
829 | ) | ||
830 | )? | ||
831 | this_FULL_STOP_4=RULE_FULL_STOP | ||
832 | { | ||
833 | newLeafNode(this_FULL_STOP_4, grammarAccess.getDefaultAssertionAccess().getFULL_STOPTerminalRuleCall_3()); | ||
834 | } | ||
835 | ) | ||
836 | ; | ||
837 | |||
838 | // Entry rule entryRuleFunctionDefinition | ||
839 | entryRuleFunctionDefinition returns [EObject current=null]: | ||
840 | { newCompositeNode(grammarAccess.getFunctionDefinitionRule()); } | ||
841 | iv_ruleFunctionDefinition=ruleFunctionDefinition | ||
842 | { $current=$iv_ruleFunctionDefinition.current; } | ||
843 | EOF; | ||
844 | |||
845 | // Rule FunctionDefinition | ||
846 | ruleFunctionDefinition returns [EObject current=null] | ||
847 | @init { | ||
848 | enterRule(); | ||
849 | } | ||
850 | @after { | ||
851 | leaveRule(); | ||
852 | }: | ||
853 | ( | ||
854 | ( | ||
855 | ( | ||
856 | { | ||
857 | if ($current==null) { | ||
858 | $current = createModelElement(grammarAccess.getFunctionDefinitionRule()); | ||
859 | } | ||
860 | } | ||
861 | { | ||
862 | newCompositeNode(grammarAccess.getFunctionDefinitionAccess().getResultTypeSymbolCrossReference_0_0()); | ||
863 | } | ||
864 | ruleQualifiedName | ||
865 | { | ||
866 | afterParserOrEnumRuleCall(); | ||
867 | } | ||
868 | ) | ||
869 | ) | ||
870 | ( | ||
871 | ( | ||
872 | { | ||
873 | newCompositeNode(grammarAccess.getFunctionDefinitionAccess().getHeadCallParserRuleCall_1_0()); | ||
565 | } | 874 | } |
566 | lv_head_1_0=ruleCall | 875 | lv_head_1_0=ruleCall |
567 | { | 876 | { |
568 | if ($current==null) { | 877 | if ($current==null) { |
569 | $current = createModelElementForParent(grammarAccess.getDefaultDefinitionRule()); | 878 | $current = createModelElementForParent(grammarAccess.getFunctionDefinitionRule()); |
570 | } | 879 | } |
571 | set( | 880 | set( |
572 | $current, | 881 | $current, |
@@ -577,41 +886,45 @@ ruleDefaultDefinition returns [EObject current=null] | |||
577 | } | 886 | } |
578 | ) | 887 | ) |
579 | ) | 888 | ) |
580 | otherlv_2=Colon | 889 | otherlv_2=ColonEqualsSign |
581 | { | 890 | { |
582 | newLeafNode(otherlv_2, grammarAccess.getDefaultDefinitionAccess().getColonKeyword_2()); | 891 | newLeafNode(otherlv_2, grammarAccess.getFunctionDefinitionAccess().getColonEqualsSignKeyword_2()); |
583 | } | 892 | } |
584 | ( | 893 | ( |
585 | ( | 894 | ( |
586 | { | 895 | { |
587 | newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getRangeExpressionParserRuleCall_3_0()); | 896 | newCompositeNode(grammarAccess.getFunctionDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); |
588 | } | 897 | } |
589 | lv_range_3_0=ruleExpression | 898 | lv_body_3_0=ruleExpression |
590 | { | 899 | { |
591 | if ($current==null) { | 900 | if ($current==null) { |
592 | $current = createModelElementForParent(grammarAccess.getDefaultDefinitionRule()); | 901 | $current = createModelElementForParent(grammarAccess.getFunctionDefinitionRule()); |
593 | } | 902 | } |
594 | set( | 903 | set( |
595 | $current, | 904 | $current, |
596 | "range", | 905 | "body", |
597 | lv_range_3_0, | 906 | lv_body_3_0, |
598 | "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); | 907 | "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); |
599 | afterParserOrEnumRuleCall(); | 908 | afterParserOrEnumRuleCall(); |
600 | } | 909 | } |
601 | ) | 910 | ) |
602 | ) | 911 | ) |
912 | this_FULL_STOP_4=RULE_FULL_STOP | ||
913 | { | ||
914 | newLeafNode(this_FULL_STOP_4, grammarAccess.getFunctionDefinitionAccess().getFULL_STOPTerminalRuleCall_4()); | ||
915 | } | ||
603 | ) | 916 | ) |
604 | ; | 917 | ; |
605 | 918 | ||
606 | // Entry rule entryRuleMetricDefinition | 919 | // Entry rule entryRuleTypeReference |
607 | entryRuleMetricDefinition returns [EObject current=null]: | 920 | entryRuleTypeReference returns [EObject current=null]: |
608 | { newCompositeNode(grammarAccess.getMetricDefinitionRule()); } | 921 | { newCompositeNode(grammarAccess.getTypeReferenceRule()); } |
609 | iv_ruleMetricDefinition=ruleMetricDefinition | 922 | iv_ruleTypeReference=ruleTypeReference |
610 | { $current=$iv_ruleMetricDefinition.current; } | 923 | { $current=$iv_ruleTypeReference.current; } |
611 | EOF; | 924 | EOF; |
612 | 925 | ||
613 | // Rule MetricDefinition | 926 | // Rule TypeReference |
614 | ruleMetricDefinition returns [EObject current=null] | 927 | ruleTypeReference returns [EObject current=null] |
615 | @init { | 928 | @init { |
616 | enterRule(); | 929 | enterRule(); |
617 | } | 930 | } |
@@ -623,11 +936,11 @@ ruleMetricDefinition returns [EObject current=null] | |||
623 | ( | 936 | ( |
624 | { | 937 | { |
625 | if ($current==null) { | 938 | if ($current==null) { |
626 | $current = createModelElement(grammarAccess.getMetricDefinitionRule()); | 939 | $current = createModelElement(grammarAccess.getTypeReferenceRule()); |
627 | } | 940 | } |
628 | } | 941 | } |
629 | { | 942 | { |
630 | newCompositeNode(grammarAccess.getMetricDefinitionAccess().getTypeNamedElementCrossReference_0_0()); | 943 | newCompositeNode(grammarAccess.getTypeReferenceAccess().getTypeSymbolCrossReference_0_0()); |
631 | } | 944 | } |
632 | ruleQualifiedName | 945 | ruleQualifiedName |
633 | { | 946 | { |
@@ -637,58 +950,142 @@ ruleMetricDefinition returns [EObject current=null] | |||
637 | ) | 950 | ) |
638 | ( | 951 | ( |
639 | ( | 952 | ( |
953 | lv_forceObjectType_1_0=Object | ||
640 | { | 954 | { |
641 | newCompositeNode(grammarAccess.getMetricDefinitionAccess().getHeadCallParserRuleCall_1_0()); | 955 | newLeafNode(lv_forceObjectType_1_0, grammarAccess.getTypeReferenceAccess().getForceObjectTypeObjectKeyword_1_0()); |
642 | } | 956 | } |
643 | lv_head_1_0=ruleCall | ||
644 | { | 957 | { |
645 | if ($current==null) { | 958 | if ($current==null) { |
646 | $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); | 959 | $current = createModelElement(grammarAccess.getTypeReferenceRule()); |
647 | } | 960 | } |
648 | set( | 961 | setWithLastConsumed($current, "forceObjectType", true, "object"); |
649 | $current, | ||
650 | "head", | ||
651 | lv_head_1_0, | ||
652 | "org.eclipse.viatra.solver.language.SolverLanguage.Call"); | ||
653 | afterParserOrEnumRuleCall(); | ||
654 | } | 962 | } |
655 | ) | 963 | ) |
656 | ) | 964 | )? |
657 | otherlv_2=EqualsSign | 965 | ) |
658 | { | 966 | ; |
659 | newLeafNode(otherlv_2, grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2()); | 967 | |
660 | } | 968 | // Entry rule entryRuleAttribute |
969 | entryRuleAttribute returns [EObject current=null]: | ||
970 | { newCompositeNode(grammarAccess.getAttributeRule()); } | ||
971 | iv_ruleAttribute=ruleAttribute | ||
972 | { $current=$iv_ruleAttribute.current; } | ||
973 | EOF; | ||
974 | |||
975 | // Rule Attribute | ||
976 | ruleAttribute returns [EObject current=null] | ||
977 | @init { | ||
978 | enterRule(); | ||
979 | } | ||
980 | @after { | ||
981 | leaveRule(); | ||
982 | }: | ||
983 | ( | ||
661 | ( | 984 | ( |
662 | ( | 985 | ( |
663 | { | 986 | { |
664 | newCompositeNode(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); | 987 | newCompositeNode(grammarAccess.getAttributeAccess().getKindAttributeKindEnumRuleCall_0_0()); |
665 | } | 988 | } |
666 | lv_body_3_0=ruleExpression | 989 | lv_kind_0_0=ruleAttributeKind |
667 | { | 990 | { |
668 | if ($current==null) { | 991 | if ($current==null) { |
669 | $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); | 992 | $current = createModelElementForParent(grammarAccess.getAttributeRule()); |
670 | } | 993 | } |
671 | set( | 994 | set( |
672 | $current, | 995 | $current, |
673 | "body", | 996 | "kind", |
674 | lv_body_3_0, | 997 | lv_kind_0_0, |
675 | "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); | 998 | "org.eclipse.viatra.solver.language.SolverLanguage.AttributeKind"); |
676 | afterParserOrEnumRuleCall(); | 999 | afterParserOrEnumRuleCall(); |
677 | } | 1000 | } |
678 | ) | 1001 | ) |
679 | ) | 1002 | ) |
1003 | ( | ||
1004 | ( | ||
1005 | { | ||
1006 | if ($current==null) { | ||
1007 | $current = createModelElement(grammarAccess.getAttributeRule()); | ||
1008 | } | ||
1009 | } | ||
1010 | { | ||
1011 | newCompositeNode(grammarAccess.getAttributeAccess().getTargetSymbolCrossReference_1_0()); | ||
1012 | } | ||
1013 | ruleQualifiedName | ||
1014 | { | ||
1015 | afterParserOrEnumRuleCall(); | ||
1016 | } | ||
1017 | ) | ||
1018 | ) | ||
1019 | this_FULL_STOP_2=RULE_FULL_STOP | ||
1020 | { | ||
1021 | newLeafNode(this_FULL_STOP_2, grammarAccess.getAttributeAccess().getFULL_STOPTerminalRuleCall_2()); | ||
1022 | } | ||
680 | ) | 1023 | ) |
681 | ; | 1024 | ; |
682 | 1025 | ||
683 | // Entry rule entryRuleExternPredicateDefinition | 1026 | // Entry rule entryRuleExternDeclaration |
684 | entryRuleExternPredicateDefinition returns [EObject current=null]: | 1027 | entryRuleExternDeclaration returns [EObject current=null]: |
685 | { newCompositeNode(grammarAccess.getExternPredicateDefinitionRule()); } | 1028 | { newCompositeNode(grammarAccess.getExternDeclarationRule()); } |
686 | iv_ruleExternPredicateDefinition=ruleExternPredicateDefinition | 1029 | iv_ruleExternDeclaration=ruleExternDeclaration |
687 | { $current=$iv_ruleExternPredicateDefinition.current; } | 1030 | { $current=$iv_ruleExternDeclaration.current; } |
688 | EOF; | 1031 | EOF; |
689 | 1032 | ||
690 | // Rule ExternPredicateDefinition | 1033 | // Rule ExternDeclaration |
691 | ruleExternPredicateDefinition returns [EObject current=null] | 1034 | ruleExternDeclaration returns [EObject current=null] |
1035 | @init { | ||
1036 | enterRule(); | ||
1037 | } | ||
1038 | @after { | ||
1039 | leaveRule(); | ||
1040 | }: | ||
1041 | ( | ||
1042 | { | ||
1043 | newCompositeNode(grammarAccess.getExternDeclarationAccess().getExternPredicateDeclarationParserRuleCall_0()); | ||
1044 | } | ||
1045 | this_ExternPredicateDeclaration_0=ruleExternPredicateDeclaration | ||
1046 | { | ||
1047 | $current = $this_ExternPredicateDeclaration_0.current; | ||
1048 | afterParserOrEnumRuleCall(); | ||
1049 | } | ||
1050 | | | ||
1051 | { | ||
1052 | newCompositeNode(grammarAccess.getExternDeclarationAccess().getExternFunctionDeclarationParserRuleCall_1()); | ||
1053 | } | ||
1054 | this_ExternFunctionDeclaration_1=ruleExternFunctionDeclaration | ||
1055 | { | ||
1056 | $current = $this_ExternFunctionDeclaration_1.current; | ||
1057 | afterParserOrEnumRuleCall(); | ||
1058 | } | ||
1059 | | | ||
1060 | { | ||
1061 | newCompositeNode(grammarAccess.getExternDeclarationAccess().getExternAggregationOperatorDeclarationParserRuleCall_2()); | ||
1062 | } | ||
1063 | this_ExternAggregationOperatorDeclaration_2=ruleExternAggregationOperatorDeclaration | ||
1064 | { | ||
1065 | $current = $this_ExternAggregationOperatorDeclaration_2.current; | ||
1066 | afterParserOrEnumRuleCall(); | ||
1067 | } | ||
1068 | | | ||
1069 | { | ||
1070 | newCompositeNode(grammarAccess.getExternDeclarationAccess().getExternDatatypeDeclarationParserRuleCall_3()); | ||
1071 | } | ||
1072 | this_ExternDatatypeDeclaration_3=ruleExternDatatypeDeclaration | ||
1073 | { | ||
1074 | $current = $this_ExternDatatypeDeclaration_3.current; | ||
1075 | afterParserOrEnumRuleCall(); | ||
1076 | } | ||
1077 | ) | ||
1078 | ; | ||
1079 | |||
1080 | // Entry rule entryRuleExternPredicateDeclaration | ||
1081 | entryRuleExternPredicateDeclaration returns [EObject current=null]: | ||
1082 | { newCompositeNode(grammarAccess.getExternPredicateDeclarationRule()); } | ||
1083 | iv_ruleExternPredicateDeclaration=ruleExternPredicateDeclaration | ||
1084 | { $current=$iv_ruleExternPredicateDeclaration.current; } | ||
1085 | EOF; | ||
1086 | |||
1087 | // Rule ExternPredicateDeclaration | ||
1088 | ruleExternPredicateDeclaration returns [EObject current=null] | ||
692 | @init { | 1089 | @init { |
693 | enterRule(); | 1090 | enterRule(); |
694 | } | 1091 | } |
@@ -698,22 +1095,82 @@ ruleExternPredicateDefinition returns [EObject current=null] | |||
698 | ( | 1095 | ( |
699 | otherlv_0=Extern | 1096 | otherlv_0=Extern |
700 | { | 1097 | { |
701 | newLeafNode(otherlv_0, grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0()); | 1098 | newLeafNode(otherlv_0, grammarAccess.getExternPredicateDeclarationAccess().getExternKeyword_0()); |
702 | } | 1099 | } |
703 | ( | 1100 | ( |
704 | ( | 1101 | ( |
1102 | { | ||
1103 | getUnorderedGroupHelper().enter(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1()); | ||
1104 | } | ||
1105 | ( | ||
1106 | ( | ||
1107 | ( | ||
1108 | {getUnorderedGroupHelper().canSelect(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1(), 0)}?=>( | ||
1109 | { | ||
1110 | getUnorderedGroupHelper().select(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1(), 0); | ||
1111 | } | ||
1112 | ({true}?=>(( | ||
1113 | lv_functional_2_0=Functional | ||
1114 | { | ||
1115 | newLeafNode(lv_functional_2_0, grammarAccess.getExternPredicateDeclarationAccess().getFunctionalFunctionalKeyword_1_0_0()); | ||
1116 | } | ||
1117 | { | ||
1118 | if ($current==null) { | ||
1119 | $current = createModelElement(grammarAccess.getExternPredicateDeclarationRule()); | ||
1120 | } | ||
1121 | setWithLastConsumed($current, "functional", true, "functional"); | ||
1122 | } | ||
1123 | ) | ||
1124 | )) | ||
1125 | { | ||
1126 | getUnorderedGroupHelper().returnFromSelection(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1()); | ||
1127 | } | ||
1128 | ) | ||
1129 | )| | ||
1130 | ( | ||
1131 | {getUnorderedGroupHelper().canSelect(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1(), 1)}?=>( | ||
1132 | { | ||
1133 | getUnorderedGroupHelper().select(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1(), 1); | ||
1134 | } | ||
1135 | ({true}?=>(( | ||
1136 | lv_error_3_0=Error | ||
1137 | { | ||
1138 | newLeafNode(lv_error_3_0, grammarAccess.getExternPredicateDeclarationAccess().getErrorErrorKeyword_1_1_0()); | ||
1139 | } | ||
1140 | { | ||
1141 | if ($current==null) { | ||
1142 | $current = createModelElement(grammarAccess.getExternPredicateDeclarationRule()); | ||
1143 | } | ||
1144 | setWithLastConsumed($current, "error", true, "error"); | ||
1145 | } | ||
1146 | ) | ||
1147 | )) | ||
1148 | { | ||
1149 | getUnorderedGroupHelper().returnFromSelection(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1()); | ||
1150 | } | ||
1151 | ) | ||
1152 | ) | ||
1153 | )* | ||
1154 | ) | ||
1155 | ) | ||
1156 | { | ||
1157 | getUnorderedGroupHelper().leave(grammarAccess.getExternPredicateDeclarationAccess().getUnorderedGroup_1()); | ||
1158 | } | ||
1159 | ) | ||
1160 | ( | ||
1161 | ( | ||
705 | { | 1162 | { |
706 | newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getNameQualifiedNameParserRuleCall_1_0()); | 1163 | newCompositeNode(grammarAccess.getExternPredicateDeclarationAccess().getNameQualifiedNameParserRuleCall_2_0()); |
707 | } | 1164 | } |
708 | lv_name_1_0=ruleQualifiedName | 1165 | lv_name_4_0=ruleQualifiedName |
709 | { | 1166 | { |
710 | if ($current==null) { | 1167 | if ($current==null) { |
711 | $current = createModelElementForParent(grammarAccess.getExternPredicateDefinitionRule()); | 1168 | $current = createModelElementForParent(grammarAccess.getExternPredicateDeclarationRule()); |
712 | } | 1169 | } |
713 | set( | 1170 | set( |
714 | $current, | 1171 | $current, |
715 | "name", | 1172 | "name", |
716 | lv_name_1_0, | 1173 | lv_name_4_0, |
717 | "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName"); | 1174 | "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName"); |
718 | afterParserOrEnumRuleCall(); | 1175 | afterParserOrEnumRuleCall(); |
719 | } | 1176 | } |
@@ -722,34 +1179,38 @@ ruleExternPredicateDefinition returns [EObject current=null] | |||
722 | ( | 1179 | ( |
723 | ( | 1180 | ( |
724 | { | 1181 | { |
725 | newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getArgumentListArgumentListParserRuleCall_2_0()); | 1182 | newCompositeNode(grammarAccess.getExternPredicateDeclarationAccess().getArgumentListArgumentListParserRuleCall_3_0()); |
726 | } | 1183 | } |
727 | lv_argumentList_2_0=ruleArgumentList | 1184 | lv_argumentList_5_0=ruleArgumentList |
728 | { | 1185 | { |
729 | if ($current==null) { | 1186 | if ($current==null) { |
730 | $current = createModelElementForParent(grammarAccess.getExternPredicateDefinitionRule()); | 1187 | $current = createModelElementForParent(grammarAccess.getExternPredicateDeclarationRule()); |
731 | } | 1188 | } |
732 | set( | 1189 | set( |
733 | $current, | 1190 | $current, |
734 | "argumentList", | 1191 | "argumentList", |
735 | lv_argumentList_2_0, | 1192 | lv_argumentList_5_0, |
736 | "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); | 1193 | "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); |
737 | afterParserOrEnumRuleCall(); | 1194 | afterParserOrEnumRuleCall(); |
738 | } | 1195 | } |
739 | ) | 1196 | ) |
740 | ) | 1197 | ) |
1198 | this_FULL_STOP_6=RULE_FULL_STOP | ||
1199 | { | ||
1200 | newLeafNode(this_FULL_STOP_6, grammarAccess.getExternPredicateDeclarationAccess().getFULL_STOPTerminalRuleCall_4()); | ||
1201 | } | ||
741 | ) | 1202 | ) |
742 | ; | 1203 | ; |
743 | 1204 | ||
744 | // Entry rule entryRuleExternMetricDefinition | 1205 | // Entry rule entryRuleExternFunctionDeclaration |
745 | entryRuleExternMetricDefinition returns [EObject current=null]: | 1206 | entryRuleExternFunctionDeclaration returns [EObject current=null]: |
746 | { newCompositeNode(grammarAccess.getExternMetricDefinitionRule()); } | 1207 | { newCompositeNode(grammarAccess.getExternFunctionDeclarationRule()); } |
747 | iv_ruleExternMetricDefinition=ruleExternMetricDefinition | 1208 | iv_ruleExternFunctionDeclaration=ruleExternFunctionDeclaration |
748 | { $current=$iv_ruleExternMetricDefinition.current; } | 1209 | { $current=$iv_ruleExternFunctionDeclaration.current; } |
749 | EOF; | 1210 | EOF; |
750 | 1211 | ||
751 | // Rule ExternMetricDefinition | 1212 | // Rule ExternFunctionDeclaration |
752 | ruleExternMetricDefinition returns [EObject current=null] | 1213 | ruleExternFunctionDeclaration returns [EObject current=null] |
753 | @init { | 1214 | @init { |
754 | enterRule(); | 1215 | enterRule(); |
755 | } | 1216 | } |
@@ -759,17 +1220,17 @@ ruleExternMetricDefinition returns [EObject current=null] | |||
759 | ( | 1220 | ( |
760 | otherlv_0=Extern | 1221 | otherlv_0=Extern |
761 | { | 1222 | { |
762 | newLeafNode(otherlv_0, grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0()); | 1223 | newLeafNode(otherlv_0, grammarAccess.getExternFunctionDeclarationAccess().getExternKeyword_0()); |
763 | } | 1224 | } |
764 | ( | 1225 | ( |
765 | ( | 1226 | ( |
766 | { | 1227 | { |
767 | if ($current==null) { | 1228 | if ($current==null) { |
768 | $current = createModelElement(grammarAccess.getExternMetricDefinitionRule()); | 1229 | $current = createModelElement(grammarAccess.getExternFunctionDeclarationRule()); |
769 | } | 1230 | } |
770 | } | 1231 | } |
771 | { | 1232 | { |
772 | newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getTypeNamedElementCrossReference_1_0()); | 1233 | newCompositeNode(grammarAccess.getExternFunctionDeclarationAccess().getResultTypeSymbolCrossReference_1_0()); |
773 | } | 1234 | } |
774 | ruleQualifiedName | 1235 | ruleQualifiedName |
775 | { | 1236 | { |
@@ -780,12 +1241,12 @@ ruleExternMetricDefinition returns [EObject current=null] | |||
780 | ( | 1241 | ( |
781 | ( | 1242 | ( |
782 | { | 1243 | { |
783 | newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0()); | 1244 | newCompositeNode(grammarAccess.getExternFunctionDeclarationAccess().getNameQualifiedNameParserRuleCall_2_0()); |
784 | } | 1245 | } |
785 | lv_name_2_0=ruleQualifiedName | 1246 | lv_name_2_0=ruleQualifiedName |
786 | { | 1247 | { |
787 | if ($current==null) { | 1248 | if ($current==null) { |
788 | $current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); | 1249 | $current = createModelElementForParent(grammarAccess.getExternFunctionDeclarationRule()); |
789 | } | 1250 | } |
790 | set( | 1251 | set( |
791 | $current, | 1252 | $current, |
@@ -799,12 +1260,12 @@ ruleExternMetricDefinition returns [EObject current=null] | |||
799 | ( | 1260 | ( |
800 | ( | 1261 | ( |
801 | { | 1262 | { |
802 | newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getArgumentListArgumentListParserRuleCall_3_0()); | 1263 | newCompositeNode(grammarAccess.getExternFunctionDeclarationAccess().getArgumentListArgumentListParserRuleCall_3_0()); |
803 | } | 1264 | } |
804 | lv_argumentList_3_0=ruleArgumentList | 1265 | lv_argumentList_3_0=ruleArgumentList |
805 | { | 1266 | { |
806 | if ($current==null) { | 1267 | if ($current==null) { |
807 | $current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); | 1268 | $current = createModelElementForParent(grammarAccess.getExternFunctionDeclarationRule()); |
808 | } | 1269 | } |
809 | set( | 1270 | set( |
810 | $current, | 1271 | $current, |
@@ -815,18 +1276,22 @@ ruleExternMetricDefinition returns [EObject current=null] | |||
815 | } | 1276 | } |
816 | ) | 1277 | ) |
817 | ) | 1278 | ) |
1279 | this_FULL_STOP_4=RULE_FULL_STOP | ||
1280 | { | ||
1281 | newLeafNode(this_FULL_STOP_4, grammarAccess.getExternFunctionDeclarationAccess().getFULL_STOPTerminalRuleCall_4()); | ||
1282 | } | ||
818 | ) | 1283 | ) |
819 | ; | 1284 | ; |
820 | 1285 | ||
821 | // Entry rule entryRuleExternAggregatorDefinition | 1286 | // Entry rule entryRuleExternAggregationOperatorDeclaration |
822 | entryRuleExternAggregatorDefinition returns [EObject current=null]: | 1287 | entryRuleExternAggregationOperatorDeclaration returns [EObject current=null]: |
823 | { newCompositeNode(grammarAccess.getExternAggregatorDefinitionRule()); } | 1288 | { newCompositeNode(grammarAccess.getExternAggregationOperatorDeclarationRule()); } |
824 | iv_ruleExternAggregatorDefinition=ruleExternAggregatorDefinition | 1289 | iv_ruleExternAggregationOperatorDeclaration=ruleExternAggregationOperatorDeclaration |
825 | { $current=$iv_ruleExternAggregatorDefinition.current; } | 1290 | { $current=$iv_ruleExternAggregationOperatorDeclaration.current; } |
826 | EOF; | 1291 | EOF; |
827 | 1292 | ||
828 | // Rule ExternAggregatorDefinition | 1293 | // Rule ExternAggregationOperatorDeclaration |
829 | ruleExternAggregatorDefinition returns [EObject current=null] | 1294 | ruleExternAggregationOperatorDeclaration returns [EObject current=null] |
830 | @init { | 1295 | @init { |
831 | enterRule(); | 1296 | enterRule(); |
832 | } | 1297 | } |
@@ -836,17 +1301,17 @@ ruleExternAggregatorDefinition returns [EObject current=null] | |||
836 | ( | 1301 | ( |
837 | otherlv_0=Extern | 1302 | otherlv_0=Extern |
838 | { | 1303 | { |
839 | newLeafNode(otherlv_0, grammarAccess.getExternAggregatorDefinitionAccess().getExternKeyword_0()); | 1304 | newLeafNode(otherlv_0, grammarAccess.getExternAggregationOperatorDeclarationAccess().getExternKeyword_0()); |
840 | } | 1305 | } |
841 | ( | 1306 | ( |
842 | ( | 1307 | ( |
843 | { | 1308 | { |
844 | if ($current==null) { | 1309 | if ($current==null) { |
845 | $current = createModelElement(grammarAccess.getExternAggregatorDefinitionRule()); | 1310 | $current = createModelElement(grammarAccess.getExternAggregationOperatorDeclarationRule()); |
846 | } | 1311 | } |
847 | } | 1312 | } |
848 | { | 1313 | { |
849 | newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getTypeNamedElementCrossReference_1_0()); | 1314 | newCompositeNode(grammarAccess.getExternAggregationOperatorDeclarationAccess().getResultTypeSymbolCrossReference_1_0()); |
850 | } | 1315 | } |
851 | ruleQualifiedName | 1316 | ruleQualifiedName |
852 | { | 1317 | { |
@@ -857,12 +1322,12 @@ ruleExternAggregatorDefinition returns [EObject current=null] | |||
857 | ( | 1322 | ( |
858 | ( | 1323 | ( |
859 | { | 1324 | { |
860 | newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0()); | 1325 | newCompositeNode(grammarAccess.getExternAggregationOperatorDeclarationAccess().getNameQualifiedNameParserRuleCall_2_0()); |
861 | } | 1326 | } |
862 | lv_name_2_0=ruleQualifiedName | 1327 | lv_name_2_0=ruleQualifiedName |
863 | { | 1328 | { |
864 | if ($current==null) { | 1329 | if ($current==null) { |
865 | $current = createModelElementForParent(grammarAccess.getExternAggregatorDefinitionRule()); | 1330 | $current = createModelElementForParent(grammarAccess.getExternAggregationOperatorDeclarationRule()); |
866 | } | 1331 | } |
867 | set( | 1332 | set( |
868 | $current, | 1333 | $current, |
@@ -875,17 +1340,17 @@ ruleExternAggregatorDefinition returns [EObject current=null] | |||
875 | ) | 1340 | ) |
876 | otherlv_3=LeftCurlyBracket | 1341 | otherlv_3=LeftCurlyBracket |
877 | { | 1342 | { |
878 | newLeafNode(otherlv_3, grammarAccess.getExternAggregatorDefinitionAccess().getLeftCurlyBracketKeyword_3()); | 1343 | newLeafNode(otherlv_3, grammarAccess.getExternAggregationOperatorDeclarationAccess().getLeftCurlyBracketKeyword_3()); |
879 | } | 1344 | } |
880 | ( | 1345 | ( |
881 | ( | 1346 | ( |
882 | { | 1347 | { |
883 | if ($current==null) { | 1348 | if ($current==null) { |
884 | $current = createModelElement(grammarAccess.getExternAggregatorDefinitionRule()); | 1349 | $current = createModelElement(grammarAccess.getExternAggregationOperatorDeclarationRule()); |
885 | } | 1350 | } |
886 | } | 1351 | } |
887 | { | 1352 | { |
888 | newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getInputTypeNamedElementCrossReference_4_0()); | 1353 | newCompositeNode(grammarAccess.getExternAggregationOperatorDeclarationAccess().getArgumentTypeSymbolCrossReference_4_0()); |
889 | } | 1354 | } |
890 | ruleQualifiedName | 1355 | ruleQualifiedName |
891 | { | 1356 | { |
@@ -895,24 +1360,28 @@ ruleExternAggregatorDefinition returns [EObject current=null] | |||
895 | ) | 1360 | ) |
896 | otherlv_5=FullStopFullStopFullStop | 1361 | otherlv_5=FullStopFullStopFullStop |
897 | { | 1362 | { |
898 | newLeafNode(otherlv_5, grammarAccess.getExternAggregatorDefinitionAccess().getFullStopFullStopFullStopKeyword_5()); | 1363 | newLeafNode(otherlv_5, grammarAccess.getExternAggregationOperatorDeclarationAccess().getFullStopFullStopFullStopKeyword_5()); |
899 | } | 1364 | } |
900 | otherlv_6=RightCurlyBracket | 1365 | otherlv_6=RightCurlyBracket |
901 | { | 1366 | { |
902 | newLeafNode(otherlv_6, grammarAccess.getExternAggregatorDefinitionAccess().getRightCurlyBracketKeyword_6()); | 1367 | newLeafNode(otherlv_6, grammarAccess.getExternAggregationOperatorDeclarationAccess().getRightCurlyBracketKeyword_6()); |
1368 | } | ||
1369 | this_FULL_STOP_7=RULE_FULL_STOP | ||
1370 | { | ||
1371 | newLeafNode(this_FULL_STOP_7, grammarAccess.getExternAggregationOperatorDeclarationAccess().getFULL_STOPTerminalRuleCall_7()); | ||
903 | } | 1372 | } |
904 | ) | 1373 | ) |
905 | ; | 1374 | ; |
906 | 1375 | ||
907 | // Entry rule entryRuleExternDatatypeDefinition | 1376 | // Entry rule entryRuleExternDatatypeDeclaration |
908 | entryRuleExternDatatypeDefinition returns [EObject current=null]: | 1377 | entryRuleExternDatatypeDeclaration returns [EObject current=null]: |
909 | { newCompositeNode(grammarAccess.getExternDatatypeDefinitionRule()); } | 1378 | { newCompositeNode(grammarAccess.getExternDatatypeDeclarationRule()); } |
910 | iv_ruleExternDatatypeDefinition=ruleExternDatatypeDefinition | 1379 | iv_ruleExternDatatypeDeclaration=ruleExternDatatypeDeclaration |
911 | { $current=$iv_ruleExternDatatypeDefinition.current; } | 1380 | { $current=$iv_ruleExternDatatypeDeclaration.current; } |
912 | EOF; | 1381 | EOF; |
913 | 1382 | ||
914 | // Rule ExternDatatypeDefinition | 1383 | // Rule ExternDatatypeDeclaration |
915 | ruleExternDatatypeDefinition returns [EObject current=null] | 1384 | ruleExternDatatypeDeclaration returns [EObject current=null] |
916 | @init { | 1385 | @init { |
917 | enterRule(); | 1386 | enterRule(); |
918 | } | 1387 | } |
@@ -922,21 +1391,21 @@ ruleExternDatatypeDefinition returns [EObject current=null] | |||
922 | ( | 1391 | ( |
923 | otherlv_0=Extern | 1392 | otherlv_0=Extern |
924 | { | 1393 | { |
925 | newLeafNode(otherlv_0, grammarAccess.getExternDatatypeDefinitionAccess().getExternKeyword_0()); | 1394 | newLeafNode(otherlv_0, grammarAccess.getExternDatatypeDeclarationAccess().getExternKeyword_0()); |
926 | } | 1395 | } |
927 | otherlv_1=Datatype | 1396 | otherlv_1=Datatype |
928 | { | 1397 | { |
929 | newLeafNode(otherlv_1, grammarAccess.getExternDatatypeDefinitionAccess().getDatatypeKeyword_1()); | 1398 | newLeafNode(otherlv_1, grammarAccess.getExternDatatypeDeclarationAccess().getDatatypeKeyword_1()); |
930 | } | 1399 | } |
931 | ( | 1400 | ( |
932 | ( | 1401 | ( |
933 | { | 1402 | { |
934 | newCompositeNode(grammarAccess.getExternDatatypeDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0()); | 1403 | newCompositeNode(grammarAccess.getExternDatatypeDeclarationAccess().getNameQualifiedNameParserRuleCall_2_0()); |
935 | } | 1404 | } |
936 | lv_name_2_0=ruleQualifiedName | 1405 | lv_name_2_0=ruleQualifiedName |
937 | { | 1406 | { |
938 | if ($current==null) { | 1407 | if ($current==null) { |
939 | $current = createModelElementForParent(grammarAccess.getExternDatatypeDefinitionRule()); | 1408 | $current = createModelElementForParent(grammarAccess.getExternDatatypeDeclarationRule()); |
940 | } | 1409 | } |
941 | set( | 1410 | set( |
942 | $current, | 1411 | $current, |
@@ -947,103 +1416,10 @@ ruleExternDatatypeDefinition returns [EObject current=null] | |||
947 | } | 1416 | } |
948 | ) | 1417 | ) |
949 | ) | 1418 | ) |
950 | ( | 1419 | this_FULL_STOP_3=RULE_FULL_STOP |
951 | otherlv_3=Extends | 1420 | { |
952 | { | 1421 | newLeafNode(this_FULL_STOP_3, grammarAccess.getExternDatatypeDeclarationAccess().getFULL_STOPTerminalRuleCall_3()); |
953 | newLeafNode(otherlv_3, grammarAccess.getExternDatatypeDefinitionAccess().getExtendsKeyword_3_0()); | 1422 | } |
954 | } | ||
955 | ( | ||
956 | ( | ||
957 | { | ||
958 | if ($current==null) { | ||
959 | $current = createModelElement(grammarAccess.getExternDatatypeDefinitionRule()); | ||
960 | } | ||
961 | } | ||
962 | { | ||
963 | newCompositeNode(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementCrossReference_3_1_0()); | ||
964 | } | ||
965 | ruleQualifiedName | ||
966 | { | ||
967 | afterParserOrEnumRuleCall(); | ||
968 | } | ||
969 | ) | ||
970 | ) | ||
971 | ( | ||
972 | otherlv_5=Comma | ||
973 | { | ||
974 | newLeafNode(otherlv_5, grammarAccess.getExternDatatypeDefinitionAccess().getCommaKeyword_3_2_0()); | ||
975 | } | ||
976 | ( | ||
977 | ( | ||
978 | { | ||
979 | if ($current==null) { | ||
980 | $current = createModelElement(grammarAccess.getExternDatatypeDefinitionRule()); | ||
981 | } | ||
982 | } | ||
983 | { | ||
984 | newCompositeNode(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementCrossReference_3_2_1_0()); | ||
985 | } | ||
986 | ruleQualifiedName | ||
987 | { | ||
988 | afterParserOrEnumRuleCall(); | ||
989 | } | ||
990 | ) | ||
991 | ) | ||
992 | )* | ||
993 | ) | ||
994 | ) | ||
995 | ; | ||
996 | |||
997 | // Entry rule entryRuleVariable | ||
998 | entryRuleVariable returns [EObject current=null]: | ||
999 | { newCompositeNode(grammarAccess.getVariableRule()); } | ||
1000 | iv_ruleVariable=ruleVariable | ||
1001 | { $current=$iv_ruleVariable.current; } | ||
1002 | EOF; | ||
1003 | |||
1004 | // Rule Variable | ||
1005 | ruleVariable returns [EObject current=null] | ||
1006 | @init { | ||
1007 | enterRule(); | ||
1008 | } | ||
1009 | @after { | ||
1010 | leaveRule(); | ||
1011 | }: | ||
1012 | ( | ||
1013 | ( | ||
1014 | ( | ||
1015 | { | ||
1016 | if ($current==null) { | ||
1017 | $current = createModelElement(grammarAccess.getVariableRule()); | ||
1018 | } | ||
1019 | } | ||
1020 | { | ||
1021 | newCompositeNode(grammarAccess.getVariableAccess().getTypeNamedElementCrossReference_0_0()); | ||
1022 | } | ||
1023 | ruleQualifiedName | ||
1024 | { | ||
1025 | afterParserOrEnumRuleCall(); | ||
1026 | } | ||
1027 | ) | ||
1028 | )? | ||
1029 | ( | ||
1030 | ( | ||
1031 | lv_name_1_0=RULE_ID | ||
1032 | { | ||
1033 | newLeafNode(lv_name_1_0, grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_1_0()); | ||
1034 | } | ||
1035 | { | ||
1036 | if ($current==null) { | ||
1037 | $current = createModelElement(grammarAccess.getVariableRule()); | ||
1038 | } | ||
1039 | setWithLastConsumed( | ||
1040 | $current, | ||
1041 | "name", | ||
1042 | lv_name_1_0, | ||
1043 | "org.eclipse.xtext.common.Terminals.ID"); | ||
1044 | } | ||
1045 | ) | ||
1046 | ) | ||
1047 | ) | 1423 | ) |
1048 | ; | 1424 | ; |
1049 | 1425 | ||
@@ -1064,43 +1440,77 @@ ruleExpression returns [EObject current=null] | |||
1064 | }: | 1440 | }: |
1065 | ( | 1441 | ( |
1066 | { | 1442 | { |
1067 | newCompositeNode(grammarAccess.getExpressionAccess().getIfElseParserRuleCall_0()); | 1443 | newCompositeNode(grammarAccess.getExpressionAccess().getConditionalExpressionParserRuleCall_0()); |
1068 | } | 1444 | } |
1069 | this_IfElse_0=ruleIfElse | 1445 | this_ConditionalExpression_0=ruleConditionalExpression |
1070 | { | 1446 | { |
1071 | $current = $this_IfElse_0.current; | 1447 | $current = $this_ConditionalExpression_0.current; |
1072 | afterParserOrEnumRuleCall(); | 1448 | afterParserOrEnumRuleCall(); |
1073 | } | 1449 | } |
1074 | | | 1450 | | |
1075 | { | 1451 | { |
1076 | newCompositeNode(grammarAccess.getExpressionAccess().getLetParserRuleCall_1()); | 1452 | newCompositeNode(grammarAccess.getExpressionAccess().getLetExpressionParserRuleCall_1()); |
1077 | } | 1453 | } |
1078 | this_Let_1=ruleLet | 1454 | this_LetExpression_1=ruleLetExpression |
1079 | { | 1455 | { |
1080 | $current = $this_Let_1.current; | 1456 | $current = $this_LetExpression_1.current; |
1081 | afterParserOrEnumRuleCall(); | 1457 | afterParserOrEnumRuleCall(); |
1082 | } | 1458 | } |
1083 | | | 1459 | | |
1084 | { | 1460 | ( |
1085 | newCompositeNode(grammarAccess.getExpressionAccess().getImplicationExpressionParserRuleCall_2()); | 1461 | { |
1086 | } | 1462 | newCompositeNode(grammarAccess.getExpressionAccess().getDisjunctiveExpressionParserRuleCall_2_0()); |
1087 | this_ImplicationExpression_2=ruleImplicationExpression | 1463 | } |
1088 | { | 1464 | this_DisjunctiveExpression_2=ruleDisjunctiveExpression |
1089 | $current = $this_ImplicationExpression_2.current; | 1465 | { |
1090 | afterParserOrEnumRuleCall(); | 1466 | $current = $this_DisjunctiveExpression_2.current; |
1091 | } | 1467 | afterParserOrEnumRuleCall(); |
1468 | } | ||
1469 | ( | ||
1470 | ( | ||
1471 | { | ||
1472 | $current = forceCreateModelElementAndSet( | ||
1473 | grammarAccess.getExpressionAccess().getForallConditionAction_2_1_0(), | ||
1474 | $current); | ||
1475 | } | ||
1476 | ) | ||
1477 | otherlv_4=EqualsSignGreaterThanSign | ||
1478 | { | ||
1479 | newLeafNode(otherlv_4, grammarAccess.getExpressionAccess().getEqualsSignGreaterThanSignKeyword_2_1_1()); | ||
1480 | } | ||
1481 | ( | ||
1482 | ( | ||
1483 | { | ||
1484 | newCompositeNode(grammarAccess.getExpressionAccess().getBodyDisjunctiveExpressionParserRuleCall_2_1_2_0()); | ||
1485 | } | ||
1486 | lv_body_5_0=ruleDisjunctiveExpression | ||
1487 | { | ||
1488 | if ($current==null) { | ||
1489 | $current = createModelElementForParent(grammarAccess.getExpressionRule()); | ||
1490 | } | ||
1491 | set( | ||
1492 | $current, | ||
1493 | "body", | ||
1494 | lv_body_5_0, | ||
1495 | "org.eclipse.viatra.solver.language.SolverLanguage.DisjunctiveExpression"); | ||
1496 | afterParserOrEnumRuleCall(); | ||
1497 | } | ||
1498 | ) | ||
1499 | ) | ||
1500 | )? | ||
1501 | ) | ||
1092 | ) | 1502 | ) |
1093 | ; | 1503 | ; |
1094 | 1504 | ||
1095 | // Entry rule entryRuleIfElse | 1505 | // Entry rule entryRuleConditionalExpression |
1096 | entryRuleIfElse returns [EObject current=null]: | 1506 | entryRuleConditionalExpression returns [EObject current=null]: |
1097 | { newCompositeNode(grammarAccess.getIfElseRule()); } | 1507 | { newCompositeNode(grammarAccess.getConditionalExpressionRule()); } |
1098 | iv_ruleIfElse=ruleIfElse | 1508 | iv_ruleConditionalExpression=ruleConditionalExpression |
1099 | { $current=$iv_ruleIfElse.current; } | 1509 | { $current=$iv_ruleConditionalExpression.current; } |
1100 | EOF; | 1510 | EOF; |
1101 | 1511 | ||
1102 | // Rule IfElse | 1512 | // Rule ConditionalExpression |
1103 | ruleIfElse returns [EObject current=null] | 1513 | ruleConditionalExpression returns [EObject current=null] |
1104 | @init { | 1514 | @init { |
1105 | enterRule(); | 1515 | enterRule(); |
1106 | } | 1516 | } |
@@ -1110,40 +1520,40 @@ ruleIfElse returns [EObject current=null] | |||
1110 | ( | 1520 | ( |
1111 | otherlv_0=If | 1521 | otherlv_0=If |
1112 | { | 1522 | { |
1113 | newLeafNode(otherlv_0, grammarAccess.getIfElseAccess().getIfKeyword_0()); | 1523 | newLeafNode(otherlv_0, grammarAccess.getConditionalExpressionAccess().getIfKeyword_0()); |
1114 | } | 1524 | } |
1115 | ( | 1525 | ( |
1116 | ( | 1526 | ( |
1117 | { | 1527 | { |
1118 | newCompositeNode(grammarAccess.getIfElseAccess().getConditionExpressionParserRuleCall_1_0()); | 1528 | newCompositeNode(grammarAccess.getConditionalExpressionAccess().getConditionDisjunctiveExpressionParserRuleCall_1_0()); |
1119 | } | 1529 | } |
1120 | lv_condition_1_0=ruleExpression | 1530 | lv_condition_1_0=ruleDisjunctiveExpression |
1121 | { | 1531 | { |
1122 | if ($current==null) { | 1532 | if ($current==null) { |
1123 | $current = createModelElementForParent(grammarAccess.getIfElseRule()); | 1533 | $current = createModelElementForParent(grammarAccess.getConditionalExpressionRule()); |
1124 | } | 1534 | } |
1125 | set( | 1535 | set( |
1126 | $current, | 1536 | $current, |
1127 | "condition", | 1537 | "condition", |
1128 | lv_condition_1_0, | 1538 | lv_condition_1_0, |
1129 | "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); | 1539 | "org.eclipse.viatra.solver.language.SolverLanguage.DisjunctiveExpression"); |
1130 | afterParserOrEnumRuleCall(); | 1540 | afterParserOrEnumRuleCall(); |
1131 | } | 1541 | } |
1132 | ) | 1542 | ) |
1133 | ) | 1543 | ) |
1134 | otherlv_2=Then | 1544 | otherlv_2=Then |
1135 | { | 1545 | { |
1136 | newLeafNode(otherlv_2, grammarAccess.getIfElseAccess().getThenKeyword_2()); | 1546 | newLeafNode(otherlv_2, grammarAccess.getConditionalExpressionAccess().getThenKeyword_2()); |
1137 | } | 1547 | } |
1138 | ( | 1548 | ( |
1139 | ( | 1549 | ( |
1140 | { | 1550 | { |
1141 | newCompositeNode(grammarAccess.getIfElseAccess().getThenExpressionParserRuleCall_3_0()); | 1551 | newCompositeNode(grammarAccess.getConditionalExpressionAccess().getThenExpressionParserRuleCall_3_0()); |
1142 | } | 1552 | } |
1143 | lv_then_3_0=ruleExpression | 1553 | lv_then_3_0=ruleExpression |
1144 | { | 1554 | { |
1145 | if ($current==null) { | 1555 | if ($current==null) { |
1146 | $current = createModelElementForParent(grammarAccess.getIfElseRule()); | 1556 | $current = createModelElementForParent(grammarAccess.getConditionalExpressionRule()); |
1147 | } | 1557 | } |
1148 | set( | 1558 | set( |
1149 | $current, | 1559 | $current, |
@@ -1156,17 +1566,17 @@ ruleIfElse returns [EObject current=null] | |||
1156 | ) | 1566 | ) |
1157 | otherlv_4=Else | 1567 | otherlv_4=Else |
1158 | { | 1568 | { |
1159 | newLeafNode(otherlv_4, grammarAccess.getIfElseAccess().getElseKeyword_4()); | 1569 | newLeafNode(otherlv_4, grammarAccess.getConditionalExpressionAccess().getElseKeyword_4()); |
1160 | } | 1570 | } |
1161 | ( | 1571 | ( |
1162 | ( | 1572 | ( |
1163 | { | 1573 | { |
1164 | newCompositeNode(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0()); | 1574 | newCompositeNode(grammarAccess.getConditionalExpressionAccess().getElseExpressionParserRuleCall_5_0()); |
1165 | } | 1575 | } |
1166 | lv_else_5_0=ruleExpression | 1576 | lv_else_5_0=ruleExpression |
1167 | { | 1577 | { |
1168 | if ($current==null) { | 1578 | if ($current==null) { |
1169 | $current = createModelElementForParent(grammarAccess.getIfElseRule()); | 1579 | $current = createModelElementForParent(grammarAccess.getConditionalExpressionRule()); |
1170 | } | 1580 | } |
1171 | set( | 1581 | set( |
1172 | $current, | 1582 | $current, |
@@ -1180,15 +1590,15 @@ ruleIfElse returns [EObject current=null] | |||
1180 | ) | 1590 | ) |
1181 | ; | 1591 | ; |
1182 | 1592 | ||
1183 | // Entry rule entryRuleLet | 1593 | // Entry rule entryRuleLetExpression |
1184 | entryRuleLet returns [EObject current=null]: | 1594 | entryRuleLetExpression returns [EObject current=null]: |
1185 | { newCompositeNode(grammarAccess.getLetRule()); } | 1595 | { newCompositeNode(grammarAccess.getLetExpressionRule()); } |
1186 | iv_ruleLet=ruleLet | 1596 | iv_ruleLetExpression=ruleLetExpression |
1187 | { $current=$iv_ruleLet.current; } | 1597 | { $current=$iv_ruleLetExpression.current; } |
1188 | EOF; | 1598 | EOF; |
1189 | 1599 | ||
1190 | // Rule Let | 1600 | // Rule LetExpression |
1191 | ruleLet returns [EObject current=null] | 1601 | ruleLetExpression returns [EObject current=null] |
1192 | @init { | 1602 | @init { |
1193 | enterRule(); | 1603 | enterRule(); |
1194 | } | 1604 | } |
@@ -1198,17 +1608,17 @@ ruleLet returns [EObject current=null] | |||
1198 | ( | 1608 | ( |
1199 | otherlv_0=Let | 1609 | otherlv_0=Let |
1200 | { | 1610 | { |
1201 | newLeafNode(otherlv_0, grammarAccess.getLetAccess().getLetKeyword_0()); | 1611 | newLeafNode(otherlv_0, grammarAccess.getLetExpressionAccess().getLetKeyword_0()); |
1202 | } | 1612 | } |
1203 | ( | 1613 | ( |
1204 | ( | 1614 | ( |
1205 | { | 1615 | { |
1206 | newCompositeNode(grammarAccess.getLetAccess().getBindingsLetBindingParserRuleCall_1_0()); | 1616 | newCompositeNode(grammarAccess.getLetExpressionAccess().getBindingsLetBindingParserRuleCall_1_0()); |
1207 | } | 1617 | } |
1208 | lv_bindings_1_0=ruleLetBinding | 1618 | lv_bindings_1_0=ruleLetBinding |
1209 | { | 1619 | { |
1210 | if ($current==null) { | 1620 | if ($current==null) { |
1211 | $current = createModelElementForParent(grammarAccess.getLetRule()); | 1621 | $current = createModelElementForParent(grammarAccess.getLetExpressionRule()); |
1212 | } | 1622 | } |
1213 | add( | 1623 | add( |
1214 | $current, | 1624 | $current, |
@@ -1222,17 +1632,17 @@ ruleLet returns [EObject current=null] | |||
1222 | ( | 1632 | ( |
1223 | otherlv_2=Comma | 1633 | otherlv_2=Comma |
1224 | { | 1634 | { |
1225 | newLeafNode(otherlv_2, grammarAccess.getLetAccess().getCommaKeyword_2_0()); | 1635 | newLeafNode(otherlv_2, grammarAccess.getLetExpressionAccess().getCommaKeyword_2_0()); |
1226 | } | 1636 | } |
1227 | ( | 1637 | ( |
1228 | ( | 1638 | ( |
1229 | { | 1639 | { |
1230 | newCompositeNode(grammarAccess.getLetAccess().getBindingsLetBindingParserRuleCall_2_1_0()); | 1640 | newCompositeNode(grammarAccess.getLetExpressionAccess().getBindingsLetBindingParserRuleCall_2_1_0()); |
1231 | } | 1641 | } |
1232 | lv_bindings_3_0=ruleLetBinding | 1642 | lv_bindings_3_0=ruleLetBinding |
1233 | { | 1643 | { |
1234 | if ($current==null) { | 1644 | if ($current==null) { |
1235 | $current = createModelElementForParent(grammarAccess.getLetRule()); | 1645 | $current = createModelElementForParent(grammarAccess.getLetExpressionRule()); |
1236 | } | 1646 | } |
1237 | add( | 1647 | add( |
1238 | $current, | 1648 | $current, |
@@ -1246,17 +1656,17 @@ ruleLet returns [EObject current=null] | |||
1246 | )* | 1656 | )* |
1247 | otherlv_4=In | 1657 | otherlv_4=In |
1248 | { | 1658 | { |
1249 | newLeafNode(otherlv_4, grammarAccess.getLetAccess().getInKeyword_3()); | 1659 | newLeafNode(otherlv_4, grammarAccess.getLetExpressionAccess().getInKeyword_3()); |
1250 | } | 1660 | } |
1251 | ( | 1661 | ( |
1252 | ( | 1662 | ( |
1253 | { | 1663 | { |
1254 | newCompositeNode(grammarAccess.getLetAccess().getBodyExpressionParserRuleCall_4_0()); | 1664 | newCompositeNode(grammarAccess.getLetExpressionAccess().getBodyExpressionParserRuleCall_4_0()); |
1255 | } | 1665 | } |
1256 | lv_body_5_0=ruleExpression | 1666 | lv_body_5_0=ruleExpression |
1257 | { | 1667 | { |
1258 | if ($current==null) { | 1668 | if ($current==null) { |
1259 | $current = createModelElementForParent(grammarAccess.getLetRule()); | 1669 | $current = createModelElementForParent(grammarAccess.getLetExpressionRule()); |
1260 | } | 1670 | } |
1261 | set( | 1671 | set( |
1262 | $current, | 1672 | $current, |
@@ -1289,32 +1699,47 @@ ruleLetBinding returns [EObject current=null] | |||
1289 | ( | 1699 | ( |
1290 | ( | 1700 | ( |
1291 | { | 1701 | { |
1292 | newCompositeNode(grammarAccess.getLetBindingAccess().getVariableVariableParserRuleCall_0_0()); | 1702 | if ($current==null) { |
1703 | $current = createModelElement(grammarAccess.getLetBindingRule()); | ||
1704 | } | ||
1705 | } | ||
1706 | { | ||
1707 | newCompositeNode(grammarAccess.getLetBindingAccess().getTypeSymbolCrossReference_0_0()); | ||
1708 | } | ||
1709 | ruleQualifiedName | ||
1710 | { | ||
1711 | afterParserOrEnumRuleCall(); | ||
1712 | } | ||
1713 | ) | ||
1714 | )? | ||
1715 | ( | ||
1716 | ( | ||
1717 | lv_name_1_0=RULE_ID | ||
1718 | { | ||
1719 | newLeafNode(lv_name_1_0, grammarAccess.getLetBindingAccess().getNameIDTerminalRuleCall_1_0()); | ||
1293 | } | 1720 | } |
1294 | lv_variable_0_0=ruleVariable | ||
1295 | { | 1721 | { |
1296 | if ($current==null) { | 1722 | if ($current==null) { |
1297 | $current = createModelElementForParent(grammarAccess.getLetBindingRule()); | 1723 | $current = createModelElement(grammarAccess.getLetBindingRule()); |
1298 | } | 1724 | } |
1299 | set( | 1725 | setWithLastConsumed( |
1300 | $current, | 1726 | $current, |
1301 | "variable", | 1727 | "name", |
1302 | lv_variable_0_0, | 1728 | lv_name_1_0, |
1303 | "org.eclipse.viatra.solver.language.SolverLanguage.Variable"); | 1729 | "org.eclipse.xtext.common.Terminals.ID"); |
1304 | afterParserOrEnumRuleCall(); | ||
1305 | } | 1730 | } |
1306 | ) | 1731 | ) |
1307 | ) | 1732 | ) |
1308 | otherlv_1=EqualsSign | 1733 | otherlv_2=EqualsSign |
1309 | { | 1734 | { |
1310 | newLeafNode(otherlv_1, grammarAccess.getLetBindingAccess().getEqualsSignKeyword_1()); | 1735 | newLeafNode(otherlv_2, grammarAccess.getLetBindingAccess().getEqualsSignKeyword_2()); |
1311 | } | 1736 | } |
1312 | ( | 1737 | ( |
1313 | ( | 1738 | ( |
1314 | { | 1739 | { |
1315 | newCompositeNode(grammarAccess.getLetBindingAccess().getValueAdditiveExpressionParserRuleCall_2_0()); | 1740 | newCompositeNode(grammarAccess.getLetBindingAccess().getValueAdditiveExpressionParserRuleCall_3_0()); |
1316 | } | 1741 | } |
1317 | lv_value_2_0=ruleAdditiveExpression | 1742 | lv_value_3_0=ruleAdditiveExpression |
1318 | { | 1743 | { |
1319 | if ($current==null) { | 1744 | if ($current==null) { |
1320 | $current = createModelElementForParent(grammarAccess.getLetBindingRule()); | 1745 | $current = createModelElementForParent(grammarAccess.getLetBindingRule()); |
@@ -1322,7 +1747,7 @@ ruleLetBinding returns [EObject current=null] | |||
1322 | set( | 1747 | set( |
1323 | $current, | 1748 | $current, |
1324 | "value", | 1749 | "value", |
1325 | lv_value_2_0, | 1750 | lv_value_3_0, |
1326 | "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression"); | 1751 | "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression"); |
1327 | afterParserOrEnumRuleCall(); | 1752 | afterParserOrEnumRuleCall(); |
1328 | } | 1753 | } |
@@ -1331,80 +1756,6 @@ ruleLetBinding returns [EObject current=null] | |||
1331 | ) | 1756 | ) |
1332 | ; | 1757 | ; |
1333 | 1758 | ||
1334 | // Entry rule entryRuleImplicationExpression | ||
1335 | entryRuleImplicationExpression returns [EObject current=null]: | ||
1336 | { newCompositeNode(grammarAccess.getImplicationExpressionRule()); } | ||
1337 | iv_ruleImplicationExpression=ruleImplicationExpression | ||
1338 | { $current=$iv_ruleImplicationExpression.current; } | ||
1339 | EOF; | ||
1340 | |||
1341 | // Rule ImplicationExpression | ||
1342 | ruleImplicationExpression returns [EObject current=null] | ||
1343 | @init { | ||
1344 | enterRule(); | ||
1345 | } | ||
1346 | @after { | ||
1347 | leaveRule(); | ||
1348 | }: | ||
1349 | ( | ||
1350 | { | ||
1351 | newCompositeNode(grammarAccess.getImplicationExpressionAccess().getDisjunctiveExpressionParserRuleCall_0()); | ||
1352 | } | ||
1353 | this_DisjunctiveExpression_0=ruleDisjunctiveExpression | ||
1354 | { | ||
1355 | $current = $this_DisjunctiveExpression_0.current; | ||
1356 | afterParserOrEnumRuleCall(); | ||
1357 | } | ||
1358 | ( | ||
1359 | ( | ||
1360 | { | ||
1361 | $current = forceCreateModelElementAndSet( | ||
1362 | grammarAccess.getImplicationExpressionAccess().getBinaryExpressionLeftAction_1_0(), | ||
1363 | $current); | ||
1364 | } | ||
1365 | ) | ||
1366 | ( | ||
1367 | ( | ||
1368 | { | ||
1369 | newCompositeNode(grammarAccess.getImplicationExpressionAccess().getOpImplicationOperatorEnumRuleCall_1_1_0()); | ||
1370 | } | ||
1371 | lv_op_2_0=ruleImplicationOperator | ||
1372 | { | ||
1373 | if ($current==null) { | ||
1374 | $current = createModelElementForParent(grammarAccess.getImplicationExpressionRule()); | ||
1375 | } | ||
1376 | set( | ||
1377 | $current, | ||
1378 | "op", | ||
1379 | lv_op_2_0, | ||
1380 | "org.eclipse.viatra.solver.language.SolverLanguage.ImplicationOperator"); | ||
1381 | afterParserOrEnumRuleCall(); | ||
1382 | } | ||
1383 | ) | ||
1384 | ) | ||
1385 | ( | ||
1386 | ( | ||
1387 | { | ||
1388 | newCompositeNode(grammarAccess.getImplicationExpressionAccess().getRightImplicationExpressionParserRuleCall_1_2_0()); | ||
1389 | } | ||
1390 | lv_right_3_0=ruleImplicationExpression | ||
1391 | { | ||
1392 | if ($current==null) { | ||
1393 | $current = createModelElementForParent(grammarAccess.getImplicationExpressionRule()); | ||
1394 | } | ||
1395 | set( | ||
1396 | $current, | ||
1397 | "right", | ||
1398 | lv_right_3_0, | ||
1399 | "org.eclipse.viatra.solver.language.SolverLanguage.ImplicationExpression"); | ||
1400 | afterParserOrEnumRuleCall(); | ||
1401 | } | ||
1402 | ) | ||
1403 | ) | ||
1404 | )? | ||
1405 | ) | ||
1406 | ; | ||
1407 | |||
1408 | // Entry rule entryRuleDisjunctiveExpression | 1759 | // Entry rule entryRuleDisjunctiveExpression |
1409 | entryRuleDisjunctiveExpression returns [EObject current=null]: | 1760 | entryRuleDisjunctiveExpression returns [EObject current=null]: |
1410 | { newCompositeNode(grammarAccess.getDisjunctiveExpressionRule()); } | 1761 | { newCompositeNode(grammarAccess.getDisjunctiveExpressionRule()); } |
@@ -1683,7 +2034,7 @@ ruleComparisonExpression returns [EObject current=null] | |||
1683 | ( | 2034 | ( |
1684 | { | 2035 | { |
1685 | $current = forceCreateModelElementAndSet( | 2036 | $current = forceCreateModelElementAndSet( |
1686 | grammarAccess.getComparisonExpressionAccess().getComparisonLeftAction_1_0(), | 2037 | grammarAccess.getComparisonExpressionAccess().getBinaryExpressionLeftAction_1_0(), |
1687 | $current); | 2038 | $current); |
1688 | } | 2039 | } |
1689 | ) | 2040 | ) |
@@ -1995,7 +2346,7 @@ ruleCastExpression returns [EObject current=null] | |||
1995 | } | 2346 | } |
1996 | } | 2347 | } |
1997 | { | 2348 | { |
1998 | newCompositeNode(grammarAccess.getCastExpressionAccess().getTypeNamedElementCrossReference_1_2_0()); | 2349 | newCompositeNode(grammarAccess.getCastExpressionAccess().getTargetTypeSymbolCrossReference_1_2_0()); |
1999 | } | 2350 | } |
2000 | ruleQualifiedName | 2351 | ruleQualifiedName |
2001 | { | 2352 | { |
@@ -2024,11 +2375,11 @@ ruleUnaryExpression returns [EObject current=null] | |||
2024 | }: | 2375 | }: |
2025 | ( | 2376 | ( |
2026 | { | 2377 | { |
2027 | newCompositeNode(grammarAccess.getUnaryExpressionAccess().getAggregationExpressionParserRuleCall_0()); | 2378 | newCompositeNode(grammarAccess.getUnaryExpressionAccess().getBracedAggregateExpressionParserRuleCall_0()); |
2028 | } | 2379 | } |
2029 | this_AggregationExpression_0=ruleAggregationExpression | 2380 | this_BracedAggregateExpression_0=ruleBracedAggregateExpression |
2030 | { | 2381 | { |
2031 | $current = $this_AggregationExpression_0.current; | 2382 | $current = $this_BracedAggregateExpression_0.current; |
2032 | afterParserOrEnumRuleCall(); | 2383 | afterParserOrEnumRuleCall(); |
2033 | } | 2384 | } |
2034 | | | 2385 | | |
@@ -2043,9 +2394,9 @@ ruleUnaryExpression returns [EObject current=null] | |||
2043 | ( | 2394 | ( |
2044 | ( | 2395 | ( |
2045 | { | 2396 | { |
2046 | newCompositeNode(grammarAccess.getUnaryExpressionAccess().getOpUnaryOpEnumRuleCall_1_1_0()); | 2397 | newCompositeNode(grammarAccess.getUnaryExpressionAccess().getOpUnaryOperatorEnumRuleCall_1_1_0()); |
2047 | } | 2398 | } |
2048 | lv_op_2_0=ruleUnaryOp | 2399 | lv_op_2_0=ruleUnaryOperator |
2049 | { | 2400 | { |
2050 | if ($current==null) { | 2401 | if ($current==null) { |
2051 | $current = createModelElementForParent(grammarAccess.getUnaryExpressionRule()); | 2402 | $current = createModelElementForParent(grammarAccess.getUnaryExpressionRule()); |
@@ -2054,7 +2405,7 @@ ruleUnaryExpression returns [EObject current=null] | |||
2054 | $current, | 2405 | $current, |
2055 | "op", | 2406 | "op", |
2056 | lv_op_2_0, | 2407 | lv_op_2_0, |
2057 | "org.eclipse.viatra.solver.language.SolverLanguage.UnaryOp"); | 2408 | "org.eclipse.viatra.solver.language.SolverLanguage.UnaryOperator"); |
2058 | afterParserOrEnumRuleCall(); | 2409 | afterParserOrEnumRuleCall(); |
2059 | } | 2410 | } |
2060 | ) | 2411 | ) |
@@ -2062,9 +2413,9 @@ ruleUnaryExpression returns [EObject current=null] | |||
2062 | ( | 2413 | ( |
2063 | ( | 2414 | ( |
2064 | { | 2415 | { |
2065 | newCompositeNode(grammarAccess.getUnaryExpressionAccess().getBodyAggregationExpressionParserRuleCall_1_2_0()); | 2416 | newCompositeNode(grammarAccess.getUnaryExpressionAccess().getBodyBracedAggregateExpressionParserRuleCall_1_2_0()); |
2066 | } | 2417 | } |
2067 | lv_body_3_0=ruleAggregationExpression | 2418 | lv_body_3_0=ruleBracedAggregateExpression |
2068 | { | 2419 | { |
2069 | if ($current==null) { | 2420 | if ($current==null) { |
2070 | $current = createModelElementForParent(grammarAccess.getUnaryExpressionRule()); | 2421 | $current = createModelElementForParent(grammarAccess.getUnaryExpressionRule()); |
@@ -2073,7 +2424,7 @@ ruleUnaryExpression returns [EObject current=null] | |||
2073 | $current, | 2424 | $current, |
2074 | "body", | 2425 | "body", |
2075 | lv_body_3_0, | 2426 | lv_body_3_0, |
2076 | "org.eclipse.viatra.solver.language.SolverLanguage.AggregationExpression"); | 2427 | "org.eclipse.viatra.solver.language.SolverLanguage.BracedAggregateExpression"); |
2077 | afterParserOrEnumRuleCall(); | 2428 | afterParserOrEnumRuleCall(); |
2078 | } | 2429 | } |
2079 | ) | 2430 | ) |
@@ -2082,15 +2433,15 @@ ruleUnaryExpression returns [EObject current=null] | |||
2082 | ) | 2433 | ) |
2083 | ; | 2434 | ; |
2084 | 2435 | ||
2085 | // Entry rule entryRuleAggregationExpression | 2436 | // Entry rule entryRuleBracedAggregateExpression |
2086 | entryRuleAggregationExpression returns [EObject current=null]: | 2437 | entryRuleBracedAggregateExpression returns [EObject current=null]: |
2087 | { newCompositeNode(grammarAccess.getAggregationExpressionRule()); } | 2438 | { newCompositeNode(grammarAccess.getBracedAggregateExpressionRule()); } |
2088 | iv_ruleAggregationExpression=ruleAggregationExpression | 2439 | iv_ruleBracedAggregateExpression=ruleBracedAggregateExpression |
2089 | { $current=$iv_ruleAggregationExpression.current; } | 2440 | { $current=$iv_ruleBracedAggregateExpression.current; } |
2090 | EOF; | 2441 | EOF; |
2091 | 2442 | ||
2092 | // Rule AggregationExpression | 2443 | // Rule BracedAggregateExpression |
2093 | ruleAggregationExpression returns [EObject current=null] | 2444 | ruleBracedAggregateExpression returns [EObject current=null] |
2094 | @init { | 2445 | @init { |
2095 | enterRule(); | 2446 | enterRule(); |
2096 | } | 2447 | } |
@@ -2099,7 +2450,7 @@ ruleAggregationExpression returns [EObject current=null] | |||
2099 | }: | 2450 | }: |
2100 | ( | 2451 | ( |
2101 | { | 2452 | { |
2102 | newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAtomicExpressionParserRuleCall_0()); | 2453 | newCompositeNode(grammarAccess.getBracedAggregateExpressionAccess().getAtomicExpressionParserRuleCall_0()); |
2103 | } | 2454 | } |
2104 | this_AtomicExpression_0=ruleAtomicExpression | 2455 | this_AtomicExpression_0=ruleAtomicExpression |
2105 | { | 2456 | { |
@@ -2108,34 +2459,34 @@ ruleAggregationExpression returns [EObject current=null] | |||
2108 | } | 2459 | } |
2109 | | | 2460 | | |
2110 | { | 2461 | { |
2111 | newCompositeNode(grammarAccess.getAggregationExpressionAccess().getQuantifiedExpressionParserRuleCall_1()); | 2462 | newCompositeNode(grammarAccess.getBracedAggregateExpressionAccess().getAggregationParserRuleCall_1()); |
2112 | } | 2463 | } |
2113 | this_QuantifiedExpression_1=ruleQuantifiedExpression | 2464 | this_Aggregation_1=ruleAggregation |
2114 | { | 2465 | { |
2115 | $current = $this_QuantifiedExpression_1.current; | 2466 | $current = $this_Aggregation_1.current; |
2116 | afterParserOrEnumRuleCall(); | 2467 | afterParserOrEnumRuleCall(); |
2117 | } | 2468 | } |
2118 | | | 2469 | | |
2119 | { | 2470 | { |
2120 | newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAggregationParserRuleCall_2()); | 2471 | newCompositeNode(grammarAccess.getBracedAggregateExpressionAccess().getCountParserRuleCall_2()); |
2121 | } | 2472 | } |
2122 | this_Aggregation_2=ruleAggregation | 2473 | this_Count_2=ruleCount |
2123 | { | 2474 | { |
2124 | $current = $this_Aggregation_2.current; | 2475 | $current = $this_Count_2.current; |
2125 | afterParserOrEnumRuleCall(); | 2476 | afterParserOrEnumRuleCall(); |
2126 | } | 2477 | } |
2127 | ) | 2478 | ) |
2128 | ; | 2479 | ; |
2129 | 2480 | ||
2130 | // Entry rule entryRuleLocalVariables | 2481 | // Entry rule entryRuleAggregation |
2131 | entryRuleLocalVariables returns [EObject current=null]: | 2482 | entryRuleAggregation returns [EObject current=null]: |
2132 | { newCompositeNode(grammarAccess.getLocalVariablesRule()); } | 2483 | { newCompositeNode(grammarAccess.getAggregationRule()); } |
2133 | iv_ruleLocalVariables=ruleLocalVariables | 2484 | iv_ruleAggregation=ruleAggregation |
2134 | { $current=$iv_ruleLocalVariables.current; } | 2485 | { $current=$iv_ruleAggregation.current; } |
2135 | EOF; | 2486 | EOF; |
2136 | 2487 | ||
2137 | // Rule LocalVariables | 2488 | // Rule Aggregation |
2138 | ruleLocalVariables returns [EObject current=null] | 2489 | ruleAggregation returns [EObject current=null] |
2139 | @init { | 2490 | @init { |
2140 | enterRule(); | 2491 | enterRule(); |
2141 | } | 2492 | } |
@@ -2144,162 +2495,83 @@ ruleLocalVariables returns [EObject current=null] | |||
2144 | }: | 2495 | }: |
2145 | ( | 2496 | ( |
2146 | ( | 2497 | ( |
2147 | { | ||
2148 | $current = forceCreateModelElement( | ||
2149 | grammarAccess.getLocalVariablesAccess().getLocalVariablesAction_0(), | ||
2150 | $current); | ||
2151 | } | ||
2152 | ) | ||
2153 | otherlv_1=LeftSquareBracket | ||
2154 | { | ||
2155 | newLeafNode(otherlv_1, grammarAccess.getLocalVariablesAccess().getLeftSquareBracketKeyword_1()); | ||
2156 | } | ||
2157 | ( | ||
2158 | ( | 2498 | ( |
2159 | ( | ||
2160 | { | ||
2161 | newCompositeNode(grammarAccess.getLocalVariablesAccess().getVariablesVariableParserRuleCall_2_0_0()); | ||
2162 | } | ||
2163 | lv_variables_2_0=ruleVariable | ||
2164 | { | ||
2165 | if ($current==null) { | ||
2166 | $current = createModelElementForParent(grammarAccess.getLocalVariablesRule()); | ||
2167 | } | ||
2168 | add( | ||
2169 | $current, | ||
2170 | "variables", | ||
2171 | lv_variables_2_0, | ||
2172 | "org.eclipse.viatra.solver.language.SolverLanguage.Variable"); | ||
2173 | afterParserOrEnumRuleCall(); | ||
2174 | } | ||
2175 | ) | ||
2176 | ) | ||
2177 | ( | ||
2178 | otherlv_3=Comma | ||
2179 | { | 2499 | { |
2180 | newLeafNode(otherlv_3, grammarAccess.getLocalVariablesAccess().getCommaKeyword_2_1_0()); | 2500 | if ($current==null) { |
2501 | $current = createModelElement(grammarAccess.getAggregationRule()); | ||
2502 | } | ||
2181 | } | 2503 | } |
2182 | ( | ||
2183 | ( | ||
2184 | { | ||
2185 | newCompositeNode(grammarAccess.getLocalVariablesAccess().getVariablesVariableParserRuleCall_2_1_1_0()); | ||
2186 | } | ||
2187 | lv_variables_4_0=ruleVariable | ||
2188 | { | ||
2189 | if ($current==null) { | ||
2190 | $current = createModelElementForParent(grammarAccess.getLocalVariablesRule()); | ||
2191 | } | ||
2192 | add( | ||
2193 | $current, | ||
2194 | "variables", | ||
2195 | lv_variables_4_0, | ||
2196 | "org.eclipse.viatra.solver.language.SolverLanguage.Variable"); | ||
2197 | afterParserOrEnumRuleCall(); | ||
2198 | } | ||
2199 | ) | ||
2200 | ) | ||
2201 | )* | ||
2202 | )? | ||
2203 | otherlv_5=RightSquareBracket | ||
2204 | { | ||
2205 | newLeafNode(otherlv_5, grammarAccess.getLocalVariablesAccess().getRightSquareBracketKeyword_3()); | ||
2206 | } | ||
2207 | ) | ||
2208 | ; | ||
2209 | |||
2210 | // Entry rule entryRuleQuantifiedExpression | ||
2211 | entryRuleQuantifiedExpression returns [EObject current=null]: | ||
2212 | { newCompositeNode(grammarAccess.getQuantifiedExpressionRule()); } | ||
2213 | iv_ruleQuantifiedExpression=ruleQuantifiedExpression | ||
2214 | { $current=$iv_ruleQuantifiedExpression.current; } | ||
2215 | EOF; | ||
2216 | |||
2217 | // Rule QuantifiedExpression | ||
2218 | ruleQuantifiedExpression returns [EObject current=null] | ||
2219 | @init { | ||
2220 | enterRule(); | ||
2221 | } | ||
2222 | @after { | ||
2223 | leaveRule(); | ||
2224 | }: | ||
2225 | ( | ||
2226 | ( | ||
2227 | ( | ||
2228 | { | 2504 | { |
2229 | newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getQuantifierQuantifierEnumRuleCall_0_0()); | 2505 | newCompositeNode(grammarAccess.getAggregationAccess().getOpSymbolCrossReference_0_0()); |
2230 | } | 2506 | } |
2231 | lv_quantifier_0_0=ruleQuantifier | 2507 | ruleQualifiedName |
2232 | { | 2508 | { |
2233 | if ($current==null) { | ||
2234 | $current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule()); | ||
2235 | } | ||
2236 | set( | ||
2237 | $current, | ||
2238 | "quantifier", | ||
2239 | lv_quantifier_0_0, | ||
2240 | "org.eclipse.viatra.solver.language.SolverLanguage.Quantifier"); | ||
2241 | afterParserOrEnumRuleCall(); | 2509 | afterParserOrEnumRuleCall(); |
2242 | } | 2510 | } |
2243 | ) | 2511 | ) |
2244 | ) | 2512 | ) |
2513 | otherlv_1=LeftCurlyBracket | ||
2514 | { | ||
2515 | newLeafNode(otherlv_1, grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_1()); | ||
2516 | } | ||
2245 | ( | 2517 | ( |
2246 | ( | 2518 | ( |
2247 | { | 2519 | { |
2248 | newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getLocalVariablesLocalVariablesParserRuleCall_1_0()); | 2520 | newCompositeNode(grammarAccess.getAggregationAccess().getValueExpressionParserRuleCall_2_0()); |
2249 | } | 2521 | } |
2250 | lv_localVariables_1_0=ruleLocalVariables | 2522 | lv_value_2_0=ruleExpression |
2251 | { | 2523 | { |
2252 | if ($current==null) { | 2524 | if ($current==null) { |
2253 | $current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule()); | 2525 | $current = createModelElementForParent(grammarAccess.getAggregationRule()); |
2254 | } | 2526 | } |
2255 | set( | 2527 | set( |
2256 | $current, | 2528 | $current, |
2257 | "localVariables", | 2529 | "value", |
2258 | lv_localVariables_1_0, | 2530 | lv_value_2_0, |
2259 | "org.eclipse.viatra.solver.language.SolverLanguage.LocalVariables"); | 2531 | "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); |
2260 | afterParserOrEnumRuleCall(); | 2532 | afterParserOrEnumRuleCall(); |
2261 | } | 2533 | } |
2262 | ) | 2534 | ) |
2263 | )? | 2535 | ) |
2264 | otherlv_2=LeftCurlyBracket | 2536 | otherlv_3=VerticalLine |
2265 | { | 2537 | { |
2266 | newLeafNode(otherlv_2, grammarAccess.getQuantifiedExpressionAccess().getLeftCurlyBracketKeyword_2()); | 2538 | newLeafNode(otherlv_3, grammarAccess.getAggregationAccess().getVerticalLineKeyword_3()); |
2267 | } | 2539 | } |
2268 | ( | 2540 | ( |
2269 | ( | 2541 | ( |
2270 | { | 2542 | { |
2271 | newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getBodyExpressionParserRuleCall_3_0()); | 2543 | newCompositeNode(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0()); |
2272 | } | 2544 | } |
2273 | lv_body_3_0=ruleExpression | 2545 | lv_condition_4_0=ruleExpression |
2274 | { | 2546 | { |
2275 | if ($current==null) { | 2547 | if ($current==null) { |
2276 | $current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule()); | 2548 | $current = createModelElementForParent(grammarAccess.getAggregationRule()); |
2277 | } | 2549 | } |
2278 | set( | 2550 | set( |
2279 | $current, | 2551 | $current, |
2280 | "body", | 2552 | "condition", |
2281 | lv_body_3_0, | 2553 | lv_condition_4_0, |
2282 | "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); | 2554 | "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); |
2283 | afterParserOrEnumRuleCall(); | 2555 | afterParserOrEnumRuleCall(); |
2284 | } | 2556 | } |
2285 | ) | 2557 | ) |
2286 | ) | 2558 | ) |
2287 | otherlv_4=RightCurlyBracket | 2559 | otherlv_5=RightCurlyBracket |
2288 | { | 2560 | { |
2289 | newLeafNode(otherlv_4, grammarAccess.getQuantifiedExpressionAccess().getRightCurlyBracketKeyword_4()); | 2561 | newLeafNode(otherlv_5, grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5()); |
2290 | } | 2562 | } |
2291 | ) | 2563 | ) |
2292 | ; | 2564 | ; |
2293 | 2565 | ||
2294 | // Entry rule entryRuleAggregation | 2566 | // Entry rule entryRuleCount |
2295 | entryRuleAggregation returns [EObject current=null]: | 2567 | entryRuleCount returns [EObject current=null]: |
2296 | { newCompositeNode(grammarAccess.getAggregationRule()); } | 2568 | { newCompositeNode(grammarAccess.getCountRule()); } |
2297 | iv_ruleAggregation=ruleAggregation | 2569 | iv_ruleCount=ruleCount |
2298 | { $current=$iv_ruleAggregation.current; } | 2570 | { $current=$iv_ruleCount.current; } |
2299 | EOF; | 2571 | EOF; |
2300 | 2572 | ||
2301 | // Rule Aggregation | 2573 | // Rule Count |
2302 | ruleAggregation returns [EObject current=null] | 2574 | ruleCount returns [EObject current=null] |
2303 | @init { | 2575 | @init { |
2304 | enterRule(); | 2576 | enterRule(); |
2305 | } | 2577 | } |
@@ -2307,92 +2579,36 @@ ruleAggregation returns [EObject current=null] | |||
2307 | leaveRule(); | 2579 | leaveRule(); |
2308 | }: | 2580 | }: |
2309 | ( | 2581 | ( |
2310 | ( | 2582 | otherlv_0=Count |
2311 | ( | ||
2312 | { | ||
2313 | if ($current==null) { | ||
2314 | $current = createModelElement(grammarAccess.getAggregationRule()); | ||
2315 | } | ||
2316 | } | ||
2317 | { | ||
2318 | newCompositeNode(grammarAccess.getAggregationAccess().getOpNamedElementCrossReference_0_0()); | ||
2319 | } | ||
2320 | ruleQualifiedName | ||
2321 | { | ||
2322 | afterParserOrEnumRuleCall(); | ||
2323 | } | ||
2324 | ) | ||
2325 | ) | ||
2326 | ( | ||
2327 | ( | ||
2328 | { | ||
2329 | newCompositeNode(grammarAccess.getAggregationAccess().getLocalVariablesLocalVariablesParserRuleCall_1_0()); | ||
2330 | } | ||
2331 | lv_localVariables_1_0=ruleLocalVariables | ||
2332 | { | ||
2333 | if ($current==null) { | ||
2334 | $current = createModelElementForParent(grammarAccess.getAggregationRule()); | ||
2335 | } | ||
2336 | set( | ||
2337 | $current, | ||
2338 | "localVariables", | ||
2339 | lv_localVariables_1_0, | ||
2340 | "org.eclipse.viatra.solver.language.SolverLanguage.LocalVariables"); | ||
2341 | afterParserOrEnumRuleCall(); | ||
2342 | } | ||
2343 | ) | ||
2344 | )? | ||
2345 | otherlv_2=LeftCurlyBracket | ||
2346 | { | 2583 | { |
2347 | newLeafNode(otherlv_2, grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_2()); | 2584 | newLeafNode(otherlv_0, grammarAccess.getCountAccess().getCountKeyword_0()); |
2585 | } | ||
2586 | otherlv_1=LeftCurlyBracket | ||
2587 | { | ||
2588 | newLeafNode(otherlv_1, grammarAccess.getCountAccess().getLeftCurlyBracketKeyword_1()); | ||
2348 | } | 2589 | } |
2349 | ( | 2590 | ( |
2350 | ( | 2591 | ( |
2351 | { | 2592 | { |
2352 | newCompositeNode(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_3_0()); | 2593 | newCompositeNode(grammarAccess.getCountAccess().getConditionExpressionParserRuleCall_2_0()); |
2353 | } | 2594 | } |
2354 | lv_body_3_0=ruleExpression | 2595 | lv_condition_2_0=ruleExpression |
2355 | { | 2596 | { |
2356 | if ($current==null) { | 2597 | if ($current==null) { |
2357 | $current = createModelElementForParent(grammarAccess.getAggregationRule()); | 2598 | $current = createModelElementForParent(grammarAccess.getCountRule()); |
2358 | } | 2599 | } |
2359 | set( | 2600 | set( |
2360 | $current, | 2601 | $current, |
2361 | "body", | 2602 | "condition", |
2362 | lv_body_3_0, | 2603 | lv_condition_2_0, |
2363 | "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); | 2604 | "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); |
2364 | afterParserOrEnumRuleCall(); | 2605 | afterParserOrEnumRuleCall(); |
2365 | } | 2606 | } |
2366 | ) | 2607 | ) |
2367 | ) | 2608 | ) |
2368 | ( | 2609 | otherlv_3=RightCurlyBracket |
2369 | otherlv_4=VerticalLine | ||
2370 | { | ||
2371 | newLeafNode(otherlv_4, grammarAccess.getAggregationAccess().getVerticalLineKeyword_4_0()); | ||
2372 | } | ||
2373 | ( | ||
2374 | ( | ||
2375 | { | ||
2376 | newCompositeNode(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_1_0()); | ||
2377 | } | ||
2378 | lv_condition_5_0=ruleExpression | ||
2379 | { | ||
2380 | if ($current==null) { | ||
2381 | $current = createModelElementForParent(grammarAccess.getAggregationRule()); | ||
2382 | } | ||
2383 | set( | ||
2384 | $current, | ||
2385 | "condition", | ||
2386 | lv_condition_5_0, | ||
2387 | "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); | ||
2388 | afterParserOrEnumRuleCall(); | ||
2389 | } | ||
2390 | ) | ||
2391 | ) | ||
2392 | )? | ||
2393 | otherlv_6=RightCurlyBracket | ||
2394 | { | 2610 | { |
2395 | newLeafNode(otherlv_6, grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5()); | 2611 | newLeafNode(otherlv_3, grammarAccess.getCountAccess().getRightCurlyBracketKeyword_3()); |
2396 | } | 2612 | } |
2397 | ) | 2613 | ) |
2398 | ; | 2614 | ; |
@@ -2507,49 +2723,10 @@ ruleCall returns [EObject current=null] | |||
2507 | ) | 2723 | ) |
2508 | ( | 2724 | ( |
2509 | ( | 2725 | ( |
2510 | ( | ||
2511 | lv_transitiveClosure_1_0=RULE_TRANSITIVE_CLOSURE | ||
2512 | { | ||
2513 | newLeafNode(lv_transitiveClosure_1_0, grammarAccess.getCallAccess().getTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_1_0_0()); | ||
2514 | } | ||
2515 | { | ||
2516 | if ($current==null) { | ||
2517 | $current = createModelElement(grammarAccess.getCallRule()); | ||
2518 | } | ||
2519 | setWithLastConsumed( | ||
2520 | $current, | ||
2521 | "transitiveClosure", | ||
2522 | true, | ||
2523 | "org.eclipse.viatra.solver.language.SolverLanguage.TRANSITIVE_CLOSURE"); | ||
2524 | } | ||
2525 | ) | ||
2526 | ) | ||
2527 | | | ||
2528 | ( | ||
2529 | ( | ||
2530 | lv_reflexiveTransitiveClosure_2_0=RULE_REFLEXIVE_TRANSITIVE_CLOSURE | ||
2531 | { | ||
2532 | newLeafNode(lv_reflexiveTransitiveClosure_2_0, grammarAccess.getCallAccess().getReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_1_1_0()); | ||
2533 | } | ||
2534 | { | ||
2535 | if ($current==null) { | ||
2536 | $current = createModelElement(grammarAccess.getCallRule()); | ||
2537 | } | ||
2538 | setWithLastConsumed( | ||
2539 | $current, | ||
2540 | "reflexiveTransitiveClosure", | ||
2541 | true, | ||
2542 | "org.eclipse.viatra.solver.language.SolverLanguage.REFLEXIVE_TRANSITIVE_CLOSURE"); | ||
2543 | } | ||
2544 | ) | ||
2545 | ) | ||
2546 | )? | ||
2547 | ( | ||
2548 | ( | ||
2549 | { | 2726 | { |
2550 | newCompositeNode(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_2_0()); | 2727 | newCompositeNode(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_1_0()); |
2551 | } | 2728 | } |
2552 | lv_argumentList_3_0=ruleArgumentList | 2729 | lv_argumentList_1_0=ruleArgumentList |
2553 | { | 2730 | { |
2554 | if ($current==null) { | 2731 | if ($current==null) { |
2555 | $current = createModelElementForParent(grammarAccess.getCallRule()); | 2732 | $current = createModelElementForParent(grammarAccess.getCallRule()); |
@@ -2557,7 +2734,7 @@ ruleCall returns [EObject current=null] | |||
2557 | set( | 2734 | set( |
2558 | $current, | 2735 | $current, |
2559 | "argumentList", | 2736 | "argumentList", |
2560 | lv_argumentList_3_0, | 2737 | lv_argumentList_1_0, |
2561 | "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); | 2738 | "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList"); |
2562 | afterParserOrEnumRuleCall(); | 2739 | afterParserOrEnumRuleCall(); |
2563 | } | 2740 | } |
@@ -2681,11 +2858,11 @@ ruleArgument returns [EObject current=null] | |||
2681 | } | 2858 | } |
2682 | | | 2859 | | |
2683 | { | 2860 | { |
2684 | newCompositeNode(grammarAccess.getArgumentAccess().getTypedArgumentParserRuleCall_2()); | 2861 | newCompositeNode(grammarAccess.getArgumentAccess().getTypedVariableArgumentParserRuleCall_2()); |
2685 | } | 2862 | } |
2686 | this_TypedArgument_2=ruleTypedArgument | 2863 | this_TypedVariableArgument_2=ruleTypedVariableArgument |
2687 | { | 2864 | { |
2688 | $current = $this_TypedArgument_2.current; | 2865 | $current = $this_TypedVariableArgument_2.current; |
2689 | afterParserOrEnumRuleCall(); | 2866 | afterParserOrEnumRuleCall(); |
2690 | } | 2867 | } |
2691 | | | 2868 | | |
@@ -2718,17 +2895,17 @@ ruleExpressionArgument returns [EObject current=null] | |||
2718 | ( | 2895 | ( |
2719 | ( | 2896 | ( |
2720 | { | 2897 | { |
2721 | newCompositeNode(grammarAccess.getExpressionArgumentAccess().getBodyComparisonExpressionParserRuleCall_0()); | 2898 | newCompositeNode(grammarAccess.getExpressionArgumentAccess().getExpressionComparisonExpressionParserRuleCall_0()); |
2722 | } | 2899 | } |
2723 | lv_body_0_0=ruleComparisonExpression | 2900 | lv_expression_0_0=ruleComparisonExpression |
2724 | { | 2901 | { |
2725 | if ($current==null) { | 2902 | if ($current==null) { |
2726 | $current = createModelElementForParent(grammarAccess.getExpressionArgumentRule()); | 2903 | $current = createModelElementForParent(grammarAccess.getExpressionArgumentRule()); |
2727 | } | 2904 | } |
2728 | set( | 2905 | set( |
2729 | $current, | 2906 | $current, |
2730 | "body", | 2907 | "expression", |
2731 | lv_body_0_0, | 2908 | lv_expression_0_0, |
2732 | "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonExpression"); | 2909 | "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonExpression"); |
2733 | afterParserOrEnumRuleCall(); | 2910 | afterParserOrEnumRuleCall(); |
2734 | } | 2911 | } |
@@ -2766,15 +2943,15 @@ ruleStarArgument returns [EObject current=null] | |||
2766 | ) | 2943 | ) |
2767 | ; | 2944 | ; |
2768 | 2945 | ||
2769 | // Entry rule entryRuleTypedArgument | 2946 | // Entry rule entryRuleTypedVariableArgument |
2770 | entryRuleTypedArgument returns [EObject current=null]: | 2947 | entryRuleTypedVariableArgument returns [EObject current=null]: |
2771 | { newCompositeNode(grammarAccess.getTypedArgumentRule()); } | 2948 | { newCompositeNode(grammarAccess.getTypedVariableArgumentRule()); } |
2772 | iv_ruleTypedArgument=ruleTypedArgument | 2949 | iv_ruleTypedVariableArgument=ruleTypedVariableArgument |
2773 | { $current=$iv_ruleTypedArgument.current; } | 2950 | { $current=$iv_ruleTypedVariableArgument.current; } |
2774 | EOF; | 2951 | EOF; |
2775 | 2952 | ||
2776 | // Rule TypedArgument | 2953 | // Rule TypedVariableArgument |
2777 | ruleTypedArgument returns [EObject current=null] | 2954 | ruleTypedVariableArgument returns [EObject current=null] |
2778 | @init { | 2955 | @init { |
2779 | enterRule(); | 2956 | enterRule(); |
2780 | } | 2957 | } |
@@ -2785,32 +2962,37 @@ ruleTypedArgument returns [EObject current=null] | |||
2785 | ( | 2962 | ( |
2786 | ( | 2963 | ( |
2787 | { | 2964 | { |
2788 | if ($current==null) { | 2965 | newCompositeNode(grammarAccess.getTypedVariableArgumentAccess().getTypeReferenceTypeReferenceParserRuleCall_0_0()); |
2789 | $current = createModelElement(grammarAccess.getTypedArgumentRule()); | ||
2790 | } | ||
2791 | } | 2966 | } |
2967 | lv_typeReference_0_0=ruleTypeReference | ||
2792 | { | 2968 | { |
2793 | newCompositeNode(grammarAccess.getTypedArgumentAccess().getTypeNamedElementCrossReference_0_0()); | 2969 | if ($current==null) { |
2794 | } | 2970 | $current = createModelElementForParent(grammarAccess.getTypedVariableArgumentRule()); |
2795 | ruleQualifiedName | 2971 | } |
2796 | { | 2972 | set( |
2973 | $current, | ||
2974 | "typeReference", | ||
2975 | lv_typeReference_0_0, | ||
2976 | "org.eclipse.viatra.solver.language.SolverLanguage.TypeReference"); | ||
2797 | afterParserOrEnumRuleCall(); | 2977 | afterParserOrEnumRuleCall(); |
2798 | } | 2978 | } |
2799 | ) | 2979 | ) |
2800 | ) | 2980 | ) |
2801 | ( | 2981 | ( |
2802 | ( | 2982 | ( |
2983 | lv_name_1_0=RULE_ID | ||
2803 | { | 2984 | { |
2804 | if ($current==null) { | 2985 | newLeafNode(lv_name_1_0, grammarAccess.getTypedVariableArgumentAccess().getNameIDTerminalRuleCall_1_0()); |
2805 | $current = createModelElement(grammarAccess.getTypedArgumentRule()); | ||
2806 | } | ||
2807 | } | ||
2808 | { | ||
2809 | newCompositeNode(grammarAccess.getTypedArgumentAccess().getVariableNamedElementCrossReference_1_0()); | ||
2810 | } | 2986 | } |
2811 | ruleQualifiedName | ||
2812 | { | 2987 | { |
2813 | afterParserOrEnumRuleCall(); | 2988 | if ($current==null) { |
2989 | $current = createModelElement(grammarAccess.getTypedVariableArgumentRule()); | ||
2990 | } | ||
2991 | setWithLastConsumed( | ||
2992 | $current, | ||
2993 | "name", | ||
2994 | lv_name_1_0, | ||
2995 | "org.eclipse.xtext.common.Terminals.ID"); | ||
2814 | } | 2996 | } |
2815 | ) | 2997 | ) |
2816 | ) | 2998 | ) |
@@ -2836,15 +3018,18 @@ ruleTypedStarArgument returns [EObject current=null] | |||
2836 | ( | 3018 | ( |
2837 | ( | 3019 | ( |
2838 | { | 3020 | { |
2839 | if ($current==null) { | 3021 | newCompositeNode(grammarAccess.getTypedStarArgumentAccess().getTypeReferenceTypeReferenceParserRuleCall_0_0()); |
2840 | $current = createModelElement(grammarAccess.getTypedStarArgumentRule()); | ||
2841 | } | ||
2842 | } | 3022 | } |
3023 | lv_typeReference_0_0=ruleTypeReference | ||
2843 | { | 3024 | { |
2844 | newCompositeNode(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementCrossReference_0_0()); | 3025 | if ($current==null) { |
2845 | } | 3026 | $current = createModelElementForParent(grammarAccess.getTypedStarArgumentRule()); |
2846 | ruleQualifiedName | 3027 | } |
2847 | { | 3028 | set( |
3029 | $current, | ||
3030 | "typeReference", | ||
3031 | lv_typeReference_0_0, | ||
3032 | "org.eclipse.viatra.solver.language.SolverLanguage.TypeReference"); | ||
2848 | afterParserOrEnumRuleCall(); | 3033 | afterParserOrEnumRuleCall(); |
2849 | } | 3034 | } |
2850 | ) | 3035 | ) |
@@ -2873,19 +3058,137 @@ ruleReference returns [EObject current=null] | |||
2873 | }: | 3058 | }: |
2874 | ( | 3059 | ( |
2875 | ( | 3060 | ( |
2876 | { | 3061 | ( |
2877 | if ($current==null) { | 3062 | { |
2878 | $current = createModelElement(grammarAccess.getReferenceRule()); | 3063 | newCompositeNode(grammarAccess.getReferenceAccess().getComponentsPathComponentParserRuleCall_0_0()); |
2879 | } | 3064 | } |
2880 | } | 3065 | lv_components_0_0=rulePathComponent |
2881 | { | 3066 | { |
2882 | newCompositeNode(grammarAccess.getReferenceAccess().getReferredNamedElementCrossReference_0()); | 3067 | if ($current==null) { |
2883 | } | 3068 | $current = createModelElementForParent(grammarAccess.getReferenceRule()); |
2884 | ruleQualifiedName | 3069 | } |
3070 | add( | ||
3071 | $current, | ||
3072 | "components", | ||
3073 | lv_components_0_0, | ||
3074 | "org.eclipse.viatra.solver.language.SolverLanguage.PathComponent"); | ||
3075 | afterParserOrEnumRuleCall(); | ||
3076 | } | ||
3077 | ) | ||
3078 | ) | ||
3079 | ( | ||
3080 | otherlv_1=FullStop | ||
2885 | { | 3081 | { |
2886 | afterParserOrEnumRuleCall(); | 3082 | newLeafNode(otherlv_1, grammarAccess.getReferenceAccess().getFullStopKeyword_1_0()); |
2887 | } | 3083 | } |
3084 | ( | ||
3085 | ( | ||
3086 | { | ||
3087 | newCompositeNode(grammarAccess.getReferenceAccess().getComponentsPathComponentParserRuleCall_1_1_0()); | ||
3088 | } | ||
3089 | lv_components_2_0=rulePathComponent | ||
3090 | { | ||
3091 | if ($current==null) { | ||
3092 | $current = createModelElementForParent(grammarAccess.getReferenceRule()); | ||
3093 | } | ||
3094 | add( | ||
3095 | $current, | ||
3096 | "components", | ||
3097 | lv_components_2_0, | ||
3098 | "org.eclipse.viatra.solver.language.SolverLanguage.PathComponent"); | ||
3099 | afterParserOrEnumRuleCall(); | ||
3100 | } | ||
3101 | ) | ||
3102 | ) | ||
3103 | )* | ||
3104 | ) | ||
3105 | ; | ||
3106 | |||
3107 | // Entry rule entryRulePathComponent | ||
3108 | entryRulePathComponent returns [EObject current=null]: | ||
3109 | { newCompositeNode(grammarAccess.getPathComponentRule()); } | ||
3110 | iv_rulePathComponent=rulePathComponent | ||
3111 | { $current=$iv_rulePathComponent.current; } | ||
3112 | EOF; | ||
3113 | |||
3114 | // Rule PathComponent | ||
3115 | rulePathComponent returns [EObject current=null] | ||
3116 | @init { | ||
3117 | enterRule(); | ||
3118 | } | ||
3119 | @after { | ||
3120 | leaveRule(); | ||
3121 | }: | ||
3122 | ( | ||
3123 | ( | ||
3124 | ( | ||
3125 | lv_inverse_0_0=Tilde | ||
3126 | { | ||
3127 | newLeafNode(lv_inverse_0_0, grammarAccess.getPathComponentAccess().getInverseTildeKeyword_0_0()); | ||
3128 | } | ||
3129 | { | ||
3130 | if ($current==null) { | ||
3131 | $current = createModelElement(grammarAccess.getPathComponentRule()); | ||
3132 | } | ||
3133 | setWithLastConsumed($current, "inverse", true, "~"); | ||
3134 | } | ||
3135 | ) | ||
3136 | )? | ||
3137 | ( | ||
3138 | ( | ||
3139 | { | ||
3140 | if ($current==null) { | ||
3141 | $current = createModelElement(grammarAccess.getPathComponentRule()); | ||
3142 | } | ||
3143 | } | ||
3144 | { | ||
3145 | newCompositeNode(grammarAccess.getPathComponentAccess().getSymbolSymbolCrossReference_1_0()); | ||
3146 | } | ||
3147 | ruleQualifiedName | ||
3148 | { | ||
3149 | afterParserOrEnumRuleCall(); | ||
3150 | } | ||
3151 | ) | ||
2888 | ) | 3152 | ) |
3153 | ( | ||
3154 | ( | ||
3155 | ( | ||
3156 | lv_transitiveClosure_2_0=RULE_TRANSITIVE_CLOSURE | ||
3157 | { | ||
3158 | newLeafNode(lv_transitiveClosure_2_0, grammarAccess.getPathComponentAccess().getTransitiveClosureTRANSITIVE_CLOSURETerminalRuleCall_2_0_0()); | ||
3159 | } | ||
3160 | { | ||
3161 | if ($current==null) { | ||
3162 | $current = createModelElement(grammarAccess.getPathComponentRule()); | ||
3163 | } | ||
3164 | setWithLastConsumed( | ||
3165 | $current, | ||
3166 | "transitiveClosure", | ||
3167 | true, | ||
3168 | "org.eclipse.viatra.solver.language.SolverLanguage.TRANSITIVE_CLOSURE"); | ||
3169 | } | ||
3170 | ) | ||
3171 | ) | ||
3172 | | | ||
3173 | ( | ||
3174 | ( | ||
3175 | lv_reflexiveTransitiveClosure_3_0=RULE_REFLEXIVE_TRANSITIVE_CLOSURE | ||
3176 | { | ||
3177 | newLeafNode(lv_reflexiveTransitiveClosure_3_0, grammarAccess.getPathComponentAccess().getReflexiveTransitiveClosureREFLEXIVE_TRANSITIVE_CLOSURETerminalRuleCall_2_1_0()); | ||
3178 | } | ||
3179 | { | ||
3180 | if ($current==null) { | ||
3181 | $current = createModelElement(grammarAccess.getPathComponentRule()); | ||
3182 | } | ||
3183 | setWithLastConsumed( | ||
3184 | $current, | ||
3185 | "reflexiveTransitiveClosure", | ||
3186 | true, | ||
3187 | "org.eclipse.viatra.solver.language.SolverLanguage.REFLEXIVE_TRANSITIVE_CLOSURE"); | ||
3188 | } | ||
3189 | ) | ||
3190 | ) | ||
3191 | )? | ||
2889 | ) | 3192 | ) |
2890 | ; | 3193 | ; |
2891 | 3194 | ||
@@ -2912,9 +3215,9 @@ ruleInterval returns [EObject current=null] | |||
2912 | ( | 3215 | ( |
2913 | ( | 3216 | ( |
2914 | { | 3217 | { |
2915 | newCompositeNode(grammarAccess.getIntervalAccess().getLowerBoundExpressionParserRuleCall_1_0()); | 3218 | newCompositeNode(grammarAccess.getIntervalAccess().getLowerBoundAdditiveExpressionParserRuleCall_1_0()); |
2916 | } | 3219 | } |
2917 | lv_lowerBound_1_0=ruleExpression | 3220 | lv_lowerBound_1_0=ruleAdditiveExpression |
2918 | { | 3221 | { |
2919 | if ($current==null) { | 3222 | if ($current==null) { |
2920 | $current = createModelElementForParent(grammarAccess.getIntervalRule()); | 3223 | $current = createModelElementForParent(grammarAccess.getIntervalRule()); |
@@ -2923,21 +3226,21 @@ ruleInterval returns [EObject current=null] | |||
2923 | $current, | 3226 | $current, |
2924 | "lowerBound", | 3227 | "lowerBound", |
2925 | lv_lowerBound_1_0, | 3228 | lv_lowerBound_1_0, |
2926 | "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); | 3229 | "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression"); |
2927 | afterParserOrEnumRuleCall(); | 3230 | afterParserOrEnumRuleCall(); |
2928 | } | 3231 | } |
2929 | ) | 3232 | ) |
2930 | ) | 3233 | ) |
2931 | otherlv_2=FullStopFullStop | 3234 | otherlv_2=Comma |
2932 | { | 3235 | { |
2933 | newLeafNode(otherlv_2, grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_2()); | 3236 | newLeafNode(otherlv_2, grammarAccess.getIntervalAccess().getCommaKeyword_2()); |
2934 | } | 3237 | } |
2935 | ( | 3238 | ( |
2936 | ( | 3239 | ( |
2937 | { | 3240 | { |
2938 | newCompositeNode(grammarAccess.getIntervalAccess().getUpperBoundExpressionParserRuleCall_3_0()); | 3241 | newCompositeNode(grammarAccess.getIntervalAccess().getUpperBoundAdditiveExpressionParserRuleCall_3_0()); |
2939 | } | 3242 | } |
2940 | lv_upperBound_3_0=ruleExpression | 3243 | lv_upperBound_3_0=ruleAdditiveExpression |
2941 | { | 3244 | { |
2942 | if ($current==null) { | 3245 | if ($current==null) { |
2943 | $current = createModelElementForParent(grammarAccess.getIntervalRule()); | 3246 | $current = createModelElementForParent(grammarAccess.getIntervalRule()); |
@@ -2946,7 +3249,7 @@ ruleInterval returns [EObject current=null] | |||
2946 | $current, | 3249 | $current, |
2947 | "upperBound", | 3250 | "upperBound", |
2948 | lv_upperBound_3_0, | 3251 | lv_upperBound_3_0, |
2949 | "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); | 3252 | "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression"); |
2950 | afterParserOrEnumRuleCall(); | 3253 | afterParserOrEnumRuleCall(); |
2951 | } | 3254 | } |
2952 | ) | 3255 | ) |
@@ -2984,38 +3287,47 @@ ruleLiteral returns [EObject current=null] | |||
2984 | } | 3287 | } |
2985 | | | 3288 | | |
2986 | { | 3289 | { |
2987 | newCompositeNode(grammarAccess.getLiteralAccess().getNumericLiteralParserRuleCall_1()); | 3290 | newCompositeNode(grammarAccess.getLiteralAccess().getIntLiteralParserRuleCall_1()); |
2988 | } | 3291 | } |
2989 | this_NumericLiteral_1=ruleNumericLiteral | 3292 | this_IntLiteral_1=ruleIntLiteral |
2990 | { | 3293 | { |
2991 | $current = $this_NumericLiteral_1.current; | 3294 | $current = $this_IntLiteral_1.current; |
2992 | afterParserOrEnumRuleCall(); | 3295 | afterParserOrEnumRuleCall(); |
2993 | } | 3296 | } |
2994 | | | 3297 | | |
2995 | { | 3298 | { |
2996 | newCompositeNode(grammarAccess.getLiteralAccess().getInfinityLiteralParserRuleCall_2()); | 3299 | newCompositeNode(grammarAccess.getLiteralAccess().getRealLiteralParserRuleCall_2()); |
2997 | } | 3300 | } |
2998 | this_InfinityLiteral_2=ruleInfinityLiteral | 3301 | this_RealLiteral_2=ruleRealLiteral |
2999 | { | 3302 | { |
3000 | $current = $this_InfinityLiteral_2.current; | 3303 | $current = $this_RealLiteral_2.current; |
3001 | afterParserOrEnumRuleCall(); | 3304 | afterParserOrEnumRuleCall(); |
3002 | } | 3305 | } |
3003 | | | 3306 | | |
3004 | { | 3307 | { |
3005 | newCompositeNode(grammarAccess.getLiteralAccess().getEmptyIntervalLiteralParserRuleCall_3()); | 3308 | newCompositeNode(grammarAccess.getLiteralAccess().getInfinityLiteralParserRuleCall_3()); |
3006 | } | 3309 | } |
3007 | this_EmptyIntervalLiteral_3=ruleEmptyIntervalLiteral | 3310 | this_InfinityLiteral_3=ruleInfinityLiteral |
3008 | { | 3311 | { |
3009 | $current = $this_EmptyIntervalLiteral_3.current; | 3312 | $current = $this_InfinityLiteral_3.current; |
3010 | afterParserOrEnumRuleCall(); | 3313 | afterParserOrEnumRuleCall(); |
3011 | } | 3314 | } |
3012 | | | 3315 | | |
3013 | { | 3316 | { |
3014 | newCompositeNode(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); | 3317 | newCompositeNode(grammarAccess.getLiteralAccess().getEmptyLiteralParserRuleCall_4()); |
3015 | } | 3318 | } |
3016 | this_StringLiteral_4=ruleStringLiteral | 3319 | this_EmptyLiteral_4=ruleEmptyLiteral |
3017 | { | 3320 | { |
3018 | $current = $this_StringLiteral_4.current; | 3321 | $current = $this_EmptyLiteral_4.current; |
3322 | afterParserOrEnumRuleCall(); | ||
3323 | } | ||
3324 | | | ||
3325 | { | ||
3326 | newCompositeNode(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_5()); | ||
3327 | } | ||
3328 | this_StringLiteral_5=ruleStringLiteral | ||
3329 | { | ||
3330 | $current = $this_StringLiteral_5.current; | ||
3019 | afterParserOrEnumRuleCall(); | 3331 | afterParserOrEnumRuleCall(); |
3020 | } | 3332 | } |
3021 | ) | 3333 | ) |
@@ -3057,15 +3369,50 @@ ruleLogicLiteral returns [EObject current=null] | |||
3057 | ) | 3369 | ) |
3058 | ; | 3370 | ; |
3059 | 3371 | ||
3060 | // Entry rule entryRuleNumericLiteral | 3372 | // Entry rule entryRuleIntLiteral |
3061 | entryRuleNumericLiteral returns [EObject current=null]: | 3373 | entryRuleIntLiteral returns [EObject current=null]: |
3062 | { newCompositeNode(grammarAccess.getNumericLiteralRule()); } | 3374 | { newCompositeNode(grammarAccess.getIntLiteralRule()); } |
3063 | iv_ruleNumericLiteral=ruleNumericLiteral | 3375 | iv_ruleIntLiteral=ruleIntLiteral |
3064 | { $current=$iv_ruleNumericLiteral.current; } | 3376 | { $current=$iv_ruleIntLiteral.current; } |
3377 | EOF; | ||
3378 | |||
3379 | // Rule IntLiteral | ||
3380 | ruleIntLiteral returns [EObject current=null] | ||
3381 | @init { | ||
3382 | enterRule(); | ||
3383 | } | ||
3384 | @after { | ||
3385 | leaveRule(); | ||
3386 | }: | ||
3387 | ( | ||
3388 | ( | ||
3389 | lv_value_0_0=RULE_INT | ||
3390 | { | ||
3391 | newLeafNode(lv_value_0_0, grammarAccess.getIntLiteralAccess().getValueINTTerminalRuleCall_0()); | ||
3392 | } | ||
3393 | { | ||
3394 | if ($current==null) { | ||
3395 | $current = createModelElement(grammarAccess.getIntLiteralRule()); | ||
3396 | } | ||
3397 | setWithLastConsumed( | ||
3398 | $current, | ||
3399 | "value", | ||
3400 | lv_value_0_0, | ||
3401 | "org.eclipse.xtext.common.Terminals.INT"); | ||
3402 | } | ||
3403 | ) | ||
3404 | ) | ||
3405 | ; | ||
3406 | |||
3407 | // Entry rule entryRuleRealLiteral | ||
3408 | entryRuleRealLiteral returns [EObject current=null]: | ||
3409 | { newCompositeNode(grammarAccess.getRealLiteralRule()); } | ||
3410 | iv_ruleRealLiteral=ruleRealLiteral | ||
3411 | { $current=$iv_ruleRealLiteral.current; } | ||
3065 | EOF; | 3412 | EOF; |
3066 | 3413 | ||
3067 | // Rule NumericLiteral | 3414 | // Rule RealLiteral |
3068 | ruleNumericLiteral returns [EObject current=null] | 3415 | ruleRealLiteral returns [EObject current=null] |
3069 | @init { | 3416 | @init { |
3070 | enterRule(); | 3417 | enterRule(); |
3071 | } | 3418 | } |
@@ -3075,12 +3422,12 @@ ruleNumericLiteral returns [EObject current=null] | |||
3075 | ( | 3422 | ( |
3076 | ( | 3423 | ( |
3077 | { | 3424 | { |
3078 | newCompositeNode(grammarAccess.getNumericLiteralAccess().getValueRealParserRuleCall_0()); | 3425 | newCompositeNode(grammarAccess.getRealLiteralAccess().getValueRealParserRuleCall_0()); |
3079 | } | 3426 | } |
3080 | lv_value_0_0=ruleReal | 3427 | lv_value_0_0=ruleReal |
3081 | { | 3428 | { |
3082 | if ($current==null) { | 3429 | if ($current==null) { |
3083 | $current = createModelElementForParent(grammarAccess.getNumericLiteralRule()); | 3430 | $current = createModelElementForParent(grammarAccess.getRealLiteralRule()); |
3084 | } | 3431 | } |
3085 | set( | 3432 | set( |
3086 | $current, | 3433 | $current, |
@@ -3123,15 +3470,15 @@ ruleInfinityLiteral returns [EObject current=null] | |||
3123 | ) | 3470 | ) |
3124 | ; | 3471 | ; |
3125 | 3472 | ||
3126 | // Entry rule entryRuleEmptyIntervalLiteral | 3473 | // Entry rule entryRuleEmptyLiteral |
3127 | entryRuleEmptyIntervalLiteral returns [EObject current=null]: | 3474 | entryRuleEmptyLiteral returns [EObject current=null]: |
3128 | { newCompositeNode(grammarAccess.getEmptyIntervalLiteralRule()); } | 3475 | { newCompositeNode(grammarAccess.getEmptyLiteralRule()); } |
3129 | iv_ruleEmptyIntervalLiteral=ruleEmptyIntervalLiteral | 3476 | iv_ruleEmptyLiteral=ruleEmptyLiteral |
3130 | { $current=$iv_ruleEmptyIntervalLiteral.current; } | 3477 | { $current=$iv_ruleEmptyLiteral.current; } |
3131 | EOF; | 3478 | EOF; |
3132 | 3479 | ||
3133 | // Rule EmptyIntervalLiteral | 3480 | // Rule EmptyLiteral |
3134 | ruleEmptyIntervalLiteral returns [EObject current=null] | 3481 | ruleEmptyLiteral returns [EObject current=null] |
3135 | @init { | 3482 | @init { |
3136 | enterRule(); | 3483 | enterRule(); |
3137 | } | 3484 | } |
@@ -3142,13 +3489,13 @@ ruleEmptyIntervalLiteral returns [EObject current=null] | |||
3142 | ( | 3489 | ( |
3143 | { | 3490 | { |
3144 | $current = forceCreateModelElement( | 3491 | $current = forceCreateModelElement( |
3145 | grammarAccess.getEmptyIntervalLiteralAccess().getEmptyIntervalLiteralAction_0(), | 3492 | grammarAccess.getEmptyLiteralAccess().getEmptyLiteralAction_0(), |
3146 | $current); | 3493 | $current); |
3147 | } | 3494 | } |
3148 | ) | 3495 | ) |
3149 | otherlv_1=Empty | 3496 | otherlv_1=Empty |
3150 | { | 3497 | { |
3151 | newLeafNode(otherlv_1, grammarAccess.getEmptyIntervalLiteralAccess().getEmptyKeyword_1()); | 3498 | newLeafNode(otherlv_1, grammarAccess.getEmptyLiteralAccess().getEmptyKeyword_1()); |
3152 | } | 3499 | } |
3153 | ) | 3500 | ) |
3154 | ; | 3501 | ; |
@@ -3188,15 +3535,15 @@ ruleStringLiteral returns [EObject current=null] | |||
3188 | ) | 3535 | ) |
3189 | ; | 3536 | ; |
3190 | 3537 | ||
3191 | // Entry rule entryRuleClassDefinition | 3538 | // Entry rule entryRuleClassDeclaration |
3192 | entryRuleClassDefinition returns [EObject current=null]: | 3539 | entryRuleClassDeclaration returns [EObject current=null]: |
3193 | { newCompositeNode(grammarAccess.getClassDefinitionRule()); } | 3540 | { newCompositeNode(grammarAccess.getClassDeclarationRule()); } |
3194 | iv_ruleClassDefinition=ruleClassDefinition | 3541 | iv_ruleClassDeclaration=ruleClassDeclaration |
3195 | { $current=$iv_ruleClassDefinition.current; } | 3542 | { $current=$iv_ruleClassDeclaration.current; } |
3196 | EOF; | 3543 | EOF; |
3197 | 3544 | ||
3198 | // Rule ClassDefinition | 3545 | // Rule ClassDeclaration |
3199 | ruleClassDefinition returns [EObject current=null] | 3546 | ruleClassDeclaration returns [EObject current=null] |
3200 | @init { | 3547 | @init { |
3201 | enterRule(); | 3548 | enterRule(); |
3202 | } | 3549 | } |
@@ -3206,54 +3553,100 @@ ruleClassDefinition returns [EObject current=null] | |||
3206 | ( | 3553 | ( |
3207 | ( | 3554 | ( |
3208 | ( | 3555 | ( |
3209 | lv_abstract_0_0=Abstract | 3556 | { |
3210 | { | 3557 | getUnorderedGroupHelper().enter(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0()); |
3211 | newLeafNode(lv_abstract_0_0, grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0()); | ||
3212 | } | 3558 | } |
3213 | { | 3559 | ( |
3214 | if ($current==null) { | 3560 | ( |
3215 | $current = createModelElement(grammarAccess.getClassDefinitionRule()); | 3561 | ( |
3562 | {getUnorderedGroupHelper().canSelect(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0(), 0)}?=>( | ||
3563 | { | ||
3564 | getUnorderedGroupHelper().select(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0(), 0); | ||
3216 | } | 3565 | } |
3217 | setWithLastConsumed($current, "abstract", true, "abstract"); | 3566 | ({true}?=>(( |
3218 | } | 3567 | lv_abstract_1_0=Abstract |
3568 | { | ||
3569 | newLeafNode(lv_abstract_1_0, grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0_0()); | ||
3570 | } | ||
3571 | { | ||
3572 | if ($current==null) { | ||
3573 | $current = createModelElement(grammarAccess.getClassDeclarationRule()); | ||
3574 | } | ||
3575 | setWithLastConsumed($current, "abstract", true, "abstract"); | ||
3576 | } | ||
3577 | ) | ||
3578 | )) | ||
3579 | { | ||
3580 | getUnorderedGroupHelper().returnFromSelection(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0()); | ||
3581 | } | ||
3582 | ) | ||
3583 | )| | ||
3584 | ( | ||
3585 | {getUnorderedGroupHelper().canSelect(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0(), 1)}?=>( | ||
3586 | { | ||
3587 | getUnorderedGroupHelper().select(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0(), 1); | ||
3588 | } | ||
3589 | ({true}?=>(( | ||
3590 | lv_root_2_0=Root | ||
3591 | { | ||
3592 | newLeafNode(lv_root_2_0, grammarAccess.getClassDeclarationAccess().getRootRootKeyword_0_1_0()); | ||
3593 | } | ||
3594 | { | ||
3595 | if ($current==null) { | ||
3596 | $current = createModelElement(grammarAccess.getClassDeclarationRule()); | ||
3597 | } | ||
3598 | setWithLastConsumed($current, "root", true, "root"); | ||
3599 | } | ||
3600 | ) | ||
3601 | )) | ||
3602 | { | ||
3603 | getUnorderedGroupHelper().returnFromSelection(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0()); | ||
3604 | } | ||
3605 | ) | ||
3219 | ) | 3606 | ) |
3220 | )? | 3607 | )* |
3221 | otherlv_1=Class | 3608 | ) |
3609 | ) | ||
3610 | { | ||
3611 | getUnorderedGroupHelper().leave(grammarAccess.getClassDeclarationAccess().getUnorderedGroup_0()); | ||
3612 | } | ||
3613 | ) | ||
3614 | otherlv_3=Class | ||
3222 | { | 3615 | { |
3223 | newLeafNode(otherlv_1, grammarAccess.getClassDefinitionAccess().getClassKeyword_1()); | 3616 | newLeafNode(otherlv_3, grammarAccess.getClassDeclarationAccess().getClassKeyword_1()); |
3224 | } | 3617 | } |
3225 | ( | 3618 | ( |
3226 | ( | 3619 | ( |
3227 | lv_name_2_0=RULE_ID | 3620 | lv_name_4_0=RULE_ID |
3228 | { | 3621 | { |
3229 | newLeafNode(lv_name_2_0, grammarAccess.getClassDefinitionAccess().getNameIDTerminalRuleCall_2_0()); | 3622 | newLeafNode(lv_name_4_0, grammarAccess.getClassDeclarationAccess().getNameIDTerminalRuleCall_2_0()); |
3230 | } | 3623 | } |
3231 | { | 3624 | { |
3232 | if ($current==null) { | 3625 | if ($current==null) { |
3233 | $current = createModelElement(grammarAccess.getClassDefinitionRule()); | 3626 | $current = createModelElement(grammarAccess.getClassDeclarationRule()); |
3234 | } | 3627 | } |
3235 | setWithLastConsumed( | 3628 | setWithLastConsumed( |
3236 | $current, | 3629 | $current, |
3237 | "name", | 3630 | "name", |
3238 | lv_name_2_0, | 3631 | lv_name_4_0, |
3239 | "org.eclipse.xtext.common.Terminals.ID"); | 3632 | "org.eclipse.xtext.common.Terminals.ID"); |
3240 | } | 3633 | } |
3241 | ) | 3634 | ) |
3242 | ) | 3635 | ) |
3243 | ( | 3636 | ( |
3244 | otherlv_3=Extends | 3637 | otherlv_5=Extends |
3245 | { | 3638 | { |
3246 | newLeafNode(otherlv_3, grammarAccess.getClassDefinitionAccess().getExtendsKeyword_3_0()); | 3639 | newLeafNode(otherlv_5, grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0()); |
3247 | } | 3640 | } |
3248 | ( | 3641 | ( |
3249 | ( | 3642 | ( |
3250 | { | 3643 | { |
3251 | if ($current==null) { | 3644 | if ($current==null) { |
3252 | $current = createModelElement(grammarAccess.getClassDefinitionRule()); | 3645 | $current = createModelElement(grammarAccess.getClassDeclarationRule()); |
3253 | } | 3646 | } |
3254 | } | 3647 | } |
3255 | { | 3648 | { |
3256 | newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_1_0()); | 3649 | newCompositeNode(grammarAccess.getClassDeclarationAccess().getSupertypesSymbolCrossReference_3_1_0()); |
3257 | } | 3650 | } |
3258 | ruleQualifiedName | 3651 | ruleQualifiedName |
3259 | { | 3652 | { |
@@ -3262,19 +3655,19 @@ ruleClassDefinition returns [EObject current=null] | |||
3262 | ) | 3655 | ) |
3263 | ) | 3656 | ) |
3264 | ( | 3657 | ( |
3265 | otherlv_5=Comma | 3658 | otherlv_7=Comma |
3266 | { | 3659 | { |
3267 | newLeafNode(otherlv_5, grammarAccess.getClassDefinitionAccess().getCommaKeyword_3_2_0()); | 3660 | newLeafNode(otherlv_7, grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_2_0()); |
3268 | } | 3661 | } |
3269 | ( | 3662 | ( |
3270 | ( | 3663 | ( |
3271 | { | 3664 | { |
3272 | if ($current==null) { | 3665 | if ($current==null) { |
3273 | $current = createModelElement(grammarAccess.getClassDefinitionRule()); | 3666 | $current = createModelElement(grammarAccess.getClassDeclarationRule()); |
3274 | } | 3667 | } |
3275 | } | 3668 | } |
3276 | { | 3669 | { |
3277 | newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_2_1_0()); | 3670 | newCompositeNode(grammarAccess.getClassDeclarationAccess().getSupertypesSymbolCrossReference_3_2_1_0()); |
3278 | } | 3671 | } |
3279 | ruleQualifiedName | 3672 | ruleQualifiedName |
3280 | { | 3673 | { |
@@ -3284,45 +3677,54 @@ ruleClassDefinition returns [EObject current=null] | |||
3284 | ) | 3677 | ) |
3285 | )* | 3678 | )* |
3286 | )? | 3679 | )? |
3287 | otherlv_7=LeftCurlyBracket | ||
3288 | { | ||
3289 | newLeafNode(otherlv_7, grammarAccess.getClassDefinitionAccess().getLeftCurlyBracketKeyword_4()); | ||
3290 | } | ||
3291 | ( | 3680 | ( |
3292 | ( | 3681 | ( |
3682 | otherlv_9=LeftCurlyBracket | ||
3293 | { | 3683 | { |
3294 | newCompositeNode(grammarAccess.getClassDefinitionAccess().getMembersMemberDefinitionParserRuleCall_5_0()); | 3684 | newLeafNode(otherlv_9, grammarAccess.getClassDeclarationAccess().getLeftCurlyBracketKeyword_4_0_0()); |
3295 | } | 3685 | } |
3296 | lv_members_8_0=ruleMemberDefinition | 3686 | ( |
3687 | ( | ||
3688 | { | ||
3689 | newCompositeNode(grammarAccess.getClassDeclarationAccess().getFieldsFieldParserRuleCall_4_0_1_0()); | ||
3690 | } | ||
3691 | lv_fields_10_0=ruleField | ||
3692 | { | ||
3693 | if ($current==null) { | ||
3694 | $current = createModelElementForParent(grammarAccess.getClassDeclarationRule()); | ||
3695 | } | ||
3696 | add( | ||
3697 | $current, | ||
3698 | "fields", | ||
3699 | lv_fields_10_0, | ||
3700 | "org.eclipse.viatra.solver.language.SolverLanguage.Field"); | ||
3701 | afterParserOrEnumRuleCall(); | ||
3702 | } | ||
3703 | ) | ||
3704 | )* | ||
3705 | otherlv_11=RightCurlyBracket | ||
3297 | { | 3706 | { |
3298 | if ($current==null) { | 3707 | newLeafNode(otherlv_11, grammarAccess.getClassDeclarationAccess().getRightCurlyBracketKeyword_4_0_2()); |
3299 | $current = createModelElementForParent(grammarAccess.getClassDefinitionRule()); | ||
3300 | } | ||
3301 | add( | ||
3302 | $current, | ||
3303 | "members", | ||
3304 | lv_members_8_0, | ||
3305 | "org.eclipse.viatra.solver.language.SolverLanguage.MemberDefinition"); | ||
3306 | afterParserOrEnumRuleCall(); | ||
3307 | } | 3708 | } |
3308 | ) | 3709 | ) |
3309 | )* | 3710 | | |
3310 | otherlv_9=RightCurlyBracket | 3711 | this_FULL_STOP_12=RULE_FULL_STOP |
3311 | { | 3712 | { |
3312 | newLeafNode(otherlv_9, grammarAccess.getClassDefinitionAccess().getRightCurlyBracketKeyword_6()); | 3713 | newLeafNode(this_FULL_STOP_12, grammarAccess.getClassDeclarationAccess().getFULL_STOPTerminalRuleCall_4_1()); |
3313 | } | 3714 | } |
3715 | ) | ||
3314 | ) | 3716 | ) |
3315 | ; | 3717 | ; |
3316 | 3718 | ||
3317 | // Entry rule entryRuleMemberDefinition | 3719 | // Entry rule entryRuleField |
3318 | entryRuleMemberDefinition returns [EObject current=null]: | 3720 | entryRuleField returns [EObject current=null]: |
3319 | { newCompositeNode(grammarAccess.getMemberDefinitionRule()); } | 3721 | { newCompositeNode(grammarAccess.getFieldRule()); } |
3320 | iv_ruleMemberDefinition=ruleMemberDefinition | 3722 | iv_ruleField=ruleField |
3321 | { $current=$iv_ruleMemberDefinition.current; } | 3723 | { $current=$iv_ruleField.current; } |
3322 | EOF; | 3724 | EOF; |
3323 | 3725 | ||
3324 | // Rule MemberDefinition | 3726 | // Rule Field |
3325 | ruleMemberDefinition returns [EObject current=null] | 3727 | ruleField returns [EObject current=null] |
3326 | @init { | 3728 | @init { |
3327 | enterRule(); | 3729 | enterRule(); |
3328 | } | 3730 | } |
@@ -3332,27 +3734,44 @@ ruleMemberDefinition returns [EObject current=null] | |||
3332 | ( | 3734 | ( |
3333 | ( | 3735 | ( |
3334 | ( | 3736 | ( |
3335 | lv_containment_0_0=Contains | 3737 | ( |
3336 | { | 3738 | lv_containment_0_0=Contains |
3337 | newLeafNode(lv_containment_0_0, grammarAccess.getMemberDefinitionAccess().getContainmentContainsKeyword_0_0()); | 3739 | { |
3338 | } | 3740 | newLeafNode(lv_containment_0_0, grammarAccess.getFieldAccess().getContainmentContainsKeyword_0_0_0()); |
3339 | { | ||
3340 | if ($current==null) { | ||
3341 | $current = createModelElement(grammarAccess.getMemberDefinitionRule()); | ||
3342 | } | 3741 | } |
3343 | setWithLastConsumed($current, "containment", true, "contains"); | 3742 | { |
3344 | } | 3743 | if ($current==null) { |
3744 | $current = createModelElement(grammarAccess.getFieldRule()); | ||
3745 | } | ||
3746 | setWithLastConsumed($current, "containment", true, "contains"); | ||
3747 | } | ||
3748 | ) | ||
3749 | ) | ||
3750 | | | ||
3751 | ( | ||
3752 | ( | ||
3753 | lv_crossReference_1_0=Refers | ||
3754 | { | ||
3755 | newLeafNode(lv_crossReference_1_0, grammarAccess.getFieldAccess().getCrossReferenceRefersKeyword_0_1_0()); | ||
3756 | } | ||
3757 | { | ||
3758 | if ($current==null) { | ||
3759 | $current = createModelElement(grammarAccess.getFieldRule()); | ||
3760 | } | ||
3761 | setWithLastConsumed($current, "crossReference", true, "refers"); | ||
3762 | } | ||
3763 | ) | ||
3345 | ) | 3764 | ) |
3346 | )? | 3765 | )? |
3347 | ( | 3766 | ( |
3348 | ( | 3767 | ( |
3349 | { | 3768 | { |
3350 | if ($current==null) { | 3769 | if ($current==null) { |
3351 | $current = createModelElement(grammarAccess.getMemberDefinitionRule()); | 3770 | $current = createModelElement(grammarAccess.getFieldRule()); |
3352 | } | 3771 | } |
3353 | } | 3772 | } |
3354 | { | 3773 | { |
3355 | newCompositeNode(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementCrossReference_1_0()); | 3774 | newCompositeNode(grammarAccess.getFieldAccess().getTypeSymbolCrossReference_1_0()); |
3356 | } | 3775 | } |
3357 | ruleQualifiedName | 3776 | ruleQualifiedName |
3358 | { | 3777 | { |
@@ -3363,17 +3782,17 @@ ruleMemberDefinition returns [EObject current=null] | |||
3363 | ( | 3782 | ( |
3364 | ( | 3783 | ( |
3365 | { | 3784 | { |
3366 | newCompositeNode(grammarAccess.getMemberDefinitionAccess().getMultiplicityMultiplicityParserRuleCall_2_0()); | 3785 | newCompositeNode(grammarAccess.getFieldAccess().getMultiplicityMultiplicityParserRuleCall_2_0()); |
3367 | } | 3786 | } |
3368 | lv_multiplicity_2_0=ruleMultiplicity | 3787 | lv_multiplicity_3_0=ruleMultiplicity |
3369 | { | 3788 | { |
3370 | if ($current==null) { | 3789 | if ($current==null) { |
3371 | $current = createModelElementForParent(grammarAccess.getMemberDefinitionRule()); | 3790 | $current = createModelElementForParent(grammarAccess.getFieldRule()); |
3372 | } | 3791 | } |
3373 | set( | 3792 | set( |
3374 | $current, | 3793 | $current, |
3375 | "multiplicity", | 3794 | "multiplicity", |
3376 | lv_multiplicity_2_0, | 3795 | lv_multiplicity_3_0, |
3377 | "org.eclipse.viatra.solver.language.SolverLanguage.Multiplicity"); | 3796 | "org.eclipse.viatra.solver.language.SolverLanguage.Multiplicity"); |
3378 | afterParserOrEnumRuleCall(); | 3797 | afterParserOrEnumRuleCall(); |
3379 | } | 3798 | } |
@@ -3381,36 +3800,36 @@ ruleMemberDefinition returns [EObject current=null] | |||
3381 | )? | 3800 | )? |
3382 | ( | 3801 | ( |
3383 | ( | 3802 | ( |
3384 | lv_name_3_0=RULE_ID | 3803 | lv_name_4_0=RULE_ID |
3385 | { | 3804 | { |
3386 | newLeafNode(lv_name_3_0, grammarAccess.getMemberDefinitionAccess().getNameIDTerminalRuleCall_3_0()); | 3805 | newLeafNode(lv_name_4_0, grammarAccess.getFieldAccess().getNameIDTerminalRuleCall_3_0()); |
3387 | } | 3806 | } |
3388 | { | 3807 | { |
3389 | if ($current==null) { | 3808 | if ($current==null) { |
3390 | $current = createModelElement(grammarAccess.getMemberDefinitionRule()); | 3809 | $current = createModelElement(grammarAccess.getFieldRule()); |
3391 | } | 3810 | } |
3392 | setWithLastConsumed( | 3811 | setWithLastConsumed( |
3393 | $current, | 3812 | $current, |
3394 | "name", | 3813 | "name", |
3395 | lv_name_3_0, | 3814 | lv_name_4_0, |
3396 | "org.eclipse.xtext.common.Terminals.ID"); | 3815 | "org.eclipse.xtext.common.Terminals.ID"); |
3397 | } | 3816 | } |
3398 | ) | 3817 | ) |
3399 | ) | 3818 | ) |
3400 | ( | 3819 | ( |
3401 | otherlv_4=Opposite | 3820 | otherlv_5=Opposite |
3402 | { | 3821 | { |
3403 | newLeafNode(otherlv_4, grammarAccess.getMemberDefinitionAccess().getOppositeKeyword_4_0()); | 3822 | newLeafNode(otherlv_5, grammarAccess.getFieldAccess().getOppositeKeyword_4_0()); |
3404 | } | 3823 | } |
3405 | ( | 3824 | ( |
3406 | ( | 3825 | ( |
3407 | { | 3826 | { |
3408 | if ($current==null) { | 3827 | if ($current==null) { |
3409 | $current = createModelElement(grammarAccess.getMemberDefinitionRule()); | 3828 | $current = createModelElement(grammarAccess.getFieldRule()); |
3410 | } | 3829 | } |
3411 | } | 3830 | } |
3412 | { | 3831 | { |
3413 | newCompositeNode(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementCrossReference_4_1_0()); | 3832 | newCompositeNode(grammarAccess.getFieldAccess().getOppositeSymbolCrossReference_4_1_0()); |
3414 | } | 3833 | } |
3415 | ruleQualifiedName | 3834 | ruleQualifiedName |
3416 | { | 3835 | { |
@@ -3420,9 +3839,9 @@ ruleMemberDefinition returns [EObject current=null] | |||
3420 | ) | 3839 | ) |
3421 | )? | 3840 | )? |
3422 | ( | 3841 | ( |
3423 | otherlv_6=Semicolon | 3842 | otherlv_7=Semicolon |
3424 | { | 3843 | { |
3425 | newLeafNode(otherlv_6, grammarAccess.getMemberDefinitionAccess().getSemicolonKeyword_5()); | 3844 | newLeafNode(otherlv_7, grammarAccess.getFieldAccess().getSemicolonKeyword_5()); |
3426 | } | 3845 | } |
3427 | )? | 3846 | )? |
3428 | ) | 3847 | ) |
@@ -3445,11 +3864,11 @@ ruleMultiplicity returns [EObject current=null] | |||
3445 | }: | 3864 | }: |
3446 | ( | 3865 | ( |
3447 | { | 3866 | { |
3448 | newCompositeNode(grammarAccess.getMultiplicityAccess().getManyMultiplicityParserRuleCall_0()); | 3867 | newCompositeNode(grammarAccess.getMultiplicityAccess().getUnboundedMultiplicityParserRuleCall_0()); |
3449 | } | 3868 | } |
3450 | this_ManyMultiplicity_0=ruleManyMultiplicity | 3869 | this_UnboundedMultiplicity_0=ruleUnboundedMultiplicity |
3451 | { | 3870 | { |
3452 | $current = $this_ManyMultiplicity_0.current; | 3871 | $current = $this_UnboundedMultiplicity_0.current; |
3453 | afterParserOrEnumRuleCall(); | 3872 | afterParserOrEnumRuleCall(); |
3454 | } | 3873 | } |
3455 | | | 3874 | | |
@@ -3473,15 +3892,15 @@ ruleMultiplicity returns [EObject current=null] | |||
3473 | ) | 3892 | ) |
3474 | ; | 3893 | ; |
3475 | 3894 | ||
3476 | // Entry rule entryRuleManyMultiplicity | 3895 | // Entry rule entryRuleUnboundedMultiplicity |
3477 | entryRuleManyMultiplicity returns [EObject current=null]: | 3896 | entryRuleUnboundedMultiplicity returns [EObject current=null]: |
3478 | { newCompositeNode(grammarAccess.getManyMultiplicityRule()); } | 3897 | { newCompositeNode(grammarAccess.getUnboundedMultiplicityRule()); } |
3479 | iv_ruleManyMultiplicity=ruleManyMultiplicity | 3898 | iv_ruleUnboundedMultiplicity=ruleUnboundedMultiplicity |
3480 | { $current=$iv_ruleManyMultiplicity.current; } | 3899 | { $current=$iv_ruleUnboundedMultiplicity.current; } |
3481 | EOF; | 3900 | EOF; |
3482 | 3901 | ||
3483 | // Rule ManyMultiplicity | 3902 | // Rule UnboundedMultiplicity |
3484 | ruleManyMultiplicity returns [EObject current=null] | 3903 | ruleUnboundedMultiplicity returns [EObject current=null] |
3485 | @init { | 3904 | @init { |
3486 | enterRule(); | 3905 | enterRule(); |
3487 | } | 3906 | } |
@@ -3492,17 +3911,17 @@ ruleManyMultiplicity returns [EObject current=null] | |||
3492 | ( | 3911 | ( |
3493 | { | 3912 | { |
3494 | $current = forceCreateModelElement( | 3913 | $current = forceCreateModelElement( |
3495 | grammarAccess.getManyMultiplicityAccess().getManyMultiplicityAction_0(), | 3914 | grammarAccess.getUnboundedMultiplicityAccess().getUnboundedMultiplicityAction_0(), |
3496 | $current); | 3915 | $current); |
3497 | } | 3916 | } |
3498 | ) | 3917 | ) |
3499 | otherlv_1=LeftSquareBracket | 3918 | otherlv_1=LeftSquareBracket |
3500 | { | 3919 | { |
3501 | newLeafNode(otherlv_1, grammarAccess.getManyMultiplicityAccess().getLeftSquareBracketKeyword_1()); | 3920 | newLeafNode(otherlv_1, grammarAccess.getUnboundedMultiplicityAccess().getLeftSquareBracketKeyword_1()); |
3502 | } | 3921 | } |
3503 | otherlv_2=RightSquareBracket | 3922 | otherlv_2=RightSquareBracket |
3504 | { | 3923 | { |
3505 | newLeafNode(otherlv_2, grammarAccess.getManyMultiplicityAccess().getRightSquareBracketKeyword_2()); | 3924 | newLeafNode(otherlv_2, grammarAccess.getUnboundedMultiplicityAccess().getRightSquareBracketKeyword_2()); |
3506 | } | 3925 | } |
3507 | ) | 3926 | ) |
3508 | ; | 3927 | ; |
@@ -3530,17 +3949,17 @@ ruleExactMultiplicity returns [EObject current=null] | |||
3530 | ( | 3949 | ( |
3531 | ( | 3950 | ( |
3532 | { | 3951 | { |
3533 | newCompositeNode(grammarAccess.getExactMultiplicityAccess().getMultiplicityUpperMultiplictyParserRuleCall_1_0()); | 3952 | newCompositeNode(grammarAccess.getExactMultiplicityAccess().getValueUpperMultiplictyParserRuleCall_1_0()); |
3534 | } | 3953 | } |
3535 | lv_multiplicity_1_0=ruleUpperMultiplicty | 3954 | lv_value_1_0=ruleUpperMultiplicty |
3536 | { | 3955 | { |
3537 | if ($current==null) { | 3956 | if ($current==null) { |
3538 | $current = createModelElementForParent(grammarAccess.getExactMultiplicityRule()); | 3957 | $current = createModelElementForParent(grammarAccess.getExactMultiplicityRule()); |
3539 | } | 3958 | } |
3540 | set( | 3959 | set( |
3541 | $current, | 3960 | $current, |
3542 | "multiplicity", | 3961 | "value", |
3543 | lv_multiplicity_1_0, | 3962 | lv_value_1_0, |
3544 | "org.eclipse.viatra.solver.language.SolverLanguage.UpperMultiplicty"); | 3963 | "org.eclipse.viatra.solver.language.SolverLanguage.UpperMultiplicty"); |
3545 | afterParserOrEnumRuleCall(); | 3964 | afterParserOrEnumRuleCall(); |
3546 | } | 3965 | } |
@@ -3591,9 +4010,9 @@ ruleBoundedMultiplicity returns [EObject current=null] | |||
3591 | } | 4010 | } |
3592 | ) | 4011 | ) |
3593 | ) | 4012 | ) |
3594 | otherlv_2=FullStopFullStop | 4013 | otherlv_2=Comma |
3595 | { | 4014 | { |
3596 | newLeafNode(otherlv_2, grammarAccess.getBoundedMultiplicityAccess().getFullStopFullStopKeyword_2()); | 4015 | newLeafNode(otherlv_2, grammarAccess.getBoundedMultiplicityAccess().getCommaKeyword_2()); |
3597 | } | 4016 | } |
3598 | ( | 4017 | ( |
3599 | ( | 4018 | ( |
@@ -3621,15 +4040,15 @@ ruleBoundedMultiplicity returns [EObject current=null] | |||
3621 | ) | 4040 | ) |
3622 | ; | 4041 | ; |
3623 | 4042 | ||
3624 | // Entry rule entryRuleScopeDefinition | 4043 | // Entry rule entryRuleEnumDeclaration |
3625 | entryRuleScopeDefinition returns [EObject current=null]: | 4044 | entryRuleEnumDeclaration returns [EObject current=null]: |
3626 | { newCompositeNode(grammarAccess.getScopeDefinitionRule()); } | 4045 | { newCompositeNode(grammarAccess.getEnumDeclarationRule()); } |
3627 | iv_ruleScopeDefinition=ruleScopeDefinition | 4046 | iv_ruleEnumDeclaration=ruleEnumDeclaration |
3628 | { $current=$iv_ruleScopeDefinition.current; } | 4047 | { $current=$iv_ruleEnumDeclaration.current; } |
3629 | EOF; | 4048 | EOF; |
3630 | 4049 | ||
3631 | // Rule ScopeDefinition | 4050 | // Rule EnumDeclaration |
3632 | ruleScopeDefinition returns [EObject current=null] | 4051 | ruleEnumDeclaration returns [EObject current=null] |
3633 | @init { | 4052 | @init { |
3634 | enterRule(); | 4053 | enterRule(); |
3635 | } | 4054 | } |
@@ -3637,44 +4056,185 @@ ruleScopeDefinition returns [EObject current=null] | |||
3637 | leaveRule(); | 4056 | leaveRule(); |
3638 | }: | 4057 | }: |
3639 | ( | 4058 | ( |
4059 | otherlv_0=Enum | ||
3640 | { | 4060 | { |
3641 | newCompositeNode(grammarAccess.getScopeDefinitionAccess().getExactScopeDefinitionParserRuleCall_0()); | 4061 | newLeafNode(otherlv_0, grammarAccess.getEnumDeclarationAccess().getEnumKeyword_0()); |
3642 | } | 4062 | } |
3643 | this_ExactScopeDefinition_0=ruleExactScopeDefinition | 4063 | ( |
4064 | ( | ||
4065 | lv_name_1_0=RULE_ID | ||
4066 | { | ||
4067 | newLeafNode(lv_name_1_0, grammarAccess.getEnumDeclarationAccess().getNameIDTerminalRuleCall_1_0()); | ||
4068 | } | ||
4069 | { | ||
4070 | if ($current==null) { | ||
4071 | $current = createModelElement(grammarAccess.getEnumDeclarationRule()); | ||
4072 | } | ||
4073 | setWithLastConsumed( | ||
4074 | $current, | ||
4075 | "name", | ||
4076 | lv_name_1_0, | ||
4077 | "org.eclipse.xtext.common.Terminals.ID"); | ||
4078 | } | ||
4079 | ) | ||
4080 | ) | ||
4081 | ( | ||
4082 | ( | ||
4083 | otherlv_2=LeftCurlyBracket | ||
4084 | { | ||
4085 | newLeafNode(otherlv_2, grammarAccess.getEnumDeclarationAccess().getLeftCurlyBracketKeyword_2_0_0()); | ||
4086 | } | ||
4087 | ( | ||
4088 | ( | ||
4089 | ( | ||
4090 | { | ||
4091 | newCompositeNode(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_0_0()); | ||
4092 | } | ||
4093 | lv_literals_3_0=ruleEnumLiteral | ||
4094 | { | ||
4095 | if ($current==null) { | ||
4096 | $current = createModelElementForParent(grammarAccess.getEnumDeclarationRule()); | ||
4097 | } | ||
4098 | add( | ||
4099 | $current, | ||
4100 | "literals", | ||
4101 | lv_literals_3_0, | ||
4102 | "org.eclipse.viatra.solver.language.SolverLanguage.EnumLiteral"); | ||
4103 | afterParserOrEnumRuleCall(); | ||
4104 | } | ||
4105 | ) | ||
4106 | ) | ||
4107 | ( | ||
4108 | ( | ||
4109 | otherlv_4=Comma | ||
4110 | { | ||
4111 | newLeafNode(otherlv_4, grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_1_0()); | ||
4112 | } | ||
4113 | )? | ||
4114 | ( | ||
4115 | ( | ||
4116 | { | ||
4117 | newCompositeNode(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0()); | ||
4118 | } | ||
4119 | lv_literals_5_0=ruleEnumLiteral | ||
4120 | { | ||
4121 | if ($current==null) { | ||
4122 | $current = createModelElementForParent(grammarAccess.getEnumDeclarationRule()); | ||
4123 | } | ||
4124 | add( | ||
4125 | $current, | ||
4126 | "literals", | ||
4127 | lv_literals_5_0, | ||
4128 | "org.eclipse.viatra.solver.language.SolverLanguage.EnumLiteral"); | ||
4129 | afterParserOrEnumRuleCall(); | ||
4130 | } | ||
4131 | ) | ||
4132 | ) | ||
4133 | )* | ||
4134 | )? | ||
4135 | otherlv_6=RightCurlyBracket | ||
4136 | { | ||
4137 | newLeafNode(otherlv_6, grammarAccess.getEnumDeclarationAccess().getRightCurlyBracketKeyword_2_0_2()); | ||
4138 | } | ||
4139 | ) | ||
4140 | | | ||
4141 | this_FULL_STOP_7=RULE_FULL_STOP | ||
4142 | { | ||
4143 | newLeafNode(this_FULL_STOP_7, grammarAccess.getEnumDeclarationAccess().getFULL_STOPTerminalRuleCall_2_1()); | ||
4144 | } | ||
4145 | ) | ||
4146 | ) | ||
4147 | ; | ||
4148 | |||
4149 | // Entry rule entryRuleEnumLiteral | ||
4150 | entryRuleEnumLiteral returns [EObject current=null]: | ||
4151 | { newCompositeNode(grammarAccess.getEnumLiteralRule()); } | ||
4152 | iv_ruleEnumLiteral=ruleEnumLiteral | ||
4153 | { $current=$iv_ruleEnumLiteral.current; } | ||
4154 | EOF; | ||
4155 | |||
4156 | // Rule EnumLiteral | ||
4157 | ruleEnumLiteral returns [EObject current=null] | ||
4158 | @init { | ||
4159 | enterRule(); | ||
4160 | } | ||
4161 | @after { | ||
4162 | leaveRule(); | ||
4163 | }: | ||
4164 | ( | ||
4165 | ( | ||
4166 | lv_name_0_0=RULE_ID | ||
4167 | { | ||
4168 | newLeafNode(lv_name_0_0, grammarAccess.getEnumLiteralAccess().getNameIDTerminalRuleCall_0()); | ||
4169 | } | ||
4170 | { | ||
4171 | if ($current==null) { | ||
4172 | $current = createModelElement(grammarAccess.getEnumLiteralRule()); | ||
4173 | } | ||
4174 | setWithLastConsumed( | ||
4175 | $current, | ||
4176 | "name", | ||
4177 | lv_name_0_0, | ||
4178 | "org.eclipse.xtext.common.Terminals.ID"); | ||
4179 | } | ||
4180 | ) | ||
4181 | ) | ||
4182 | ; | ||
4183 | |||
4184 | // Entry rule entryRuleScopeDeclaration | ||
4185 | entryRuleScopeDeclaration returns [EObject current=null]: | ||
4186 | { newCompositeNode(grammarAccess.getScopeDeclarationRule()); } | ||
4187 | iv_ruleScopeDeclaration=ruleScopeDeclaration | ||
4188 | { $current=$iv_ruleScopeDeclaration.current; } | ||
4189 | EOF; | ||
4190 | |||
4191 | // Rule ScopeDeclaration | ||
4192 | ruleScopeDeclaration returns [EObject current=null] | ||
4193 | @init { | ||
4194 | enterRule(); | ||
4195 | } | ||
4196 | @after { | ||
4197 | leaveRule(); | ||
4198 | }: | ||
4199 | ( | ||
3644 | { | 4200 | { |
3645 | $current = $this_ExactScopeDefinition_0.current; | 4201 | newCompositeNode(grammarAccess.getScopeDeclarationAccess().getExactScopeParserRuleCall_0()); |
4202 | } | ||
4203 | this_ExactScope_0=ruleExactScope | ||
4204 | { | ||
4205 | $current = $this_ExactScope_0.current; | ||
3646 | afterParserOrEnumRuleCall(); | 4206 | afterParserOrEnumRuleCall(); |
3647 | } | 4207 | } |
3648 | | | 4208 | | |
3649 | { | 4209 | { |
3650 | newCompositeNode(grammarAccess.getScopeDefinitionAccess().getBoundedScopeDefinitionParserRuleCall_1()); | 4210 | newCompositeNode(grammarAccess.getScopeDeclarationAccess().getBoundedScopeParserRuleCall_1()); |
3651 | } | 4211 | } |
3652 | this_BoundedScopeDefinition_1=ruleBoundedScopeDefinition | 4212 | this_BoundedScope_1=ruleBoundedScope |
3653 | { | 4213 | { |
3654 | $current = $this_BoundedScopeDefinition_1.current; | 4214 | $current = $this_BoundedScope_1.current; |
3655 | afterParserOrEnumRuleCall(); | 4215 | afterParserOrEnumRuleCall(); |
3656 | } | 4216 | } |
3657 | | | 4217 | | |
3658 | { | 4218 | { |
3659 | newCompositeNode(grammarAccess.getScopeDefinitionAccess().getLowerBoundedScopeDefinitionParserRuleCall_2()); | 4219 | newCompositeNode(grammarAccess.getScopeDeclarationAccess().getLowerBoundedScopeParserRuleCall_2()); |
3660 | } | 4220 | } |
3661 | this_LowerBoundedScopeDefinition_2=ruleLowerBoundedScopeDefinition | 4221 | this_LowerBoundedScope_2=ruleLowerBoundedScope |
3662 | { | 4222 | { |
3663 | $current = $this_LowerBoundedScopeDefinition_2.current; | 4223 | $current = $this_LowerBoundedScope_2.current; |
3664 | afterParserOrEnumRuleCall(); | 4224 | afterParserOrEnumRuleCall(); |
3665 | } | 4225 | } |
3666 | ) | 4226 | ) |
3667 | ; | 4227 | ; |
3668 | 4228 | ||
3669 | // Entry rule entryRuleExactScopeDefinition | 4229 | // Entry rule entryRuleExactScope |
3670 | entryRuleExactScopeDefinition returns [EObject current=null]: | 4230 | entryRuleExactScope returns [EObject current=null]: |
3671 | { newCompositeNode(grammarAccess.getExactScopeDefinitionRule()); } | 4231 | { newCompositeNode(grammarAccess.getExactScopeRule()); } |
3672 | iv_ruleExactScopeDefinition=ruleExactScopeDefinition | 4232 | iv_ruleExactScope=ruleExactScope |
3673 | { $current=$iv_ruleExactScopeDefinition.current; } | 4233 | { $current=$iv_ruleExactScope.current; } |
3674 | EOF; | 4234 | EOF; |
3675 | 4235 | ||
3676 | // Rule ExactScopeDefinition | 4236 | // Rule ExactScope |
3677 | ruleExactScopeDefinition returns [EObject current=null] | 4237 | ruleExactScope returns [EObject current=null] |
3678 | @init { | 4238 | @init { |
3679 | enterRule(); | 4239 | enterRule(); |
3680 | } | 4240 | } |
@@ -3684,17 +4244,17 @@ ruleExactScopeDefinition returns [EObject current=null] | |||
3684 | ( | 4244 | ( |
3685 | otherlv_0=Scope | 4245 | otherlv_0=Scope |
3686 | { | 4246 | { |
3687 | newLeafNode(otherlv_0, grammarAccess.getExactScopeDefinitionAccess().getScopeKeyword_0()); | 4247 | newLeafNode(otherlv_0, grammarAccess.getExactScopeAccess().getScopeKeyword_0()); |
3688 | } | 4248 | } |
3689 | ( | 4249 | ( |
3690 | ( | 4250 | ( |
3691 | { | 4251 | { |
3692 | if ($current==null) { | 4252 | if ($current==null) { |
3693 | $current = createModelElement(grammarAccess.getExactScopeDefinitionRule()); | 4253 | $current = createModelElement(grammarAccess.getExactScopeRule()); |
3694 | } | 4254 | } |
3695 | } | 4255 | } |
3696 | { | 4256 | { |
3697 | newCompositeNode(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0()); | 4257 | newCompositeNode(grammarAccess.getExactScopeAccess().getTypeSymbolCrossReference_1_0()); |
3698 | } | 4258 | } |
3699 | ruleQualifiedName | 4259 | ruleQualifiedName |
3700 | { | 4260 | { |
@@ -3704,38 +4264,42 @@ ruleExactScopeDefinition returns [EObject current=null] | |||
3704 | ) | 4264 | ) |
3705 | otherlv_2=EqualsSignEqualsSign | 4265 | otherlv_2=EqualsSignEqualsSign |
3706 | { | 4266 | { |
3707 | newLeafNode(otherlv_2, grammarAccess.getExactScopeDefinitionAccess().getEqualsSignEqualsSignKeyword_2()); | 4267 | newLeafNode(otherlv_2, grammarAccess.getExactScopeAccess().getEqualsSignEqualsSignKeyword_2()); |
3708 | } | 4268 | } |
3709 | ( | 4269 | ( |
3710 | ( | 4270 | ( |
3711 | lv_exactScope_3_0=RULE_INT | 4271 | lv_size_3_0=RULE_INT |
3712 | { | 4272 | { |
3713 | newLeafNode(lv_exactScope_3_0, grammarAccess.getExactScopeDefinitionAccess().getExactScopeINTTerminalRuleCall_3_0()); | 4273 | newLeafNode(lv_size_3_0, grammarAccess.getExactScopeAccess().getSizeINTTerminalRuleCall_3_0()); |
3714 | } | 4274 | } |
3715 | { | 4275 | { |
3716 | if ($current==null) { | 4276 | if ($current==null) { |
3717 | $current = createModelElement(grammarAccess.getExactScopeDefinitionRule()); | 4277 | $current = createModelElement(grammarAccess.getExactScopeRule()); |
3718 | } | 4278 | } |
3719 | setWithLastConsumed( | 4279 | setWithLastConsumed( |
3720 | $current, | 4280 | $current, |
3721 | "exactScope", | 4281 | "size", |
3722 | lv_exactScope_3_0, | 4282 | lv_size_3_0, |
3723 | "org.eclipse.xtext.common.Terminals.INT"); | 4283 | "org.eclipse.xtext.common.Terminals.INT"); |
3724 | } | 4284 | } |
3725 | ) | 4285 | ) |
3726 | ) | 4286 | ) |
4287 | this_FULL_STOP_4=RULE_FULL_STOP | ||
4288 | { | ||
4289 | newLeafNode(this_FULL_STOP_4, grammarAccess.getExactScopeAccess().getFULL_STOPTerminalRuleCall_4()); | ||
4290 | } | ||
3727 | ) | 4291 | ) |
3728 | ; | 4292 | ; |
3729 | 4293 | ||
3730 | // Entry rule entryRuleBoundedScopeDefinition | 4294 | // Entry rule entryRuleBoundedScope |
3731 | entryRuleBoundedScopeDefinition returns [EObject current=null]: | 4295 | entryRuleBoundedScope returns [EObject current=null]: |
3732 | { newCompositeNode(grammarAccess.getBoundedScopeDefinitionRule()); } | 4296 | { newCompositeNode(grammarAccess.getBoundedScopeRule()); } |
3733 | iv_ruleBoundedScopeDefinition=ruleBoundedScopeDefinition | 4297 | iv_ruleBoundedScope=ruleBoundedScope |
3734 | { $current=$iv_ruleBoundedScopeDefinition.current; } | 4298 | { $current=$iv_ruleBoundedScope.current; } |
3735 | EOF; | 4299 | EOF; |
3736 | 4300 | ||
3737 | // Rule BoundedScopeDefinition | 4301 | // Rule BoundedScope |
3738 | ruleBoundedScopeDefinition returns [EObject current=null] | 4302 | ruleBoundedScope returns [EObject current=null] |
3739 | @init { | 4303 | @init { |
3740 | enterRule(); | 4304 | enterRule(); |
3741 | } | 4305 | } |
@@ -3745,7 +4309,7 @@ ruleBoundedScopeDefinition returns [EObject current=null] | |||
3745 | ( | 4309 | ( |
3746 | otherlv_0=Scope | 4310 | otherlv_0=Scope |
3747 | { | 4311 | { |
3748 | newLeafNode(otherlv_0, grammarAccess.getBoundedScopeDefinitionAccess().getScopeKeyword_0()); | 4312 | newLeafNode(otherlv_0, grammarAccess.getBoundedScopeAccess().getScopeKeyword_0()); |
3749 | } | 4313 | } |
3750 | ( | 4314 | ( |
3751 | ( | 4315 | ( |
@@ -3754,11 +4318,11 @@ ruleBoundedScopeDefinition returns [EObject current=null] | |||
3754 | ( | 4318 | ( |
3755 | lv_lowerBound_1_0=RULE_INT | 4319 | lv_lowerBound_1_0=RULE_INT |
3756 | { | 4320 | { |
3757 | newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0_0()); | 4321 | newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedScopeAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0_0()); |
3758 | } | 4322 | } |
3759 | { | 4323 | { |
3760 | if ($current==null) { | 4324 | if ($current==null) { |
3761 | $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); | 4325 | $current = createModelElement(grammarAccess.getBoundedScopeRule()); |
3762 | } | 4326 | } |
3763 | setWithLastConsumed( | 4327 | setWithLastConsumed( |
3764 | $current, | 4328 | $current, |
@@ -3770,18 +4334,18 @@ ruleBoundedScopeDefinition returns [EObject current=null] | |||
3770 | ) | 4334 | ) |
3771 | otherlv_2=LessThanSignEqualsSign | 4335 | otherlv_2=LessThanSignEqualsSign |
3772 | { | 4336 | { |
3773 | newLeafNode(otherlv_2, grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_0_1()); | 4337 | newLeafNode(otherlv_2, grammarAccess.getBoundedScopeAccess().getLessThanSignEqualsSignKeyword_1_0_0_1()); |
3774 | } | 4338 | } |
3775 | )? | 4339 | )? |
3776 | ( | 4340 | ( |
3777 | ( | 4341 | ( |
3778 | { | 4342 | { |
3779 | if ($current==null) { | 4343 | if ($current==null) { |
3780 | $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); | 4344 | $current = createModelElement(grammarAccess.getBoundedScopeRule()); |
3781 | } | 4345 | } |
3782 | } | 4346 | } |
3783 | { | 4347 | { |
3784 | newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_1_0()); | 4348 | newCompositeNode(grammarAccess.getBoundedScopeAccess().getTypeSymbolCrossReference_1_0_1_0()); |
3785 | } | 4349 | } |
3786 | ruleQualifiedName | 4350 | ruleQualifiedName |
3787 | { | 4351 | { |
@@ -3791,17 +4355,17 @@ ruleBoundedScopeDefinition returns [EObject current=null] | |||
3791 | ) | 4355 | ) |
3792 | otherlv_4=LessThanSignEqualsSign | 4356 | otherlv_4=LessThanSignEqualsSign |
3793 | { | 4357 | { |
3794 | newLeafNode(otherlv_4, grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_2()); | 4358 | newLeafNode(otherlv_4, grammarAccess.getBoundedScopeAccess().getLessThanSignEqualsSignKeyword_1_0_2()); |
3795 | } | 4359 | } |
3796 | ( | 4360 | ( |
3797 | ( | 4361 | ( |
3798 | lv_upperBound_5_0=RULE_INT | 4362 | lv_upperBound_5_0=RULE_INT |
3799 | { | 4363 | { |
3800 | newLeafNode(lv_upperBound_5_0, grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_0_3_0()); | 4364 | newLeafNode(lv_upperBound_5_0, grammarAccess.getBoundedScopeAccess().getUpperBoundINTTerminalRuleCall_1_0_3_0()); |
3801 | } | 4365 | } |
3802 | { | 4366 | { |
3803 | if ($current==null) { | 4367 | if ($current==null) { |
3804 | $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); | 4368 | $current = createModelElement(grammarAccess.getBoundedScopeRule()); |
3805 | } | 4369 | } |
3806 | setWithLastConsumed( | 4370 | setWithLastConsumed( |
3807 | $current, | 4371 | $current, |
@@ -3818,11 +4382,11 @@ ruleBoundedScopeDefinition returns [EObject current=null] | |||
3818 | ( | 4382 | ( |
3819 | lv_upperBound_6_0=RULE_INT | 4383 | lv_upperBound_6_0=RULE_INT |
3820 | { | 4384 | { |
3821 | newLeafNode(lv_upperBound_6_0, grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_1_0_0()); | 4385 | newLeafNode(lv_upperBound_6_0, grammarAccess.getBoundedScopeAccess().getUpperBoundINTTerminalRuleCall_1_1_0_0()); |
3822 | } | 4386 | } |
3823 | { | 4387 | { |
3824 | if ($current==null) { | 4388 | if ($current==null) { |
3825 | $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); | 4389 | $current = createModelElement(grammarAccess.getBoundedScopeRule()); |
3826 | } | 4390 | } |
3827 | setWithLastConsumed( | 4391 | setWithLastConsumed( |
3828 | $current, | 4392 | $current, |
@@ -3834,17 +4398,17 @@ ruleBoundedScopeDefinition returns [EObject current=null] | |||
3834 | ) | 4398 | ) |
3835 | otherlv_7=GreaterThanSignEqualsSign | 4399 | otherlv_7=GreaterThanSignEqualsSign |
3836 | { | 4400 | { |
3837 | newLeafNode(otherlv_7, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); | 4401 | newLeafNode(otherlv_7, grammarAccess.getBoundedScopeAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); |
3838 | } | 4402 | } |
3839 | ( | 4403 | ( |
3840 | ( | 4404 | ( |
3841 | { | 4405 | { |
3842 | if ($current==null) { | 4406 | if ($current==null) { |
3843 | $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); | 4407 | $current = createModelElement(grammarAccess.getBoundedScopeRule()); |
3844 | } | 4408 | } |
3845 | } | 4409 | } |
3846 | { | 4410 | { |
3847 | newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_2_0()); | 4411 | newCompositeNode(grammarAccess.getBoundedScopeAccess().getTypeSymbolCrossReference_1_1_2_0()); |
3848 | } | 4412 | } |
3849 | ruleQualifiedName | 4413 | ruleQualifiedName |
3850 | { | 4414 | { |
@@ -3855,17 +4419,17 @@ ruleBoundedScopeDefinition returns [EObject current=null] | |||
3855 | ( | 4419 | ( |
3856 | otherlv_9=GreaterThanSignEqualsSign | 4420 | otherlv_9=GreaterThanSignEqualsSign |
3857 | { | 4421 | { |
3858 | newLeafNode(otherlv_9, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_3_0()); | 4422 | newLeafNode(otherlv_9, grammarAccess.getBoundedScopeAccess().getGreaterThanSignEqualsSignKeyword_1_1_3_0()); |
3859 | } | 4423 | } |
3860 | ( | 4424 | ( |
3861 | ( | 4425 | ( |
3862 | lv_lowerBound_10_0=RULE_INT | 4426 | lv_lowerBound_10_0=RULE_INT |
3863 | { | 4427 | { |
3864 | newLeafNode(lv_lowerBound_10_0, grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_3_1_0()); | 4428 | newLeafNode(lv_lowerBound_10_0, grammarAccess.getBoundedScopeAccess().getLowerBoundINTTerminalRuleCall_1_1_3_1_0()); |
3865 | } | 4429 | } |
3866 | { | 4430 | { |
3867 | if ($current==null) { | 4431 | if ($current==null) { |
3868 | $current = createModelElement(grammarAccess.getBoundedScopeDefinitionRule()); | 4432 | $current = createModelElement(grammarAccess.getBoundedScopeRule()); |
3869 | } | 4433 | } |
3870 | setWithLastConsumed( | 4434 | setWithLastConsumed( |
3871 | $current, | 4435 | $current, |
@@ -3878,18 +4442,22 @@ ruleBoundedScopeDefinition returns [EObject current=null] | |||
3878 | )? | 4442 | )? |
3879 | ) | 4443 | ) |
3880 | ) | 4444 | ) |
4445 | this_FULL_STOP_11=RULE_FULL_STOP | ||
4446 | { | ||
4447 | newLeafNode(this_FULL_STOP_11, grammarAccess.getBoundedScopeAccess().getFULL_STOPTerminalRuleCall_2()); | ||
4448 | } | ||
3881 | ) | 4449 | ) |
3882 | ; | 4450 | ; |
3883 | 4451 | ||
3884 | // Entry rule entryRuleLowerBoundedScopeDefinition | 4452 | // Entry rule entryRuleLowerBoundedScope |
3885 | entryRuleLowerBoundedScopeDefinition returns [EObject current=null]: | 4453 | entryRuleLowerBoundedScope returns [EObject current=null]: |
3886 | { newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionRule()); } | 4454 | { newCompositeNode(grammarAccess.getLowerBoundedScopeRule()); } |
3887 | iv_ruleLowerBoundedScopeDefinition=ruleLowerBoundedScopeDefinition | 4455 | iv_ruleLowerBoundedScope=ruleLowerBoundedScope |
3888 | { $current=$iv_ruleLowerBoundedScopeDefinition.current; } | 4456 | { $current=$iv_ruleLowerBoundedScope.current; } |
3889 | EOF; | 4457 | EOF; |
3890 | 4458 | ||
3891 | // Rule LowerBoundedScopeDefinition | 4459 | // Rule LowerBoundedScope |
3892 | ruleLowerBoundedScopeDefinition returns [EObject current=null] | 4460 | ruleLowerBoundedScope returns [EObject current=null] |
3893 | @init { | 4461 | @init { |
3894 | enterRule(); | 4462 | enterRule(); |
3895 | } | 4463 | } |
@@ -3899,7 +4467,7 @@ ruleLowerBoundedScopeDefinition returns [EObject current=null] | |||
3899 | ( | 4467 | ( |
3900 | otherlv_0=Scope | 4468 | otherlv_0=Scope |
3901 | { | 4469 | { |
3902 | newLeafNode(otherlv_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getScopeKeyword_0()); | 4470 | newLeafNode(otherlv_0, grammarAccess.getLowerBoundedScopeAccess().getScopeKeyword_0()); |
3903 | } | 4471 | } |
3904 | ( | 4472 | ( |
3905 | ( | 4473 | ( |
@@ -3907,11 +4475,11 @@ ruleLowerBoundedScopeDefinition returns [EObject current=null] | |||
3907 | ( | 4475 | ( |
3908 | lv_lowerBound_1_0=RULE_INT | 4476 | lv_lowerBound_1_0=RULE_INT |
3909 | { | 4477 | { |
3910 | newLeafNode(lv_lowerBound_1_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0()); | 4478 | newLeafNode(lv_lowerBound_1_0, grammarAccess.getLowerBoundedScopeAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0()); |
3911 | } | 4479 | } |
3912 | { | 4480 | { |
3913 | if ($current==null) { | 4481 | if ($current==null) { |
3914 | $current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); | 4482 | $current = createModelElement(grammarAccess.getLowerBoundedScopeRule()); |
3915 | } | 4483 | } |
3916 | setWithLastConsumed( | 4484 | setWithLastConsumed( |
3917 | $current, | 4485 | $current, |
@@ -3923,17 +4491,17 @@ ruleLowerBoundedScopeDefinition returns [EObject current=null] | |||
3923 | ) | 4491 | ) |
3924 | otherlv_2=LessThanSignEqualsSign | 4492 | otherlv_2=LessThanSignEqualsSign |
3925 | { | 4493 | { |
3926 | newLeafNode(otherlv_2, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_1()); | 4494 | newLeafNode(otherlv_2, grammarAccess.getLowerBoundedScopeAccess().getLessThanSignEqualsSignKeyword_1_0_1()); |
3927 | } | 4495 | } |
3928 | ( | 4496 | ( |
3929 | ( | 4497 | ( |
3930 | { | 4498 | { |
3931 | if ($current==null) { | 4499 | if ($current==null) { |
3932 | $current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); | 4500 | $current = createModelElement(grammarAccess.getLowerBoundedScopeRule()); |
3933 | } | 4501 | } |
3934 | } | 4502 | } |
3935 | { | 4503 | { |
3936 | newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_2_0()); | 4504 | newCompositeNode(grammarAccess.getLowerBoundedScopeAccess().getTypeSymbolCrossReference_1_0_2_0()); |
3937 | } | 4505 | } |
3938 | ruleQualifiedName | 4506 | ruleQualifiedName |
3939 | { | 4507 | { |
@@ -3948,11 +4516,11 @@ ruleLowerBoundedScopeDefinition returns [EObject current=null] | |||
3948 | ( | 4516 | ( |
3949 | { | 4517 | { |
3950 | if ($current==null) { | 4518 | if ($current==null) { |
3951 | $current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); | 4519 | $current = createModelElement(grammarAccess.getLowerBoundedScopeRule()); |
3952 | } | 4520 | } |
3953 | } | 4521 | } |
3954 | { | 4522 | { |
3955 | newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_0_0()); | 4523 | newCompositeNode(grammarAccess.getLowerBoundedScopeAccess().getTypeSymbolCrossReference_1_1_0_0()); |
3956 | } | 4524 | } |
3957 | ruleQualifiedName | 4525 | ruleQualifiedName |
3958 | { | 4526 | { |
@@ -3962,17 +4530,17 @@ ruleLowerBoundedScopeDefinition returns [EObject current=null] | |||
3962 | ) | 4530 | ) |
3963 | otherlv_5=GreaterThanSignEqualsSign | 4531 | otherlv_5=GreaterThanSignEqualsSign |
3964 | { | 4532 | { |
3965 | newLeafNode(otherlv_5, grammarAccess.getLowerBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); | 4533 | newLeafNode(otherlv_5, grammarAccess.getLowerBoundedScopeAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); |
3966 | } | 4534 | } |
3967 | ( | 4535 | ( |
3968 | ( | 4536 | ( |
3969 | lv_lowerBound_6_0=RULE_INT | 4537 | lv_lowerBound_6_0=RULE_INT |
3970 | { | 4538 | { |
3971 | newLeafNode(lv_lowerBound_6_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_1_2_0()); | 4539 | newLeafNode(lv_lowerBound_6_0, grammarAccess.getLowerBoundedScopeAccess().getLowerBoundINTTerminalRuleCall_1_1_2_0()); |
3972 | } | 4540 | } |
3973 | { | 4541 | { |
3974 | if ($current==null) { | 4542 | if ($current==null) { |
3975 | $current = createModelElement(grammarAccess.getLowerBoundedScopeDefinitionRule()); | 4543 | $current = createModelElement(grammarAccess.getLowerBoundedScopeRule()); |
3976 | } | 4544 | } |
3977 | setWithLastConsumed( | 4545 | setWithLastConsumed( |
3978 | $current, | 4546 | $current, |
@@ -3984,18 +4552,22 @@ ruleLowerBoundedScopeDefinition returns [EObject current=null] | |||
3984 | ) | 4552 | ) |
3985 | ) | 4553 | ) |
3986 | ) | 4554 | ) |
4555 | this_FULL_STOP_7=RULE_FULL_STOP | ||
4556 | { | ||
4557 | newLeafNode(this_FULL_STOP_7, grammarAccess.getLowerBoundedScopeAccess().getFULL_STOPTerminalRuleCall_2()); | ||
4558 | } | ||
3987 | ) | 4559 | ) |
3988 | ; | 4560 | ; |
3989 | 4561 | ||
3990 | // Entry rule entryRuleObjectiveDefinition | 4562 | // Entry rule entryRuleObjectiveDeclaration |
3991 | entryRuleObjectiveDefinition returns [EObject current=null]: | 4563 | entryRuleObjectiveDeclaration returns [EObject current=null]: |
3992 | { newCompositeNode(grammarAccess.getObjectiveDefinitionRule()); } | 4564 | { newCompositeNode(grammarAccess.getObjectiveDeclarationRule()); } |
3993 | iv_ruleObjectiveDefinition=ruleObjectiveDefinition | 4565 | iv_ruleObjectiveDeclaration=ruleObjectiveDeclaration |
3994 | { $current=$iv_ruleObjectiveDefinition.current; } | 4566 | { $current=$iv_ruleObjectiveDeclaration.current; } |
3995 | EOF; | 4567 | EOF; |
3996 | 4568 | ||
3997 | // Rule ObjectiveDefinition | 4569 | // Rule ObjectiveDeclaration |
3998 | ruleObjectiveDefinition returns [EObject current=null] | 4570 | ruleObjectiveDeclaration returns [EObject current=null] |
3999 | @init { | 4571 | @init { |
4000 | enterRule(); | 4572 | enterRule(); |
4001 | } | 4573 | } |
@@ -4006,12 +4578,12 @@ ruleObjectiveDefinition returns [EObject current=null] | |||
4006 | ( | 4578 | ( |
4007 | ( | 4579 | ( |
4008 | { | 4580 | { |
4009 | newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getKindObjectiveKindEnumRuleCall_0_0()); | 4581 | newCompositeNode(grammarAccess.getObjectiveDeclarationAccess().getKindObjectiveKindEnumRuleCall_0_0()); |
4010 | } | 4582 | } |
4011 | lv_kind_0_0=ruleObjectiveKind | 4583 | lv_kind_0_0=ruleObjectiveKind |
4012 | { | 4584 | { |
4013 | if ($current==null) { | 4585 | if ($current==null) { |
4014 | $current = createModelElementForParent(grammarAccess.getObjectiveDefinitionRule()); | 4586 | $current = createModelElementForParent(grammarAccess.getObjectiveDeclarationRule()); |
4015 | } | 4587 | } |
4016 | set( | 4588 | set( |
4017 | $current, | 4589 | $current, |
@@ -4025,12 +4597,12 @@ ruleObjectiveDefinition returns [EObject current=null] | |||
4025 | ( | 4597 | ( |
4026 | ( | 4598 | ( |
4027 | { | 4599 | { |
4028 | newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getObjectiveExpressionParserRuleCall_1_0()); | 4600 | newCompositeNode(grammarAccess.getObjectiveDeclarationAccess().getObjectiveExpressionParserRuleCall_1_0()); |
4029 | } | 4601 | } |
4030 | lv_objective_1_0=ruleExpression | 4602 | lv_objective_1_0=ruleExpression |
4031 | { | 4603 | { |
4032 | if ($current==null) { | 4604 | if ($current==null) { |
4033 | $current = createModelElementForParent(grammarAccess.getObjectiveDefinitionRule()); | 4605 | $current = createModelElementForParent(grammarAccess.getObjectiveDeclarationRule()); |
4034 | } | 4606 | } |
4035 | set( | 4607 | set( |
4036 | $current, | 4608 | $current, |
@@ -4041,6 +4613,10 @@ ruleObjectiveDefinition returns [EObject current=null] | |||
4041 | } | 4613 | } |
4042 | ) | 4614 | ) |
4043 | ) | 4615 | ) |
4616 | this_FULL_STOP_2=RULE_FULL_STOP | ||
4617 | { | ||
4618 | newLeafNode(this_FULL_STOP_2, grammarAccess.getObjectiveDeclarationAccess().getFULL_STOPTerminalRuleCall_2()); | ||
4619 | } | ||
4044 | ) | 4620 | ) |
4045 | ; | 4621 | ; |
4046 | 4622 | ||
@@ -4105,26 +4681,64 @@ ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] | |||
4105 | { | 4681 | { |
4106 | newLeafNode(this_INT_0, grammarAccess.getRealAccess().getINTTerminalRuleCall_0()); | 4682 | newLeafNode(this_INT_0, grammarAccess.getRealAccess().getINTTerminalRuleCall_0()); |
4107 | } | 4683 | } |
4108 | ( | 4684 | kw=FullStop |
4109 | kw=FullStop | 4685 | { |
4110 | { | 4686 | $current.merge(kw); |
4111 | $current.merge(kw); | 4687 | newLeafNode(kw, grammarAccess.getRealAccess().getFullStopKeyword_1()); |
4112 | newLeafNode(kw, grammarAccess.getRealAccess().getFullStopKeyword_1_0()); | 4688 | } |
4113 | } | 4689 | this_INT_2=RULE_INT |
4114 | this_INT_2=RULE_INT | 4690 | { |
4115 | { | 4691 | $current.merge(this_INT_2); |
4116 | $current.merge(this_INT_2); | 4692 | } |
4117 | } | 4693 | { |
4118 | { | 4694 | newLeafNode(this_INT_2, grammarAccess.getRealAccess().getINTTerminalRuleCall_2()); |
4119 | newLeafNode(this_INT_2, grammarAccess.getRealAccess().getINTTerminalRuleCall_1_1()); | 4695 | } |
4120 | } | ||
4121 | )? | ||
4122 | ) | 4696 | ) |
4123 | ; | 4697 | ; |
4124 | finally { | 4698 | finally { |
4125 | myHiddenTokenState.restore(); | 4699 | myHiddenTokenState.restore(); |
4126 | } | 4700 | } |
4127 | 4701 | ||
4702 | // Entry rule entryRuleQualifiedNameSegment | ||
4703 | entryRuleQualifiedNameSegment returns [String current=null]: | ||
4704 | { newCompositeNode(grammarAccess.getQualifiedNameSegmentRule()); } | ||
4705 | iv_ruleQualifiedNameSegment=ruleQualifiedNameSegment | ||
4706 | { $current=$iv_ruleQualifiedNameSegment.current.getText(); } | ||
4707 | EOF; | ||
4708 | |||
4709 | // Rule QualifiedNameSegment | ||
4710 | ruleQualifiedNameSegment returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] | ||
4711 | @init { | ||
4712 | enterRule(); | ||
4713 | } | ||
4714 | @after { | ||
4715 | leaveRule(); | ||
4716 | }: | ||
4717 | ( | ||
4718 | this_ID_0=RULE_ID | ||
4719 | { | ||
4720 | $current.merge(this_ID_0); | ||
4721 | } | ||
4722 | { | ||
4723 | newLeafNode(this_ID_0, grammarAccess.getQualifiedNameSegmentAccess().getIDTerminalRuleCall_0()); | ||
4724 | } | ||
4725 | | | ||
4726 | this_QUOTED_ID_1=RULE_QUOTED_ID | ||
4727 | { | ||
4728 | $current.merge(this_QUOTED_ID_1); | ||
4729 | } | ||
4730 | { | ||
4731 | newLeafNode(this_QUOTED_ID_1, grammarAccess.getQualifiedNameSegmentAccess().getQUOTED_IDTerminalRuleCall_1()); | ||
4732 | } | ||
4733 | | | ||
4734 | kw=Object | ||
4735 | { | ||
4736 | $current.merge(kw); | ||
4737 | newLeafNode(kw, grammarAccess.getQualifiedNameSegmentAccess().getObjectKeyword_2()); | ||
4738 | } | ||
4739 | ) | ||
4740 | ; | ||
4741 | |||
4128 | // Entry rule entryRuleQualifiedName | 4742 | // Entry rule entryRuleQualifiedName |
4129 | entryRuleQualifiedName returns [String current=null]@init { | 4743 | entryRuleQualifiedName returns [String current=null]@init { |
4130 | HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); | 4744 | HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); |
@@ -4147,45 +4761,41 @@ ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleT | |||
4147 | leaveRule(); | 4761 | leaveRule(); |
4148 | }: | 4762 | }: |
4149 | ( | 4763 | ( |
4764 | { | ||
4765 | newCompositeNode(grammarAccess.getQualifiedNameAccess().getQualifiedNameSegmentParserRuleCall_0()); | ||
4766 | } | ||
4767 | this_QualifiedNameSegment_0=ruleQualifiedNameSegment | ||
4768 | { | ||
4769 | $current.merge(this_QualifiedNameSegment_0); | ||
4770 | } | ||
4771 | { | ||
4772 | afterParserOrEnumRuleCall(); | ||
4773 | } | ||
4150 | ( | 4774 | ( |
4151 | this_ID_0=RULE_ID | 4775 | kw=ColonColon |
4152 | { | 4776 | { |
4153 | $current.merge(this_ID_0); | 4777 | $current.merge(kw); |
4778 | newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getColonColonKeyword_1_0()); | ||
4154 | } | 4779 | } |
4155 | { | 4780 | { |
4156 | newLeafNode(this_ID_0, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_0()); | 4781 | newCompositeNode(grammarAccess.getQualifiedNameAccess().getQualifiedNameSegmentParserRuleCall_1_1()); |
4157 | } | 4782 | } |
4158 | ( | 4783 | this_QualifiedNameSegment_2=ruleQualifiedNameSegment |
4159 | kw=FullStop | 4784 | { |
4160 | { | 4785 | $current.merge(this_QualifiedNameSegment_2); |
4161 | $current.merge(kw); | 4786 | } |
4162 | newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_0_1_0()); | 4787 | { |
4163 | } | 4788 | afterParserOrEnumRuleCall(); |
4164 | this_ID_2=RULE_ID | 4789 | } |
4165 | { | 4790 | )* |
4166 | $current.merge(this_ID_2); | ||
4167 | } | ||
4168 | { | ||
4169 | newLeafNode(this_ID_2, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_1_1()); | ||
4170 | } | ||
4171 | )* | ||
4172 | ) | ||
4173 | | | ||
4174 | this_QUOTED_ID_3=RULE_QUOTED_ID | ||
4175 | { | ||
4176 | $current.merge(this_QUOTED_ID_3); | ||
4177 | } | ||
4178 | { | ||
4179 | newLeafNode(this_QUOTED_ID_3, grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1()); | ||
4180 | } | ||
4181 | ) | 4791 | ) |
4182 | ; | 4792 | ; |
4183 | finally { | 4793 | finally { |
4184 | myHiddenTokenState.restore(); | 4794 | myHiddenTokenState.restore(); |
4185 | } | 4795 | } |
4186 | 4796 | ||
4187 | // Rule ImplicationOperator | 4797 | // Rule AttributeKind |
4188 | ruleImplicationOperator returns [Enumerator current=null] | 4798 | ruleAttributeKind returns [Enumerator current=null] |
4189 | @init { | 4799 | @init { |
4190 | enterRule(); | 4800 | enterRule(); |
4191 | } | 4801 | } |
@@ -4193,11 +4803,37 @@ ruleImplicationOperator returns [Enumerator current=null] | |||
4193 | leaveRule(); | 4803 | leaveRule(); |
4194 | }: | 4804 | }: |
4195 | ( | 4805 | ( |
4196 | enumLiteral_0=EqualsSignGreaterThanSign | 4806 | ( |
4197 | { | 4807 | enumLiteral_0=Functional |
4198 | $current = grammarAccess.getImplicationOperatorAccess().getIMPLIESEnumLiteralDeclaration().getEnumLiteral().getInstance(); | 4808 | { |
4199 | newLeafNode(enumLiteral_0, grammarAccess.getImplicationOperatorAccess().getIMPLIESEnumLiteralDeclaration()); | 4809 | $current = grammarAccess.getAttributeKindAccess().getFUNCTIONALEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); |
4200 | } | 4810 | newLeafNode(enumLiteral_0, grammarAccess.getAttributeKindAccess().getFUNCTIONALEnumLiteralDeclaration_0()); |
4811 | } | ||
4812 | ) | ||
4813 | | | ||
4814 | ( | ||
4815 | enumLiteral_1=Error | ||
4816 | { | ||
4817 | $current = grammarAccess.getAttributeKindAccess().getERROREnumLiteralDeclaration_1().getEnumLiteral().getInstance(); | ||
4818 | newLeafNode(enumLiteral_1, grammarAccess.getAttributeKindAccess().getERROREnumLiteralDeclaration_1()); | ||
4819 | } | ||
4820 | ) | ||
4821 | | | ||
4822 | ( | ||
4823 | enumLiteral_2=Root | ||
4824 | { | ||
4825 | $current = grammarAccess.getAttributeKindAccess().getROOTEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); | ||
4826 | newLeafNode(enumLiteral_2, grammarAccess.getAttributeKindAccess().getROOTEnumLiteralDeclaration_2()); | ||
4827 | } | ||
4828 | ) | ||
4829 | | | ||
4830 | ( | ||
4831 | enumLiteral_3=Containment | ||
4832 | { | ||
4833 | $current = grammarAccess.getAttributeKindAccess().getCONTAINMENTEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); | ||
4834 | newLeafNode(enumLiteral_3, grammarAccess.getAttributeKindAccess().getCONTAINMENTEnumLiteralDeclaration_3()); | ||
4835 | } | ||
4836 | ) | ||
4201 | ) | 4837 | ) |
4202 | ; | 4838 | ; |
4203 | 4839 | ||
@@ -4213,16 +4849,16 @@ ruleComparisonOperator returns [Enumerator current=null] | |||
4213 | ( | 4849 | ( |
4214 | enumLiteral_0=EqualsSignEqualsSign | 4850 | enumLiteral_0=EqualsSignEqualsSign |
4215 | { | 4851 | { |
4216 | $current = grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); | 4852 | $current = grammarAccess.getComparisonOperatorAccess().getEQUALSEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); |
4217 | newLeafNode(enumLiteral_0, grammarAccess.getComparisonOperatorAccess().getEQEnumLiteralDeclaration_0()); | 4853 | newLeafNode(enumLiteral_0, grammarAccess.getComparisonOperatorAccess().getEQUALSEnumLiteralDeclaration_0()); |
4218 | } | 4854 | } |
4219 | ) | 4855 | ) |
4220 | | | 4856 | | |
4221 | ( | 4857 | ( |
4222 | enumLiteral_1=ExclamationMarkEqualsSign | 4858 | enumLiteral_1=ExclamationMarkEqualsSign |
4223 | { | 4859 | { |
4224 | $current = grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); | 4860 | $current = grammarAccess.getComparisonOperatorAccess().getNOT_EQUALSEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); |
4225 | newLeafNode(enumLiteral_1, grammarAccess.getComparisonOperatorAccess().getNOT_EQEnumLiteralDeclaration_1()); | 4861 | newLeafNode(enumLiteral_1, grammarAccess.getComparisonOperatorAccess().getNOT_EQUALSEnumLiteralDeclaration_1()); |
4226 | } | 4862 | } |
4227 | ) | 4863 | ) |
4228 | | | 4864 | | |
@@ -4237,8 +4873,8 @@ ruleComparisonOperator returns [Enumerator current=null] | |||
4237 | ( | 4873 | ( |
4238 | enumLiteral_3=LessThanSignEqualsSign | 4874 | enumLiteral_3=LessThanSignEqualsSign |
4239 | { | 4875 | { |
4240 | $current = grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); | 4876 | $current = grammarAccess.getComparisonOperatorAccess().getLESS_EQUALSEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); |
4241 | newLeafNode(enumLiteral_3, grammarAccess.getComparisonOperatorAccess().getLESS_EQEnumLiteralDeclaration_3()); | 4877 | newLeafNode(enumLiteral_3, grammarAccess.getComparisonOperatorAccess().getLESS_EQUALSEnumLiteralDeclaration_3()); |
4242 | } | 4878 | } |
4243 | ) | 4879 | ) |
4244 | | | 4880 | | |
@@ -4253,8 +4889,8 @@ ruleComparisonOperator returns [Enumerator current=null] | |||
4253 | ( | 4889 | ( |
4254 | enumLiteral_5=GreaterThanSignEqualsSign | 4890 | enumLiteral_5=GreaterThanSignEqualsSign |
4255 | { | 4891 | { |
4256 | $current = grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); | 4892 | $current = grammarAccess.getComparisonOperatorAccess().getGREATER_EQUALSEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); |
4257 | newLeafNode(enumLiteral_5, grammarAccess.getComparisonOperatorAccess().getGREATER_EQEnumLiteralDeclaration_5()); | 4893 | newLeafNode(enumLiteral_5, grammarAccess.getComparisonOperatorAccess().getGREATER_EQUALSEnumLiteralDeclaration_5()); |
4258 | } | 4894 | } |
4259 | ) | 4895 | ) |
4260 | | | 4896 | | |
@@ -4280,16 +4916,16 @@ ruleAdditiveBinaryOperator returns [Enumerator current=null] | |||
4280 | ( | 4916 | ( |
4281 | enumLiteral_0=PlusSign | 4917 | enumLiteral_0=PlusSign |
4282 | { | 4918 | { |
4283 | $current = grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); | 4919 | $current = grammarAccess.getAdditiveBinaryOperatorAccess().getPLUSEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); |
4284 | newLeafNode(enumLiteral_0, grammarAccess.getAdditiveBinaryOperatorAccess().getADDEnumLiteralDeclaration_0()); | 4920 | newLeafNode(enumLiteral_0, grammarAccess.getAdditiveBinaryOperatorAccess().getPLUSEnumLiteralDeclaration_0()); |
4285 | } | 4921 | } |
4286 | ) | 4922 | ) |
4287 | | | 4923 | | |
4288 | ( | 4924 | ( |
4289 | enumLiteral_1=HyphenMinus | 4925 | enumLiteral_1=HyphenMinus |
4290 | { | 4926 | { |
4291 | $current = grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); | 4927 | $current = grammarAccess.getAdditiveBinaryOperatorAccess().getMINUSEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); |
4292 | newLeafNode(enumLiteral_1, grammarAccess.getAdditiveBinaryOperatorAccess().getSUBEnumLiteralDeclaration_1()); | 4928 | newLeafNode(enumLiteral_1, grammarAccess.getAdditiveBinaryOperatorAccess().getMINUSEnumLiteralDeclaration_1()); |
4293 | } | 4929 | } |
4294 | ) | 4930 | ) |
4295 | ) | 4931 | ) |
@@ -4307,16 +4943,16 @@ ruleMultiplicativeBinaryOperator returns [Enumerator current=null] | |||
4307 | ( | 4943 | ( |
4308 | enumLiteral_0=Asterisk | 4944 | enumLiteral_0=Asterisk |
4309 | { | 4945 | { |
4310 | $current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); | 4946 | $current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULTIPLYEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); |
4311 | newLeafNode(enumLiteral_0, grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULEnumLiteralDeclaration_0()); | 4947 | newLeafNode(enumLiteral_0, grammarAccess.getMultiplicativeBinaryOperatorAccess().getMULTIPLYEnumLiteralDeclaration_0()); |
4312 | } | 4948 | } |
4313 | ) | 4949 | ) |
4314 | | | 4950 | | |
4315 | ( | 4951 | ( |
4316 | enumLiteral_1=Solidus | 4952 | enumLiteral_1=Solidus |
4317 | { | 4953 | { |
4318 | $current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); | 4954 | $current = grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVIDEEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); |
4319 | newLeafNode(enumLiteral_1, grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVEnumLiteralDeclaration_1()); | 4955 | newLeafNode(enumLiteral_1, grammarAccess.getMultiplicativeBinaryOperatorAccess().getDIVIDEEnumLiteralDeclaration_1()); |
4320 | } | 4956 | } |
4321 | ) | 4957 | ) |
4322 | ) | 4958 | ) |
@@ -4339,8 +4975,8 @@ ruleExponentialOp returns [Enumerator current=null] | |||
4339 | ) | 4975 | ) |
4340 | ; | 4976 | ; |
4341 | 4977 | ||
4342 | // Rule UnaryOp | 4978 | // Rule UnaryOperator |
4343 | ruleUnaryOp returns [Enumerator current=null] | 4979 | ruleUnaryOperator returns [Enumerator current=null] |
4344 | @init { | 4980 | @init { |
4345 | enterRule(); | 4981 | enterRule(); |
4346 | } | 4982 | } |
@@ -4351,83 +4987,32 @@ ruleUnaryOp returns [Enumerator current=null] | |||
4351 | ( | 4987 | ( |
4352 | enumLiteral_0=ExclamationMark | 4988 | enumLiteral_0=ExclamationMark |
4353 | { | 4989 | { |
4354 | $current = grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); | 4990 | $current = grammarAccess.getUnaryOperatorAccess().getNOTEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); |
4355 | newLeafNode(enumLiteral_0, grammarAccess.getUnaryOpAccess().getNEGEnumLiteralDeclaration_0()); | 4991 | newLeafNode(enumLiteral_0, grammarAccess.getUnaryOperatorAccess().getNOTEnumLiteralDeclaration_0()); |
4356 | } | 4992 | } |
4357 | ) | 4993 | ) |
4358 | | | 4994 | | |
4359 | ( | 4995 | ( |
4360 | enumLiteral_1=PlusSign | 4996 | enumLiteral_1=PlusSign |
4361 | { | 4997 | { |
4362 | $current = grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); | 4998 | $current = grammarAccess.getUnaryOperatorAccess().getPLUSEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); |
4363 | newLeafNode(enumLiteral_1, grammarAccess.getUnaryOpAccess().getPLUSEnumLiteralDeclaration_1()); | 4999 | newLeafNode(enumLiteral_1, grammarAccess.getUnaryOperatorAccess().getPLUSEnumLiteralDeclaration_1()); |
4364 | } | 5000 | } |
4365 | ) | 5001 | ) |
4366 | | | 5002 | | |
4367 | ( | 5003 | ( |
4368 | enumLiteral_2=HyphenMinus | 5004 | enumLiteral_2=HyphenMinus |
4369 | { | 5005 | { |
4370 | $current = grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); | 5006 | $current = grammarAccess.getUnaryOperatorAccess().getMINUSEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); |
4371 | newLeafNode(enumLiteral_2, grammarAccess.getUnaryOpAccess().getMINUSEnumLiteralDeclaration_2()); | 5007 | newLeafNode(enumLiteral_2, grammarAccess.getUnaryOperatorAccess().getMINUSEnumLiteralDeclaration_2()); |
4372 | } | ||
4373 | ) | ||
4374 | | | ||
4375 | ( | ||
4376 | enumLiteral_3=May | ||
4377 | { | ||
4378 | $current = grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); | ||
4379 | newLeafNode(enumLiteral_3, grammarAccess.getUnaryOpAccess().getMAYEnumLiteralDeclaration_3()); | ||
4380 | } | ||
4381 | ) | ||
4382 | | | ||
4383 | ( | ||
4384 | enumLiteral_4=Must | ||
4385 | { | ||
4386 | $current = grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4().getEnumLiteral().getInstance(); | ||
4387 | newLeafNode(enumLiteral_4, grammarAccess.getUnaryOpAccess().getMUSTEnumLiteralDeclaration_4()); | ||
4388 | } | ||
4389 | ) | ||
4390 | | | ||
4391 | ( | ||
4392 | enumLiteral_5=Current | ||
4393 | { | ||
4394 | $current = grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); | ||
4395 | newLeafNode(enumLiteral_5, grammarAccess.getUnaryOpAccess().getCURRENTEnumLiteralDeclaration_5()); | ||
4396 | } | ||
4397 | ) | ||
4398 | ) | ||
4399 | ; | ||
4400 | |||
4401 | // Rule Quantifier | ||
4402 | ruleQuantifier returns [Enumerator current=null] | ||
4403 | @init { | ||
4404 | enterRule(); | ||
4405 | } | ||
4406 | @after { | ||
4407 | leaveRule(); | ||
4408 | }: | ||
4409 | ( | ||
4410 | ( | ||
4411 | enumLiteral_0=Exists | ||
4412 | { | ||
4413 | $current = grammarAccess.getQuantifierAccess().getEXISTSEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); | ||
4414 | newLeafNode(enumLiteral_0, grammarAccess.getQuantifierAccess().getEXISTSEnumLiteralDeclaration_0()); | ||
4415 | } | ||
4416 | ) | ||
4417 | | | ||
4418 | ( | ||
4419 | enumLiteral_1=Forall | ||
4420 | { | ||
4421 | $current = grammarAccess.getQuantifierAccess().getFORALLEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); | ||
4422 | newLeafNode(enumLiteral_1, grammarAccess.getQuantifierAccess().getFORALLEnumLiteralDeclaration_1()); | ||
4423 | } | 5008 | } |
4424 | ) | 5009 | ) |
4425 | | | 5010 | | |
4426 | ( | 5011 | ( |
4427 | enumLiteral_2=Count | 5012 | enumLiteral_3=QuestionMark |
4428 | { | 5013 | { |
4429 | $current = grammarAccess.getQuantifierAccess().getCOUNTEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); | 5014 | $current = grammarAccess.getUnaryOperatorAccess().getMAYBEEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); |
4430 | newLeafNode(enumLiteral_2, grammarAccess.getQuantifierAccess().getCOUNTEnumLiteralDeclaration_2()); | 5015 | newLeafNode(enumLiteral_3, grammarAccess.getUnaryOperatorAccess().getMAYBEEnumLiteralDeclaration_3()); |
4431 | } | 5016 | } |
4432 | ) | 5017 | ) |
4433 | ) | 5018 | ) |
@@ -4488,16 +5073,16 @@ ruleObjectiveKind returns [Enumerator current=null] | |||
4488 | ( | 5073 | ( |
4489 | enumLiteral_0=Minimize | 5074 | enumLiteral_0=Minimize |
4490 | { | 5075 | { |
4491 | $current = grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); | 5076 | $current = grammarAccess.getObjectiveKindAccess().getMINIMIZATIONEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); |
4492 | newLeafNode(enumLiteral_0, grammarAccess.getObjectiveKindAccess().getMINIMIZEEnumLiteralDeclaration_0()); | 5077 | newLeafNode(enumLiteral_0, grammarAccess.getObjectiveKindAccess().getMINIMIZATIONEnumLiteralDeclaration_0()); |
4493 | } | 5078 | } |
4494 | ) | 5079 | ) |
4495 | | | 5080 | | |
4496 | ( | 5081 | ( |
4497 | enumLiteral_1=Maximize | 5082 | enumLiteral_1=Maximize |
4498 | { | 5083 | { |
4499 | $current = grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); | 5084 | $current = grammarAccess.getObjectiveKindAccess().getMAXIMIZATIONEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); |
4500 | newLeafNode(enumLiteral_1, grammarAccess.getObjectiveKindAccess().getMAXIMIZEEnumLiteralDeclaration_1()); | 5085 | newLeafNode(enumLiteral_1, grammarAccess.getObjectiveKindAccess().getMAXIMIZATIONEnumLiteralDeclaration_1()); |
4501 | } | 5086 | } |
4502 | ) | 5087 | ) |
4503 | ) | 5088 | ) |