diff options
author | 2020-04-28 20:43:04 +0200 | |
---|---|---|
committer | 2020-04-28 20:43:04 +0200 | |
commit | 8a7b9b436b31e6d2f5a0521a077c960ebdeb4cbe (patch) | |
tree | d525bef75519f364d637e0779f8e63d4199dee31 /Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.g | |
parent | check expressions are mapped to WF constraints (diff) | |
download | VIATRA-Generator-8a7b9b436b31e6d2f5a0521a077c960ebdeb4cbe.tar.gz VIATRA-Generator-8a7b9b436b31e6d2f5a0521a077c960ebdeb4cbe.tar.zst VIATRA-Generator-8a7b9b436b31e6d2f5a0521a077c960ebdeb4cbe.zip |
initial commit
Diffstat (limited to 'Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.g')
-rw-r--r-- | Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.g | 2575 |
1 files changed, 2575 insertions, 0 deletions
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.g b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.g new file mode 100644 index 00000000..afd73c2d --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.g | |||
@@ -0,0 +1,2575 @@ | |||
1 | /* | ||
2 | * generated by Xtext 2.18.0.M3 | ||
3 | */ | ||
4 | grammar InternalSolverLanguage; | ||
5 | |||
6 | options { | ||
7 | superClass=AbstractInternalAntlrParser; | ||
8 | } | ||
9 | |||
10 | @lexer::header { | ||
11 | package org.eclipse.viatra.solver.language.parser.antlr.internal; | ||
12 | |||
13 | // Hack: Use our own Lexer superclass by means of import. | ||
14 | // Currently there is no other way to specify the superclass for the lexer. | ||
15 | import org.eclipse.xtext.parser.antlr.Lexer; | ||
16 | } | ||
17 | |||
18 | @parser::header { | ||
19 | package org.eclipse.viatra.solver.language.parser.antlr.internal; | ||
20 | |||
21 | import org.eclipse.xtext.*; | ||
22 | import org.eclipse.xtext.parser.*; | ||
23 | import org.eclipse.xtext.parser.impl.*; | ||
24 | import org.eclipse.emf.ecore.util.EcoreUtil; | ||
25 | import org.eclipse.emf.ecore.EObject; | ||
26 | import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser; | ||
27 | import org.eclipse.xtext.parser.antlr.XtextTokenStream; | ||
28 | import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens; | ||
29 | import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken; | ||
30 | import org.eclipse.viatra.solver.language.services.SolverLanguageGrammarAccess; | ||
31 | |||
32 | } | ||
33 | |||
34 | @parser::members { | ||
35 | |||
36 | private SolverLanguageGrammarAccess grammarAccess; | ||
37 | |||
38 | public InternalSolverLanguageParser(TokenStream input, SolverLanguageGrammarAccess grammarAccess) { | ||
39 | this(input); | ||
40 | this.grammarAccess = grammarAccess; | ||
41 | registerRules(grammarAccess.getGrammar()); | ||
42 | } | ||
43 | |||
44 | @Override | ||
45 | protected String getFirstRuleName() { | ||
46 | return "Problem"; | ||
47 | } | ||
48 | |||
49 | @Override | ||
50 | protected SolverLanguageGrammarAccess getGrammarAccess() { | ||
51 | return grammarAccess; | ||
52 | } | ||
53 | |||
54 | } | ||
55 | |||
56 | @rulecatch { | ||
57 | catch (RecognitionException re) { | ||
58 | recover(input,re); | ||
59 | appendSkippedTokens(); | ||
60 | } | ||
61 | } | ||
62 | |||
63 | // Entry rule entryRuleProblem | ||
64 | entryRuleProblem returns [EObject current=null]: | ||
65 | { newCompositeNode(grammarAccess.getProblemRule()); } | ||
66 | iv_ruleProblem=ruleProblem | ||
67 | { $current=$iv_ruleProblem.current; } | ||
68 | EOF; | ||
69 | |||
70 | // Rule Problem | ||
71 | ruleProblem returns [EObject current=null] | ||
72 | @init { | ||
73 | enterRule(); | ||
74 | } | ||
75 | @after { | ||
76 | leaveRule(); | ||
77 | }: | ||
78 | ( | ||
79 | ( | ||
80 | { | ||
81 | newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0()); | ||
82 | } | ||
83 | lv_statements_0_0=ruleStatement | ||
84 | { | ||
85 | if ($current==null) { | ||
86 | $current = createModelElementForParent(grammarAccess.getProblemRule()); | ||
87 | } | ||
88 | add( | ||
89 | $current, | ||
90 | "statements", | ||
91 | lv_statements_0_0, | ||
92 | "org.eclipse.viatra.solver.language.SolverLanguage.Statement"); | ||
93 | afterParserOrEnumRuleCall(); | ||
94 | } | ||
95 | ) | ||
96 | )* | ||
97 | ; | ||
98 | |||
99 | // Entry rule entryRuleStatement | ||
100 | entryRuleStatement returns [EObject current=null]: | ||
101 | { newCompositeNode(grammarAccess.getStatementRule()); } | ||
102 | iv_ruleStatement=ruleStatement | ||
103 | { $current=$iv_ruleStatement.current; } | ||
104 | EOF; | ||
105 | |||
106 | // Rule Statement | ||
107 | ruleStatement returns [EObject current=null] | ||
108 | @init { | ||
109 | enterRule(); | ||
110 | } | ||
111 | @after { | ||
112 | leaveRule(); | ||
113 | }: | ||
114 | ( | ||
115 | { | ||
116 | newCompositeNode(grammarAccess.getStatementAccess().getInterpretationParserRuleCall_0()); | ||
117 | } | ||
118 | this_Interpretation_0=ruleInterpretation | ||
119 | { | ||
120 | $current = $this_Interpretation_0.current; | ||
121 | afterParserOrEnumRuleCall(); | ||
122 | } | ||
123 | | | ||
124 | { | ||
125 | newCompositeNode(grammarAccess.getStatementAccess().getPredicateParserRuleCall_1()); | ||
126 | } | ||
127 | this_Predicate_1=rulePredicate | ||
128 | { | ||
129 | $current = $this_Predicate_1.current; | ||
130 | afterParserOrEnumRuleCall(); | ||
131 | } | ||
132 | ) | ||
133 | ; | ||
134 | |||
135 | // Entry rule entryRuleREALLiteral | ||
136 | entryRuleREALLiteral returns [String current=null]: | ||
137 | { newCompositeNode(grammarAccess.getREALLiteralRule()); } | ||
138 | iv_ruleREALLiteral=ruleREALLiteral | ||
139 | { $current=$iv_ruleREALLiteral.current.getText(); } | ||
140 | EOF; | ||
141 | |||
142 | // Rule REALLiteral | ||
143 | ruleREALLiteral returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] | ||
144 | @init { | ||
145 | enterRule(); | ||
146 | } | ||
147 | @after { | ||
148 | leaveRule(); | ||
149 | }: | ||
150 | ( | ||
151 | ( | ||
152 | kw='-' | ||
153 | { | ||
154 | $current.merge(kw); | ||
155 | newLeafNode(kw, grammarAccess.getREALLiteralAccess().getHyphenMinusKeyword_0()); | ||
156 | } | ||
157 | )? | ||
158 | this_INT_1=RULE_INT | ||
159 | { | ||
160 | $current.merge(this_INT_1); | ||
161 | } | ||
162 | { | ||
163 | newLeafNode(this_INT_1, grammarAccess.getREALLiteralAccess().getINTTerminalRuleCall_1()); | ||
164 | } | ||
165 | kw='.' | ||
166 | { | ||
167 | $current.merge(kw); | ||
168 | newLeafNode(kw, grammarAccess.getREALLiteralAccess().getFullStopKeyword_2()); | ||
169 | } | ||
170 | this_INT_3=RULE_INT | ||
171 | { | ||
172 | $current.merge(this_INT_3); | ||
173 | } | ||
174 | { | ||
175 | newLeafNode(this_INT_3, grammarAccess.getREALLiteralAccess().getINTTerminalRuleCall_3()); | ||
176 | } | ||
177 | ) | ||
178 | ; | ||
179 | |||
180 | // Entry rule entryRuleINTLiteral | ||
181 | entryRuleINTLiteral returns [String current=null]: | ||
182 | { newCompositeNode(grammarAccess.getINTLiteralRule()); } | ||
183 | iv_ruleINTLiteral=ruleINTLiteral | ||
184 | { $current=$iv_ruleINTLiteral.current.getText(); } | ||
185 | EOF; | ||
186 | |||
187 | // Rule INTLiteral | ||
188 | ruleINTLiteral returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] | ||
189 | @init { | ||
190 | enterRule(); | ||
191 | } | ||
192 | @after { | ||
193 | leaveRule(); | ||
194 | }: | ||
195 | ( | ||
196 | ( | ||
197 | kw='-' | ||
198 | { | ||
199 | $current.merge(kw); | ||
200 | newLeafNode(kw, grammarAccess.getINTLiteralAccess().getHyphenMinusKeyword_0()); | ||
201 | } | ||
202 | )? | ||
203 | this_INT_1=RULE_INT | ||
204 | { | ||
205 | $current.merge(this_INT_1); | ||
206 | } | ||
207 | { | ||
208 | newLeafNode(this_INT_1, grammarAccess.getINTLiteralAccess().getINTTerminalRuleCall_1()); | ||
209 | } | ||
210 | ) | ||
211 | ; | ||
212 | |||
213 | // Entry rule entryRuleBooleanValue | ||
214 | entryRuleBooleanValue returns [EObject current=null]: | ||
215 | { newCompositeNode(grammarAccess.getBooleanValueRule()); } | ||
216 | iv_ruleBooleanValue=ruleBooleanValue | ||
217 | { $current=$iv_ruleBooleanValue.current; } | ||
218 | EOF; | ||
219 | |||
220 | // Rule BooleanValue | ||
221 | ruleBooleanValue returns [EObject current=null] | ||
222 | @init { | ||
223 | enterRule(); | ||
224 | } | ||
225 | @after { | ||
226 | leaveRule(); | ||
227 | }: | ||
228 | ( | ||
229 | ( | ||
230 | ( | ||
231 | { | ||
232 | $current = forceCreateModelElement( | ||
233 | grammarAccess.getBooleanValueAccess().getBooleanTrueAction_0_0(), | ||
234 | $current); | ||
235 | } | ||
236 | ) | ||
237 | otherlv_1='true' | ||
238 | { | ||
239 | newLeafNode(otherlv_1, grammarAccess.getBooleanValueAccess().getTrueKeyword_0_1()); | ||
240 | } | ||
241 | ) | ||
242 | | | ||
243 | ( | ||
244 | otherlv_2='false' | ||
245 | { | ||
246 | newLeafNode(otherlv_2, grammarAccess.getBooleanValueAccess().getFalseKeyword_1_0()); | ||
247 | } | ||
248 | ( | ||
249 | { | ||
250 | $current = forceCreateModelElement( | ||
251 | grammarAccess.getBooleanValueAccess().getBooleanFalseAction_1_1(), | ||
252 | $current); | ||
253 | } | ||
254 | ) | ||
255 | ) | ||
256 | ) | ||
257 | ; | ||
258 | |||
259 | // Entry rule entryRuleTruthValue | ||
260 | entryRuleTruthValue returns [EObject current=null]: | ||
261 | { newCompositeNode(grammarAccess.getTruthValueRule()); } | ||
262 | iv_ruleTruthValue=ruleTruthValue | ||
263 | { $current=$iv_ruleTruthValue.current; } | ||
264 | EOF; | ||
265 | |||
266 | // Rule TruthValue | ||
267 | ruleTruthValue returns [EObject current=null] | ||
268 | @init { | ||
269 | enterRule(); | ||
270 | } | ||
271 | @after { | ||
272 | leaveRule(); | ||
273 | }: | ||
274 | ( | ||
275 | ( | ||
276 | ( | ||
277 | { | ||
278 | $current = forceCreateModelElement( | ||
279 | grammarAccess.getTruthValueAccess().getTrueAction_0_0(), | ||
280 | $current); | ||
281 | } | ||
282 | ) | ||
283 | otherlv_1='true' | ||
284 | { | ||
285 | newLeafNode(otherlv_1, grammarAccess.getTruthValueAccess().getTrueKeyword_0_1()); | ||
286 | } | ||
287 | ) | ||
288 | | | ||
289 | ( | ||
290 | ( | ||
291 | { | ||
292 | $current = forceCreateModelElement( | ||
293 | grammarAccess.getTruthValueAccess().getFalseAction_1_0(), | ||
294 | $current); | ||
295 | } | ||
296 | ) | ||
297 | otherlv_3='false' | ||
298 | { | ||
299 | newLeafNode(otherlv_3, grammarAccess.getTruthValueAccess().getFalseKeyword_1_1()); | ||
300 | } | ||
301 | ) | ||
302 | | | ||
303 | ( | ||
304 | ( | ||
305 | { | ||
306 | $current = forceCreateModelElement( | ||
307 | grammarAccess.getTruthValueAccess().getUnknownAction_2_0(), | ||
308 | $current); | ||
309 | } | ||
310 | ) | ||
311 | otherlv_5='unknown' | ||
312 | { | ||
313 | newLeafNode(otherlv_5, grammarAccess.getTruthValueAccess().getUnknownKeyword_2_1()); | ||
314 | } | ||
315 | ) | ||
316 | | | ||
317 | ( | ||
318 | ( | ||
319 | { | ||
320 | $current = forceCreateModelElement( | ||
321 | grammarAccess.getTruthValueAccess().getErrorAction_3_0(), | ||
322 | $current); | ||
323 | } | ||
324 | ) | ||
325 | otherlv_7='error' | ||
326 | { | ||
327 | newLeafNode(otherlv_7, grammarAccess.getTruthValueAccess().getErrorKeyword_3_1()); | ||
328 | } | ||
329 | ) | ||
330 | ) | ||
331 | ; | ||
332 | |||
333 | // Entry rule entryRuleInterpretation | ||
334 | entryRuleInterpretation returns [EObject current=null]: | ||
335 | { newCompositeNode(grammarAccess.getInterpretationRule()); } | ||
336 | iv_ruleInterpretation=ruleInterpretation | ||
337 | { $current=$iv_ruleInterpretation.current; } | ||
338 | EOF; | ||
339 | |||
340 | // Rule Interpretation | ||
341 | ruleInterpretation returns [EObject current=null] | ||
342 | @init { | ||
343 | enterRule(); | ||
344 | } | ||
345 | @after { | ||
346 | leaveRule(); | ||
347 | }: | ||
348 | ( | ||
349 | { | ||
350 | newCompositeNode(grammarAccess.getInterpretationAccess().getBasicInterpretationParserRuleCall_0()); | ||
351 | } | ||
352 | this_BasicInterpretation_0=ruleBasicInterpretation | ||
353 | { | ||
354 | $current = $this_BasicInterpretation_0.current; | ||
355 | afterParserOrEnumRuleCall(); | ||
356 | } | ||
357 | | | ||
358 | { | ||
359 | newCompositeNode(grammarAccess.getInterpretationAccess().getDefaultInterpretationParserRuleCall_1()); | ||
360 | } | ||
361 | this_DefaultInterpretation_1=ruleDefaultInterpretation | ||
362 | { | ||
363 | $current = $this_DefaultInterpretation_1.current; | ||
364 | afterParserOrEnumRuleCall(); | ||
365 | } | ||
366 | | | ||
367 | { | ||
368 | newCompositeNode(grammarAccess.getInterpretationAccess().getCDInterpretationParserRuleCall_2()); | ||
369 | } | ||
370 | this_CDInterpretation_2=ruleCDInterpretation | ||
371 | { | ||
372 | $current = $this_CDInterpretation_2.current; | ||
373 | afterParserOrEnumRuleCall(); | ||
374 | } | ||
375 | ) | ||
376 | ; | ||
377 | |||
378 | // Entry rule entryRuleBasicInterpretation | ||
379 | entryRuleBasicInterpretation returns [EObject current=null]: | ||
380 | { newCompositeNode(grammarAccess.getBasicInterpretationRule()); } | ||
381 | iv_ruleBasicInterpretation=ruleBasicInterpretation | ||
382 | { $current=$iv_ruleBasicInterpretation.current; } | ||
383 | EOF; | ||
384 | |||
385 | // Rule BasicInterpretation | ||
386 | ruleBasicInterpretation returns [EObject current=null] | ||
387 | @init { | ||
388 | enterRule(); | ||
389 | } | ||
390 | @after { | ||
391 | leaveRule(); | ||
392 | }: | ||
393 | ( | ||
394 | ( | ||
395 | ( | ||
396 | { | ||
397 | newCompositeNode(grammarAccess.getBasicInterpretationAccess().getSymbolSymbolParserRuleCall_0_0()); | ||
398 | } | ||
399 | lv_symbol_0_0=ruleSymbol | ||
400 | { | ||
401 | if ($current==null) { | ||
402 | $current = createModelElementForParent(grammarAccess.getBasicInterpretationRule()); | ||
403 | } | ||
404 | set( | ||
405 | $current, | ||
406 | "symbol", | ||
407 | lv_symbol_0_0, | ||
408 | "org.eclipse.viatra.solver.language.SolverLanguage.Symbol"); | ||
409 | afterParserOrEnumRuleCall(); | ||
410 | } | ||
411 | ) | ||
412 | ) | ||
413 | otherlv_1='(' | ||
414 | { | ||
415 | newLeafNode(otherlv_1, grammarAccess.getBasicInterpretationAccess().getLeftParenthesisKeyword_1()); | ||
416 | } | ||
417 | ( | ||
418 | ( | ||
419 | { | ||
420 | newCompositeNode(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_2_0()); | ||
421 | } | ||
422 | lv_objects_2_0=ruleComplexObject | ||
423 | { | ||
424 | if ($current==null) { | ||
425 | $current = createModelElementForParent(grammarAccess.getBasicInterpretationRule()); | ||
426 | } | ||
427 | add( | ||
428 | $current, | ||
429 | "objects", | ||
430 | lv_objects_2_0, | ||
431 | "org.eclipse.viatra.solver.language.SolverLanguage.ComplexObject"); | ||
432 | afterParserOrEnumRuleCall(); | ||
433 | } | ||
434 | ) | ||
435 | )* | ||
436 | otherlv_3=')' | ||
437 | { | ||
438 | newLeafNode(otherlv_3, grammarAccess.getBasicInterpretationAccess().getRightParenthesisKeyword_3()); | ||
439 | } | ||
440 | otherlv_4=':' | ||
441 | { | ||
442 | newLeafNode(otherlv_4, grammarAccess.getBasicInterpretationAccess().getColonKeyword_4()); | ||
443 | } | ||
444 | ( | ||
445 | ( | ||
446 | { | ||
447 | newCompositeNode(grammarAccess.getBasicInterpretationAccess().getValueTruthValueParserRuleCall_5_0()); | ||
448 | } | ||
449 | lv_value_5_0=ruleTruthValue | ||
450 | { | ||
451 | if ($current==null) { | ||
452 | $current = createModelElementForParent(grammarAccess.getBasicInterpretationRule()); | ||
453 | } | ||
454 | set( | ||
455 | $current, | ||
456 | "value", | ||
457 | lv_value_5_0, | ||
458 | "org.eclipse.viatra.solver.language.SolverLanguage.TruthValue"); | ||
459 | afterParserOrEnumRuleCall(); | ||
460 | } | ||
461 | ) | ||
462 | ) | ||
463 | ) | ||
464 | ; | ||
465 | |||
466 | // Entry rule entryRuleSymbol | ||
467 | entryRuleSymbol returns [EObject current=null]: | ||
468 | { newCompositeNode(grammarAccess.getSymbolRule()); } | ||
469 | iv_ruleSymbol=ruleSymbol | ||
470 | { $current=$iv_ruleSymbol.current; } | ||
471 | EOF; | ||
472 | |||
473 | // Rule Symbol | ||
474 | ruleSymbol returns [EObject current=null] | ||
475 | @init { | ||
476 | enterRule(); | ||
477 | } | ||
478 | @after { | ||
479 | leaveRule(); | ||
480 | }: | ||
481 | ( | ||
482 | { | ||
483 | newCompositeNode(grammarAccess.getSymbolAccess().getModelSymbolParserRuleCall_0()); | ||
484 | } | ||
485 | this_ModelSymbol_0=ruleModelSymbol | ||
486 | { | ||
487 | $current = $this_ModelSymbol_0.current; | ||
488 | afterParserOrEnumRuleCall(); | ||
489 | } | ||
490 | | | ||
491 | { | ||
492 | newCompositeNode(grammarAccess.getSymbolAccess().getPartialitySymbolParserRuleCall_1()); | ||
493 | } | ||
494 | this_PartialitySymbol_1=rulePartialitySymbol | ||
495 | { | ||
496 | $current = $this_PartialitySymbol_1.current; | ||
497 | afterParserOrEnumRuleCall(); | ||
498 | } | ||
499 | | | ||
500 | { | ||
501 | newCompositeNode(grammarAccess.getSymbolAccess().getDataSymbolParserRuleCall_2()); | ||
502 | } | ||
503 | this_DataSymbol_2=ruleDataSymbol | ||
504 | { | ||
505 | $current = $this_DataSymbol_2.current; | ||
506 | afterParserOrEnumRuleCall(); | ||
507 | } | ||
508 | ) | ||
509 | ; | ||
510 | |||
511 | // Entry rule entryRuleModelSymbol | ||
512 | entryRuleModelSymbol returns [EObject current=null]: | ||
513 | { newCompositeNode(grammarAccess.getModelSymbolRule()); } | ||
514 | iv_ruleModelSymbol=ruleModelSymbol | ||
515 | { $current=$iv_ruleModelSymbol.current; } | ||
516 | EOF; | ||
517 | |||
518 | // Rule ModelSymbol | ||
519 | ruleModelSymbol returns [EObject current=null] | ||
520 | @init { | ||
521 | enterRule(); | ||
522 | } | ||
523 | @after { | ||
524 | leaveRule(); | ||
525 | }: | ||
526 | ( | ||
527 | ( | ||
528 | lv_name_0_0=RULE_ID | ||
529 | { | ||
530 | newLeafNode(lv_name_0_0, grammarAccess.getModelSymbolAccess().getNameIDTerminalRuleCall_0()); | ||
531 | } | ||
532 | { | ||
533 | if ($current==null) { | ||
534 | $current = createModelElement(grammarAccess.getModelSymbolRule()); | ||
535 | } | ||
536 | setWithLastConsumed( | ||
537 | $current, | ||
538 | "name", | ||
539 | lv_name_0_0, | ||
540 | "org.eclipse.xtext.common.Terminals.ID"); | ||
541 | } | ||
542 | ) | ||
543 | ) | ||
544 | ; | ||
545 | |||
546 | // Entry rule entryRulePartialitySymbol | ||
547 | entryRulePartialitySymbol returns [EObject current=null]: | ||
548 | { newCompositeNode(grammarAccess.getPartialitySymbolRule()); } | ||
549 | iv_rulePartialitySymbol=rulePartialitySymbol | ||
550 | { $current=$iv_rulePartialitySymbol.current; } | ||
551 | EOF; | ||
552 | |||
553 | // Rule PartialitySymbol | ||
554 | rulePartialitySymbol returns [EObject current=null] | ||
555 | @init { | ||
556 | enterRule(); | ||
557 | } | ||
558 | @after { | ||
559 | leaveRule(); | ||
560 | }: | ||
561 | ( | ||
562 | { | ||
563 | newCompositeNode(grammarAccess.getPartialitySymbolAccess().getExistSymbolParserRuleCall_0()); | ||
564 | } | ||
565 | this_ExistSymbol_0=ruleExistSymbol | ||
566 | { | ||
567 | $current = $this_ExistSymbol_0.current; | ||
568 | afterParserOrEnumRuleCall(); | ||
569 | } | ||
570 | | | ||
571 | { | ||
572 | newCompositeNode(grammarAccess.getPartialitySymbolAccess().getEqualsSymbolParserRuleCall_1()); | ||
573 | } | ||
574 | this_EqualsSymbol_1=ruleEqualsSymbol | ||
575 | { | ||
576 | $current = $this_EqualsSymbol_1.current; | ||
577 | afterParserOrEnumRuleCall(); | ||
578 | } | ||
579 | ) | ||
580 | ; | ||
581 | |||
582 | // Entry rule entryRuleExistSymbol | ||
583 | entryRuleExistSymbol returns [EObject current=null]: | ||
584 | { newCompositeNode(grammarAccess.getExistSymbolRule()); } | ||
585 | iv_ruleExistSymbol=ruleExistSymbol | ||
586 | { $current=$iv_ruleExistSymbol.current; } | ||
587 | EOF; | ||
588 | |||
589 | // Rule ExistSymbol | ||
590 | ruleExistSymbol returns [EObject current=null] | ||
591 | @init { | ||
592 | enterRule(); | ||
593 | } | ||
594 | @after { | ||
595 | leaveRule(); | ||
596 | }: | ||
597 | ( | ||
598 | otherlv_0='exists' | ||
599 | { | ||
600 | newLeafNode(otherlv_0, grammarAccess.getExistSymbolAccess().getExistsKeyword_0()); | ||
601 | } | ||
602 | ( | ||
603 | { | ||
604 | $current = forceCreateModelElement( | ||
605 | grammarAccess.getExistSymbolAccess().getExistSymbolAction_1(), | ||
606 | $current); | ||
607 | } | ||
608 | ) | ||
609 | ) | ||
610 | ; | ||
611 | |||
612 | // Entry rule entryRuleEqualsSymbol | ||
613 | entryRuleEqualsSymbol returns [EObject current=null]: | ||
614 | { newCompositeNode(grammarAccess.getEqualsSymbolRule()); } | ||
615 | iv_ruleEqualsSymbol=ruleEqualsSymbol | ||
616 | { $current=$iv_ruleEqualsSymbol.current; } | ||
617 | EOF; | ||
618 | |||
619 | // Rule EqualsSymbol | ||
620 | ruleEqualsSymbol returns [EObject current=null] | ||
621 | @init { | ||
622 | enterRule(); | ||
623 | } | ||
624 | @after { | ||
625 | leaveRule(); | ||
626 | }: | ||
627 | ( | ||
628 | otherlv_0='equals' | ||
629 | { | ||
630 | newLeafNode(otherlv_0, grammarAccess.getEqualsSymbolAccess().getEqualsKeyword_0()); | ||
631 | } | ||
632 | ( | ||
633 | { | ||
634 | $current = forceCreateModelElement( | ||
635 | grammarAccess.getEqualsSymbolAccess().getEqualsSymbolAction_1(), | ||
636 | $current); | ||
637 | } | ||
638 | ) | ||
639 | ) | ||
640 | ; | ||
641 | |||
642 | // Entry rule entryRuleDataSymbol | ||
643 | entryRuleDataSymbol returns [EObject current=null]: | ||
644 | { newCompositeNode(grammarAccess.getDataSymbolRule()); } | ||
645 | iv_ruleDataSymbol=ruleDataSymbol | ||
646 | { $current=$iv_ruleDataSymbol.current; } | ||
647 | EOF; | ||
648 | |||
649 | // Rule DataSymbol | ||
650 | ruleDataSymbol returns [EObject current=null] | ||
651 | @init { | ||
652 | enterRule(); | ||
653 | } | ||
654 | @after { | ||
655 | leaveRule(); | ||
656 | }: | ||
657 | ( | ||
658 | { | ||
659 | newCompositeNode(grammarAccess.getDataSymbolAccess().getBooleanSymbolParserRuleCall_0()); | ||
660 | } | ||
661 | this_BooleanSymbol_0=ruleBooleanSymbol | ||
662 | { | ||
663 | $current = $this_BooleanSymbol_0.current; | ||
664 | afterParserOrEnumRuleCall(); | ||
665 | } | ||
666 | | | ||
667 | { | ||
668 | newCompositeNode(grammarAccess.getDataSymbolAccess().getIntegerSymbolParserRuleCall_1()); | ||
669 | } | ||
670 | this_IntegerSymbol_1=ruleIntegerSymbol | ||
671 | { | ||
672 | $current = $this_IntegerSymbol_1.current; | ||
673 | afterParserOrEnumRuleCall(); | ||
674 | } | ||
675 | | | ||
676 | { | ||
677 | newCompositeNode(grammarAccess.getDataSymbolAccess().getRealSymbolParserRuleCall_2()); | ||
678 | } | ||
679 | this_RealSymbol_2=ruleRealSymbol | ||
680 | { | ||
681 | $current = $this_RealSymbol_2.current; | ||
682 | afterParserOrEnumRuleCall(); | ||
683 | } | ||
684 | | | ||
685 | { | ||
686 | newCompositeNode(grammarAccess.getDataSymbolAccess().getStringSymbolParserRuleCall_3()); | ||
687 | } | ||
688 | this_StringSymbol_3=ruleStringSymbol | ||
689 | { | ||
690 | $current = $this_StringSymbol_3.current; | ||
691 | afterParserOrEnumRuleCall(); | ||
692 | } | ||
693 | ) | ||
694 | ; | ||
695 | |||
696 | // Entry rule entryRuleBooleanSymbol | ||
697 | entryRuleBooleanSymbol returns [EObject current=null]: | ||
698 | { newCompositeNode(grammarAccess.getBooleanSymbolRule()); } | ||
699 | iv_ruleBooleanSymbol=ruleBooleanSymbol | ||
700 | { $current=$iv_ruleBooleanSymbol.current; } | ||
701 | EOF; | ||
702 | |||
703 | // Rule BooleanSymbol | ||
704 | ruleBooleanSymbol returns [EObject current=null] | ||
705 | @init { | ||
706 | enterRule(); | ||
707 | } | ||
708 | @after { | ||
709 | leaveRule(); | ||
710 | }: | ||
711 | ( | ||
712 | otherlv_0='bool' | ||
713 | { | ||
714 | newLeafNode(otherlv_0, grammarAccess.getBooleanSymbolAccess().getBoolKeyword_0()); | ||
715 | } | ||
716 | ( | ||
717 | { | ||
718 | $current = forceCreateModelElement( | ||
719 | grammarAccess.getBooleanSymbolAccess().getBooleanSymbolAction_1(), | ||
720 | $current); | ||
721 | } | ||
722 | ) | ||
723 | ) | ||
724 | ; | ||
725 | |||
726 | // Entry rule entryRuleIntegerSymbol | ||
727 | entryRuleIntegerSymbol returns [EObject current=null]: | ||
728 | { newCompositeNode(grammarAccess.getIntegerSymbolRule()); } | ||
729 | iv_ruleIntegerSymbol=ruleIntegerSymbol | ||
730 | { $current=$iv_ruleIntegerSymbol.current; } | ||
731 | EOF; | ||
732 | |||
733 | // Rule IntegerSymbol | ||
734 | ruleIntegerSymbol returns [EObject current=null] | ||
735 | @init { | ||
736 | enterRule(); | ||
737 | } | ||
738 | @after { | ||
739 | leaveRule(); | ||
740 | }: | ||
741 | ( | ||
742 | otherlv_0='int' | ||
743 | { | ||
744 | newLeafNode(otherlv_0, grammarAccess.getIntegerSymbolAccess().getIntKeyword_0()); | ||
745 | } | ||
746 | ( | ||
747 | { | ||
748 | $current = forceCreateModelElement( | ||
749 | grammarAccess.getIntegerSymbolAccess().getIntegerSymbolAction_1(), | ||
750 | $current); | ||
751 | } | ||
752 | ) | ||
753 | ) | ||
754 | ; | ||
755 | |||
756 | // Entry rule entryRuleRealSymbol | ||
757 | entryRuleRealSymbol returns [EObject current=null]: | ||
758 | { newCompositeNode(grammarAccess.getRealSymbolRule()); } | ||
759 | iv_ruleRealSymbol=ruleRealSymbol | ||
760 | { $current=$iv_ruleRealSymbol.current; } | ||
761 | EOF; | ||
762 | |||
763 | // Rule RealSymbol | ||
764 | ruleRealSymbol returns [EObject current=null] | ||
765 | @init { | ||
766 | enterRule(); | ||
767 | } | ||
768 | @after { | ||
769 | leaveRule(); | ||
770 | }: | ||
771 | ( | ||
772 | otherlv_0='real' | ||
773 | { | ||
774 | newLeafNode(otherlv_0, grammarAccess.getRealSymbolAccess().getRealKeyword_0()); | ||
775 | } | ||
776 | ( | ||
777 | { | ||
778 | $current = forceCreateModelElement( | ||
779 | grammarAccess.getRealSymbolAccess().getRealSymbolAction_1(), | ||
780 | $current); | ||
781 | } | ||
782 | ) | ||
783 | ) | ||
784 | ; | ||
785 | |||
786 | // Entry rule entryRuleStringSymbol | ||
787 | entryRuleStringSymbol returns [EObject current=null]: | ||
788 | { newCompositeNode(grammarAccess.getStringSymbolRule()); } | ||
789 | iv_ruleStringSymbol=ruleStringSymbol | ||
790 | { $current=$iv_ruleStringSymbol.current; } | ||
791 | EOF; | ||
792 | |||
793 | // Rule StringSymbol | ||
794 | ruleStringSymbol returns [EObject current=null] | ||
795 | @init { | ||
796 | enterRule(); | ||
797 | } | ||
798 | @after { | ||
799 | leaveRule(); | ||
800 | }: | ||
801 | ( | ||
802 | otherlv_0='string' | ||
803 | { | ||
804 | newLeafNode(otherlv_0, grammarAccess.getStringSymbolAccess().getStringKeyword_0()); | ||
805 | } | ||
806 | ( | ||
807 | { | ||
808 | $current = forceCreateModelElement( | ||
809 | grammarAccess.getStringSymbolAccess().getStringSymbolAction_1(), | ||
810 | $current); | ||
811 | } | ||
812 | ) | ||
813 | ) | ||
814 | ; | ||
815 | |||
816 | // Entry rule entryRuleComplexObject | ||
817 | entryRuleComplexObject returns [EObject current=null]: | ||
818 | { newCompositeNode(grammarAccess.getComplexObjectRule()); } | ||
819 | iv_ruleComplexObject=ruleComplexObject | ||
820 | { $current=$iv_ruleComplexObject.current; } | ||
821 | EOF; | ||
822 | |||
823 | // Rule ComplexObject | ||
824 | ruleComplexObject returns [EObject current=null] | ||
825 | @init { | ||
826 | enterRule(); | ||
827 | } | ||
828 | @after { | ||
829 | leaveRule(); | ||
830 | }: | ||
831 | ( | ||
832 | { | ||
833 | newCompositeNode(grammarAccess.getComplexObjectAccess().getObjectParserRuleCall_0()); | ||
834 | } | ||
835 | this_Object_0=ruleObject | ||
836 | { | ||
837 | $current = $this_Object_0.current; | ||
838 | afterParserOrEnumRuleCall(); | ||
839 | } | ||
840 | | | ||
841 | { | ||
842 | newCompositeNode(grammarAccess.getComplexObjectAccess().getAllInstancesParserRuleCall_1()); | ||
843 | } | ||
844 | this_AllInstances_1=ruleAllInstances | ||
845 | { | ||
846 | $current = $this_AllInstances_1.current; | ||
847 | afterParserOrEnumRuleCall(); | ||
848 | } | ||
849 | | | ||
850 | { | ||
851 | newCompositeNode(grammarAccess.getComplexObjectAccess().getAllObjectsParserRuleCall_2()); | ||
852 | } | ||
853 | this_AllObjects_2=ruleAllObjects | ||
854 | { | ||
855 | $current = $this_AllObjects_2.current; | ||
856 | afterParserOrEnumRuleCall(); | ||
857 | } | ||
858 | ) | ||
859 | ; | ||
860 | |||
861 | // Entry rule entryRuleObject | ||
862 | entryRuleObject returns [EObject current=null]: | ||
863 | { newCompositeNode(grammarAccess.getObjectRule()); } | ||
864 | iv_ruleObject=ruleObject | ||
865 | { $current=$iv_ruleObject.current; } | ||
866 | EOF; | ||
867 | |||
868 | // Rule Object | ||
869 | ruleObject returns [EObject current=null] | ||
870 | @init { | ||
871 | enterRule(); | ||
872 | } | ||
873 | @after { | ||
874 | leaveRule(); | ||
875 | }: | ||
876 | ( | ||
877 | { | ||
878 | newCompositeNode(grammarAccess.getObjectAccess().getNamedObjectParserRuleCall_0()); | ||
879 | } | ||
880 | this_NamedObject_0=ruleNamedObject | ||
881 | { | ||
882 | $current = $this_NamedObject_0.current; | ||
883 | afterParserOrEnumRuleCall(); | ||
884 | } | ||
885 | | | ||
886 | { | ||
887 | newCompositeNode(grammarAccess.getObjectAccess().getUnnamedObjectParserRuleCall_1()); | ||
888 | } | ||
889 | this_UnnamedObject_1=ruleUnnamedObject | ||
890 | { | ||
891 | $current = $this_UnnamedObject_1.current; | ||
892 | afterParserOrEnumRuleCall(); | ||
893 | } | ||
894 | | | ||
895 | { | ||
896 | newCompositeNode(grammarAccess.getObjectAccess().getDataObjectParserRuleCall_2()); | ||
897 | } | ||
898 | this_DataObject_2=ruleDataObject | ||
899 | { | ||
900 | $current = $this_DataObject_2.current; | ||
901 | afterParserOrEnumRuleCall(); | ||
902 | } | ||
903 | ) | ||
904 | ; | ||
905 | |||
906 | // Entry rule entryRuleNamedObject | ||
907 | entryRuleNamedObject returns [EObject current=null]: | ||
908 | { newCompositeNode(grammarAccess.getNamedObjectRule()); } | ||
909 | iv_ruleNamedObject=ruleNamedObject | ||
910 | { $current=$iv_ruleNamedObject.current; } | ||
911 | EOF; | ||
912 | |||
913 | // Rule NamedObject | ||
914 | ruleNamedObject returns [EObject current=null] | ||
915 | @init { | ||
916 | enterRule(); | ||
917 | } | ||
918 | @after { | ||
919 | leaveRule(); | ||
920 | }: | ||
921 | ( | ||
922 | otherlv_0='\'' | ||
923 | { | ||
924 | newLeafNode(otherlv_0, grammarAccess.getNamedObjectAccess().getApostropheKeyword_0()); | ||
925 | } | ||
926 | ( | ||
927 | ( | ||
928 | lv_name_1_0=RULE_ID | ||
929 | { | ||
930 | newLeafNode(lv_name_1_0, grammarAccess.getNamedObjectAccess().getNameIDTerminalRuleCall_1_0()); | ||
931 | } | ||
932 | { | ||
933 | if ($current==null) { | ||
934 | $current = createModelElement(grammarAccess.getNamedObjectRule()); | ||
935 | } | ||
936 | setWithLastConsumed( | ||
937 | $current, | ||
938 | "name", | ||
939 | lv_name_1_0, | ||
940 | "org.eclipse.xtext.common.Terminals.ID"); | ||
941 | } | ||
942 | ) | ||
943 | ) | ||
944 | otherlv_2='\'' | ||
945 | { | ||
946 | newLeafNode(otherlv_2, grammarAccess.getNamedObjectAccess().getApostropheKeyword_2()); | ||
947 | } | ||
948 | ) | ||
949 | ; | ||
950 | |||
951 | // Entry rule entryRuleUnnamedObject | ||
952 | entryRuleUnnamedObject returns [EObject current=null]: | ||
953 | { newCompositeNode(grammarAccess.getUnnamedObjectRule()); } | ||
954 | iv_ruleUnnamedObject=ruleUnnamedObject | ||
955 | { $current=$iv_ruleUnnamedObject.current; } | ||
956 | EOF; | ||
957 | |||
958 | // Rule UnnamedObject | ||
959 | ruleUnnamedObject returns [EObject current=null] | ||
960 | @init { | ||
961 | enterRule(); | ||
962 | } | ||
963 | @after { | ||
964 | leaveRule(); | ||
965 | }: | ||
966 | ( | ||
967 | ( | ||
968 | lv_name_0_0=RULE_ID | ||
969 | { | ||
970 | newLeafNode(lv_name_0_0, grammarAccess.getUnnamedObjectAccess().getNameIDTerminalRuleCall_0()); | ||
971 | } | ||
972 | { | ||
973 | if ($current==null) { | ||
974 | $current = createModelElement(grammarAccess.getUnnamedObjectRule()); | ||
975 | } | ||
976 | setWithLastConsumed( | ||
977 | $current, | ||
978 | "name", | ||
979 | lv_name_0_0, | ||
980 | "org.eclipse.xtext.common.Terminals.ID"); | ||
981 | } | ||
982 | ) | ||
983 | ) | ||
984 | ; | ||
985 | |||
986 | // Entry rule entryRuleDataObject | ||
987 | entryRuleDataObject returns [EObject current=null]: | ||
988 | { newCompositeNode(grammarAccess.getDataObjectRule()); } | ||
989 | iv_ruleDataObject=ruleDataObject | ||
990 | { $current=$iv_ruleDataObject.current; } | ||
991 | EOF; | ||
992 | |||
993 | // Rule DataObject | ||
994 | ruleDataObject returns [EObject current=null] | ||
995 | @init { | ||
996 | enterRule(); | ||
997 | } | ||
998 | @after { | ||
999 | leaveRule(); | ||
1000 | }: | ||
1001 | ( | ||
1002 | { | ||
1003 | newCompositeNode(grammarAccess.getDataObjectAccess().getBooleanObjectParserRuleCall_0()); | ||
1004 | } | ||
1005 | this_BooleanObject_0=ruleBooleanObject | ||
1006 | { | ||
1007 | $current = $this_BooleanObject_0.current; | ||
1008 | afterParserOrEnumRuleCall(); | ||
1009 | } | ||
1010 | | | ||
1011 | { | ||
1012 | newCompositeNode(grammarAccess.getDataObjectAccess().getIntObjectParserRuleCall_1()); | ||
1013 | } | ||
1014 | this_IntObject_1=ruleIntObject | ||
1015 | { | ||
1016 | $current = $this_IntObject_1.current; | ||
1017 | afterParserOrEnumRuleCall(); | ||
1018 | } | ||
1019 | | | ||
1020 | { | ||
1021 | newCompositeNode(grammarAccess.getDataObjectAccess().getRealObjectParserRuleCall_2()); | ||
1022 | } | ||
1023 | this_RealObject_2=ruleRealObject | ||
1024 | { | ||
1025 | $current = $this_RealObject_2.current; | ||
1026 | afterParserOrEnumRuleCall(); | ||
1027 | } | ||
1028 | | | ||
1029 | { | ||
1030 | newCompositeNode(grammarAccess.getDataObjectAccess().getStringObjectParserRuleCall_3()); | ||
1031 | } | ||
1032 | this_StringObject_3=ruleStringObject | ||
1033 | { | ||
1034 | $current = $this_StringObject_3.current; | ||
1035 | afterParserOrEnumRuleCall(); | ||
1036 | } | ||
1037 | ) | ||
1038 | ; | ||
1039 | |||
1040 | // Entry rule entryRuleBooleanObject | ||
1041 | entryRuleBooleanObject returns [EObject current=null]: | ||
1042 | { newCompositeNode(grammarAccess.getBooleanObjectRule()); } | ||
1043 | iv_ruleBooleanObject=ruleBooleanObject | ||
1044 | { $current=$iv_ruleBooleanObject.current; } | ||
1045 | EOF; | ||
1046 | |||
1047 | // Rule BooleanObject | ||
1048 | ruleBooleanObject returns [EObject current=null] | ||
1049 | @init { | ||
1050 | enterRule(); | ||
1051 | } | ||
1052 | @after { | ||
1053 | leaveRule(); | ||
1054 | }: | ||
1055 | ( | ||
1056 | ( | ||
1057 | { | ||
1058 | newCompositeNode(grammarAccess.getBooleanObjectAccess().getValueBooleanValueParserRuleCall_0()); | ||
1059 | } | ||
1060 | lv_value_0_0=ruleBooleanValue | ||
1061 | { | ||
1062 | if ($current==null) { | ||
1063 | $current = createModelElementForParent(grammarAccess.getBooleanObjectRule()); | ||
1064 | } | ||
1065 | set( | ||
1066 | $current, | ||
1067 | "value", | ||
1068 | lv_value_0_0, | ||
1069 | "org.eclipse.viatra.solver.language.SolverLanguage.BooleanValue"); | ||
1070 | afterParserOrEnumRuleCall(); | ||
1071 | } | ||
1072 | ) | ||
1073 | ) | ||
1074 | ; | ||
1075 | |||
1076 | // Entry rule entryRuleIntObject | ||
1077 | entryRuleIntObject returns [EObject current=null]: | ||
1078 | { newCompositeNode(grammarAccess.getIntObjectRule()); } | ||
1079 | iv_ruleIntObject=ruleIntObject | ||
1080 | { $current=$iv_ruleIntObject.current; } | ||
1081 | EOF; | ||
1082 | |||
1083 | // Rule IntObject | ||
1084 | ruleIntObject returns [EObject current=null] | ||
1085 | @init { | ||
1086 | enterRule(); | ||
1087 | } | ||
1088 | @after { | ||
1089 | leaveRule(); | ||
1090 | }: | ||
1091 | ( | ||
1092 | ( | ||
1093 | { | ||
1094 | newCompositeNode(grammarAccess.getIntObjectAccess().getValueINTLiteralParserRuleCall_0()); | ||
1095 | } | ||
1096 | lv_value_0_0=ruleINTLiteral | ||
1097 | { | ||
1098 | if ($current==null) { | ||
1099 | $current = createModelElementForParent(grammarAccess.getIntObjectRule()); | ||
1100 | } | ||
1101 | set( | ||
1102 | $current, | ||
1103 | "value", | ||
1104 | lv_value_0_0, | ||
1105 | "org.eclipse.viatra.solver.language.SolverLanguage.INTLiteral"); | ||
1106 | afterParserOrEnumRuleCall(); | ||
1107 | } | ||
1108 | ) | ||
1109 | ) | ||
1110 | ; | ||
1111 | |||
1112 | // Entry rule entryRuleRealObject | ||
1113 | entryRuleRealObject returns [EObject current=null]: | ||
1114 | { newCompositeNode(grammarAccess.getRealObjectRule()); } | ||
1115 | iv_ruleRealObject=ruleRealObject | ||
1116 | { $current=$iv_ruleRealObject.current; } | ||
1117 | EOF; | ||
1118 | |||
1119 | // Rule RealObject | ||
1120 | ruleRealObject returns [EObject current=null] | ||
1121 | @init { | ||
1122 | enterRule(); | ||
1123 | } | ||
1124 | @after { | ||
1125 | leaveRule(); | ||
1126 | }: | ||
1127 | ( | ||
1128 | ( | ||
1129 | { | ||
1130 | newCompositeNode(grammarAccess.getRealObjectAccess().getValueREALLiteralParserRuleCall_0()); | ||
1131 | } | ||
1132 | lv_value_0_0=ruleREALLiteral | ||
1133 | { | ||
1134 | if ($current==null) { | ||
1135 | $current = createModelElementForParent(grammarAccess.getRealObjectRule()); | ||
1136 | } | ||
1137 | set( | ||
1138 | $current, | ||
1139 | "value", | ||
1140 | lv_value_0_0, | ||
1141 | "org.eclipse.viatra.solver.language.SolverLanguage.REALLiteral"); | ||
1142 | afterParserOrEnumRuleCall(); | ||
1143 | } | ||
1144 | ) | ||
1145 | ) | ||
1146 | ; | ||
1147 | |||
1148 | // Entry rule entryRuleStringObject | ||
1149 | entryRuleStringObject returns [EObject current=null]: | ||
1150 | { newCompositeNode(grammarAccess.getStringObjectRule()); } | ||
1151 | iv_ruleStringObject=ruleStringObject | ||
1152 | { $current=$iv_ruleStringObject.current; } | ||
1153 | EOF; | ||
1154 | |||
1155 | // Rule StringObject | ||
1156 | ruleStringObject returns [EObject current=null] | ||
1157 | @init { | ||
1158 | enterRule(); | ||
1159 | } | ||
1160 | @after { | ||
1161 | leaveRule(); | ||
1162 | }: | ||
1163 | ( | ||
1164 | ( | ||
1165 | lv_value_0_0=RULE_STRING | ||
1166 | { | ||
1167 | newLeafNode(lv_value_0_0, grammarAccess.getStringObjectAccess().getValueSTRINGTerminalRuleCall_0()); | ||
1168 | } | ||
1169 | { | ||
1170 | if ($current==null) { | ||
1171 | $current = createModelElement(grammarAccess.getStringObjectRule()); | ||
1172 | } | ||
1173 | setWithLastConsumed( | ||
1174 | $current, | ||
1175 | "value", | ||
1176 | lv_value_0_0, | ||
1177 | "org.eclipse.viatra.solver.language.SolverLanguage.STRING"); | ||
1178 | } | ||
1179 | ) | ||
1180 | ) | ||
1181 | ; | ||
1182 | |||
1183 | // Entry rule entryRulePredicate | ||
1184 | entryRulePredicate returns [EObject current=null]: | ||
1185 | { newCompositeNode(grammarAccess.getPredicateRule()); } | ||
1186 | iv_rulePredicate=rulePredicate | ||
1187 | { $current=$iv_rulePredicate.current; } | ||
1188 | EOF; | ||
1189 | |||
1190 | // Rule Predicate | ||
1191 | rulePredicate returns [EObject current=null] | ||
1192 | @init { | ||
1193 | enterRule(); | ||
1194 | } | ||
1195 | @after { | ||
1196 | leaveRule(); | ||
1197 | }: | ||
1198 | ( | ||
1199 | { | ||
1200 | newCompositeNode(grammarAccess.getPredicateAccess().getPredicateSymbolParserRuleCall_0()); | ||
1201 | } | ||
1202 | this_PredicateSymbol_0=rulePredicateSymbol | ||
1203 | { | ||
1204 | $current = $this_PredicateSymbol_0.current; | ||
1205 | afterParserOrEnumRuleCall(); | ||
1206 | } | ||
1207 | | | ||
1208 | { | ||
1209 | newCompositeNode(grammarAccess.getPredicateAccess().getErrorPredicateParserRuleCall_1()); | ||
1210 | } | ||
1211 | this_ErrorPredicate_1=ruleErrorPredicate | ||
1212 | { | ||
1213 | $current = $this_ErrorPredicate_1.current; | ||
1214 | afterParserOrEnumRuleCall(); | ||
1215 | } | ||
1216 | ) | ||
1217 | ; | ||
1218 | |||
1219 | // Entry rule entryRulePredicateSymbol | ||
1220 | entryRulePredicateSymbol returns [EObject current=null]: | ||
1221 | { newCompositeNode(grammarAccess.getPredicateSymbolRule()); } | ||
1222 | iv_rulePredicateSymbol=rulePredicateSymbol | ||
1223 | { $current=$iv_rulePredicateSymbol.current; } | ||
1224 | EOF; | ||
1225 | |||
1226 | // Rule PredicateSymbol | ||
1227 | rulePredicateSymbol returns [EObject current=null] | ||
1228 | @init { | ||
1229 | enterRule(); | ||
1230 | } | ||
1231 | @after { | ||
1232 | leaveRule(); | ||
1233 | }: | ||
1234 | ( | ||
1235 | otherlv_0='predicate' | ||
1236 | { | ||
1237 | newLeafNode(otherlv_0, grammarAccess.getPredicateSymbolAccess().getPredicateKeyword_0()); | ||
1238 | } | ||
1239 | ( | ||
1240 | ( | ||
1241 | { | ||
1242 | newCompositeNode(grammarAccess.getPredicateSymbolAccess().getSymbolModelSymbolParserRuleCall_1_0()); | ||
1243 | } | ||
1244 | lv_symbol_1_0=ruleModelSymbol | ||
1245 | { | ||
1246 | if ($current==null) { | ||
1247 | $current = createModelElementForParent(grammarAccess.getPredicateSymbolRule()); | ||
1248 | } | ||
1249 | set( | ||
1250 | $current, | ||
1251 | "symbol", | ||
1252 | lv_symbol_1_0, | ||
1253 | "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); | ||
1254 | afterParserOrEnumRuleCall(); | ||
1255 | } | ||
1256 | ) | ||
1257 | ) | ||
1258 | otherlv_2='(' | ||
1259 | { | ||
1260 | newLeafNode(otherlv_2, grammarAccess.getPredicateSymbolAccess().getLeftParenthesisKeyword_2()); | ||
1261 | } | ||
1262 | ( | ||
1263 | ( | ||
1264 | { | ||
1265 | newCompositeNode(grammarAccess.getPredicateSymbolAccess().getParametersParameterParserRuleCall_3_0()); | ||
1266 | } | ||
1267 | lv_parameters_3_0=ruleParameter | ||
1268 | { | ||
1269 | if ($current==null) { | ||
1270 | $current = createModelElementForParent(grammarAccess.getPredicateSymbolRule()); | ||
1271 | } | ||
1272 | add( | ||
1273 | $current, | ||
1274 | "parameters", | ||
1275 | lv_parameters_3_0, | ||
1276 | "org.eclipse.viatra.solver.language.SolverLanguage.Parameter"); | ||
1277 | afterParserOrEnumRuleCall(); | ||
1278 | } | ||
1279 | ) | ||
1280 | )* | ||
1281 | otherlv_4=')' | ||
1282 | { | ||
1283 | newLeafNode(otherlv_4, grammarAccess.getPredicateSymbolAccess().getRightParenthesisKeyword_4()); | ||
1284 | } | ||
1285 | otherlv_5=':' | ||
1286 | { | ||
1287 | newLeafNode(otherlv_5, grammarAccess.getPredicateSymbolAccess().getColonKeyword_5()); | ||
1288 | } | ||
1289 | ( | ||
1290 | otherlv_6='false' | ||
1291 | { | ||
1292 | newLeafNode(otherlv_6, grammarAccess.getPredicateSymbolAccess().getFalseKeyword_6_0()); | ||
1293 | } | ||
1294 | | | ||
1295 | ( | ||
1296 | ( | ||
1297 | ( | ||
1298 | { | ||
1299 | newCompositeNode(grammarAccess.getPredicateSymbolAccess().getBodiesPatternBodyParserRuleCall_6_1_0_0()); | ||
1300 | } | ||
1301 | lv_bodies_7_0=rulePatternBody | ||
1302 | { | ||
1303 | if ($current==null) { | ||
1304 | $current = createModelElementForParent(grammarAccess.getPredicateSymbolRule()); | ||
1305 | } | ||
1306 | add( | ||
1307 | $current, | ||
1308 | "bodies", | ||
1309 | lv_bodies_7_0, | ||
1310 | "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody"); | ||
1311 | afterParserOrEnumRuleCall(); | ||
1312 | } | ||
1313 | ) | ||
1314 | ) | ||
1315 | ( | ||
1316 | otherlv_8='|' | ||
1317 | { | ||
1318 | newLeafNode(otherlv_8, grammarAccess.getPredicateSymbolAccess().getVerticalLineKeyword_6_1_1_0()); | ||
1319 | } | ||
1320 | ( | ||
1321 | ( | ||
1322 | { | ||
1323 | newCompositeNode(grammarAccess.getPredicateSymbolAccess().getBodiesPatternBodyParserRuleCall_6_1_1_1_0()); | ||
1324 | } | ||
1325 | lv_bodies_9_0=rulePatternBody | ||
1326 | { | ||
1327 | if ($current==null) { | ||
1328 | $current = createModelElementForParent(grammarAccess.getPredicateSymbolRule()); | ||
1329 | } | ||
1330 | add( | ||
1331 | $current, | ||
1332 | "bodies", | ||
1333 | lv_bodies_9_0, | ||
1334 | "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody"); | ||
1335 | afterParserOrEnumRuleCall(); | ||
1336 | } | ||
1337 | ) | ||
1338 | ) | ||
1339 | )* | ||
1340 | ) | ||
1341 | ) | ||
1342 | otherlv_10='.' | ||
1343 | { | ||
1344 | newLeafNode(otherlv_10, grammarAccess.getPredicateSymbolAccess().getFullStopKeyword_7()); | ||
1345 | } | ||
1346 | ) | ||
1347 | ; | ||
1348 | |||
1349 | // Entry rule entryRuleErrorPredicate | ||
1350 | entryRuleErrorPredicate returns [EObject current=null]: | ||
1351 | { newCompositeNode(grammarAccess.getErrorPredicateRule()); } | ||
1352 | iv_ruleErrorPredicate=ruleErrorPredicate | ||
1353 | { $current=$iv_ruleErrorPredicate.current; } | ||
1354 | EOF; | ||
1355 | |||
1356 | // Rule ErrorPredicate | ||
1357 | ruleErrorPredicate returns [EObject current=null] | ||
1358 | @init { | ||
1359 | enterRule(); | ||
1360 | } | ||
1361 | @after { | ||
1362 | leaveRule(); | ||
1363 | }: | ||
1364 | ( | ||
1365 | ( | ||
1366 | { | ||
1367 | $current = forceCreateModelElement( | ||
1368 | grammarAccess.getErrorPredicateAccess().getErrorPredicateAction_0(), | ||
1369 | $current); | ||
1370 | } | ||
1371 | ) | ||
1372 | otherlv_1='error' | ||
1373 | { | ||
1374 | newLeafNode(otherlv_1, grammarAccess.getErrorPredicateAccess().getErrorKeyword_1()); | ||
1375 | } | ||
1376 | ( | ||
1377 | ( | ||
1378 | lv_name_2_0=RULE_ID | ||
1379 | { | ||
1380 | newLeafNode(lv_name_2_0, grammarAccess.getErrorPredicateAccess().getNameIDTerminalRuleCall_2_0()); | ||
1381 | } | ||
1382 | { | ||
1383 | if ($current==null) { | ||
1384 | $current = createModelElement(grammarAccess.getErrorPredicateRule()); | ||
1385 | } | ||
1386 | setWithLastConsumed( | ||
1387 | $current, | ||
1388 | "name", | ||
1389 | lv_name_2_0, | ||
1390 | "org.eclipse.xtext.common.Terminals.ID"); | ||
1391 | } | ||
1392 | ) | ||
1393 | )? | ||
1394 | ( | ||
1395 | otherlv_3='(' | ||
1396 | { | ||
1397 | newLeafNode(otherlv_3, grammarAccess.getErrorPredicateAccess().getLeftParenthesisKeyword_3_0()); | ||
1398 | } | ||
1399 | ( | ||
1400 | ( | ||
1401 | { | ||
1402 | newCompositeNode(grammarAccess.getErrorPredicateAccess().getParametersParameterParserRuleCall_3_1_0()); | ||
1403 | } | ||
1404 | lv_parameters_4_0=ruleParameter | ||
1405 | { | ||
1406 | if ($current==null) { | ||
1407 | $current = createModelElementForParent(grammarAccess.getErrorPredicateRule()); | ||
1408 | } | ||
1409 | add( | ||
1410 | $current, | ||
1411 | "parameters", | ||
1412 | lv_parameters_4_0, | ||
1413 | "org.eclipse.viatra.solver.language.SolverLanguage.Parameter"); | ||
1414 | afterParserOrEnumRuleCall(); | ||
1415 | } | ||
1416 | ) | ||
1417 | )* | ||
1418 | otherlv_5=')' | ||
1419 | { | ||
1420 | newLeafNode(otherlv_5, grammarAccess.getErrorPredicateAccess().getRightParenthesisKeyword_3_2()); | ||
1421 | } | ||
1422 | ) | ||
1423 | otherlv_6=':' | ||
1424 | { | ||
1425 | newLeafNode(otherlv_6, grammarAccess.getErrorPredicateAccess().getColonKeyword_4()); | ||
1426 | } | ||
1427 | ( | ||
1428 | otherlv_7='false' | ||
1429 | { | ||
1430 | newLeafNode(otherlv_7, grammarAccess.getErrorPredicateAccess().getFalseKeyword_5_0()); | ||
1431 | } | ||
1432 | | | ||
1433 | ( | ||
1434 | ( | ||
1435 | ( | ||
1436 | { | ||
1437 | newCompositeNode(grammarAccess.getErrorPredicateAccess().getBodiesPatternBodyParserRuleCall_5_1_0_0()); | ||
1438 | } | ||
1439 | lv_bodies_8_0=rulePatternBody | ||
1440 | { | ||
1441 | if ($current==null) { | ||
1442 | $current = createModelElementForParent(grammarAccess.getErrorPredicateRule()); | ||
1443 | } | ||
1444 | add( | ||
1445 | $current, | ||
1446 | "bodies", | ||
1447 | lv_bodies_8_0, | ||
1448 | "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody"); | ||
1449 | afterParserOrEnumRuleCall(); | ||
1450 | } | ||
1451 | ) | ||
1452 | ) | ||
1453 | ( | ||
1454 | otherlv_9='|' | ||
1455 | { | ||
1456 | newLeafNode(otherlv_9, grammarAccess.getErrorPredicateAccess().getVerticalLineKeyword_5_1_1_0()); | ||
1457 | } | ||
1458 | ( | ||
1459 | ( | ||
1460 | { | ||
1461 | newCompositeNode(grammarAccess.getErrorPredicateAccess().getBodiesPatternBodyParserRuleCall_5_1_1_1_0()); | ||
1462 | } | ||
1463 | lv_bodies_10_0=rulePatternBody | ||
1464 | { | ||
1465 | if ($current==null) { | ||
1466 | $current = createModelElementForParent(grammarAccess.getErrorPredicateRule()); | ||
1467 | } | ||
1468 | add( | ||
1469 | $current, | ||
1470 | "bodies", | ||
1471 | lv_bodies_10_0, | ||
1472 | "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody"); | ||
1473 | afterParserOrEnumRuleCall(); | ||
1474 | } | ||
1475 | ) | ||
1476 | ) | ||
1477 | )* | ||
1478 | ) | ||
1479 | ) | ||
1480 | otherlv_11='.' | ||
1481 | { | ||
1482 | newLeafNode(otherlv_11, grammarAccess.getErrorPredicateAccess().getFullStopKeyword_6()); | ||
1483 | } | ||
1484 | ) | ||
1485 | ; | ||
1486 | |||
1487 | // Entry rule entryRuleParameter | ||
1488 | entryRuleParameter returns [EObject current=null]: | ||
1489 | { newCompositeNode(grammarAccess.getParameterRule()); } | ||
1490 | iv_ruleParameter=ruleParameter | ||
1491 | { $current=$iv_ruleParameter.current; } | ||
1492 | EOF; | ||
1493 | |||
1494 | // Rule Parameter | ||
1495 | ruleParameter returns [EObject current=null] | ||
1496 | @init { | ||
1497 | enterRule(); | ||
1498 | } | ||
1499 | @after { | ||
1500 | leaveRule(); | ||
1501 | }: | ||
1502 | ( | ||
1503 | ( | ||
1504 | ( | ||
1505 | { | ||
1506 | newCompositeNode(grammarAccess.getParameterAccess().getVariableVariableParserRuleCall_0_0()); | ||
1507 | } | ||
1508 | lv_variable_0_0=ruleVariable | ||
1509 | { | ||
1510 | if ($current==null) { | ||
1511 | $current = createModelElementForParent(grammarAccess.getParameterRule()); | ||
1512 | } | ||
1513 | set( | ||
1514 | $current, | ||
1515 | "variable", | ||
1516 | lv_variable_0_0, | ||
1517 | "org.eclipse.viatra.solver.language.SolverLanguage.Variable"); | ||
1518 | afterParserOrEnumRuleCall(); | ||
1519 | } | ||
1520 | ) | ||
1521 | ) | ||
1522 | ( | ||
1523 | otherlv_1=':' | ||
1524 | { | ||
1525 | newLeafNode(otherlv_1, grammarAccess.getParameterAccess().getColonKeyword_1_0()); | ||
1526 | } | ||
1527 | ( | ||
1528 | ( | ||
1529 | { | ||
1530 | newCompositeNode(grammarAccess.getParameterAccess().getTypeSymbolParserRuleCall_1_1_0()); | ||
1531 | } | ||
1532 | lv_type_2_0=ruleSymbol | ||
1533 | { | ||
1534 | if ($current==null) { | ||
1535 | $current = createModelElementForParent(grammarAccess.getParameterRule()); | ||
1536 | } | ||
1537 | set( | ||
1538 | $current, | ||
1539 | "type", | ||
1540 | lv_type_2_0, | ||
1541 | "org.eclipse.viatra.solver.language.SolverLanguage.Symbol"); | ||
1542 | afterParserOrEnumRuleCall(); | ||
1543 | } | ||
1544 | ) | ||
1545 | ) | ||
1546 | )? | ||
1547 | ) | ||
1548 | ; | ||
1549 | |||
1550 | // Entry rule entryRulePatternBody | ||
1551 | entryRulePatternBody returns [EObject current=null]: | ||
1552 | { newCompositeNode(grammarAccess.getPatternBodyRule()); } | ||
1553 | iv_rulePatternBody=rulePatternBody | ||
1554 | { $current=$iv_rulePatternBody.current; } | ||
1555 | EOF; | ||
1556 | |||
1557 | // Rule PatternBody | ||
1558 | rulePatternBody returns [EObject current=null] | ||
1559 | @init { | ||
1560 | enterRule(); | ||
1561 | } | ||
1562 | @after { | ||
1563 | leaveRule(); | ||
1564 | }: | ||
1565 | ( | ||
1566 | ( | ||
1567 | { | ||
1568 | $current = forceCreateModelElement( | ||
1569 | grammarAccess.getPatternBodyAccess().getPatternBodyAction_0(), | ||
1570 | $current); | ||
1571 | } | ||
1572 | ) | ||
1573 | ( | ||
1574 | otherlv_1='true' | ||
1575 | { | ||
1576 | newLeafNode(otherlv_1, grammarAccess.getPatternBodyAccess().getTrueKeyword_1_0()); | ||
1577 | } | ||
1578 | | | ||
1579 | ( | ||
1580 | ( | ||
1581 | { | ||
1582 | newCompositeNode(grammarAccess.getPatternBodyAccess().getConstraintsConstraintParserRuleCall_1_1_0()); | ||
1583 | } | ||
1584 | lv_constraints_2_0=ruleConstraint | ||
1585 | { | ||
1586 | if ($current==null) { | ||
1587 | $current = createModelElementForParent(grammarAccess.getPatternBodyRule()); | ||
1588 | } | ||
1589 | add( | ||
1590 | $current, | ||
1591 | "constraints", | ||
1592 | lv_constraints_2_0, | ||
1593 | "org.eclipse.viatra.solver.language.SolverLanguage.Constraint"); | ||
1594 | afterParserOrEnumRuleCall(); | ||
1595 | } | ||
1596 | ) | ||
1597 | )* | ||
1598 | ) | ||
1599 | ) | ||
1600 | ; | ||
1601 | |||
1602 | // Entry rule entryRulePolarity | ||
1603 | entryRulePolarity returns [EObject current=null]: | ||
1604 | { newCompositeNode(grammarAccess.getPolarityRule()); } | ||
1605 | iv_rulePolarity=rulePolarity | ||
1606 | { $current=$iv_rulePolarity.current; } | ||
1607 | EOF; | ||
1608 | |||
1609 | // Rule Polarity | ||
1610 | rulePolarity returns [EObject current=null] | ||
1611 | @init { | ||
1612 | enterRule(); | ||
1613 | } | ||
1614 | @after { | ||
1615 | leaveRule(); | ||
1616 | }: | ||
1617 | ( | ||
1618 | ( | ||
1619 | ( | ||
1620 | { | ||
1621 | $current = forceCreateModelElement( | ||
1622 | grammarAccess.getPolarityAccess().getPositiveAction_0_0(), | ||
1623 | $current); | ||
1624 | } | ||
1625 | ) | ||
1626 | otherlv_1='+' | ||
1627 | { | ||
1628 | newLeafNode(otherlv_1, grammarAccess.getPolarityAccess().getPlusSignKeyword_0_1()); | ||
1629 | } | ||
1630 | ) | ||
1631 | | | ||
1632 | ( | ||
1633 | ( | ||
1634 | { | ||
1635 | $current = forceCreateModelElement( | ||
1636 | grammarAccess.getPolarityAccess().getNegativeAction_1_0(), | ||
1637 | $current); | ||
1638 | } | ||
1639 | ) | ||
1640 | otherlv_3='-' | ||
1641 | { | ||
1642 | newLeafNode(otherlv_3, grammarAccess.getPolarityAccess().getHyphenMinusKeyword_1_1()); | ||
1643 | } | ||
1644 | ) | ||
1645 | ) | ||
1646 | ; | ||
1647 | |||
1648 | // Entry rule entryRuleConstraint | ||
1649 | entryRuleConstraint returns [EObject current=null]: | ||
1650 | { newCompositeNode(grammarAccess.getConstraintRule()); } | ||
1651 | iv_ruleConstraint=ruleConstraint | ||
1652 | { $current=$iv_ruleConstraint.current; } | ||
1653 | EOF; | ||
1654 | |||
1655 | // Rule Constraint | ||
1656 | ruleConstraint returns [EObject current=null] | ||
1657 | @init { | ||
1658 | enterRule(); | ||
1659 | } | ||
1660 | @after { | ||
1661 | leaveRule(); | ||
1662 | }: | ||
1663 | ( | ||
1664 | ( | ||
1665 | ( | ||
1666 | { | ||
1667 | newCompositeNode(grammarAccess.getConstraintAccess().getPolarityPolarityParserRuleCall_0_0()); | ||
1668 | } | ||
1669 | lv_polarity_0_0=rulePolarity | ||
1670 | { | ||
1671 | if ($current==null) { | ||
1672 | $current = createModelElementForParent(grammarAccess.getConstraintRule()); | ||
1673 | } | ||
1674 | set( | ||
1675 | $current, | ||
1676 | "polarity", | ||
1677 | lv_polarity_0_0, | ||
1678 | "org.eclipse.viatra.solver.language.SolverLanguage.Polarity"); | ||
1679 | afterParserOrEnumRuleCall(); | ||
1680 | } | ||
1681 | ) | ||
1682 | )? | ||
1683 | ( | ||
1684 | ( | ||
1685 | { | ||
1686 | newCompositeNode(grammarAccess.getConstraintAccess().getSymbolModelSymbolParserRuleCall_1_0()); | ||
1687 | } | ||
1688 | lv_symbol_1_0=ruleModelSymbol | ||
1689 | { | ||
1690 | if ($current==null) { | ||
1691 | $current = createModelElementForParent(grammarAccess.getConstraintRule()); | ||
1692 | } | ||
1693 | set( | ||
1694 | $current, | ||
1695 | "symbol", | ||
1696 | lv_symbol_1_0, | ||
1697 | "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); | ||
1698 | afterParserOrEnumRuleCall(); | ||
1699 | } | ||
1700 | ) | ||
1701 | ) | ||
1702 | ( | ||
1703 | ( | ||
1704 | otherlv_2='(' | ||
1705 | { | ||
1706 | newLeafNode(otherlv_2, grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_2_0_0()); | ||
1707 | } | ||
1708 | ( | ||
1709 | ( | ||
1710 | { | ||
1711 | newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_2_0_1_0()); | ||
1712 | } | ||
1713 | lv_params_3_0=ruleLiteral | ||
1714 | { | ||
1715 | if ($current==null) { | ||
1716 | $current = createModelElementForParent(grammarAccess.getConstraintRule()); | ||
1717 | } | ||
1718 | add( | ||
1719 | $current, | ||
1720 | "params", | ||
1721 | lv_params_3_0, | ||
1722 | "org.eclipse.viatra.solver.language.SolverLanguage.Literal"); | ||
1723 | afterParserOrEnumRuleCall(); | ||
1724 | } | ||
1725 | ) | ||
1726 | )* | ||
1727 | otherlv_4=')' | ||
1728 | { | ||
1729 | newLeafNode(otherlv_4, grammarAccess.getConstraintAccess().getRightParenthesisKeyword_2_0_2()); | ||
1730 | } | ||
1731 | ) | ||
1732 | | | ||
1733 | ( | ||
1734 | ( | ||
1735 | ( | ||
1736 | { | ||
1737 | newCompositeNode(grammarAccess.getConstraintAccess().getClosureTypeClosureTypeParserRuleCall_2_1_0_0()); | ||
1738 | } | ||
1739 | lv_closureType_5_0=ruleClosureType | ||
1740 | { | ||
1741 | if ($current==null) { | ||
1742 | $current = createModelElementForParent(grammarAccess.getConstraintRule()); | ||
1743 | } | ||
1744 | set( | ||
1745 | $current, | ||
1746 | "closureType", | ||
1747 | lv_closureType_5_0, | ||
1748 | "org.eclipse.viatra.solver.language.SolverLanguage.ClosureType"); | ||
1749 | afterParserOrEnumRuleCall(); | ||
1750 | } | ||
1751 | ) | ||
1752 | ) | ||
1753 | otherlv_6='(' | ||
1754 | { | ||
1755 | newLeafNode(otherlv_6, grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_2_1_1()); | ||
1756 | } | ||
1757 | ( | ||
1758 | ( | ||
1759 | { | ||
1760 | newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_2_1_2_0()); | ||
1761 | } | ||
1762 | lv_params_7_0=ruleLiteral | ||
1763 | { | ||
1764 | if ($current==null) { | ||
1765 | $current = createModelElementForParent(grammarAccess.getConstraintRule()); | ||
1766 | } | ||
1767 | add( | ||
1768 | $current, | ||
1769 | "params", | ||
1770 | lv_params_7_0, | ||
1771 | "org.eclipse.viatra.solver.language.SolverLanguage.Literal"); | ||
1772 | afterParserOrEnumRuleCall(); | ||
1773 | } | ||
1774 | ) | ||
1775 | ) | ||
1776 | ( | ||
1777 | ( | ||
1778 | { | ||
1779 | newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_2_1_3_0()); | ||
1780 | } | ||
1781 | lv_params_8_0=ruleLiteral | ||
1782 | { | ||
1783 | if ($current==null) { | ||
1784 | $current = createModelElementForParent(grammarAccess.getConstraintRule()); | ||
1785 | } | ||
1786 | add( | ||
1787 | $current, | ||
1788 | "params", | ||
1789 | lv_params_8_0, | ||
1790 | "org.eclipse.viatra.solver.language.SolverLanguage.Literal"); | ||
1791 | afterParserOrEnumRuleCall(); | ||
1792 | } | ||
1793 | ) | ||
1794 | ) | ||
1795 | otherlv_9=')' | ||
1796 | { | ||
1797 | newLeafNode(otherlv_9, grammarAccess.getConstraintAccess().getRightParenthesisKeyword_2_1_4()); | ||
1798 | } | ||
1799 | ) | ||
1800 | ) | ||
1801 | ) | ||
1802 | ; | ||
1803 | |||
1804 | // Entry rule entryRuleClosureType | ||
1805 | entryRuleClosureType returns [EObject current=null]: | ||
1806 | { newCompositeNode(grammarAccess.getClosureTypeRule()); } | ||
1807 | iv_ruleClosureType=ruleClosureType | ||
1808 | { $current=$iv_ruleClosureType.current; } | ||
1809 | EOF; | ||
1810 | |||
1811 | // Rule ClosureType | ||
1812 | ruleClosureType returns [EObject current=null] | ||
1813 | @init { | ||
1814 | enterRule(); | ||
1815 | } | ||
1816 | @after { | ||
1817 | leaveRule(); | ||
1818 | }: | ||
1819 | ( | ||
1820 | ( | ||
1821 | ( | ||
1822 | { | ||
1823 | $current = forceCreateModelElement( | ||
1824 | grammarAccess.getClosureTypeAccess().getReflexiveClosureAction_0_0(), | ||
1825 | $current); | ||
1826 | } | ||
1827 | ) | ||
1828 | otherlv_1='*' | ||
1829 | { | ||
1830 | newLeafNode(otherlv_1, grammarAccess.getClosureTypeAccess().getAsteriskKeyword_0_1()); | ||
1831 | } | ||
1832 | ) | ||
1833 | | | ||
1834 | ( | ||
1835 | ( | ||
1836 | { | ||
1837 | $current = forceCreateModelElement( | ||
1838 | grammarAccess.getClosureTypeAccess().getIrreflexiveClosureAction_1_0(), | ||
1839 | $current); | ||
1840 | } | ||
1841 | ) | ||
1842 | otherlv_3='+' | ||
1843 | { | ||
1844 | newLeafNode(otherlv_3, grammarAccess.getClosureTypeAccess().getPlusSignKeyword_1_1()); | ||
1845 | } | ||
1846 | ) | ||
1847 | ) | ||
1848 | ; | ||
1849 | |||
1850 | // Entry rule entryRuleLiteral | ||
1851 | entryRuleLiteral returns [EObject current=null]: | ||
1852 | { newCompositeNode(grammarAccess.getLiteralRule()); } | ||
1853 | iv_ruleLiteral=ruleLiteral | ||
1854 | { $current=$iv_ruleLiteral.current; } | ||
1855 | EOF; | ||
1856 | |||
1857 | // Rule Literal | ||
1858 | ruleLiteral returns [EObject current=null] | ||
1859 | @init { | ||
1860 | enterRule(); | ||
1861 | } | ||
1862 | @after { | ||
1863 | leaveRule(); | ||
1864 | }: | ||
1865 | ( | ||
1866 | { | ||
1867 | newCompositeNode(grammarAccess.getLiteralAccess().getVariableParserRuleCall_0()); | ||
1868 | } | ||
1869 | this_Variable_0=ruleVariable | ||
1870 | { | ||
1871 | $current = $this_Variable_0.current; | ||
1872 | afterParserOrEnumRuleCall(); | ||
1873 | } | ||
1874 | | | ||
1875 | { | ||
1876 | newCompositeNode(grammarAccess.getLiteralAccess().getDataObjectParserRuleCall_1()); | ||
1877 | } | ||
1878 | this_DataObject_1=ruleDataObject | ||
1879 | { | ||
1880 | $current = $this_DataObject_1.current; | ||
1881 | afterParserOrEnumRuleCall(); | ||
1882 | } | ||
1883 | ) | ||
1884 | ; | ||
1885 | |||
1886 | // Entry rule entryRuleVariable | ||
1887 | entryRuleVariable returns [EObject current=null]: | ||
1888 | { newCompositeNode(grammarAccess.getVariableRule()); } | ||
1889 | iv_ruleVariable=ruleVariable | ||
1890 | { $current=$iv_ruleVariable.current; } | ||
1891 | EOF; | ||
1892 | |||
1893 | // Rule Variable | ||
1894 | ruleVariable returns [EObject current=null] | ||
1895 | @init { | ||
1896 | enterRule(); | ||
1897 | } | ||
1898 | @after { | ||
1899 | leaveRule(); | ||
1900 | }: | ||
1901 | ( | ||
1902 | ( | ||
1903 | lv_name_0_0=RULE_ID | ||
1904 | { | ||
1905 | newLeafNode(lv_name_0_0, grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_0()); | ||
1906 | } | ||
1907 | { | ||
1908 | if ($current==null) { | ||
1909 | $current = createModelElement(grammarAccess.getVariableRule()); | ||
1910 | } | ||
1911 | setWithLastConsumed( | ||
1912 | $current, | ||
1913 | "name", | ||
1914 | lv_name_0_0, | ||
1915 | "org.eclipse.xtext.common.Terminals.ID"); | ||
1916 | } | ||
1917 | ) | ||
1918 | ) | ||
1919 | ; | ||
1920 | |||
1921 | // Entry rule entryRuleAllInstances | ||
1922 | entryRuleAllInstances returns [EObject current=null]: | ||
1923 | { newCompositeNode(grammarAccess.getAllInstancesRule()); } | ||
1924 | iv_ruleAllInstances=ruleAllInstances | ||
1925 | { $current=$iv_ruleAllInstances.current; } | ||
1926 | EOF; | ||
1927 | |||
1928 | // Rule AllInstances | ||
1929 | ruleAllInstances returns [EObject current=null] | ||
1930 | @init { | ||
1931 | enterRule(); | ||
1932 | } | ||
1933 | @after { | ||
1934 | leaveRule(); | ||
1935 | }: | ||
1936 | ( | ||
1937 | otherlv_0=':' | ||
1938 | { | ||
1939 | newLeafNode(otherlv_0, grammarAccess.getAllInstancesAccess().getColonKeyword_0()); | ||
1940 | } | ||
1941 | ( | ||
1942 | ( | ||
1943 | { | ||
1944 | newCompositeNode(grammarAccess.getAllInstancesAccess().getSymbolSymbolParserRuleCall_1_0()); | ||
1945 | } | ||
1946 | lv_symbol_1_0=ruleSymbol | ||
1947 | { | ||
1948 | if ($current==null) { | ||
1949 | $current = createModelElementForParent(grammarAccess.getAllInstancesRule()); | ||
1950 | } | ||
1951 | set( | ||
1952 | $current, | ||
1953 | "symbol", | ||
1954 | lv_symbol_1_0, | ||
1955 | "org.eclipse.viatra.solver.language.SolverLanguage.Symbol"); | ||
1956 | afterParserOrEnumRuleCall(); | ||
1957 | } | ||
1958 | ) | ||
1959 | ) | ||
1960 | ) | ||
1961 | ; | ||
1962 | |||
1963 | // Entry rule entryRuleAllObjects | ||
1964 | entryRuleAllObjects returns [EObject current=null]: | ||
1965 | { newCompositeNode(grammarAccess.getAllObjectsRule()); } | ||
1966 | iv_ruleAllObjects=ruleAllObjects | ||
1967 | { $current=$iv_ruleAllObjects.current; } | ||
1968 | EOF; | ||
1969 | |||
1970 | // Rule AllObjects | ||
1971 | ruleAllObjects returns [EObject current=null] | ||
1972 | @init { | ||
1973 | enterRule(); | ||
1974 | } | ||
1975 | @after { | ||
1976 | leaveRule(); | ||
1977 | }: | ||
1978 | ( | ||
1979 | ( | ||
1980 | { | ||
1981 | $current = forceCreateModelElement( | ||
1982 | grammarAccess.getAllObjectsAccess().getAllObjectsAction_0(), | ||
1983 | $current); | ||
1984 | } | ||
1985 | ) | ||
1986 | otherlv_1='*' | ||
1987 | { | ||
1988 | newLeafNode(otherlv_1, grammarAccess.getAllObjectsAccess().getAsteriskKeyword_1()); | ||
1989 | } | ||
1990 | ) | ||
1991 | ; | ||
1992 | |||
1993 | // Entry rule entryRuleDefaultInterpretation | ||
1994 | entryRuleDefaultInterpretation returns [EObject current=null]: | ||
1995 | { newCompositeNode(grammarAccess.getDefaultInterpretationRule()); } | ||
1996 | iv_ruleDefaultInterpretation=ruleDefaultInterpretation | ||
1997 | { $current=$iv_ruleDefaultInterpretation.current; } | ||
1998 | EOF; | ||
1999 | |||
2000 | // Rule DefaultInterpretation | ||
2001 | ruleDefaultInterpretation returns [EObject current=null] | ||
2002 | @init { | ||
2003 | enterRule(); | ||
2004 | } | ||
2005 | @after { | ||
2006 | leaveRule(); | ||
2007 | }: | ||
2008 | ( | ||
2009 | otherlv_0='default' | ||
2010 | { | ||
2011 | newLeafNode(otherlv_0, grammarAccess.getDefaultInterpretationAccess().getDefaultKeyword_0()); | ||
2012 | } | ||
2013 | ( | ||
2014 | ( | ||
2015 | { | ||
2016 | newCompositeNode(grammarAccess.getDefaultInterpretationAccess().getInterpretationBasicInterpretationParserRuleCall_1_0()); | ||
2017 | } | ||
2018 | lv_interpretation_1_0=ruleBasicInterpretation | ||
2019 | { | ||
2020 | if ($current==null) { | ||
2021 | $current = createModelElementForParent(grammarAccess.getDefaultInterpretationRule()); | ||
2022 | } | ||
2023 | set( | ||
2024 | $current, | ||
2025 | "interpretation", | ||
2026 | lv_interpretation_1_0, | ||
2027 | "org.eclipse.viatra.solver.language.SolverLanguage.BasicInterpretation"); | ||
2028 | afterParserOrEnumRuleCall(); | ||
2029 | } | ||
2030 | ) | ||
2031 | ) | ||
2032 | ) | ||
2033 | ; | ||
2034 | |||
2035 | // Entry rule entryRuleCDInterpretation | ||
2036 | entryRuleCDInterpretation returns [EObject current=null]: | ||
2037 | { newCompositeNode(grammarAccess.getCDInterpretationRule()); } | ||
2038 | iv_ruleCDInterpretation=ruleCDInterpretation | ||
2039 | { $current=$iv_ruleCDInterpretation.current; } | ||
2040 | EOF; | ||
2041 | |||
2042 | // Rule CDInterpretation | ||
2043 | ruleCDInterpretation returns [EObject current=null] | ||
2044 | @init { | ||
2045 | enterRule(); | ||
2046 | } | ||
2047 | @after { | ||
2048 | leaveRule(); | ||
2049 | }: | ||
2050 | ( | ||
2051 | { | ||
2052 | newCompositeNode(grammarAccess.getCDInterpretationAccess().getClassInterpretationParserRuleCall_0()); | ||
2053 | } | ||
2054 | this_ClassInterpretation_0=ruleClassInterpretation | ||
2055 | { | ||
2056 | $current = $this_ClassInterpretation_0.current; | ||
2057 | afterParserOrEnumRuleCall(); | ||
2058 | } | ||
2059 | | | ||
2060 | { | ||
2061 | newCompositeNode(grammarAccess.getCDInterpretationAccess().getEnumInterpretationParserRuleCall_1()); | ||
2062 | } | ||
2063 | this_EnumInterpretation_1=ruleEnumInterpretation | ||
2064 | { | ||
2065 | $current = $this_EnumInterpretation_1.current; | ||
2066 | afterParserOrEnumRuleCall(); | ||
2067 | } | ||
2068 | | | ||
2069 | { | ||
2070 | newCompositeNode(grammarAccess.getCDInterpretationAccess().getGlobalRelationInterpretationParserRuleCall_2()); | ||
2071 | } | ||
2072 | this_GlobalRelationInterpretation_2=ruleGlobalRelationInterpretation | ||
2073 | { | ||
2074 | $current = $this_GlobalRelationInterpretation_2.current; | ||
2075 | afterParserOrEnumRuleCall(); | ||
2076 | } | ||
2077 | ) | ||
2078 | ; | ||
2079 | |||
2080 | // Entry rule entryRuleClassInterpretation | ||
2081 | entryRuleClassInterpretation returns [EObject current=null]: | ||
2082 | { newCompositeNode(grammarAccess.getClassInterpretationRule()); } | ||
2083 | iv_ruleClassInterpretation=ruleClassInterpretation | ||
2084 | { $current=$iv_ruleClassInterpretation.current; } | ||
2085 | EOF; | ||
2086 | |||
2087 | // Rule ClassInterpretation | ||
2088 | ruleClassInterpretation returns [EObject current=null] | ||
2089 | @init { | ||
2090 | enterRule(); | ||
2091 | } | ||
2092 | @after { | ||
2093 | leaveRule(); | ||
2094 | }: | ||
2095 | ( | ||
2096 | ( | ||
2097 | ( | ||
2098 | lv_abstract_0_0='abstract' | ||
2099 | { | ||
2100 | newLeafNode(lv_abstract_0_0, grammarAccess.getClassInterpretationAccess().getAbstractAbstractKeyword_0_0()); | ||
2101 | } | ||
2102 | { | ||
2103 | if ($current==null) { | ||
2104 | $current = createModelElement(grammarAccess.getClassInterpretationRule()); | ||
2105 | } | ||
2106 | setWithLastConsumed($current, "abstract", true, "abstract"); | ||
2107 | } | ||
2108 | ) | ||
2109 | ) | ||
2110 | otherlv_1='class' | ||
2111 | { | ||
2112 | newLeafNode(otherlv_1, grammarAccess.getClassInterpretationAccess().getClassKeyword_1()); | ||
2113 | } | ||
2114 | ( | ||
2115 | ( | ||
2116 | { | ||
2117 | newCompositeNode(grammarAccess.getClassInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0()); | ||
2118 | } | ||
2119 | lv_symbol_2_0=ruleModelSymbol | ||
2120 | { | ||
2121 | if ($current==null) { | ||
2122 | $current = createModelElementForParent(grammarAccess.getClassInterpretationRule()); | ||
2123 | } | ||
2124 | set( | ||
2125 | $current, | ||
2126 | "symbol", | ||
2127 | lv_symbol_2_0, | ||
2128 | "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); | ||
2129 | afterParserOrEnumRuleCall(); | ||
2130 | } | ||
2131 | ) | ||
2132 | ) | ||
2133 | ( | ||
2134 | otherlv_3='extends' | ||
2135 | { | ||
2136 | newLeafNode(otherlv_3, grammarAccess.getClassInterpretationAccess().getExtendsKeyword_3_0()); | ||
2137 | } | ||
2138 | ( | ||
2139 | ( | ||
2140 | { | ||
2141 | newCompositeNode(grammarAccess.getClassInterpretationAccess().getSupertypesModelSymbolParserRuleCall_3_1_0()); | ||
2142 | } | ||
2143 | lv_supertypes_4_0=ruleModelSymbol | ||
2144 | { | ||
2145 | if ($current==null) { | ||
2146 | $current = createModelElementForParent(grammarAccess.getClassInterpretationRule()); | ||
2147 | } | ||
2148 | add( | ||
2149 | $current, | ||
2150 | "supertypes", | ||
2151 | lv_supertypes_4_0, | ||
2152 | "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); | ||
2153 | afterParserOrEnumRuleCall(); | ||
2154 | } | ||
2155 | ) | ||
2156 | )+ | ||
2157 | )? | ||
2158 | otherlv_5='{' | ||
2159 | { | ||
2160 | newLeafNode(otherlv_5, grammarAccess.getClassInterpretationAccess().getLeftCurlyBracketKeyword_4()); | ||
2161 | } | ||
2162 | ( | ||
2163 | ( | ||
2164 | { | ||
2165 | newCompositeNode(grammarAccess.getClassInterpretationAccess().getFieltFieldRelationInterpretationParserRuleCall_5_0()); | ||
2166 | } | ||
2167 | lv_fielt_6_0=ruleFieldRelationInterpretation | ||
2168 | { | ||
2169 | if ($current==null) { | ||
2170 | $current = createModelElementForParent(grammarAccess.getClassInterpretationRule()); | ||
2171 | } | ||
2172 | add( | ||
2173 | $current, | ||
2174 | "fielt", | ||
2175 | lv_fielt_6_0, | ||
2176 | "org.eclipse.viatra.solver.language.SolverLanguage.FieldRelationInterpretation"); | ||
2177 | afterParserOrEnumRuleCall(); | ||
2178 | } | ||
2179 | ) | ||
2180 | )* | ||
2181 | otherlv_7='}' | ||
2182 | { | ||
2183 | newLeafNode(otherlv_7, grammarAccess.getClassInterpretationAccess().getRightCurlyBracketKeyword_6()); | ||
2184 | } | ||
2185 | ) | ||
2186 | ; | ||
2187 | |||
2188 | // Entry rule entryRuleEnumInterpretation | ||
2189 | entryRuleEnumInterpretation returns [EObject current=null]: | ||
2190 | { newCompositeNode(grammarAccess.getEnumInterpretationRule()); } | ||
2191 | iv_ruleEnumInterpretation=ruleEnumInterpretation | ||
2192 | { $current=$iv_ruleEnumInterpretation.current; } | ||
2193 | EOF; | ||
2194 | |||
2195 | // Rule EnumInterpretation | ||
2196 | ruleEnumInterpretation returns [EObject current=null] | ||
2197 | @init { | ||
2198 | enterRule(); | ||
2199 | } | ||
2200 | @after { | ||
2201 | leaveRule(); | ||
2202 | }: | ||
2203 | ( | ||
2204 | otherlv_0='enum' | ||
2205 | { | ||
2206 | newLeafNode(otherlv_0, grammarAccess.getEnumInterpretationAccess().getEnumKeyword_0()); | ||
2207 | } | ||
2208 | ( | ||
2209 | ( | ||
2210 | { | ||
2211 | newCompositeNode(grammarAccess.getEnumInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0()); | ||
2212 | } | ||
2213 | lv_Symbol_1_0=ruleModelSymbol | ||
2214 | { | ||
2215 | if ($current==null) { | ||
2216 | $current = createModelElementForParent(grammarAccess.getEnumInterpretationRule()); | ||
2217 | } | ||
2218 | set( | ||
2219 | $current, | ||
2220 | "Symbol", | ||
2221 | lv_Symbol_1_0, | ||
2222 | "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); | ||
2223 | afterParserOrEnumRuleCall(); | ||
2224 | } | ||
2225 | ) | ||
2226 | ) | ||
2227 | otherlv_2='{' | ||
2228 | { | ||
2229 | newLeafNode(otherlv_2, grammarAccess.getEnumInterpretationAccess().getLeftCurlyBracketKeyword_2()); | ||
2230 | } | ||
2231 | ( | ||
2232 | ( | ||
2233 | { | ||
2234 | newCompositeNode(grammarAccess.getEnumInterpretationAccess().getObjectsNamedObjectParserRuleCall_3_0()); | ||
2235 | } | ||
2236 | lv_objects_3_0=ruleNamedObject | ||
2237 | { | ||
2238 | if ($current==null) { | ||
2239 | $current = createModelElementForParent(grammarAccess.getEnumInterpretationRule()); | ||
2240 | } | ||
2241 | add( | ||
2242 | $current, | ||
2243 | "objects", | ||
2244 | lv_objects_3_0, | ||
2245 | "org.eclipse.viatra.solver.language.SolverLanguage.NamedObject"); | ||
2246 | afterParserOrEnumRuleCall(); | ||
2247 | } | ||
2248 | ) | ||
2249 | )+ | ||
2250 | otherlv_4='}' | ||
2251 | { | ||
2252 | newLeafNode(otherlv_4, grammarAccess.getEnumInterpretationAccess().getRightCurlyBracketKeyword_4()); | ||
2253 | } | ||
2254 | ) | ||
2255 | ; | ||
2256 | |||
2257 | // Entry rule entryRuleFieldRelationInterpretation | ||
2258 | entryRuleFieldRelationInterpretation returns [EObject current=null]: | ||
2259 | { newCompositeNode(grammarAccess.getFieldRelationInterpretationRule()); } | ||
2260 | iv_ruleFieldRelationInterpretation=ruleFieldRelationInterpretation | ||
2261 | { $current=$iv_ruleFieldRelationInterpretation.current; } | ||
2262 | EOF; | ||
2263 | |||
2264 | // Rule FieldRelationInterpretation | ||
2265 | ruleFieldRelationInterpretation returns [EObject current=null] | ||
2266 | @init { | ||
2267 | enterRule(); | ||
2268 | } | ||
2269 | @after { | ||
2270 | leaveRule(); | ||
2271 | }: | ||
2272 | ( | ||
2273 | ( | ||
2274 | ( | ||
2275 | lv_containment_0_0='containment' | ||
2276 | { | ||
2277 | newLeafNode(lv_containment_0_0, grammarAccess.getFieldRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); | ||
2278 | } | ||
2279 | { | ||
2280 | if ($current==null) { | ||
2281 | $current = createModelElement(grammarAccess.getFieldRelationInterpretationRule()); | ||
2282 | } | ||
2283 | setWithLastConsumed($current, "containment", true, "containment"); | ||
2284 | } | ||
2285 | ) | ||
2286 | ) | ||
2287 | ( | ||
2288 | ( | ||
2289 | { | ||
2290 | newCompositeNode(grammarAccess.getFieldRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0()); | ||
2291 | } | ||
2292 | lv_symbol_1_0=ruleModelSymbol | ||
2293 | { | ||
2294 | if ($current==null) { | ||
2295 | $current = createModelElementForParent(grammarAccess.getFieldRelationInterpretationRule()); | ||
2296 | } | ||
2297 | set( | ||
2298 | $current, | ||
2299 | "symbol", | ||
2300 | lv_symbol_1_0, | ||
2301 | "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); | ||
2302 | afterParserOrEnumRuleCall(); | ||
2303 | } | ||
2304 | ) | ||
2305 | ) | ||
2306 | otherlv_2=':' | ||
2307 | { | ||
2308 | newLeafNode(otherlv_2, grammarAccess.getFieldRelationInterpretationAccess().getColonKeyword_2()); | ||
2309 | } | ||
2310 | ( | ||
2311 | ( | ||
2312 | { | ||
2313 | newCompositeNode(grammarAccess.getFieldRelationInterpretationAccess().getMultiplicityMultiplicityDefinitionParserRuleCall_3_0()); | ||
2314 | } | ||
2315 | lv_multiplicity_3_0=ruleMultiplicityDefinition | ||
2316 | { | ||
2317 | if ($current==null) { | ||
2318 | $current = createModelElementForParent(grammarAccess.getFieldRelationInterpretationRule()); | ||
2319 | } | ||
2320 | set( | ||
2321 | $current, | ||
2322 | "multiplicity", | ||
2323 | lv_multiplicity_3_0, | ||
2324 | "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicityDefinition"); | ||
2325 | afterParserOrEnumRuleCall(); | ||
2326 | } | ||
2327 | ) | ||
2328 | )? | ||
2329 | ( | ||
2330 | ( | ||
2331 | { | ||
2332 | newCompositeNode(grammarAccess.getFieldRelationInterpretationAccess().getTargetSymbolParserRuleCall_4_0()); | ||
2333 | } | ||
2334 | lv_target_4_0=ruleSymbol | ||
2335 | { | ||
2336 | if ($current==null) { | ||
2337 | $current = createModelElementForParent(grammarAccess.getFieldRelationInterpretationRule()); | ||
2338 | } | ||
2339 | set( | ||
2340 | $current, | ||
2341 | "target", | ||
2342 | lv_target_4_0, | ||
2343 | "org.eclipse.viatra.solver.language.SolverLanguage.Symbol"); | ||
2344 | afterParserOrEnumRuleCall(); | ||
2345 | } | ||
2346 | ) | ||
2347 | ) | ||
2348 | ) | ||
2349 | ; | ||
2350 | |||
2351 | // Entry rule entryRuleGlobalRelationInterpretation | ||
2352 | entryRuleGlobalRelationInterpretation returns [EObject current=null]: | ||
2353 | { newCompositeNode(grammarAccess.getGlobalRelationInterpretationRule()); } | ||
2354 | iv_ruleGlobalRelationInterpretation=ruleGlobalRelationInterpretation | ||
2355 | { $current=$iv_ruleGlobalRelationInterpretation.current; } | ||
2356 | EOF; | ||
2357 | |||
2358 | // Rule GlobalRelationInterpretation | ||
2359 | ruleGlobalRelationInterpretation returns [EObject current=null] | ||
2360 | @init { | ||
2361 | enterRule(); | ||
2362 | } | ||
2363 | @after { | ||
2364 | leaveRule(); | ||
2365 | }: | ||
2366 | ( | ||
2367 | ( | ||
2368 | ( | ||
2369 | lv_containment_0_0='containment' | ||
2370 | { | ||
2371 | newLeafNode(lv_containment_0_0, grammarAccess.getGlobalRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); | ||
2372 | } | ||
2373 | { | ||
2374 | if ($current==null) { | ||
2375 | $current = createModelElement(grammarAccess.getGlobalRelationInterpretationRule()); | ||
2376 | } | ||
2377 | setWithLastConsumed($current, "containment", true, "containment"); | ||
2378 | } | ||
2379 | ) | ||
2380 | ) | ||
2381 | otherlv_1='relation' | ||
2382 | { | ||
2383 | newLeafNode(otherlv_1, grammarAccess.getGlobalRelationInterpretationAccess().getRelationKeyword_1()); | ||
2384 | } | ||
2385 | ( | ||
2386 | ( | ||
2387 | { | ||
2388 | newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0()); | ||
2389 | } | ||
2390 | lv_symbol_2_0=ruleModelSymbol | ||
2391 | { | ||
2392 | if ($current==null) { | ||
2393 | $current = createModelElementForParent(grammarAccess.getGlobalRelationInterpretationRule()); | ||
2394 | } | ||
2395 | set( | ||
2396 | $current, | ||
2397 | "symbol", | ||
2398 | lv_symbol_2_0, | ||
2399 | "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); | ||
2400 | afterParserOrEnumRuleCall(); | ||
2401 | } | ||
2402 | ) | ||
2403 | ) | ||
2404 | otherlv_3=':' | ||
2405 | { | ||
2406 | newLeafNode(otherlv_3, grammarAccess.getGlobalRelationInterpretationAccess().getColonKeyword_3()); | ||
2407 | } | ||
2408 | ( | ||
2409 | ( | ||
2410 | { | ||
2411 | newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getSourceMultiplicityMultiplicityDefinitionParserRuleCall_4_0()); | ||
2412 | } | ||
2413 | lv_sourceMultiplicity_4_0=ruleMultiplicityDefinition | ||
2414 | { | ||
2415 | if ($current==null) { | ||
2416 | $current = createModelElementForParent(grammarAccess.getGlobalRelationInterpretationRule()); | ||
2417 | } | ||
2418 | set( | ||
2419 | $current, | ||
2420 | "sourceMultiplicity", | ||
2421 | lv_sourceMultiplicity_4_0, | ||
2422 | "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicityDefinition"); | ||
2423 | afterParserOrEnumRuleCall(); | ||
2424 | } | ||
2425 | ) | ||
2426 | )? | ||
2427 | ( | ||
2428 | ( | ||
2429 | { | ||
2430 | newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getSourceSymbolParserRuleCall_5_0()); | ||
2431 | } | ||
2432 | lv_source_5_0=ruleSymbol | ||
2433 | { | ||
2434 | if ($current==null) { | ||
2435 | $current = createModelElementForParent(grammarAccess.getGlobalRelationInterpretationRule()); | ||
2436 | } | ||
2437 | set( | ||
2438 | $current, | ||
2439 | "source", | ||
2440 | lv_source_5_0, | ||
2441 | "org.eclipse.viatra.solver.language.SolverLanguage.Symbol"); | ||
2442 | afterParserOrEnumRuleCall(); | ||
2443 | } | ||
2444 | ) | ||
2445 | ) | ||
2446 | ( | ||
2447 | ( | ||
2448 | { | ||
2449 | newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getTargetMultiplicityMultiplicityDefinitionParserRuleCall_6_0()); | ||
2450 | } | ||
2451 | lv_targetMultiplicity_6_0=ruleMultiplicityDefinition | ||
2452 | { | ||
2453 | if ($current==null) { | ||
2454 | $current = createModelElementForParent(grammarAccess.getGlobalRelationInterpretationRule()); | ||
2455 | } | ||
2456 | set( | ||
2457 | $current, | ||
2458 | "targetMultiplicity", | ||
2459 | lv_targetMultiplicity_6_0, | ||
2460 | "org.eclipse.viatra.solver.language.SolverLanguage.MultiplicityDefinition"); | ||
2461 | afterParserOrEnumRuleCall(); | ||
2462 | } | ||
2463 | ) | ||
2464 | )? | ||
2465 | ( | ||
2466 | ( | ||
2467 | { | ||
2468 | newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getTargetSymbolParserRuleCall_7_0()); | ||
2469 | } | ||
2470 | lv_target_7_0=ruleSymbol | ||
2471 | { | ||
2472 | if ($current==null) { | ||
2473 | $current = createModelElementForParent(grammarAccess.getGlobalRelationInterpretationRule()); | ||
2474 | } | ||
2475 | set( | ||
2476 | $current, | ||
2477 | "target", | ||
2478 | lv_target_7_0, | ||
2479 | "org.eclipse.viatra.solver.language.SolverLanguage.Symbol"); | ||
2480 | afterParserOrEnumRuleCall(); | ||
2481 | } | ||
2482 | ) | ||
2483 | ) | ||
2484 | ) | ||
2485 | ; | ||
2486 | |||
2487 | // Entry rule entryRuleMultiplicityDefinition | ||
2488 | entryRuleMultiplicityDefinition returns [EObject current=null]: | ||
2489 | { newCompositeNode(grammarAccess.getMultiplicityDefinitionRule()); } | ||
2490 | iv_ruleMultiplicityDefinition=ruleMultiplicityDefinition | ||
2491 | { $current=$iv_ruleMultiplicityDefinition.current; } | ||
2492 | EOF; | ||
2493 | |||
2494 | // Rule MultiplicityDefinition | ||
2495 | ruleMultiplicityDefinition returns [EObject current=null] | ||
2496 | @init { | ||
2497 | enterRule(); | ||
2498 | } | ||
2499 | @after { | ||
2500 | leaveRule(); | ||
2501 | }: | ||
2502 | ( | ||
2503 | ( | ||
2504 | ( | ||
2505 | lv_lower_0_0=RULE_INT | ||
2506 | { | ||
2507 | newLeafNode(lv_lower_0_0, grammarAccess.getMultiplicityDefinitionAccess().getLowerINTTerminalRuleCall_0_0()); | ||
2508 | } | ||
2509 | { | ||
2510 | if ($current==null) { | ||
2511 | $current = createModelElement(grammarAccess.getMultiplicityDefinitionRule()); | ||
2512 | } | ||
2513 | setWithLastConsumed( | ||
2514 | $current, | ||
2515 | "lower", | ||
2516 | lv_lower_0_0, | ||
2517 | "org.eclipse.xtext.common.Terminals.INT"); | ||
2518 | } | ||
2519 | ) | ||
2520 | ) | ||
2521 | otherlv_1='..' | ||
2522 | { | ||
2523 | newLeafNode(otherlv_1, grammarAccess.getMultiplicityDefinitionAccess().getFullStopFullStopKeyword_1()); | ||
2524 | } | ||
2525 | ( | ||
2526 | ( | ||
2527 | ( | ||
2528 | lv_upper_2_0=RULE_INT | ||
2529 | { | ||
2530 | newLeafNode(lv_upper_2_0, grammarAccess.getMultiplicityDefinitionAccess().getUpperINTTerminalRuleCall_2_0_0()); | ||
2531 | } | ||
2532 | { | ||
2533 | if ($current==null) { | ||
2534 | $current = createModelElement(grammarAccess.getMultiplicityDefinitionRule()); | ||
2535 | } | ||
2536 | setWithLastConsumed( | ||
2537 | $current, | ||
2538 | "upper", | ||
2539 | lv_upper_2_0, | ||
2540 | "org.eclipse.xtext.common.Terminals.INT"); | ||
2541 | } | ||
2542 | ) | ||
2543 | ) | ||
2544 | | | ||
2545 | ( | ||
2546 | ( | ||
2547 | lv_unlimitedUpper_3_0='*' | ||
2548 | { | ||
2549 | newLeafNode(lv_unlimitedUpper_3_0, grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAsteriskKeyword_2_1_0()); | ||
2550 | } | ||
2551 | { | ||
2552 | if ($current==null) { | ||
2553 | $current = createModelElement(grammarAccess.getMultiplicityDefinitionRule()); | ||
2554 | } | ||
2555 | setWithLastConsumed($current, "unlimitedUpper", true, "*"); | ||
2556 | } | ||
2557 | ) | ||
2558 | ) | ||
2559 | ) | ||
2560 | ) | ||
2561 | ; | ||
2562 | |||
2563 | RULE_STRING : '"' ('\\' .|~(('\\'|'"')))* '"'; | ||
2564 | |||
2565 | RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; | ||
2566 | |||
2567 | RULE_INT : ('0'..'9')+; | ||
2568 | |||
2569 | RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/'; | ||
2570 | |||
2571 | RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?; | ||
2572 | |||
2573 | RULE_WS : (' '|'\t'|'\r'|'\n')+; | ||
2574 | |||
2575 | RULE_ANY_OTHER : .; | ||