aboutsummaryrefslogtreecommitdiffstats
path: root/language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemParser.java
diff options
context:
space:
mode:
Diffstat (limited to 'language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemParser.java')
-rw-r--r--language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemParser.java5296
1 files changed, 5296 insertions, 0 deletions
diff --git a/language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemParser.java b/language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemParser.java
new file mode 100644
index 00000000..28b54551
--- /dev/null
+++ b/language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemParser.java
@@ -0,0 +1,5296 @@
1package org.eclipse.viatra.solver.language.parser.antlr.internal;
2
3import org.eclipse.xtext.*;
4import org.eclipse.xtext.parser.*;
5import org.eclipse.xtext.parser.impl.*;
6import org.eclipse.emf.ecore.util.EcoreUtil;
7import org.eclipse.emf.ecore.EObject;
8import org.eclipse.emf.common.util.Enumerator;
9import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
10import org.eclipse.xtext.parser.antlr.XtextTokenStream;
11import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
12import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
13import org.eclipse.viatra.solver.language.services.ProblemGrammarAccess;
14
15
16
17import org.antlr.runtime.*;
18import java.util.Stack;
19import java.util.List;
20import java.util.ArrayList;
21
22@SuppressWarnings("all")
23public class InternalProblemParser extends AbstractInternalAntlrParser {
24 public static final String[] tokenNames = new String[] {
25 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_INT", "RULE_QUOTED_ID", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'problem'", "'.'", "'abstract'", "'class'", "'extends'", "','", "'{'", "';'", "'}'", "'enum'", "'contains'", "'refers'", "'['", "']'", "'opposite'", "'error'", "'pred'", "'('", "')'", "':-'", "'!'", "'+'", "':'", "'scope'", "'+='", "'='", "'..'", "'*'", "'true'", "'false'", "'unknown'", "'?'"
26 };
27 public static final int T__19=19;
28 public static final int T__15=15;
29 public static final int T__16=16;
30 public static final int T__17=17;
31 public static final int T__18=18;
32 public static final int T__12=12;
33 public static final int T__13=13;
34 public static final int T__14=14;
35 public static final int RULE_ID=4;
36 public static final int RULE_QUOTED_ID=6;
37 public static final int T__26=26;
38 public static final int T__27=27;
39 public static final int T__28=28;
40 public static final int RULE_INT=5;
41 public static final int T__29=29;
42 public static final int T__22=22;
43 public static final int RULE_ML_COMMENT=8;
44 public static final int T__23=23;
45 public static final int T__24=24;
46 public static final int T__25=25;
47 public static final int T__20=20;
48 public static final int T__21=21;
49 public static final int RULE_STRING=7;
50 public static final int RULE_SL_COMMENT=9;
51 public static final int T__37=37;
52 public static final int T__38=38;
53 public static final int T__39=39;
54 public static final int T__33=33;
55 public static final int T__34=34;
56 public static final int T__35=35;
57 public static final int T__36=36;
58 public static final int EOF=-1;
59 public static final int T__30=30;
60 public static final int T__31=31;
61 public static final int T__32=32;
62 public static final int RULE_WS=10;
63 public static final int RULE_ANY_OTHER=11;
64 public static final int T__40=40;
65 public static final int T__41=41;
66 public static final int T__42=42;
67 public static final int T__43=43;
68
69 // delegates
70 // delegators
71
72
73 public InternalProblemParser(TokenStream input) {
74 this(input, new RecognizerSharedState());
75 }
76 public InternalProblemParser(TokenStream input, RecognizerSharedState state) {
77 super(input, state);
78
79 }
80
81
82 public String[] getTokenNames() { return InternalProblemParser.tokenNames; }
83 public String getGrammarFileName() { return "InternalProblem.g"; }
84
85
86
87 private ProblemGrammarAccess grammarAccess;
88
89 public InternalProblemParser(TokenStream input, ProblemGrammarAccess grammarAccess) {
90 this(input);
91 this.grammarAccess = grammarAccess;
92 registerRules(grammarAccess.getGrammar());
93 }
94
95 @Override
96 protected String getFirstRuleName() {
97 return "Problem";
98 }
99
100 @Override
101 protected ProblemGrammarAccess getGrammarAccess() {
102 return grammarAccess;
103 }
104
105
106
107
108 // $ANTLR start "entryRuleProblem"
109 // InternalProblem.g:65:1: entryRuleProblem returns [EObject current=null] : iv_ruleProblem= ruleProblem EOF ;
110 public final EObject entryRuleProblem() throws RecognitionException {
111 EObject current = null;
112
113 EObject iv_ruleProblem = null;
114
115
116 try {
117 // InternalProblem.g:65:48: (iv_ruleProblem= ruleProblem EOF )
118 // InternalProblem.g:66:2: iv_ruleProblem= ruleProblem EOF
119 {
120 newCompositeNode(grammarAccess.getProblemRule());
121 pushFollow(FOLLOW_1);
122 iv_ruleProblem=ruleProblem();
123
124 state._fsp--;
125
126 current =iv_ruleProblem;
127 match(input,EOF,FOLLOW_2);
128
129 }
130
131 }
132
133 catch (RecognitionException re) {
134 recover(input,re);
135 appendSkippedTokens();
136 }
137 finally {
138 }
139 return current;
140 }
141 // $ANTLR end "entryRuleProblem"
142
143
144 // $ANTLR start "ruleProblem"
145 // InternalProblem.g:72:1: ruleProblem returns [EObject current=null] : ( (otherlv_0= 'problem' ( (lv_name_1_0= ruleIdentifier ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )* ) ;
146 public final EObject ruleProblem() throws RecognitionException {
147 EObject current = null;
148
149 Token otherlv_0=null;
150 Token otherlv_2=null;
151 AntlrDatatypeRuleToken lv_name_1_0 = null;
152
153 EObject lv_statements_3_0 = null;
154
155
156
157 enterRule();
158
159 try {
160 // InternalProblem.g:78:2: ( ( (otherlv_0= 'problem' ( (lv_name_1_0= ruleIdentifier ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )* ) )
161 // InternalProblem.g:79:2: ( (otherlv_0= 'problem' ( (lv_name_1_0= ruleIdentifier ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )* )
162 {
163 // InternalProblem.g:79:2: ( (otherlv_0= 'problem' ( (lv_name_1_0= ruleIdentifier ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )* )
164 // InternalProblem.g:80:3: (otherlv_0= 'problem' ( (lv_name_1_0= ruleIdentifier ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )*
165 {
166 // InternalProblem.g:80:3: (otherlv_0= 'problem' ( (lv_name_1_0= ruleIdentifier ) ) otherlv_2= '.' )?
167 int alt1=2;
168 int LA1_0 = input.LA(1);
169
170 if ( (LA1_0==12) ) {
171 alt1=1;
172 }
173 switch (alt1) {
174 case 1 :
175 // InternalProblem.g:81:4: otherlv_0= 'problem' ( (lv_name_1_0= ruleIdentifier ) ) otherlv_2= '.'
176 {
177 otherlv_0=(Token)match(input,12,FOLLOW_3);
178
179 newLeafNode(otherlv_0, grammarAccess.getProblemAccess().getProblemKeyword_0_0());
180
181 // InternalProblem.g:85:4: ( (lv_name_1_0= ruleIdentifier ) )
182 // InternalProblem.g:86:5: (lv_name_1_0= ruleIdentifier )
183 {
184 // InternalProblem.g:86:5: (lv_name_1_0= ruleIdentifier )
185 // InternalProblem.g:87:6: lv_name_1_0= ruleIdentifier
186 {
187
188 newCompositeNode(grammarAccess.getProblemAccess().getNameIdentifierParserRuleCall_0_1_0());
189
190 pushFollow(FOLLOW_4);
191 lv_name_1_0=ruleIdentifier();
192
193 state._fsp--;
194
195
196 if (current==null) {
197 current = createModelElementForParent(grammarAccess.getProblemRule());
198 }
199 set(
200 current,
201 "name",
202 lv_name_1_0,
203 "org.eclipse.viatra.solver.language.Problem.Identifier");
204 afterParserOrEnumRuleCall();
205
206
207 }
208
209
210 }
211
212 otherlv_2=(Token)match(input,13,FOLLOW_5);
213
214 newLeafNode(otherlv_2, grammarAccess.getProblemAccess().getFullStopKeyword_0_2());
215
216
217 }
218 break;
219
220 }
221
222 // InternalProblem.g:109:3: ( (lv_statements_3_0= ruleStatement ) )*
223 loop2:
224 do {
225 int alt2=2;
226 int LA2_0 = input.LA(1);
227
228 if ( (LA2_0==RULE_ID||LA2_0==RULE_QUOTED_ID||(LA2_0>=14 && LA2_0<=15)||LA2_0==21||(LA2_0>=27 && LA2_0<=28)||LA2_0==32||LA2_0==35||(LA2_0>=40 && LA2_0<=41)||LA2_0==43) ) {
229 alt2=1;
230 }
231
232
233 switch (alt2) {
234 case 1 :
235 // InternalProblem.g:110:4: (lv_statements_3_0= ruleStatement )
236 {
237 // InternalProblem.g:110:4: (lv_statements_3_0= ruleStatement )
238 // InternalProblem.g:111:5: lv_statements_3_0= ruleStatement
239 {
240
241 newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_1_0());
242
243 pushFollow(FOLLOW_5);
244 lv_statements_3_0=ruleStatement();
245
246 state._fsp--;
247
248
249 if (current==null) {
250 current = createModelElementForParent(grammarAccess.getProblemRule());
251 }
252 add(
253 current,
254 "statements",
255 lv_statements_3_0,
256 "org.eclipse.viatra.solver.language.Problem.Statement");
257 afterParserOrEnumRuleCall();
258
259
260 }
261
262
263 }
264 break;
265
266 default :
267 break loop2;
268 }
269 } while (true);
270
271
272 }
273
274
275 }
276
277
278 leaveRule();
279
280 }
281
282 catch (RecognitionException re) {
283 recover(input,re);
284 appendSkippedTokens();
285 }
286 finally {
287 }
288 return current;
289 }
290 // $ANTLR end "ruleProblem"
291
292
293 // $ANTLR start "entryRuleStatement"
294 // InternalProblem.g:132:1: entryRuleStatement returns [EObject current=null] : iv_ruleStatement= ruleStatement EOF ;
295 public final EObject entryRuleStatement() throws RecognitionException {
296 EObject current = null;
297
298 EObject iv_ruleStatement = null;
299
300
301 try {
302 // InternalProblem.g:132:50: (iv_ruleStatement= ruleStatement EOF )
303 // InternalProblem.g:133:2: iv_ruleStatement= ruleStatement EOF
304 {
305 newCompositeNode(grammarAccess.getStatementRule());
306 pushFollow(FOLLOW_1);
307 iv_ruleStatement=ruleStatement();
308
309 state._fsp--;
310
311 current =iv_ruleStatement;
312 match(input,EOF,FOLLOW_2);
313
314 }
315
316 }
317
318 catch (RecognitionException re) {
319 recover(input,re);
320 appendSkippedTokens();
321 }
322 finally {
323 }
324 return current;
325 }
326 // $ANTLR end "entryRuleStatement"
327
328
329 // $ANTLR start "ruleStatement"
330 // InternalProblem.g:139:1: ruleStatement returns [EObject current=null] : (this_ClassDeclaration_0= ruleClassDeclaration | this_EnumDeclaration_1= ruleEnumDeclaration | this_PredicateDefinition_2= rulePredicateDefinition | this_Assertion_3= ruleAssertion | this_ScopeDeclaration_4= ruleScopeDeclaration ) ;
331 public final EObject ruleStatement() throws RecognitionException {
332 EObject current = null;
333
334 EObject this_ClassDeclaration_0 = null;
335
336 EObject this_EnumDeclaration_1 = null;
337
338 EObject this_PredicateDefinition_2 = null;
339
340 EObject this_Assertion_3 = null;
341
342 EObject this_ScopeDeclaration_4 = null;
343
344
345
346 enterRule();
347
348 try {
349 // InternalProblem.g:145:2: ( (this_ClassDeclaration_0= ruleClassDeclaration | this_EnumDeclaration_1= ruleEnumDeclaration | this_PredicateDefinition_2= rulePredicateDefinition | this_Assertion_3= ruleAssertion | this_ScopeDeclaration_4= ruleScopeDeclaration ) )
350 // InternalProblem.g:146:2: (this_ClassDeclaration_0= ruleClassDeclaration | this_EnumDeclaration_1= ruleEnumDeclaration | this_PredicateDefinition_2= rulePredicateDefinition | this_Assertion_3= ruleAssertion | this_ScopeDeclaration_4= ruleScopeDeclaration )
351 {
352 // InternalProblem.g:146:2: (this_ClassDeclaration_0= ruleClassDeclaration | this_EnumDeclaration_1= ruleEnumDeclaration | this_PredicateDefinition_2= rulePredicateDefinition | this_Assertion_3= ruleAssertion | this_ScopeDeclaration_4= ruleScopeDeclaration )
353 int alt3=5;
354 switch ( input.LA(1) ) {
355 case 14:
356 case 15:
357 {
358 alt3=1;
359 }
360 break;
361 case 21:
362 {
363 alt3=2;
364 }
365 break;
366 case 27:
367 case 28:
368 {
369 alt3=3;
370 }
371 break;
372 case RULE_ID:
373 case RULE_QUOTED_ID:
374 case 32:
375 case 40:
376 case 41:
377 case 43:
378 {
379 alt3=4;
380 }
381 break;
382 case 35:
383 {
384 alt3=5;
385 }
386 break;
387 default:
388 NoViableAltException nvae =
389 new NoViableAltException("", 3, 0, input);
390
391 throw nvae;
392 }
393
394 switch (alt3) {
395 case 1 :
396 // InternalProblem.g:147:3: this_ClassDeclaration_0= ruleClassDeclaration
397 {
398
399 newCompositeNode(grammarAccess.getStatementAccess().getClassDeclarationParserRuleCall_0());
400
401 pushFollow(FOLLOW_2);
402 this_ClassDeclaration_0=ruleClassDeclaration();
403
404 state._fsp--;
405
406
407 current = this_ClassDeclaration_0;
408 afterParserOrEnumRuleCall();
409
410
411 }
412 break;
413 case 2 :
414 // InternalProblem.g:156:3: this_EnumDeclaration_1= ruleEnumDeclaration
415 {
416
417 newCompositeNode(grammarAccess.getStatementAccess().getEnumDeclarationParserRuleCall_1());
418
419 pushFollow(FOLLOW_2);
420 this_EnumDeclaration_1=ruleEnumDeclaration();
421
422 state._fsp--;
423
424
425 current = this_EnumDeclaration_1;
426 afterParserOrEnumRuleCall();
427
428
429 }
430 break;
431 case 3 :
432 // InternalProblem.g:165:3: this_PredicateDefinition_2= rulePredicateDefinition
433 {
434
435 newCompositeNode(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_2());
436
437 pushFollow(FOLLOW_2);
438 this_PredicateDefinition_2=rulePredicateDefinition();
439
440 state._fsp--;
441
442
443 current = this_PredicateDefinition_2;
444 afterParserOrEnumRuleCall();
445
446
447 }
448 break;
449 case 4 :
450 // InternalProblem.g:174:3: this_Assertion_3= ruleAssertion
451 {
452
453 newCompositeNode(grammarAccess.getStatementAccess().getAssertionParserRuleCall_3());
454
455 pushFollow(FOLLOW_2);
456 this_Assertion_3=ruleAssertion();
457
458 state._fsp--;
459
460
461 current = this_Assertion_3;
462 afterParserOrEnumRuleCall();
463
464
465 }
466 break;
467 case 5 :
468 // InternalProblem.g:183:3: this_ScopeDeclaration_4= ruleScopeDeclaration
469 {
470
471 newCompositeNode(grammarAccess.getStatementAccess().getScopeDeclarationParserRuleCall_4());
472
473 pushFollow(FOLLOW_2);
474 this_ScopeDeclaration_4=ruleScopeDeclaration();
475
476 state._fsp--;
477
478
479 current = this_ScopeDeclaration_4;
480 afterParserOrEnumRuleCall();
481
482
483 }
484 break;
485
486 }
487
488
489 }
490
491
492 leaveRule();
493
494 }
495
496 catch (RecognitionException re) {
497 recover(input,re);
498 appendSkippedTokens();
499 }
500 finally {
501 }
502 return current;
503 }
504 // $ANTLR end "ruleStatement"
505
506
507 // $ANTLR start "entryRuleClassDeclaration"
508 // InternalProblem.g:195:1: entryRuleClassDeclaration returns [EObject current=null] : iv_ruleClassDeclaration= ruleClassDeclaration EOF ;
509 public final EObject entryRuleClassDeclaration() throws RecognitionException {
510 EObject current = null;
511
512 EObject iv_ruleClassDeclaration = null;
513
514
515 try {
516 // InternalProblem.g:195:57: (iv_ruleClassDeclaration= ruleClassDeclaration EOF )
517 // InternalProblem.g:196:2: iv_ruleClassDeclaration= ruleClassDeclaration EOF
518 {
519 newCompositeNode(grammarAccess.getClassDeclarationRule());
520 pushFollow(FOLLOW_1);
521 iv_ruleClassDeclaration=ruleClassDeclaration();
522
523 state._fsp--;
524
525 current =iv_ruleClassDeclaration;
526 match(input,EOF,FOLLOW_2);
527
528 }
529
530 }
531
532 catch (RecognitionException re) {
533 recover(input,re);
534 appendSkippedTokens();
535 }
536 finally {
537 }
538 return current;
539 }
540 // $ANTLR end "entryRuleClassDeclaration"
541
542
543 // $ANTLR start "ruleClassDeclaration"
544 // InternalProblem.g:202:1: ruleClassDeclaration returns [EObject current=null] : ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleIdentifier ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' ) ) ;
545 public final EObject ruleClassDeclaration() throws RecognitionException {
546 EObject current = null;
547
548 Token lv_abstract_0_0=null;
549 Token otherlv_1=null;
550 Token otherlv_3=null;
551 Token otherlv_5=null;
552 Token otherlv_7=null;
553 Token otherlv_9=null;
554 Token otherlv_10=null;
555 Token otherlv_11=null;
556 AntlrDatatypeRuleToken lv_name_2_0 = null;
557
558 EObject lv_referenceDeclarations_8_0 = null;
559
560
561
562 enterRule();
563
564 try {
565 // InternalProblem.g:208:2: ( ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleIdentifier ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' ) ) )
566 // InternalProblem.g:209:2: ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleIdentifier ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' ) )
567 {
568 // InternalProblem.g:209:2: ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleIdentifier ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' ) )
569 // InternalProblem.g:210:3: ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleIdentifier ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' )
570 {
571 // InternalProblem.g:210:3: ( (lv_abstract_0_0= 'abstract' ) )?
572 int alt4=2;
573 int LA4_0 = input.LA(1);
574
575 if ( (LA4_0==14) ) {
576 alt4=1;
577 }
578 switch (alt4) {
579 case 1 :
580 // InternalProblem.g:211:4: (lv_abstract_0_0= 'abstract' )
581 {
582 // InternalProblem.g:211:4: (lv_abstract_0_0= 'abstract' )
583 // InternalProblem.g:212:5: lv_abstract_0_0= 'abstract'
584 {
585 lv_abstract_0_0=(Token)match(input,14,FOLLOW_6);
586
587 newLeafNode(lv_abstract_0_0, grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0());
588
589
590 if (current==null) {
591 current = createModelElement(grammarAccess.getClassDeclarationRule());
592 }
593 setWithLastConsumed(current, "abstract", lv_abstract_0_0 != null, "abstract");
594
595
596 }
597
598
599 }
600 break;
601
602 }
603
604 otherlv_1=(Token)match(input,15,FOLLOW_3);
605
606 newLeafNode(otherlv_1, grammarAccess.getClassDeclarationAccess().getClassKeyword_1());
607
608 // InternalProblem.g:228:3: ( (lv_name_2_0= ruleIdentifier ) )
609 // InternalProblem.g:229:4: (lv_name_2_0= ruleIdentifier )
610 {
611 // InternalProblem.g:229:4: (lv_name_2_0= ruleIdentifier )
612 // InternalProblem.g:230:5: lv_name_2_0= ruleIdentifier
613 {
614
615 newCompositeNode(grammarAccess.getClassDeclarationAccess().getNameIdentifierParserRuleCall_2_0());
616
617 pushFollow(FOLLOW_7);
618 lv_name_2_0=ruleIdentifier();
619
620 state._fsp--;
621
622
623 if (current==null) {
624 current = createModelElementForParent(grammarAccess.getClassDeclarationRule());
625 }
626 set(
627 current,
628 "name",
629 lv_name_2_0,
630 "org.eclipse.viatra.solver.language.Problem.Identifier");
631 afterParserOrEnumRuleCall();
632
633
634 }
635
636
637 }
638
639 // InternalProblem.g:247:3: (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )?
640 int alt6=2;
641 int LA6_0 = input.LA(1);
642
643 if ( (LA6_0==16) ) {
644 alt6=1;
645 }
646 switch (alt6) {
647 case 1 :
648 // InternalProblem.g:248:4: otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )*
649 {
650 otherlv_3=(Token)match(input,16,FOLLOW_8);
651
652 newLeafNode(otherlv_3, grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0());
653
654 // InternalProblem.g:252:4: ( ( ruleQualifiedName ) )
655 // InternalProblem.g:253:5: ( ruleQualifiedName )
656 {
657 // InternalProblem.g:253:5: ( ruleQualifiedName )
658 // InternalProblem.g:254:6: ruleQualifiedName
659 {
660
661 if (current==null) {
662 current = createModelElement(grammarAccess.getClassDeclarationRule());
663 }
664
665
666 newCompositeNode(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationCrossReference_3_1_0());
667
668 pushFollow(FOLLOW_9);
669 ruleQualifiedName();
670
671 state._fsp--;
672
673
674 afterParserOrEnumRuleCall();
675
676
677 }
678
679
680 }
681
682 // InternalProblem.g:268:4: (otherlv_5= ',' ( ( ruleQualifiedName ) ) )*
683 loop5:
684 do {
685 int alt5=2;
686 int LA5_0 = input.LA(1);
687
688 if ( (LA5_0==17) ) {
689 alt5=1;
690 }
691
692
693 switch (alt5) {
694 case 1 :
695 // InternalProblem.g:269:5: otherlv_5= ',' ( ( ruleQualifiedName ) )
696 {
697 otherlv_5=(Token)match(input,17,FOLLOW_8);
698
699 newLeafNode(otherlv_5, grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_2_0());
700
701 // InternalProblem.g:273:5: ( ( ruleQualifiedName ) )
702 // InternalProblem.g:274:6: ( ruleQualifiedName )
703 {
704 // InternalProblem.g:274:6: ( ruleQualifiedName )
705 // InternalProblem.g:275:7: ruleQualifiedName
706 {
707
708 if (current==null) {
709 current = createModelElement(grammarAccess.getClassDeclarationRule());
710 }
711
712
713 newCompositeNode(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationCrossReference_3_2_1_0());
714
715 pushFollow(FOLLOW_9);
716 ruleQualifiedName();
717
718 state._fsp--;
719
720
721 afterParserOrEnumRuleCall();
722
723
724 }
725
726
727 }
728
729
730 }
731 break;
732
733 default :
734 break loop5;
735 }
736 } while (true);
737
738
739 }
740 break;
741
742 }
743
744 // InternalProblem.g:291:3: ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' )
745 int alt9=2;
746 int LA9_0 = input.LA(1);
747
748 if ( (LA9_0==18) ) {
749 alt9=1;
750 }
751 else if ( (LA9_0==13) ) {
752 alt9=2;
753 }
754 else {
755 NoViableAltException nvae =
756 new NoViableAltException("", 9, 0, input);
757
758 throw nvae;
759 }
760 switch (alt9) {
761 case 1 :
762 // InternalProblem.g:292:4: (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' )
763 {
764 // InternalProblem.g:292:4: (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' )
765 // InternalProblem.g:293:5: otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}'
766 {
767 otherlv_7=(Token)match(input,18,FOLLOW_10);
768
769 newLeafNode(otherlv_7, grammarAccess.getClassDeclarationAccess().getLeftCurlyBracketKeyword_4_0_0());
770
771 // InternalProblem.g:297:5: ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )*
772 loop8:
773 do {
774 int alt8=2;
775 int LA8_0 = input.LA(1);
776
777 if ( (LA8_0==RULE_ID||LA8_0==RULE_QUOTED_ID||(LA8_0>=22 && LA8_0<=23)||(LA8_0>=40 && LA8_0<=41)) ) {
778 alt8=1;
779 }
780
781
782 switch (alt8) {
783 case 1 :
784 // InternalProblem.g:298:6: ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )?
785 {
786 // InternalProblem.g:298:6: ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) )
787 // InternalProblem.g:299:7: (lv_referenceDeclarations_8_0= ruleReferenceDeclaration )
788 {
789 // InternalProblem.g:299:7: (lv_referenceDeclarations_8_0= ruleReferenceDeclaration )
790 // InternalProblem.g:300:8: lv_referenceDeclarations_8_0= ruleReferenceDeclaration
791 {
792
793 newCompositeNode(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_4_0_1_0_0());
794
795 pushFollow(FOLLOW_11);
796 lv_referenceDeclarations_8_0=ruleReferenceDeclaration();
797
798 state._fsp--;
799
800
801 if (current==null) {
802 current = createModelElementForParent(grammarAccess.getClassDeclarationRule());
803 }
804 add(
805 current,
806 "referenceDeclarations",
807 lv_referenceDeclarations_8_0,
808 "org.eclipse.viatra.solver.language.Problem.ReferenceDeclaration");
809 afterParserOrEnumRuleCall();
810
811
812 }
813
814
815 }
816
817 // InternalProblem.g:317:6: (otherlv_9= ';' )?
818 int alt7=2;
819 int LA7_0 = input.LA(1);
820
821 if ( (LA7_0==19) ) {
822 alt7=1;
823 }
824 switch (alt7) {
825 case 1 :
826 // InternalProblem.g:318:7: otherlv_9= ';'
827 {
828 otherlv_9=(Token)match(input,19,FOLLOW_10);
829
830 newLeafNode(otherlv_9, grammarAccess.getClassDeclarationAccess().getSemicolonKeyword_4_0_1_1());
831
832
833 }
834 break;
835
836 }
837
838
839 }
840 break;
841
842 default :
843 break loop8;
844 }
845 } while (true);
846
847 otherlv_10=(Token)match(input,20,FOLLOW_2);
848
849 newLeafNode(otherlv_10, grammarAccess.getClassDeclarationAccess().getRightCurlyBracketKeyword_4_0_2());
850
851
852 }
853
854
855 }
856 break;
857 case 2 :
858 // InternalProblem.g:330:4: otherlv_11= '.'
859 {
860 otherlv_11=(Token)match(input,13,FOLLOW_2);
861
862 newLeafNode(otherlv_11, grammarAccess.getClassDeclarationAccess().getFullStopKeyword_4_1());
863
864
865 }
866 break;
867
868 }
869
870
871 }
872
873
874 }
875
876
877 leaveRule();
878
879 }
880
881 catch (RecognitionException re) {
882 recover(input,re);
883 appendSkippedTokens();
884 }
885 finally {
886 }
887 return current;
888 }
889 // $ANTLR end "ruleClassDeclaration"
890
891
892 // $ANTLR start "entryRuleEnumDeclaration"
893 // InternalProblem.g:339:1: entryRuleEnumDeclaration returns [EObject current=null] : iv_ruleEnumDeclaration= ruleEnumDeclaration EOF ;
894 public final EObject entryRuleEnumDeclaration() throws RecognitionException {
895 EObject current = null;
896
897 EObject iv_ruleEnumDeclaration = null;
898
899
900 try {
901 // InternalProblem.g:339:56: (iv_ruleEnumDeclaration= ruleEnumDeclaration EOF )
902 // InternalProblem.g:340:2: iv_ruleEnumDeclaration= ruleEnumDeclaration EOF
903 {
904 newCompositeNode(grammarAccess.getEnumDeclarationRule());
905 pushFollow(FOLLOW_1);
906 iv_ruleEnumDeclaration=ruleEnumDeclaration();
907
908 state._fsp--;
909
910 current =iv_ruleEnumDeclaration;
911 match(input,EOF,FOLLOW_2);
912
913 }
914
915 }
916
917 catch (RecognitionException re) {
918 recover(input,re);
919 appendSkippedTokens();
920 }
921 finally {
922 }
923 return current;
924 }
925 // $ANTLR end "entryRuleEnumDeclaration"
926
927
928 // $ANTLR start "ruleEnumDeclaration"
929 // InternalProblem.g:346:1: ruleEnumDeclaration returns [EObject current=null] : (otherlv_0= 'enum' ( (lv_name_1_0= ruleIdentifier ) ) ( (otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' ) | otherlv_9= '.' ) ) ;
930 public final EObject ruleEnumDeclaration() throws RecognitionException {
931 EObject current = null;
932
933 Token otherlv_0=null;
934 Token otherlv_2=null;
935 Token otherlv_4=null;
936 Token otherlv_6=null;
937 Token otherlv_7=null;
938 Token otherlv_8=null;
939 Token otherlv_9=null;
940 AntlrDatatypeRuleToken lv_name_1_0 = null;
941
942 EObject lv_literals_3_0 = null;
943
944 EObject lv_literals_5_0 = null;
945
946
947
948 enterRule();
949
950 try {
951 // InternalProblem.g:352:2: ( (otherlv_0= 'enum' ( (lv_name_1_0= ruleIdentifier ) ) ( (otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' ) | otherlv_9= '.' ) ) )
952 // InternalProblem.g:353:2: (otherlv_0= 'enum' ( (lv_name_1_0= ruleIdentifier ) ) ( (otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' ) | otherlv_9= '.' ) )
953 {
954 // InternalProblem.g:353:2: (otherlv_0= 'enum' ( (lv_name_1_0= ruleIdentifier ) ) ( (otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' ) | otherlv_9= '.' ) )
955 // InternalProblem.g:354:3: otherlv_0= 'enum' ( (lv_name_1_0= ruleIdentifier ) ) ( (otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' ) | otherlv_9= '.' )
956 {
957 otherlv_0=(Token)match(input,21,FOLLOW_3);
958
959 newLeafNode(otherlv_0, grammarAccess.getEnumDeclarationAccess().getEnumKeyword_0());
960
961 // InternalProblem.g:358:3: ( (lv_name_1_0= ruleIdentifier ) )
962 // InternalProblem.g:359:4: (lv_name_1_0= ruleIdentifier )
963 {
964 // InternalProblem.g:359:4: (lv_name_1_0= ruleIdentifier )
965 // InternalProblem.g:360:5: lv_name_1_0= ruleIdentifier
966 {
967
968 newCompositeNode(grammarAccess.getEnumDeclarationAccess().getNameIdentifierParserRuleCall_1_0());
969
970 pushFollow(FOLLOW_12);
971 lv_name_1_0=ruleIdentifier();
972
973 state._fsp--;
974
975
976 if (current==null) {
977 current = createModelElementForParent(grammarAccess.getEnumDeclarationRule());
978 }
979 set(
980 current,
981 "name",
982 lv_name_1_0,
983 "org.eclipse.viatra.solver.language.Problem.Identifier");
984 afterParserOrEnumRuleCall();
985
986
987 }
988
989
990 }
991
992 // InternalProblem.g:377:3: ( (otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' ) | otherlv_9= '.' )
993 int alt13=2;
994 int LA13_0 = input.LA(1);
995
996 if ( (LA13_0==18) ) {
997 alt13=1;
998 }
999 else if ( (LA13_0==13) ) {
1000 alt13=2;
1001 }
1002 else {
1003 NoViableAltException nvae =
1004 new NoViableAltException("", 13, 0, input);
1005
1006 throw nvae;
1007 }
1008 switch (alt13) {
1009 case 1 :
1010 // InternalProblem.g:378:4: (otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' )
1011 {
1012 // InternalProblem.g:378:4: (otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' )
1013 // InternalProblem.g:379:5: otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}'
1014 {
1015 otherlv_2=(Token)match(input,18,FOLLOW_13);
1016
1017 newLeafNode(otherlv_2, grammarAccess.getEnumDeclarationAccess().getLeftCurlyBracketKeyword_2_0_0());
1018
1019 // InternalProblem.g:383:5: ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )?
1020 int alt12=2;
1021 int LA12_0 = input.LA(1);
1022
1023 if ( (LA12_0==RULE_ID||LA12_0==RULE_QUOTED_ID||(LA12_0>=40 && LA12_0<=41)) ) {
1024 alt12=1;
1025 }
1026 switch (alt12) {
1027 case 1 :
1028 // InternalProblem.g:384:6: ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )?
1029 {
1030 // InternalProblem.g:384:6: ( (lv_literals_3_0= ruleEnumLiteral ) )
1031 // InternalProblem.g:385:7: (lv_literals_3_0= ruleEnumLiteral )
1032 {
1033 // InternalProblem.g:385:7: (lv_literals_3_0= ruleEnumLiteral )
1034 // InternalProblem.g:386:8: lv_literals_3_0= ruleEnumLiteral
1035 {
1036
1037 newCompositeNode(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_0_0());
1038
1039 pushFollow(FOLLOW_14);
1040 lv_literals_3_0=ruleEnumLiteral();
1041
1042 state._fsp--;
1043
1044
1045 if (current==null) {
1046 current = createModelElementForParent(grammarAccess.getEnumDeclarationRule());
1047 }
1048 add(
1049 current,
1050 "literals",
1051 lv_literals_3_0,
1052 "org.eclipse.viatra.solver.language.Problem.EnumLiteral");
1053 afterParserOrEnumRuleCall();
1054
1055
1056 }
1057
1058
1059 }
1060
1061 // InternalProblem.g:403:6: (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )*
1062 loop10:
1063 do {
1064 int alt10=2;
1065 int LA10_0 = input.LA(1);
1066
1067 if ( (LA10_0==17) ) {
1068 int LA10_1 = input.LA(2);
1069
1070 if ( (LA10_1==RULE_ID||LA10_1==RULE_QUOTED_ID||(LA10_1>=40 && LA10_1<=41)) ) {
1071 alt10=1;
1072 }
1073
1074
1075 }
1076
1077
1078 switch (alt10) {
1079 case 1 :
1080 // InternalProblem.g:404:7: otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) )
1081 {
1082 otherlv_4=(Token)match(input,17,FOLLOW_8);
1083
1084 newLeafNode(otherlv_4, grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_1_0());
1085
1086 // InternalProblem.g:408:7: ( (lv_literals_5_0= ruleEnumLiteral ) )
1087 // InternalProblem.g:409:8: (lv_literals_5_0= ruleEnumLiteral )
1088 {
1089 // InternalProblem.g:409:8: (lv_literals_5_0= ruleEnumLiteral )
1090 // InternalProblem.g:410:9: lv_literals_5_0= ruleEnumLiteral
1091 {
1092
1093 newCompositeNode(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0());
1094
1095 pushFollow(FOLLOW_14);
1096 lv_literals_5_0=ruleEnumLiteral();
1097
1098 state._fsp--;
1099
1100
1101 if (current==null) {
1102 current = createModelElementForParent(grammarAccess.getEnumDeclarationRule());
1103 }
1104 add(
1105 current,
1106 "literals",
1107 lv_literals_5_0,
1108 "org.eclipse.viatra.solver.language.Problem.EnumLiteral");
1109 afterParserOrEnumRuleCall();
1110
1111
1112 }
1113
1114
1115 }
1116
1117
1118 }
1119 break;
1120
1121 default :
1122 break loop10;
1123 }
1124 } while (true);
1125
1126 // InternalProblem.g:428:6: (otherlv_6= ',' | otherlv_7= ';' )?
1127 int alt11=3;
1128 int LA11_0 = input.LA(1);
1129
1130 if ( (LA11_0==17) ) {
1131 alt11=1;
1132 }
1133 else if ( (LA11_0==19) ) {
1134 alt11=2;
1135 }
1136 switch (alt11) {
1137 case 1 :
1138 // InternalProblem.g:429:7: otherlv_6= ','
1139 {
1140 otherlv_6=(Token)match(input,17,FOLLOW_15);
1141
1142 newLeafNode(otherlv_6, grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_2_0());
1143
1144
1145 }
1146 break;
1147 case 2 :
1148 // InternalProblem.g:434:7: otherlv_7= ';'
1149 {
1150 otherlv_7=(Token)match(input,19,FOLLOW_15);
1151
1152 newLeafNode(otherlv_7, grammarAccess.getEnumDeclarationAccess().getSemicolonKeyword_2_0_1_2_1());
1153
1154
1155 }
1156 break;
1157
1158 }
1159
1160
1161 }
1162 break;
1163
1164 }
1165
1166 otherlv_8=(Token)match(input,20,FOLLOW_2);
1167
1168 newLeafNode(otherlv_8, grammarAccess.getEnumDeclarationAccess().getRightCurlyBracketKeyword_2_0_2());
1169
1170
1171 }
1172
1173
1174 }
1175 break;
1176 case 2 :
1177 // InternalProblem.g:446:4: otherlv_9= '.'
1178 {
1179 otherlv_9=(Token)match(input,13,FOLLOW_2);
1180
1181 newLeafNode(otherlv_9, grammarAccess.getEnumDeclarationAccess().getFullStopKeyword_2_1());
1182
1183
1184 }
1185 break;
1186
1187 }
1188
1189
1190 }
1191
1192
1193 }
1194
1195
1196 leaveRule();
1197
1198 }
1199
1200 catch (RecognitionException re) {
1201 recover(input,re);
1202 appendSkippedTokens();
1203 }
1204 finally {
1205 }
1206 return current;
1207 }
1208 // $ANTLR end "ruleEnumDeclaration"
1209
1210
1211 // $ANTLR start "entryRuleEnumLiteral"
1212 // InternalProblem.g:455:1: entryRuleEnumLiteral returns [EObject current=null] : iv_ruleEnumLiteral= ruleEnumLiteral EOF ;
1213 public final EObject entryRuleEnumLiteral() throws RecognitionException {
1214 EObject current = null;
1215
1216 EObject iv_ruleEnumLiteral = null;
1217
1218
1219 try {
1220 // InternalProblem.g:455:52: (iv_ruleEnumLiteral= ruleEnumLiteral EOF )
1221 // InternalProblem.g:456:2: iv_ruleEnumLiteral= ruleEnumLiteral EOF
1222 {
1223 newCompositeNode(grammarAccess.getEnumLiteralRule());
1224 pushFollow(FOLLOW_1);
1225 iv_ruleEnumLiteral=ruleEnumLiteral();
1226
1227 state._fsp--;
1228
1229 current =iv_ruleEnumLiteral;
1230 match(input,EOF,FOLLOW_2);
1231
1232 }
1233
1234 }
1235
1236 catch (RecognitionException re) {
1237 recover(input,re);
1238 appendSkippedTokens();
1239 }
1240 finally {
1241 }
1242 return current;
1243 }
1244 // $ANTLR end "entryRuleEnumLiteral"
1245
1246
1247 // $ANTLR start "ruleEnumLiteral"
1248 // InternalProblem.g:462:1: ruleEnumLiteral returns [EObject current=null] : ( (lv_name_0_0= ruleQuotedOrUnquotedId ) ) ;
1249 public final EObject ruleEnumLiteral() throws RecognitionException {
1250 EObject current = null;
1251
1252 AntlrDatatypeRuleToken lv_name_0_0 = null;
1253
1254
1255
1256 enterRule();
1257
1258 try {
1259 // InternalProblem.g:468:2: ( ( (lv_name_0_0= ruleQuotedOrUnquotedId ) ) )
1260 // InternalProblem.g:469:2: ( (lv_name_0_0= ruleQuotedOrUnquotedId ) )
1261 {
1262 // InternalProblem.g:469:2: ( (lv_name_0_0= ruleQuotedOrUnquotedId ) )
1263 // InternalProblem.g:470:3: (lv_name_0_0= ruleQuotedOrUnquotedId )
1264 {
1265 // InternalProblem.g:470:3: (lv_name_0_0= ruleQuotedOrUnquotedId )
1266 // InternalProblem.g:471:4: lv_name_0_0= ruleQuotedOrUnquotedId
1267 {
1268
1269 newCompositeNode(grammarAccess.getEnumLiteralAccess().getNameQuotedOrUnquotedIdParserRuleCall_0());
1270
1271 pushFollow(FOLLOW_2);
1272 lv_name_0_0=ruleQuotedOrUnquotedId();
1273
1274 state._fsp--;
1275
1276
1277 if (current==null) {
1278 current = createModelElementForParent(grammarAccess.getEnumLiteralRule());
1279 }
1280 set(
1281 current,
1282 "name",
1283 lv_name_0_0,
1284 "org.eclipse.viatra.solver.language.Problem.QuotedOrUnquotedId");
1285 afterParserOrEnumRuleCall();
1286
1287
1288 }
1289
1290
1291 }
1292
1293
1294 }
1295
1296
1297 leaveRule();
1298
1299 }
1300
1301 catch (RecognitionException re) {
1302 recover(input,re);
1303 appendSkippedTokens();
1304 }
1305 finally {
1306 }
1307 return current;
1308 }
1309 // $ANTLR end "ruleEnumLiteral"
1310
1311
1312 // $ANTLR start "entryRuleReferenceDeclaration"
1313 // InternalProblem.g:491:1: entryRuleReferenceDeclaration returns [EObject current=null] : iv_ruleReferenceDeclaration= ruleReferenceDeclaration EOF ;
1314 public final EObject entryRuleReferenceDeclaration() throws RecognitionException {
1315 EObject current = null;
1316
1317 EObject iv_ruleReferenceDeclaration = null;
1318
1319
1320 try {
1321 // InternalProblem.g:491:61: (iv_ruleReferenceDeclaration= ruleReferenceDeclaration EOF )
1322 // InternalProblem.g:492:2: iv_ruleReferenceDeclaration= ruleReferenceDeclaration EOF
1323 {
1324 newCompositeNode(grammarAccess.getReferenceDeclarationRule());
1325 pushFollow(FOLLOW_1);
1326 iv_ruleReferenceDeclaration=ruleReferenceDeclaration();
1327
1328 state._fsp--;
1329
1330 current =iv_ruleReferenceDeclaration;
1331 match(input,EOF,FOLLOW_2);
1332
1333 }
1334
1335 }
1336
1337 catch (RecognitionException re) {
1338 recover(input,re);
1339 appendSkippedTokens();
1340 }
1341 finally {
1342 }
1343 return current;
1344 }
1345 // $ANTLR end "entryRuleReferenceDeclaration"
1346
1347
1348 // $ANTLR start "ruleReferenceDeclaration"
1349 // InternalProblem.g:498:1: ruleReferenceDeclaration returns [EObject current=null] : ( ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' )? ( ( ruleQualifiedName ) ) (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? ( (lv_name_6_0= ruleIdentifier ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? ) ;
1350 public final EObject ruleReferenceDeclaration() throws RecognitionException {
1351 EObject current = null;
1352
1353 Token lv_containment_0_0=null;
1354 Token otherlv_1=null;
1355 Token otherlv_3=null;
1356 Token otherlv_5=null;
1357 Token otherlv_7=null;
1358 EObject lv_multiplicity_4_0 = null;
1359
1360 AntlrDatatypeRuleToken lv_name_6_0 = null;
1361
1362
1363
1364 enterRule();
1365
1366 try {
1367 // InternalProblem.g:504:2: ( ( ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' )? ( ( ruleQualifiedName ) ) (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? ( (lv_name_6_0= ruleIdentifier ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? ) )
1368 // InternalProblem.g:505:2: ( ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' )? ( ( ruleQualifiedName ) ) (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? ( (lv_name_6_0= ruleIdentifier ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? )
1369 {
1370 // InternalProblem.g:505:2: ( ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' )? ( ( ruleQualifiedName ) ) (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? ( (lv_name_6_0= ruleIdentifier ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? )
1371 // InternalProblem.g:506:3: ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' )? ( ( ruleQualifiedName ) ) (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? ( (lv_name_6_0= ruleIdentifier ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )?
1372 {
1373 // InternalProblem.g:506:3: ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' )?
1374 int alt14=3;
1375 int LA14_0 = input.LA(1);
1376
1377 if ( (LA14_0==22) ) {
1378 alt14=1;
1379 }
1380 else if ( (LA14_0==23) ) {
1381 alt14=2;
1382 }
1383 switch (alt14) {
1384 case 1 :
1385 // InternalProblem.g:507:4: ( (lv_containment_0_0= 'contains' ) )
1386 {
1387 // InternalProblem.g:507:4: ( (lv_containment_0_0= 'contains' ) )
1388 // InternalProblem.g:508:5: (lv_containment_0_0= 'contains' )
1389 {
1390 // InternalProblem.g:508:5: (lv_containment_0_0= 'contains' )
1391 // InternalProblem.g:509:6: lv_containment_0_0= 'contains'
1392 {
1393 lv_containment_0_0=(Token)match(input,22,FOLLOW_8);
1394
1395 newLeafNode(lv_containment_0_0, grammarAccess.getReferenceDeclarationAccess().getContainmentContainsKeyword_0_0_0());
1396
1397
1398 if (current==null) {
1399 current = createModelElement(grammarAccess.getReferenceDeclarationRule());
1400 }
1401 setWithLastConsumed(current, "containment", lv_containment_0_0 != null, "contains");
1402
1403
1404 }
1405
1406
1407 }
1408
1409
1410 }
1411 break;
1412 case 2 :
1413 // InternalProblem.g:522:4: otherlv_1= 'refers'
1414 {
1415 otherlv_1=(Token)match(input,23,FOLLOW_8);
1416
1417 newLeafNode(otherlv_1, grammarAccess.getReferenceDeclarationAccess().getRefersKeyword_0_1());
1418
1419
1420 }
1421 break;
1422
1423 }
1424
1425 // InternalProblem.g:527:3: ( ( ruleQualifiedName ) )
1426 // InternalProblem.g:528:4: ( ruleQualifiedName )
1427 {
1428 // InternalProblem.g:528:4: ( ruleQualifiedName )
1429 // InternalProblem.g:529:5: ruleQualifiedName
1430 {
1431
1432 if (current==null) {
1433 current = createModelElement(grammarAccess.getReferenceDeclarationRule());
1434 }
1435
1436
1437 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeRelationCrossReference_1_0());
1438
1439 pushFollow(FOLLOW_16);
1440 ruleQualifiedName();
1441
1442 state._fsp--;
1443
1444
1445 afterParserOrEnumRuleCall();
1446
1447
1448 }
1449
1450
1451 }
1452
1453 // InternalProblem.g:543:3: (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )?
1454 int alt15=2;
1455 int LA15_0 = input.LA(1);
1456
1457 if ( (LA15_0==24) ) {
1458 alt15=1;
1459 }
1460 switch (alt15) {
1461 case 1 :
1462 // InternalProblem.g:544:4: otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']'
1463 {
1464 otherlv_3=(Token)match(input,24,FOLLOW_17);
1465
1466 newLeafNode(otherlv_3, grammarAccess.getReferenceDeclarationAccess().getLeftSquareBracketKeyword_2_0());
1467
1468 // InternalProblem.g:548:4: ( (lv_multiplicity_4_0= ruleMultiplicity ) )
1469 // InternalProblem.g:549:5: (lv_multiplicity_4_0= ruleMultiplicity )
1470 {
1471 // InternalProblem.g:549:5: (lv_multiplicity_4_0= ruleMultiplicity )
1472 // InternalProblem.g:550:6: lv_multiplicity_4_0= ruleMultiplicity
1473 {
1474
1475 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getMultiplicityMultiplicityParserRuleCall_2_1_0());
1476
1477 pushFollow(FOLLOW_18);
1478 lv_multiplicity_4_0=ruleMultiplicity();
1479
1480 state._fsp--;
1481
1482
1483 if (current==null) {
1484 current = createModelElementForParent(grammarAccess.getReferenceDeclarationRule());
1485 }
1486 set(
1487 current,
1488 "multiplicity",
1489 lv_multiplicity_4_0,
1490 "org.eclipse.viatra.solver.language.Problem.Multiplicity");
1491 afterParserOrEnumRuleCall();
1492
1493
1494 }
1495
1496
1497 }
1498
1499 otherlv_5=(Token)match(input,25,FOLLOW_3);
1500
1501 newLeafNode(otherlv_5, grammarAccess.getReferenceDeclarationAccess().getRightSquareBracketKeyword_2_2());
1502
1503
1504 }
1505 break;
1506
1507 }
1508
1509 // InternalProblem.g:572:3: ( (lv_name_6_0= ruleIdentifier ) )
1510 // InternalProblem.g:573:4: (lv_name_6_0= ruleIdentifier )
1511 {
1512 // InternalProblem.g:573:4: (lv_name_6_0= ruleIdentifier )
1513 // InternalProblem.g:574:5: lv_name_6_0= ruleIdentifier
1514 {
1515
1516 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getNameIdentifierParserRuleCall_3_0());
1517
1518 pushFollow(FOLLOW_19);
1519 lv_name_6_0=ruleIdentifier();
1520
1521 state._fsp--;
1522
1523
1524 if (current==null) {
1525 current = createModelElementForParent(grammarAccess.getReferenceDeclarationRule());
1526 }
1527 set(
1528 current,
1529 "name",
1530 lv_name_6_0,
1531 "org.eclipse.viatra.solver.language.Problem.Identifier");
1532 afterParserOrEnumRuleCall();
1533
1534
1535 }
1536
1537
1538 }
1539
1540 // InternalProblem.g:591:3: (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )?
1541 int alt16=2;
1542 int LA16_0 = input.LA(1);
1543
1544 if ( (LA16_0==26) ) {
1545 alt16=1;
1546 }
1547 switch (alt16) {
1548 case 1 :
1549 // InternalProblem.g:592:4: otherlv_7= 'opposite' ( ( ruleQualifiedName ) )
1550 {
1551 otherlv_7=(Token)match(input,26,FOLLOW_8);
1552
1553 newLeafNode(otherlv_7, grammarAccess.getReferenceDeclarationAccess().getOppositeKeyword_4_0());
1554
1555 // InternalProblem.g:596:4: ( ( ruleQualifiedName ) )
1556 // InternalProblem.g:597:5: ( ruleQualifiedName )
1557 {
1558 // InternalProblem.g:597:5: ( ruleQualifiedName )
1559 // InternalProblem.g:598:6: ruleQualifiedName
1560 {
1561
1562 if (current==null) {
1563 current = createModelElement(grammarAccess.getReferenceDeclarationRule());
1564 }
1565
1566
1567 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationCrossReference_4_1_0());
1568
1569 pushFollow(FOLLOW_2);
1570 ruleQualifiedName();
1571
1572 state._fsp--;
1573
1574
1575 afterParserOrEnumRuleCall();
1576
1577
1578 }
1579
1580
1581 }
1582
1583
1584 }
1585 break;
1586
1587 }
1588
1589
1590 }
1591
1592
1593 }
1594
1595
1596 leaveRule();
1597
1598 }
1599
1600 catch (RecognitionException re) {
1601 recover(input,re);
1602 appendSkippedTokens();
1603 }
1604 finally {
1605 }
1606 return current;
1607 }
1608 // $ANTLR end "ruleReferenceDeclaration"
1609
1610
1611 // $ANTLR start "entryRulePredicateDefinition"
1612 // InternalProblem.g:617:1: entryRulePredicateDefinition returns [EObject current=null] : iv_rulePredicateDefinition= rulePredicateDefinition EOF ;
1613 public final EObject entryRulePredicateDefinition() throws RecognitionException {
1614 EObject current = null;
1615
1616 EObject iv_rulePredicateDefinition = null;
1617
1618
1619 try {
1620 // InternalProblem.g:617:60: (iv_rulePredicateDefinition= rulePredicateDefinition EOF )
1621 // InternalProblem.g:618:2: iv_rulePredicateDefinition= rulePredicateDefinition EOF
1622 {
1623 newCompositeNode(grammarAccess.getPredicateDefinitionRule());
1624 pushFollow(FOLLOW_1);
1625 iv_rulePredicateDefinition=rulePredicateDefinition();
1626
1627 state._fsp--;
1628
1629 current =iv_rulePredicateDefinition;
1630 match(input,EOF,FOLLOW_2);
1631
1632 }
1633
1634 }
1635
1636 catch (RecognitionException re) {
1637 recover(input,re);
1638 appendSkippedTokens();
1639 }
1640 finally {
1641 }
1642 return current;
1643 }
1644 // $ANTLR end "entryRulePredicateDefinition"
1645
1646
1647 // $ANTLR start "rulePredicateDefinition"
1648 // InternalProblem.g:624:1: rulePredicateDefinition returns [EObject current=null] : ( ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= ruleIdentifier ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? otherlv_8= ')' (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? otherlv_13= '.' ) ;
1649 public final EObject rulePredicateDefinition() throws RecognitionException {
1650 EObject current = null;
1651
1652 Token lv_error_0_0=null;
1653 Token otherlv_1=null;
1654 Token otherlv_2=null;
1655 Token otherlv_4=null;
1656 Token otherlv_6=null;
1657 Token otherlv_8=null;
1658 Token otherlv_9=null;
1659 Token otherlv_11=null;
1660 Token otherlv_13=null;
1661 AntlrDatatypeRuleToken lv_name_3_0 = null;
1662
1663 EObject lv_parameters_5_0 = null;
1664
1665 EObject lv_parameters_7_0 = null;
1666
1667 EObject lv_bodies_10_0 = null;
1668
1669 EObject lv_bodies_12_0 = null;
1670
1671
1672
1673 enterRule();
1674
1675 try {
1676 // InternalProblem.g:630:2: ( ( ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= ruleIdentifier ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? otherlv_8= ')' (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? otherlv_13= '.' ) )
1677 // InternalProblem.g:631:2: ( ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= ruleIdentifier ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? otherlv_8= ')' (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? otherlv_13= '.' )
1678 {
1679 // InternalProblem.g:631:2: ( ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= ruleIdentifier ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? otherlv_8= ')' (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? otherlv_13= '.' )
1680 // InternalProblem.g:632:3: ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= ruleIdentifier ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? otherlv_8= ')' (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? otherlv_13= '.'
1681 {
1682 // InternalProblem.g:632:3: ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' )
1683 int alt18=2;
1684 int LA18_0 = input.LA(1);
1685
1686 if ( (LA18_0==27) ) {
1687 alt18=1;
1688 }
1689 else if ( (LA18_0==28) ) {
1690 alt18=2;
1691 }
1692 else {
1693 NoViableAltException nvae =
1694 new NoViableAltException("", 18, 0, input);
1695
1696 throw nvae;
1697 }
1698 switch (alt18) {
1699 case 1 :
1700 // InternalProblem.g:633:4: ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? )
1701 {
1702 // InternalProblem.g:633:4: ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? )
1703 // InternalProblem.g:634:5: ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )?
1704 {
1705 // InternalProblem.g:634:5: ( (lv_error_0_0= 'error' ) )
1706 // InternalProblem.g:635:6: (lv_error_0_0= 'error' )
1707 {
1708 // InternalProblem.g:635:6: (lv_error_0_0= 'error' )
1709 // InternalProblem.g:636:7: lv_error_0_0= 'error'
1710 {
1711 lv_error_0_0=(Token)match(input,27,FOLLOW_20);
1712
1713 newLeafNode(lv_error_0_0, grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_0_0());
1714
1715
1716 if (current==null) {
1717 current = createModelElement(grammarAccess.getPredicateDefinitionRule());
1718 }
1719 setWithLastConsumed(current, "error", lv_error_0_0 != null, "error");
1720
1721
1722 }
1723
1724
1725 }
1726
1727 // InternalProblem.g:648:5: (otherlv_1= 'pred' )?
1728 int alt17=2;
1729 int LA17_0 = input.LA(1);
1730
1731 if ( (LA17_0==28) ) {
1732 alt17=1;
1733 }
1734 switch (alt17) {
1735 case 1 :
1736 // InternalProblem.g:649:6: otherlv_1= 'pred'
1737 {
1738 otherlv_1=(Token)match(input,28,FOLLOW_3);
1739
1740 newLeafNode(otherlv_1, grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_0_1());
1741
1742
1743 }
1744 break;
1745
1746 }
1747
1748
1749 }
1750
1751
1752 }
1753 break;
1754 case 2 :
1755 // InternalProblem.g:656:4: otherlv_2= 'pred'
1756 {
1757 otherlv_2=(Token)match(input,28,FOLLOW_3);
1758
1759 newLeafNode(otherlv_2, grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_1());
1760
1761
1762 }
1763 break;
1764
1765 }
1766
1767 // InternalProblem.g:661:3: ( (lv_name_3_0= ruleIdentifier ) )
1768 // InternalProblem.g:662:4: (lv_name_3_0= ruleIdentifier )
1769 {
1770 // InternalProblem.g:662:4: (lv_name_3_0= ruleIdentifier )
1771 // InternalProblem.g:663:5: lv_name_3_0= ruleIdentifier
1772 {
1773
1774 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getNameIdentifierParserRuleCall_1_0());
1775
1776 pushFollow(FOLLOW_21);
1777 lv_name_3_0=ruleIdentifier();
1778
1779 state._fsp--;
1780
1781
1782 if (current==null) {
1783 current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule());
1784 }
1785 set(
1786 current,
1787 "name",
1788 lv_name_3_0,
1789 "org.eclipse.viatra.solver.language.Problem.Identifier");
1790 afterParserOrEnumRuleCall();
1791
1792
1793 }
1794
1795
1796 }
1797
1798 otherlv_4=(Token)match(input,29,FOLLOW_22);
1799
1800 newLeafNode(otherlv_4, grammarAccess.getPredicateDefinitionAccess().getLeftParenthesisKeyword_2());
1801
1802 // InternalProblem.g:684:3: ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )?
1803 int alt20=2;
1804 int LA20_0 = input.LA(1);
1805
1806 if ( (LA20_0==RULE_ID||LA20_0==RULE_QUOTED_ID||(LA20_0>=40 && LA20_0<=41)) ) {
1807 alt20=1;
1808 }
1809 switch (alt20) {
1810 case 1 :
1811 // InternalProblem.g:685:4: ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )*
1812 {
1813 // InternalProblem.g:685:4: ( (lv_parameters_5_0= ruleParameter ) )
1814 // InternalProblem.g:686:5: (lv_parameters_5_0= ruleParameter )
1815 {
1816 // InternalProblem.g:686:5: (lv_parameters_5_0= ruleParameter )
1817 // InternalProblem.g:687:6: lv_parameters_5_0= ruleParameter
1818 {
1819
1820 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_0_0());
1821
1822 pushFollow(FOLLOW_23);
1823 lv_parameters_5_0=ruleParameter();
1824
1825 state._fsp--;
1826
1827
1828 if (current==null) {
1829 current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule());
1830 }
1831 add(
1832 current,
1833 "parameters",
1834 lv_parameters_5_0,
1835 "org.eclipse.viatra.solver.language.Problem.Parameter");
1836 afterParserOrEnumRuleCall();
1837
1838
1839 }
1840
1841
1842 }
1843
1844 // InternalProblem.g:704:4: (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )*
1845 loop19:
1846 do {
1847 int alt19=2;
1848 int LA19_0 = input.LA(1);
1849
1850 if ( (LA19_0==17) ) {
1851 alt19=1;
1852 }
1853
1854
1855 switch (alt19) {
1856 case 1 :
1857 // InternalProblem.g:705:5: otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) )
1858 {
1859 otherlv_6=(Token)match(input,17,FOLLOW_8);
1860
1861 newLeafNode(otherlv_6, grammarAccess.getPredicateDefinitionAccess().getCommaKeyword_3_1_0());
1862
1863 // InternalProblem.g:709:5: ( (lv_parameters_7_0= ruleParameter ) )
1864 // InternalProblem.g:710:6: (lv_parameters_7_0= ruleParameter )
1865 {
1866 // InternalProblem.g:710:6: (lv_parameters_7_0= ruleParameter )
1867 // InternalProblem.g:711:7: lv_parameters_7_0= ruleParameter
1868 {
1869
1870 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_1_1_0());
1871
1872 pushFollow(FOLLOW_23);
1873 lv_parameters_7_0=ruleParameter();
1874
1875 state._fsp--;
1876
1877
1878 if (current==null) {
1879 current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule());
1880 }
1881 add(
1882 current,
1883 "parameters",
1884 lv_parameters_7_0,
1885 "org.eclipse.viatra.solver.language.Problem.Parameter");
1886 afterParserOrEnumRuleCall();
1887
1888
1889 }
1890
1891
1892 }
1893
1894
1895 }
1896 break;
1897
1898 default :
1899 break loop19;
1900 }
1901 } while (true);
1902
1903
1904 }
1905 break;
1906
1907 }
1908
1909 otherlv_8=(Token)match(input,30,FOLLOW_24);
1910
1911 newLeafNode(otherlv_8, grammarAccess.getPredicateDefinitionAccess().getRightParenthesisKeyword_4());
1912
1913 // InternalProblem.g:734:3: (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )?
1914 int alt22=2;
1915 int LA22_0 = input.LA(1);
1916
1917 if ( (LA22_0==31) ) {
1918 alt22=1;
1919 }
1920 switch (alt22) {
1921 case 1 :
1922 // InternalProblem.g:735:4: otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )*
1923 {
1924 otherlv_9=(Token)match(input,31,FOLLOW_25);
1925
1926 newLeafNode(otherlv_9, grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_5_0());
1927
1928 // InternalProblem.g:739:4: ( (lv_bodies_10_0= ruleConjunction ) )
1929 // InternalProblem.g:740:5: (lv_bodies_10_0= ruleConjunction )
1930 {
1931 // InternalProblem.g:740:5: (lv_bodies_10_0= ruleConjunction )
1932 // InternalProblem.g:741:6: lv_bodies_10_0= ruleConjunction
1933 {
1934
1935 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_1_0());
1936
1937 pushFollow(FOLLOW_26);
1938 lv_bodies_10_0=ruleConjunction();
1939
1940 state._fsp--;
1941
1942
1943 if (current==null) {
1944 current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule());
1945 }
1946 add(
1947 current,
1948 "bodies",
1949 lv_bodies_10_0,
1950 "org.eclipse.viatra.solver.language.Problem.Conjunction");
1951 afterParserOrEnumRuleCall();
1952
1953
1954 }
1955
1956
1957 }
1958
1959 // InternalProblem.g:758:4: (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )*
1960 loop21:
1961 do {
1962 int alt21=2;
1963 int LA21_0 = input.LA(1);
1964
1965 if ( (LA21_0==19) ) {
1966 alt21=1;
1967 }
1968
1969
1970 switch (alt21) {
1971 case 1 :
1972 // InternalProblem.g:759:5: otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) )
1973 {
1974 otherlv_11=(Token)match(input,19,FOLLOW_25);
1975
1976 newLeafNode(otherlv_11, grammarAccess.getPredicateDefinitionAccess().getSemicolonKeyword_5_2_0());
1977
1978 // InternalProblem.g:763:5: ( (lv_bodies_12_0= ruleConjunction ) )
1979 // InternalProblem.g:764:6: (lv_bodies_12_0= ruleConjunction )
1980 {
1981 // InternalProblem.g:764:6: (lv_bodies_12_0= ruleConjunction )
1982 // InternalProblem.g:765:7: lv_bodies_12_0= ruleConjunction
1983 {
1984
1985 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_2_1_0());
1986
1987 pushFollow(FOLLOW_26);
1988 lv_bodies_12_0=ruleConjunction();
1989
1990 state._fsp--;
1991
1992
1993 if (current==null) {
1994 current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule());
1995 }
1996 add(
1997 current,
1998 "bodies",
1999 lv_bodies_12_0,
2000 "org.eclipse.viatra.solver.language.Problem.Conjunction");
2001 afterParserOrEnumRuleCall();
2002
2003
2004 }
2005
2006
2007 }
2008
2009
2010 }
2011 break;
2012
2013 default :
2014 break loop21;
2015 }
2016 } while (true);
2017
2018
2019 }
2020 break;
2021
2022 }
2023
2024 otherlv_13=(Token)match(input,13,FOLLOW_2);
2025
2026 newLeafNode(otherlv_13, grammarAccess.getPredicateDefinitionAccess().getFullStopKeyword_6());
2027
2028
2029 }
2030
2031
2032 }
2033
2034
2035 leaveRule();
2036
2037 }
2038
2039 catch (RecognitionException re) {
2040 recover(input,re);
2041 appendSkippedTokens();
2042 }
2043 finally {
2044 }
2045 return current;
2046 }
2047 // $ANTLR end "rulePredicateDefinition"
2048
2049
2050 // $ANTLR start "entryRuleParameter"
2051 // InternalProblem.g:792:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ;
2052 public final EObject entryRuleParameter() throws RecognitionException {
2053 EObject current = null;
2054
2055 EObject iv_ruleParameter = null;
2056
2057
2058 try {
2059 // InternalProblem.g:792:50: (iv_ruleParameter= ruleParameter EOF )
2060 // InternalProblem.g:793:2: iv_ruleParameter= ruleParameter EOF
2061 {
2062 newCompositeNode(grammarAccess.getParameterRule());
2063 pushFollow(FOLLOW_1);
2064 iv_ruleParameter=ruleParameter();
2065
2066 state._fsp--;
2067
2068 current =iv_ruleParameter;
2069 match(input,EOF,FOLLOW_2);
2070
2071 }
2072
2073 }
2074
2075 catch (RecognitionException re) {
2076 recover(input,re);
2077 appendSkippedTokens();
2078 }
2079 finally {
2080 }
2081 return current;
2082 }
2083 // $ANTLR end "entryRuleParameter"
2084
2085
2086 // $ANTLR start "ruleParameter"
2087 // InternalProblem.g:799:1: ruleParameter returns [EObject current=null] : ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= ruleIdentifier ) ) ) ;
2088 public final EObject ruleParameter() throws RecognitionException {
2089 EObject current = null;
2090
2091 AntlrDatatypeRuleToken lv_name_1_0 = null;
2092
2093
2094
2095 enterRule();
2096
2097 try {
2098 // InternalProblem.g:805:2: ( ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= ruleIdentifier ) ) ) )
2099 // InternalProblem.g:806:2: ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= ruleIdentifier ) ) )
2100 {
2101 // InternalProblem.g:806:2: ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= ruleIdentifier ) ) )
2102 // InternalProblem.g:807:3: ( ( ruleQualifiedName ) )? ( (lv_name_1_0= ruleIdentifier ) )
2103 {
2104 // InternalProblem.g:807:3: ( ( ruleQualifiedName ) )?
2105 int alt23=2;
2106 switch ( input.LA(1) ) {
2107 case RULE_QUOTED_ID:
2108 {
2109 alt23=1;
2110 }
2111 break;
2112 case RULE_ID:
2113 {
2114 int LA23_2 = input.LA(2);
2115
2116 if ( (LA23_2==RULE_ID||LA23_2==34||(LA23_2>=40 && LA23_2<=41)) ) {
2117 alt23=1;
2118 }
2119 }
2120 break;
2121 case 40:
2122 {
2123 int LA23_3 = input.LA(2);
2124
2125 if ( (LA23_3==RULE_ID||LA23_3==34||(LA23_3>=40 && LA23_3<=41)) ) {
2126 alt23=1;
2127 }
2128 }
2129 break;
2130 case 41:
2131 {
2132 int LA23_4 = input.LA(2);
2133
2134 if ( (LA23_4==RULE_ID||LA23_4==34||(LA23_4>=40 && LA23_4<=41)) ) {
2135 alt23=1;
2136 }
2137 }
2138 break;
2139 }
2140
2141 switch (alt23) {
2142 case 1 :
2143 // InternalProblem.g:808:4: ( ruleQualifiedName )
2144 {
2145 // InternalProblem.g:808:4: ( ruleQualifiedName )
2146 // InternalProblem.g:809:5: ruleQualifiedName
2147 {
2148
2149 if (current==null) {
2150 current = createModelElement(grammarAccess.getParameterRule());
2151 }
2152
2153
2154 newCompositeNode(grammarAccess.getParameterAccess().getParameterTypeRelationCrossReference_0_0());
2155
2156 pushFollow(FOLLOW_3);
2157 ruleQualifiedName();
2158
2159 state._fsp--;
2160
2161
2162 afterParserOrEnumRuleCall();
2163
2164
2165 }
2166
2167
2168 }
2169 break;
2170
2171 }
2172
2173 // InternalProblem.g:823:3: ( (lv_name_1_0= ruleIdentifier ) )
2174 // InternalProblem.g:824:4: (lv_name_1_0= ruleIdentifier )
2175 {
2176 // InternalProblem.g:824:4: (lv_name_1_0= ruleIdentifier )
2177 // InternalProblem.g:825:5: lv_name_1_0= ruleIdentifier
2178 {
2179
2180 newCompositeNode(grammarAccess.getParameterAccess().getNameIdentifierParserRuleCall_1_0());
2181
2182 pushFollow(FOLLOW_2);
2183 lv_name_1_0=ruleIdentifier();
2184
2185 state._fsp--;
2186
2187
2188 if (current==null) {
2189 current = createModelElementForParent(grammarAccess.getParameterRule());
2190 }
2191 set(
2192 current,
2193 "name",
2194 lv_name_1_0,
2195 "org.eclipse.viatra.solver.language.Problem.Identifier");
2196 afterParserOrEnumRuleCall();
2197
2198
2199 }
2200
2201
2202 }
2203
2204
2205 }
2206
2207
2208 }
2209
2210
2211 leaveRule();
2212
2213 }
2214
2215 catch (RecognitionException re) {
2216 recover(input,re);
2217 appendSkippedTokens();
2218 }
2219 finally {
2220 }
2221 return current;
2222 }
2223 // $ANTLR end "ruleParameter"
2224
2225
2226 // $ANTLR start "entryRuleConjunction"
2227 // InternalProblem.g:846:1: entryRuleConjunction returns [EObject current=null] : iv_ruleConjunction= ruleConjunction EOF ;
2228 public final EObject entryRuleConjunction() throws RecognitionException {
2229 EObject current = null;
2230
2231 EObject iv_ruleConjunction = null;
2232
2233
2234 try {
2235 // InternalProblem.g:846:52: (iv_ruleConjunction= ruleConjunction EOF )
2236 // InternalProblem.g:847:2: iv_ruleConjunction= ruleConjunction EOF
2237 {
2238 newCompositeNode(grammarAccess.getConjunctionRule());
2239 pushFollow(FOLLOW_1);
2240 iv_ruleConjunction=ruleConjunction();
2241
2242 state._fsp--;
2243
2244 current =iv_ruleConjunction;
2245 match(input,EOF,FOLLOW_2);
2246
2247 }
2248
2249 }
2250
2251 catch (RecognitionException re) {
2252 recover(input,re);
2253 appendSkippedTokens();
2254 }
2255 finally {
2256 }
2257 return current;
2258 }
2259 // $ANTLR end "entryRuleConjunction"
2260
2261
2262 // $ANTLR start "ruleConjunction"
2263 // InternalProblem.g:853:1: ruleConjunction returns [EObject current=null] : ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* ) ;
2264 public final EObject ruleConjunction() throws RecognitionException {
2265 EObject current = null;
2266
2267 Token otherlv_1=null;
2268 EObject lv_literals_0_0 = null;
2269
2270 EObject lv_literals_2_0 = null;
2271
2272
2273
2274 enterRule();
2275
2276 try {
2277 // InternalProblem.g:859:2: ( ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* ) )
2278 // InternalProblem.g:860:2: ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* )
2279 {
2280 // InternalProblem.g:860:2: ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* )
2281 // InternalProblem.g:861:3: ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )*
2282 {
2283 // InternalProblem.g:861:3: ( (lv_literals_0_0= ruleLiteral ) )
2284 // InternalProblem.g:862:4: (lv_literals_0_0= ruleLiteral )
2285 {
2286 // InternalProblem.g:862:4: (lv_literals_0_0= ruleLiteral )
2287 // InternalProblem.g:863:5: lv_literals_0_0= ruleLiteral
2288 {
2289
2290 newCompositeNode(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_0_0());
2291
2292 pushFollow(FOLLOW_27);
2293 lv_literals_0_0=ruleLiteral();
2294
2295 state._fsp--;
2296
2297
2298 if (current==null) {
2299 current = createModelElementForParent(grammarAccess.getConjunctionRule());
2300 }
2301 add(
2302 current,
2303 "literals",
2304 lv_literals_0_0,
2305 "org.eclipse.viatra.solver.language.Problem.Literal");
2306 afterParserOrEnumRuleCall();
2307
2308
2309 }
2310
2311
2312 }
2313
2314 // InternalProblem.g:880:3: (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )*
2315 loop24:
2316 do {
2317 int alt24=2;
2318 int LA24_0 = input.LA(1);
2319
2320 if ( (LA24_0==17) ) {
2321 alt24=1;
2322 }
2323
2324
2325 switch (alt24) {
2326 case 1 :
2327 // InternalProblem.g:881:4: otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) )
2328 {
2329 otherlv_1=(Token)match(input,17,FOLLOW_25);
2330
2331 newLeafNode(otherlv_1, grammarAccess.getConjunctionAccess().getCommaKeyword_1_0());
2332
2333 // InternalProblem.g:885:4: ( (lv_literals_2_0= ruleLiteral ) )
2334 // InternalProblem.g:886:5: (lv_literals_2_0= ruleLiteral )
2335 {
2336 // InternalProblem.g:886:5: (lv_literals_2_0= ruleLiteral )
2337 // InternalProblem.g:887:6: lv_literals_2_0= ruleLiteral
2338 {
2339
2340 newCompositeNode(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_1_1_0());
2341
2342 pushFollow(FOLLOW_27);
2343 lv_literals_2_0=ruleLiteral();
2344
2345 state._fsp--;
2346
2347
2348 if (current==null) {
2349 current = createModelElementForParent(grammarAccess.getConjunctionRule());
2350 }
2351 add(
2352 current,
2353 "literals",
2354 lv_literals_2_0,
2355 "org.eclipse.viatra.solver.language.Problem.Literal");
2356 afterParserOrEnumRuleCall();
2357
2358
2359 }
2360
2361
2362 }
2363
2364
2365 }
2366 break;
2367
2368 default :
2369 break loop24;
2370 }
2371 } while (true);
2372
2373
2374 }
2375
2376
2377 }
2378
2379
2380 leaveRule();
2381
2382 }
2383
2384 catch (RecognitionException re) {
2385 recover(input,re);
2386 appendSkippedTokens();
2387 }
2388 finally {
2389 }
2390 return current;
2391 }
2392 // $ANTLR end "ruleConjunction"
2393
2394
2395 // $ANTLR start "entryRuleLiteral"
2396 // InternalProblem.g:909:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ;
2397 public final EObject entryRuleLiteral() throws RecognitionException {
2398 EObject current = null;
2399
2400 EObject iv_ruleLiteral = null;
2401
2402
2403 try {
2404 // InternalProblem.g:909:48: (iv_ruleLiteral= ruleLiteral EOF )
2405 // InternalProblem.g:910:2: iv_ruleLiteral= ruleLiteral EOF
2406 {
2407 newCompositeNode(grammarAccess.getLiteralRule());
2408 pushFollow(FOLLOW_1);
2409 iv_ruleLiteral=ruleLiteral();
2410
2411 state._fsp--;
2412
2413 current =iv_ruleLiteral;
2414 match(input,EOF,FOLLOW_2);
2415
2416 }
2417
2418 }
2419
2420 catch (RecognitionException re) {
2421 recover(input,re);
2422 appendSkippedTokens();
2423 }
2424 finally {
2425 }
2426 return current;
2427 }
2428 // $ANTLR end "entryRuleLiteral"
2429
2430
2431 // $ANTLR start "ruleLiteral"
2432 // InternalProblem.g:916:1: ruleLiteral returns [EObject current=null] : (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral ) ;
2433 public final EObject ruleLiteral() throws RecognitionException {
2434 EObject current = null;
2435
2436 EObject this_Atom_0 = null;
2437
2438 EObject this_NegativeLiteral_1 = null;
2439
2440
2441
2442 enterRule();
2443
2444 try {
2445 // InternalProblem.g:922:2: ( (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral ) )
2446 // InternalProblem.g:923:2: (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral )
2447 {
2448 // InternalProblem.g:923:2: (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral )
2449 int alt25=2;
2450 int LA25_0 = input.LA(1);
2451
2452 if ( (LA25_0==RULE_ID||LA25_0==RULE_QUOTED_ID||(LA25_0>=40 && LA25_0<=41)) ) {
2453 alt25=1;
2454 }
2455 else if ( (LA25_0==32) ) {
2456 alt25=2;
2457 }
2458 else {
2459 NoViableAltException nvae =
2460 new NoViableAltException("", 25, 0, input);
2461
2462 throw nvae;
2463 }
2464 switch (alt25) {
2465 case 1 :
2466 // InternalProblem.g:924:3: this_Atom_0= ruleAtom
2467 {
2468
2469 newCompositeNode(grammarAccess.getLiteralAccess().getAtomParserRuleCall_0());
2470
2471 pushFollow(FOLLOW_2);
2472 this_Atom_0=ruleAtom();
2473
2474 state._fsp--;
2475
2476
2477 current = this_Atom_0;
2478 afterParserOrEnumRuleCall();
2479
2480
2481 }
2482 break;
2483 case 2 :
2484 // InternalProblem.g:933:3: this_NegativeLiteral_1= ruleNegativeLiteral
2485 {
2486
2487 newCompositeNode(grammarAccess.getLiteralAccess().getNegativeLiteralParserRuleCall_1());
2488
2489 pushFollow(FOLLOW_2);
2490 this_NegativeLiteral_1=ruleNegativeLiteral();
2491
2492 state._fsp--;
2493
2494
2495 current = this_NegativeLiteral_1;
2496 afterParserOrEnumRuleCall();
2497
2498
2499 }
2500 break;
2501
2502 }
2503
2504
2505 }
2506
2507
2508 leaveRule();
2509
2510 }
2511
2512 catch (RecognitionException re) {
2513 recover(input,re);
2514 appendSkippedTokens();
2515 }
2516 finally {
2517 }
2518 return current;
2519 }
2520 // $ANTLR end "ruleLiteral"
2521
2522
2523 // $ANTLR start "entryRuleNegativeLiteral"
2524 // InternalProblem.g:945:1: entryRuleNegativeLiteral returns [EObject current=null] : iv_ruleNegativeLiteral= ruleNegativeLiteral EOF ;
2525 public final EObject entryRuleNegativeLiteral() throws RecognitionException {
2526 EObject current = null;
2527
2528 EObject iv_ruleNegativeLiteral = null;
2529
2530
2531 try {
2532 // InternalProblem.g:945:56: (iv_ruleNegativeLiteral= ruleNegativeLiteral EOF )
2533 // InternalProblem.g:946:2: iv_ruleNegativeLiteral= ruleNegativeLiteral EOF
2534 {
2535 newCompositeNode(grammarAccess.getNegativeLiteralRule());
2536 pushFollow(FOLLOW_1);
2537 iv_ruleNegativeLiteral=ruleNegativeLiteral();
2538
2539 state._fsp--;
2540
2541 current =iv_ruleNegativeLiteral;
2542 match(input,EOF,FOLLOW_2);
2543
2544 }
2545
2546 }
2547
2548 catch (RecognitionException re) {
2549 recover(input,re);
2550 appendSkippedTokens();
2551 }
2552 finally {
2553 }
2554 return current;
2555 }
2556 // $ANTLR end "entryRuleNegativeLiteral"
2557
2558
2559 // $ANTLR start "ruleNegativeLiteral"
2560 // InternalProblem.g:952:1: ruleNegativeLiteral returns [EObject current=null] : (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) ) ;
2561 public final EObject ruleNegativeLiteral() throws RecognitionException {
2562 EObject current = null;
2563
2564 Token otherlv_0=null;
2565 EObject lv_atom_1_0 = null;
2566
2567
2568
2569 enterRule();
2570
2571 try {
2572 // InternalProblem.g:958:2: ( (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) ) )
2573 // InternalProblem.g:959:2: (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) )
2574 {
2575 // InternalProblem.g:959:2: (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) )
2576 // InternalProblem.g:960:3: otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) )
2577 {
2578 otherlv_0=(Token)match(input,32,FOLLOW_8);
2579
2580 newLeafNode(otherlv_0, grammarAccess.getNegativeLiteralAccess().getExclamationMarkKeyword_0());
2581
2582 // InternalProblem.g:964:3: ( (lv_atom_1_0= ruleAtom ) )
2583 // InternalProblem.g:965:4: (lv_atom_1_0= ruleAtom )
2584 {
2585 // InternalProblem.g:965:4: (lv_atom_1_0= ruleAtom )
2586 // InternalProblem.g:966:5: lv_atom_1_0= ruleAtom
2587 {
2588
2589 newCompositeNode(grammarAccess.getNegativeLiteralAccess().getAtomAtomParserRuleCall_1_0());
2590
2591 pushFollow(FOLLOW_2);
2592 lv_atom_1_0=ruleAtom();
2593
2594 state._fsp--;
2595
2596
2597 if (current==null) {
2598 current = createModelElementForParent(grammarAccess.getNegativeLiteralRule());
2599 }
2600 set(
2601 current,
2602 "atom",
2603 lv_atom_1_0,
2604 "org.eclipse.viatra.solver.language.Problem.Atom");
2605 afterParserOrEnumRuleCall();
2606
2607
2608 }
2609
2610
2611 }
2612
2613
2614 }
2615
2616
2617 }
2618
2619
2620 leaveRule();
2621
2622 }
2623
2624 catch (RecognitionException re) {
2625 recover(input,re);
2626 appendSkippedTokens();
2627 }
2628 finally {
2629 }
2630 return current;
2631 }
2632 // $ANTLR end "ruleNegativeLiteral"
2633
2634
2635 // $ANTLR start "entryRuleAtom"
2636 // InternalProblem.g:987:1: entryRuleAtom returns [EObject current=null] : iv_ruleAtom= ruleAtom EOF ;
2637 public final EObject entryRuleAtom() throws RecognitionException {
2638 EObject current = null;
2639
2640 EObject iv_ruleAtom = null;
2641
2642
2643 try {
2644 // InternalProblem.g:987:45: (iv_ruleAtom= ruleAtom EOF )
2645 // InternalProblem.g:988:2: iv_ruleAtom= ruleAtom EOF
2646 {
2647 newCompositeNode(grammarAccess.getAtomRule());
2648 pushFollow(FOLLOW_1);
2649 iv_ruleAtom=ruleAtom();
2650
2651 state._fsp--;
2652
2653 current =iv_ruleAtom;
2654 match(input,EOF,FOLLOW_2);
2655
2656 }
2657
2658 }
2659
2660 catch (RecognitionException re) {
2661 recover(input,re);
2662 appendSkippedTokens();
2663 }
2664 finally {
2665 }
2666 return current;
2667 }
2668 // $ANTLR end "entryRuleAtom"
2669
2670
2671 // $ANTLR start "ruleAtom"
2672 // InternalProblem.g:994:1: ruleAtom returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )? otherlv_6= ')' ) ;
2673 public final EObject ruleAtom() throws RecognitionException {
2674 EObject current = null;
2675
2676 Token lv_transitiveClosure_1_0=null;
2677 Token otherlv_2=null;
2678 Token otherlv_4=null;
2679 Token otherlv_6=null;
2680 EObject lv_arguments_3_0 = null;
2681
2682 EObject lv_arguments_5_0 = null;
2683
2684
2685
2686 enterRule();
2687
2688 try {
2689 // InternalProblem.g:1000:2: ( ( ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )? otherlv_6= ')' ) )
2690 // InternalProblem.g:1001:2: ( ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )? otherlv_6= ')' )
2691 {
2692 // InternalProblem.g:1001:2: ( ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )? otherlv_6= ')' )
2693 // InternalProblem.g:1002:3: ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )? otherlv_6= ')'
2694 {
2695 // InternalProblem.g:1002:3: ( ( ruleQualifiedName ) )
2696 // InternalProblem.g:1003:4: ( ruleQualifiedName )
2697 {
2698 // InternalProblem.g:1003:4: ( ruleQualifiedName )
2699 // InternalProblem.g:1004:5: ruleQualifiedName
2700 {
2701
2702 if (current==null) {
2703 current = createModelElement(grammarAccess.getAtomRule());
2704 }
2705
2706
2707 newCompositeNode(grammarAccess.getAtomAccess().getRelationRelationCrossReference_0_0());
2708
2709 pushFollow(FOLLOW_28);
2710 ruleQualifiedName();
2711
2712 state._fsp--;
2713
2714
2715 afterParserOrEnumRuleCall();
2716
2717
2718 }
2719
2720
2721 }
2722
2723 // InternalProblem.g:1018:3: ( (lv_transitiveClosure_1_0= '+' ) )?
2724 int alt26=2;
2725 int LA26_0 = input.LA(1);
2726
2727 if ( (LA26_0==33) ) {
2728 alt26=1;
2729 }
2730 switch (alt26) {
2731 case 1 :
2732 // InternalProblem.g:1019:4: (lv_transitiveClosure_1_0= '+' )
2733 {
2734 // InternalProblem.g:1019:4: (lv_transitiveClosure_1_0= '+' )
2735 // InternalProblem.g:1020:5: lv_transitiveClosure_1_0= '+'
2736 {
2737 lv_transitiveClosure_1_0=(Token)match(input,33,FOLLOW_21);
2738
2739 newLeafNode(lv_transitiveClosure_1_0, grammarAccess.getAtomAccess().getTransitiveClosurePlusSignKeyword_1_0());
2740
2741
2742 if (current==null) {
2743 current = createModelElement(grammarAccess.getAtomRule());
2744 }
2745 setWithLastConsumed(current, "transitiveClosure", lv_transitiveClosure_1_0 != null, "+");
2746
2747
2748 }
2749
2750
2751 }
2752 break;
2753
2754 }
2755
2756 otherlv_2=(Token)match(input,29,FOLLOW_22);
2757
2758 newLeafNode(otherlv_2, grammarAccess.getAtomAccess().getLeftParenthesisKeyword_2());
2759
2760 // InternalProblem.g:1036:3: ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )?
2761 int alt28=2;
2762 int LA28_0 = input.LA(1);
2763
2764 if ( (LA28_0==RULE_ID||LA28_0==RULE_QUOTED_ID||(LA28_0>=40 && LA28_0<=41)) ) {
2765 alt28=1;
2766 }
2767 switch (alt28) {
2768 case 1 :
2769 // InternalProblem.g:1037:4: ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )*
2770 {
2771 // InternalProblem.g:1037:4: ( (lv_arguments_3_0= ruleArgument ) )
2772 // InternalProblem.g:1038:5: (lv_arguments_3_0= ruleArgument )
2773 {
2774 // InternalProblem.g:1038:5: (lv_arguments_3_0= ruleArgument )
2775 // InternalProblem.g:1039:6: lv_arguments_3_0= ruleArgument
2776 {
2777
2778 newCompositeNode(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_0_0());
2779
2780 pushFollow(FOLLOW_23);
2781 lv_arguments_3_0=ruleArgument();
2782
2783 state._fsp--;
2784
2785
2786 if (current==null) {
2787 current = createModelElementForParent(grammarAccess.getAtomRule());
2788 }
2789 add(
2790 current,
2791 "arguments",
2792 lv_arguments_3_0,
2793 "org.eclipse.viatra.solver.language.Problem.Argument");
2794 afterParserOrEnumRuleCall();
2795
2796
2797 }
2798
2799
2800 }
2801
2802 // InternalProblem.g:1056:4: (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )*
2803 loop27:
2804 do {
2805 int alt27=2;
2806 int LA27_0 = input.LA(1);
2807
2808 if ( (LA27_0==17) ) {
2809 alt27=1;
2810 }
2811
2812
2813 switch (alt27) {
2814 case 1 :
2815 // InternalProblem.g:1057:5: otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) )
2816 {
2817 otherlv_4=(Token)match(input,17,FOLLOW_8);
2818
2819 newLeafNode(otherlv_4, grammarAccess.getAtomAccess().getCommaKeyword_3_1_0());
2820
2821 // InternalProblem.g:1061:5: ( (lv_arguments_5_0= ruleArgument ) )
2822 // InternalProblem.g:1062:6: (lv_arguments_5_0= ruleArgument )
2823 {
2824 // InternalProblem.g:1062:6: (lv_arguments_5_0= ruleArgument )
2825 // InternalProblem.g:1063:7: lv_arguments_5_0= ruleArgument
2826 {
2827
2828 newCompositeNode(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_1_1_0());
2829
2830 pushFollow(FOLLOW_23);
2831 lv_arguments_5_0=ruleArgument();
2832
2833 state._fsp--;
2834
2835
2836 if (current==null) {
2837 current = createModelElementForParent(grammarAccess.getAtomRule());
2838 }
2839 add(
2840 current,
2841 "arguments",
2842 lv_arguments_5_0,
2843 "org.eclipse.viatra.solver.language.Problem.Argument");
2844 afterParserOrEnumRuleCall();
2845
2846
2847 }
2848
2849
2850 }
2851
2852
2853 }
2854 break;
2855
2856 default :
2857 break loop27;
2858 }
2859 } while (true);
2860
2861
2862 }
2863 break;
2864
2865 }
2866
2867 otherlv_6=(Token)match(input,30,FOLLOW_2);
2868
2869 newLeafNode(otherlv_6, grammarAccess.getAtomAccess().getRightParenthesisKeyword_4());
2870
2871
2872 }
2873
2874
2875 }
2876
2877
2878 leaveRule();
2879
2880 }
2881
2882 catch (RecognitionException re) {
2883 recover(input,re);
2884 appendSkippedTokens();
2885 }
2886 finally {
2887 }
2888 return current;
2889 }
2890 // $ANTLR end "ruleAtom"
2891
2892
2893 // $ANTLR start "entryRuleArgument"
2894 // InternalProblem.g:1090:1: entryRuleArgument returns [EObject current=null] : iv_ruleArgument= ruleArgument EOF ;
2895 public final EObject entryRuleArgument() throws RecognitionException {
2896 EObject current = null;
2897
2898 EObject iv_ruleArgument = null;
2899
2900
2901 try {
2902 // InternalProblem.g:1090:49: (iv_ruleArgument= ruleArgument EOF )
2903 // InternalProblem.g:1091:2: iv_ruleArgument= ruleArgument EOF
2904 {
2905 newCompositeNode(grammarAccess.getArgumentRule());
2906 pushFollow(FOLLOW_1);
2907 iv_ruleArgument=ruleArgument();
2908
2909 state._fsp--;
2910
2911 current =iv_ruleArgument;
2912 match(input,EOF,FOLLOW_2);
2913
2914 }
2915
2916 }
2917
2918 catch (RecognitionException re) {
2919 recover(input,re);
2920 appendSkippedTokens();
2921 }
2922 finally {
2923 }
2924 return current;
2925 }
2926 // $ANTLR end "entryRuleArgument"
2927
2928
2929 // $ANTLR start "ruleArgument"
2930 // InternalProblem.g:1097:1: ruleArgument returns [EObject current=null] : ( ( ruleQualifiedName ) ) ;
2931 public final EObject ruleArgument() throws RecognitionException {
2932 EObject current = null;
2933
2934
2935 enterRule();
2936
2937 try {
2938 // InternalProblem.g:1103:2: ( ( ( ruleQualifiedName ) ) )
2939 // InternalProblem.g:1104:2: ( ( ruleQualifiedName ) )
2940 {
2941 // InternalProblem.g:1104:2: ( ( ruleQualifiedName ) )
2942 // InternalProblem.g:1105:3: ( ruleQualifiedName )
2943 {
2944 // InternalProblem.g:1105:3: ( ruleQualifiedName )
2945 // InternalProblem.g:1106:4: ruleQualifiedName
2946 {
2947
2948 if (current==null) {
2949 current = createModelElement(grammarAccess.getArgumentRule());
2950 }
2951
2952
2953 newCompositeNode(grammarAccess.getArgumentAccess().getVariableOrNodeVariableOrNodeCrossReference_0());
2954
2955 pushFollow(FOLLOW_2);
2956 ruleQualifiedName();
2957
2958 state._fsp--;
2959
2960
2961 afterParserOrEnumRuleCall();
2962
2963
2964 }
2965
2966
2967 }
2968
2969
2970 }
2971
2972
2973 leaveRule();
2974
2975 }
2976
2977 catch (RecognitionException re) {
2978 recover(input,re);
2979 appendSkippedTokens();
2980 }
2981 finally {
2982 }
2983 return current;
2984 }
2985 // $ANTLR end "ruleArgument"
2986
2987
2988 // $ANTLR start "entryRuleAssertion"
2989 // InternalProblem.g:1123:1: entryRuleAssertion returns [EObject current=null] : iv_ruleAssertion= ruleAssertion EOF ;
2990 public final EObject entryRuleAssertion() throws RecognitionException {
2991 EObject current = null;
2992
2993 EObject iv_ruleAssertion = null;
2994
2995
2996 try {
2997 // InternalProblem.g:1123:50: (iv_ruleAssertion= ruleAssertion EOF )
2998 // InternalProblem.g:1124:2: iv_ruleAssertion= ruleAssertion EOF
2999 {
3000 newCompositeNode(grammarAccess.getAssertionRule());
3001 pushFollow(FOLLOW_1);
3002 iv_ruleAssertion=ruleAssertion();
3003
3004 state._fsp--;
3005
3006 current =iv_ruleAssertion;
3007 match(input,EOF,FOLLOW_2);
3008
3009 }
3010
3011 }
3012
3013 catch (RecognitionException re) {
3014 recover(input,re);
3015 appendSkippedTokens();
3016 }
3017 finally {
3018 }
3019 return current;
3020 }
3021 // $ANTLR end "entryRuleAssertion"
3022
3023
3024 // $ANTLR start "ruleAssertion"
3025 // InternalProblem.g:1130:1: ruleAssertion returns [EObject current=null] : ( ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) otherlv_15= '.' ) ;
3026 public final EObject ruleAssertion() throws RecognitionException {
3027 EObject current = null;
3028
3029 Token otherlv_1=null;
3030 Token otherlv_3=null;
3031 Token otherlv_5=null;
3032 Token otherlv_6=null;
3033 Token otherlv_10=null;
3034 Token otherlv_12=null;
3035 Token otherlv_14=null;
3036 Token otherlv_15=null;
3037 Enumerator lv_value_7_0 = null;
3038
3039 Enumerator lv_value_8_0 = null;
3040
3041
3042
3043 enterRule();
3044
3045 try {
3046 // InternalProblem.g:1136:2: ( ( ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) otherlv_15= '.' ) )
3047 // InternalProblem.g:1137:2: ( ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) otherlv_15= '.' )
3048 {
3049 // InternalProblem.g:1137:2: ( ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) otherlv_15= '.' )
3050 // InternalProblem.g:1138:3: ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) otherlv_15= '.'
3051 {
3052 // InternalProblem.g:1138:3: ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) )
3053 int alt34=2;
3054 alt34 = dfa34.predict(input);
3055 switch (alt34) {
3056 case 1 :
3057 // InternalProblem.g:1139:4: ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) )
3058 {
3059 // InternalProblem.g:1139:4: ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) )
3060 // InternalProblem.g:1140:5: ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) )
3061 {
3062 // InternalProblem.g:1140:5: ( ( ruleQualifiedName ) )
3063 // InternalProblem.g:1141:6: ( ruleQualifiedName )
3064 {
3065 // InternalProblem.g:1141:6: ( ruleQualifiedName )
3066 // InternalProblem.g:1142:7: ruleQualifiedName
3067 {
3068
3069 if (current==null) {
3070 current = createModelElement(grammarAccess.getAssertionRule());
3071 }
3072
3073
3074 newCompositeNode(grammarAccess.getAssertionAccess().getRelationRelationCrossReference_0_0_0_0());
3075
3076 pushFollow(FOLLOW_21);
3077 ruleQualifiedName();
3078
3079 state._fsp--;
3080
3081
3082 afterParserOrEnumRuleCall();
3083
3084
3085 }
3086
3087
3088 }
3089
3090 otherlv_1=(Token)match(input,29,FOLLOW_22);
3091
3092 newLeafNode(otherlv_1, grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_0_1());
3093
3094 // InternalProblem.g:1160:5: ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )?
3095 int alt30=2;
3096 int LA30_0 = input.LA(1);
3097
3098 if ( (LA30_0==RULE_ID||LA30_0==RULE_QUOTED_ID||(LA30_0>=40 && LA30_0<=41)) ) {
3099 alt30=1;
3100 }
3101 switch (alt30) {
3102 case 1 :
3103 // InternalProblem.g:1161:6: ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )*
3104 {
3105 // InternalProblem.g:1161:6: ( ( ruleQualifiedName ) )
3106 // InternalProblem.g:1162:7: ( ruleQualifiedName )
3107 {
3108 // InternalProblem.g:1162:7: ( ruleQualifiedName )
3109 // InternalProblem.g:1163:8: ruleQualifiedName
3110 {
3111
3112 if (current==null) {
3113 current = createModelElement(grammarAccess.getAssertionRule());
3114 }
3115
3116
3117 newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_0_2_0_0());
3118
3119 pushFollow(FOLLOW_23);
3120 ruleQualifiedName();
3121
3122 state._fsp--;
3123
3124
3125 afterParserOrEnumRuleCall();
3126
3127
3128 }
3129
3130
3131 }
3132
3133 // InternalProblem.g:1177:6: (otherlv_3= ',' ( ( ruleQualifiedName ) ) )*
3134 loop29:
3135 do {
3136 int alt29=2;
3137 int LA29_0 = input.LA(1);
3138
3139 if ( (LA29_0==17) ) {
3140 alt29=1;
3141 }
3142
3143
3144 switch (alt29) {
3145 case 1 :
3146 // InternalProblem.g:1178:7: otherlv_3= ',' ( ( ruleQualifiedName ) )
3147 {
3148 otherlv_3=(Token)match(input,17,FOLLOW_8);
3149
3150 newLeafNode(otherlv_3, grammarAccess.getAssertionAccess().getCommaKeyword_0_0_2_1_0());
3151
3152 // InternalProblem.g:1182:7: ( ( ruleQualifiedName ) )
3153 // InternalProblem.g:1183:8: ( ruleQualifiedName )
3154 {
3155 // InternalProblem.g:1183:8: ( ruleQualifiedName )
3156 // InternalProblem.g:1184:9: ruleQualifiedName
3157 {
3158
3159 if (current==null) {
3160 current = createModelElement(grammarAccess.getAssertionRule());
3161 }
3162
3163
3164 newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_0_2_1_1_0());
3165
3166 pushFollow(FOLLOW_23);
3167 ruleQualifiedName();
3168
3169 state._fsp--;
3170
3171
3172 afterParserOrEnumRuleCall();
3173
3174
3175 }
3176
3177
3178 }
3179
3180
3181 }
3182 break;
3183
3184 default :
3185 break loop29;
3186 }
3187 } while (true);
3188
3189
3190 }
3191 break;
3192
3193 }
3194
3195 otherlv_5=(Token)match(input,30,FOLLOW_29);
3196
3197 newLeafNode(otherlv_5, grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_0_3());
3198
3199 otherlv_6=(Token)match(input,34,FOLLOW_30);
3200
3201 newLeafNode(otherlv_6, grammarAccess.getAssertionAccess().getColonKeyword_0_0_4());
3202
3203 // InternalProblem.g:1208:5: ( (lv_value_7_0= ruleLogicValue ) )
3204 // InternalProblem.g:1209:6: (lv_value_7_0= ruleLogicValue )
3205 {
3206 // InternalProblem.g:1209:6: (lv_value_7_0= ruleLogicValue )
3207 // InternalProblem.g:1210:7: lv_value_7_0= ruleLogicValue
3208 {
3209
3210 newCompositeNode(grammarAccess.getAssertionAccess().getValueLogicValueEnumRuleCall_0_0_5_0());
3211
3212 pushFollow(FOLLOW_4);
3213 lv_value_7_0=ruleLogicValue();
3214
3215 state._fsp--;
3216
3217
3218 if (current==null) {
3219 current = createModelElementForParent(grammarAccess.getAssertionRule());
3220 }
3221 set(
3222 current,
3223 "value",
3224 lv_value_7_0,
3225 "org.eclipse.viatra.solver.language.Problem.LogicValue");
3226 afterParserOrEnumRuleCall();
3227
3228
3229 }
3230
3231
3232 }
3233
3234
3235 }
3236
3237
3238 }
3239 break;
3240 case 2 :
3241 // InternalProblem.g:1229:4: ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' )
3242 {
3243 // InternalProblem.g:1229:4: ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' )
3244 // InternalProblem.g:1230:5: ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')'
3245 {
3246 // InternalProblem.g:1230:5: ( (lv_value_8_0= ruleShortLogicValue ) )?
3247 int alt31=2;
3248 int LA31_0 = input.LA(1);
3249
3250 if ( (LA31_0==32||LA31_0==43) ) {
3251 alt31=1;
3252 }
3253 switch (alt31) {
3254 case 1 :
3255 // InternalProblem.g:1231:6: (lv_value_8_0= ruleShortLogicValue )
3256 {
3257 // InternalProblem.g:1231:6: (lv_value_8_0= ruleShortLogicValue )
3258 // InternalProblem.g:1232:7: lv_value_8_0= ruleShortLogicValue
3259 {
3260
3261 newCompositeNode(grammarAccess.getAssertionAccess().getValueShortLogicValueEnumRuleCall_0_1_0_0());
3262
3263 pushFollow(FOLLOW_8);
3264 lv_value_8_0=ruleShortLogicValue();
3265
3266 state._fsp--;
3267
3268
3269 if (current==null) {
3270 current = createModelElementForParent(grammarAccess.getAssertionRule());
3271 }
3272 set(
3273 current,
3274 "value",
3275 lv_value_8_0,
3276 "org.eclipse.viatra.solver.language.Problem.ShortLogicValue");
3277 afterParserOrEnumRuleCall();
3278
3279
3280 }
3281
3282
3283 }
3284 break;
3285
3286 }
3287
3288 // InternalProblem.g:1249:5: ( ( ruleQualifiedName ) )
3289 // InternalProblem.g:1250:6: ( ruleQualifiedName )
3290 {
3291 // InternalProblem.g:1250:6: ( ruleQualifiedName )
3292 // InternalProblem.g:1251:7: ruleQualifiedName
3293 {
3294
3295 if (current==null) {
3296 current = createModelElement(grammarAccess.getAssertionRule());
3297 }
3298
3299
3300 newCompositeNode(grammarAccess.getAssertionAccess().getRelationRelationCrossReference_0_1_1_0());
3301
3302 pushFollow(FOLLOW_21);
3303 ruleQualifiedName();
3304
3305 state._fsp--;
3306
3307
3308 afterParserOrEnumRuleCall();
3309
3310
3311 }
3312
3313
3314 }
3315
3316 otherlv_10=(Token)match(input,29,FOLLOW_22);
3317
3318 newLeafNode(otherlv_10, grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_1_2());
3319
3320 // InternalProblem.g:1269:5: ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )?
3321 int alt33=2;
3322 int LA33_0 = input.LA(1);
3323
3324 if ( (LA33_0==RULE_ID||LA33_0==RULE_QUOTED_ID||(LA33_0>=40 && LA33_0<=41)) ) {
3325 alt33=1;
3326 }
3327 switch (alt33) {
3328 case 1 :
3329 // InternalProblem.g:1270:6: ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )*
3330 {
3331 // InternalProblem.g:1270:6: ( ( ruleQualifiedName ) )
3332 // InternalProblem.g:1271:7: ( ruleQualifiedName )
3333 {
3334 // InternalProblem.g:1271:7: ( ruleQualifiedName )
3335 // InternalProblem.g:1272:8: ruleQualifiedName
3336 {
3337
3338 if (current==null) {
3339 current = createModelElement(grammarAccess.getAssertionRule());
3340 }
3341
3342
3343 newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_1_3_0_0());
3344
3345 pushFollow(FOLLOW_23);
3346 ruleQualifiedName();
3347
3348 state._fsp--;
3349
3350
3351 afterParserOrEnumRuleCall();
3352
3353
3354 }
3355
3356
3357 }
3358
3359 // InternalProblem.g:1286:6: (otherlv_12= ',' ( ( ruleQualifiedName ) ) )*
3360 loop32:
3361 do {
3362 int alt32=2;
3363 int LA32_0 = input.LA(1);
3364
3365 if ( (LA32_0==17) ) {
3366 alt32=1;
3367 }
3368
3369
3370 switch (alt32) {
3371 case 1 :
3372 // InternalProblem.g:1287:7: otherlv_12= ',' ( ( ruleQualifiedName ) )
3373 {
3374 otherlv_12=(Token)match(input,17,FOLLOW_8);
3375
3376 newLeafNode(otherlv_12, grammarAccess.getAssertionAccess().getCommaKeyword_0_1_3_1_0());
3377
3378 // InternalProblem.g:1291:7: ( ( ruleQualifiedName ) )
3379 // InternalProblem.g:1292:8: ( ruleQualifiedName )
3380 {
3381 // InternalProblem.g:1292:8: ( ruleQualifiedName )
3382 // InternalProblem.g:1293:9: ruleQualifiedName
3383 {
3384
3385 if (current==null) {
3386 current = createModelElement(grammarAccess.getAssertionRule());
3387 }
3388
3389
3390 newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_1_3_1_1_0());
3391
3392 pushFollow(FOLLOW_23);
3393 ruleQualifiedName();
3394
3395 state._fsp--;
3396
3397
3398 afterParserOrEnumRuleCall();
3399
3400
3401 }
3402
3403
3404 }
3405
3406
3407 }
3408 break;
3409
3410 default :
3411 break loop32;
3412 }
3413 } while (true);
3414
3415
3416 }
3417 break;
3418
3419 }
3420
3421 otherlv_14=(Token)match(input,30,FOLLOW_4);
3422
3423 newLeafNode(otherlv_14, grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_1_4());
3424
3425
3426 }
3427
3428
3429 }
3430 break;
3431
3432 }
3433
3434 otherlv_15=(Token)match(input,13,FOLLOW_2);
3435
3436 newLeafNode(otherlv_15, grammarAccess.getAssertionAccess().getFullStopKeyword_1());
3437
3438
3439 }
3440
3441
3442 }
3443
3444
3445 leaveRule();
3446
3447 }
3448
3449 catch (RecognitionException re) {
3450 recover(input,re);
3451 appendSkippedTokens();
3452 }
3453 finally {
3454 }
3455 return current;
3456 }
3457 // $ANTLR end "ruleAssertion"
3458
3459
3460 // $ANTLR start "entryRuleScopeDeclaration"
3461 // InternalProblem.g:1323:1: entryRuleScopeDeclaration returns [EObject current=null] : iv_ruleScopeDeclaration= ruleScopeDeclaration EOF ;
3462 public final EObject entryRuleScopeDeclaration() throws RecognitionException {
3463 EObject current = null;
3464
3465 EObject iv_ruleScopeDeclaration = null;
3466
3467
3468 try {
3469 // InternalProblem.g:1323:57: (iv_ruleScopeDeclaration= ruleScopeDeclaration EOF )
3470 // InternalProblem.g:1324:2: iv_ruleScopeDeclaration= ruleScopeDeclaration EOF
3471 {
3472 newCompositeNode(grammarAccess.getScopeDeclarationRule());
3473 pushFollow(FOLLOW_1);
3474 iv_ruleScopeDeclaration=ruleScopeDeclaration();
3475
3476 state._fsp--;
3477
3478 current =iv_ruleScopeDeclaration;
3479 match(input,EOF,FOLLOW_2);
3480
3481 }
3482
3483 }
3484
3485 catch (RecognitionException re) {
3486 recover(input,re);
3487 appendSkippedTokens();
3488 }
3489 finally {
3490 }
3491 return current;
3492 }
3493 // $ANTLR end "entryRuleScopeDeclaration"
3494
3495
3496 // $ANTLR start "ruleScopeDeclaration"
3497 // InternalProblem.g:1330:1: ruleScopeDeclaration returns [EObject current=null] : (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' ) ;
3498 public final EObject ruleScopeDeclaration() throws RecognitionException {
3499 EObject current = null;
3500
3501 Token otherlv_0=null;
3502 Token otherlv_2=null;
3503 Token otherlv_4=null;
3504 EObject lv_typeScopes_1_0 = null;
3505
3506 EObject lv_typeScopes_3_0 = null;
3507
3508
3509
3510 enterRule();
3511
3512 try {
3513 // InternalProblem.g:1336:2: ( (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' ) )
3514 // InternalProblem.g:1337:2: (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' )
3515 {
3516 // InternalProblem.g:1337:2: (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' )
3517 // InternalProblem.g:1338:3: otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.'
3518 {
3519 otherlv_0=(Token)match(input,35,FOLLOW_31);
3520
3521 newLeafNode(otherlv_0, grammarAccess.getScopeDeclarationAccess().getScopeKeyword_0());
3522
3523 // InternalProblem.g:1342:3: ( (lv_typeScopes_1_0= ruleTypeScope ) )
3524 // InternalProblem.g:1343:4: (lv_typeScopes_1_0= ruleTypeScope )
3525 {
3526 // InternalProblem.g:1343:4: (lv_typeScopes_1_0= ruleTypeScope )
3527 // InternalProblem.g:1344:5: lv_typeScopes_1_0= ruleTypeScope
3528 {
3529
3530 newCompositeNode(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_1_0());
3531
3532 pushFollow(FOLLOW_32);
3533 lv_typeScopes_1_0=ruleTypeScope();
3534
3535 state._fsp--;
3536
3537
3538 if (current==null) {
3539 current = createModelElementForParent(grammarAccess.getScopeDeclarationRule());
3540 }
3541 add(
3542 current,
3543 "typeScopes",
3544 lv_typeScopes_1_0,
3545 "org.eclipse.viatra.solver.language.Problem.TypeScope");
3546 afterParserOrEnumRuleCall();
3547
3548
3549 }
3550
3551
3552 }
3553
3554 // InternalProblem.g:1361:3: (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )*
3555 loop35:
3556 do {
3557 int alt35=2;
3558 int LA35_0 = input.LA(1);
3559
3560 if ( (LA35_0==17) ) {
3561 alt35=1;
3562 }
3563
3564
3565 switch (alt35) {
3566 case 1 :
3567 // InternalProblem.g:1362:4: otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) )
3568 {
3569 otherlv_2=(Token)match(input,17,FOLLOW_31);
3570
3571 newLeafNode(otherlv_2, grammarAccess.getScopeDeclarationAccess().getCommaKeyword_2_0());
3572
3573 // InternalProblem.g:1366:4: ( (lv_typeScopes_3_0= ruleTypeScope ) )
3574 // InternalProblem.g:1367:5: (lv_typeScopes_3_0= ruleTypeScope )
3575 {
3576 // InternalProblem.g:1367:5: (lv_typeScopes_3_0= ruleTypeScope )
3577 // InternalProblem.g:1368:6: lv_typeScopes_3_0= ruleTypeScope
3578 {
3579
3580 newCompositeNode(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_2_1_0());
3581
3582 pushFollow(FOLLOW_32);
3583 lv_typeScopes_3_0=ruleTypeScope();
3584
3585 state._fsp--;
3586
3587
3588 if (current==null) {
3589 current = createModelElementForParent(grammarAccess.getScopeDeclarationRule());
3590 }
3591 add(
3592 current,
3593 "typeScopes",
3594 lv_typeScopes_3_0,
3595 "org.eclipse.viatra.solver.language.Problem.TypeScope");
3596 afterParserOrEnumRuleCall();
3597
3598
3599 }
3600
3601
3602 }
3603
3604
3605 }
3606 break;
3607
3608 default :
3609 break loop35;
3610 }
3611 } while (true);
3612
3613 otherlv_4=(Token)match(input,13,FOLLOW_2);
3614
3615 newLeafNode(otherlv_4, grammarAccess.getScopeDeclarationAccess().getFullStopKeyword_3());
3616
3617
3618 }
3619
3620
3621 }
3622
3623
3624 leaveRule();
3625
3626 }
3627
3628 catch (RecognitionException re) {
3629 recover(input,re);
3630 appendSkippedTokens();
3631 }
3632 finally {
3633 }
3634 return current;
3635 }
3636 // $ANTLR end "ruleScopeDeclaration"
3637
3638
3639 // $ANTLR start "entryRuleTypeScope"
3640 // InternalProblem.g:1394:1: entryRuleTypeScope returns [EObject current=null] : iv_ruleTypeScope= ruleTypeScope EOF ;
3641 public final EObject entryRuleTypeScope() throws RecognitionException {
3642 EObject current = null;
3643
3644 EObject iv_ruleTypeScope = null;
3645
3646
3647 try {
3648 // InternalProblem.g:1394:50: (iv_ruleTypeScope= ruleTypeScope EOF )
3649 // InternalProblem.g:1395:2: iv_ruleTypeScope= ruleTypeScope EOF
3650 {
3651 newCompositeNode(grammarAccess.getTypeScopeRule());
3652 pushFollow(FOLLOW_1);
3653 iv_ruleTypeScope=ruleTypeScope();
3654
3655 state._fsp--;
3656
3657 current =iv_ruleTypeScope;
3658 match(input,EOF,FOLLOW_2);
3659
3660 }
3661
3662 }
3663
3664 catch (RecognitionException re) {
3665 recover(input,re);
3666 appendSkippedTokens();
3667 }
3668 finally {
3669 }
3670 return current;
3671 }
3672 // $ANTLR end "entryRuleTypeScope"
3673
3674
3675 // $ANTLR start "ruleTypeScope"
3676 // InternalProblem.g:1401:1: ruleTypeScope returns [EObject current=null] : ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) ) ;
3677 public final EObject ruleTypeScope() throws RecognitionException {
3678 EObject current = null;
3679
3680 Token otherlv_0=null;
3681 Token lv_increment_1_0=null;
3682 Token otherlv_2=null;
3683 EObject lv_multiplicity_3_0 = null;
3684
3685
3686
3687 enterRule();
3688
3689 try {
3690 // InternalProblem.g:1407:2: ( ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) ) )
3691 // InternalProblem.g:1408:2: ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) )
3692 {
3693 // InternalProblem.g:1408:2: ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) )
3694 // InternalProblem.g:1409:3: ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) )
3695 {
3696 // InternalProblem.g:1409:3: ( (otherlv_0= RULE_ID ) )
3697 // InternalProblem.g:1410:4: (otherlv_0= RULE_ID )
3698 {
3699 // InternalProblem.g:1410:4: (otherlv_0= RULE_ID )
3700 // InternalProblem.g:1411:5: otherlv_0= RULE_ID
3701 {
3702
3703 if (current==null) {
3704 current = createModelElement(grammarAccess.getTypeScopeRule());
3705 }
3706
3707 otherlv_0=(Token)match(input,RULE_ID,FOLLOW_33);
3708
3709 newLeafNode(otherlv_0, grammarAccess.getTypeScopeAccess().getTargetTypeClassDeclarationCrossReference_0_0());
3710
3711
3712 }
3713
3714
3715 }
3716
3717 // InternalProblem.g:1422:3: ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' )
3718 int alt36=2;
3719 int LA36_0 = input.LA(1);
3720
3721 if ( (LA36_0==36) ) {
3722 alt36=1;
3723 }
3724 else if ( (LA36_0==37) ) {
3725 alt36=2;
3726 }
3727 else {
3728 NoViableAltException nvae =
3729 new NoViableAltException("", 36, 0, input);
3730
3731 throw nvae;
3732 }
3733 switch (alt36) {
3734 case 1 :
3735 // InternalProblem.g:1423:4: ( (lv_increment_1_0= '+=' ) )
3736 {
3737 // InternalProblem.g:1423:4: ( (lv_increment_1_0= '+=' ) )
3738 // InternalProblem.g:1424:5: (lv_increment_1_0= '+=' )
3739 {
3740 // InternalProblem.g:1424:5: (lv_increment_1_0= '+=' )
3741 // InternalProblem.g:1425:6: lv_increment_1_0= '+='
3742 {
3743 lv_increment_1_0=(Token)match(input,36,FOLLOW_17);
3744
3745 newLeafNode(lv_increment_1_0, grammarAccess.getTypeScopeAccess().getIncrementPlusSignEqualsSignKeyword_1_0_0());
3746
3747
3748 if (current==null) {
3749 current = createModelElement(grammarAccess.getTypeScopeRule());
3750 }
3751 setWithLastConsumed(current, "increment", lv_increment_1_0 != null, "+=");
3752
3753
3754 }
3755
3756
3757 }
3758
3759
3760 }
3761 break;
3762 case 2 :
3763 // InternalProblem.g:1438:4: otherlv_2= '='
3764 {
3765 otherlv_2=(Token)match(input,37,FOLLOW_17);
3766
3767 newLeafNode(otherlv_2, grammarAccess.getTypeScopeAccess().getEqualsSignKeyword_1_1());
3768
3769
3770 }
3771 break;
3772
3773 }
3774
3775 // InternalProblem.g:1443:3: ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) )
3776 // InternalProblem.g:1444:4: (lv_multiplicity_3_0= ruleDefiniteMultiplicity )
3777 {
3778 // InternalProblem.g:1444:4: (lv_multiplicity_3_0= ruleDefiniteMultiplicity )
3779 // InternalProblem.g:1445:5: lv_multiplicity_3_0= ruleDefiniteMultiplicity
3780 {
3781
3782 newCompositeNode(grammarAccess.getTypeScopeAccess().getMultiplicityDefiniteMultiplicityParserRuleCall_2_0());
3783
3784 pushFollow(FOLLOW_2);
3785 lv_multiplicity_3_0=ruleDefiniteMultiplicity();
3786
3787 state._fsp--;
3788
3789
3790 if (current==null) {
3791 current = createModelElementForParent(grammarAccess.getTypeScopeRule());
3792 }
3793 set(
3794 current,
3795 "multiplicity",
3796 lv_multiplicity_3_0,
3797 "org.eclipse.viatra.solver.language.Problem.DefiniteMultiplicity");
3798 afterParserOrEnumRuleCall();
3799
3800
3801 }
3802
3803
3804 }
3805
3806
3807 }
3808
3809
3810 }
3811
3812
3813 leaveRule();
3814
3815 }
3816
3817 catch (RecognitionException re) {
3818 recover(input,re);
3819 appendSkippedTokens();
3820 }
3821 finally {
3822 }
3823 return current;
3824 }
3825 // $ANTLR end "ruleTypeScope"
3826
3827
3828 // $ANTLR start "entryRuleMultiplicity"
3829 // InternalProblem.g:1466:1: entryRuleMultiplicity returns [EObject current=null] : iv_ruleMultiplicity= ruleMultiplicity EOF ;
3830 public final EObject entryRuleMultiplicity() throws RecognitionException {
3831 EObject current = null;
3832
3833 EObject iv_ruleMultiplicity = null;
3834
3835
3836 try {
3837 // InternalProblem.g:1466:53: (iv_ruleMultiplicity= ruleMultiplicity EOF )
3838 // InternalProblem.g:1467:2: iv_ruleMultiplicity= ruleMultiplicity EOF
3839 {
3840 newCompositeNode(grammarAccess.getMultiplicityRule());
3841 pushFollow(FOLLOW_1);
3842 iv_ruleMultiplicity=ruleMultiplicity();
3843
3844 state._fsp--;
3845
3846 current =iv_ruleMultiplicity;
3847 match(input,EOF,FOLLOW_2);
3848
3849 }
3850
3851 }
3852
3853 catch (RecognitionException re) {
3854 recover(input,re);
3855 appendSkippedTokens();
3856 }
3857 finally {
3858 }
3859 return current;
3860 }
3861 // $ANTLR end "entryRuleMultiplicity"
3862
3863
3864 // $ANTLR start "ruleMultiplicity"
3865 // InternalProblem.g:1473:1: ruleMultiplicity returns [EObject current=null] : (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity ) ;
3866 public final EObject ruleMultiplicity() throws RecognitionException {
3867 EObject current = null;
3868
3869 EObject this_UnboundedMultiplicity_0 = null;
3870
3871 EObject this_DefiniteMultiplicity_1 = null;
3872
3873
3874
3875 enterRule();
3876
3877 try {
3878 // InternalProblem.g:1479:2: ( (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity ) )
3879 // InternalProblem.g:1480:2: (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity )
3880 {
3881 // InternalProblem.g:1480:2: (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity )
3882 int alt37=2;
3883 int LA37_0 = input.LA(1);
3884
3885 if ( (LA37_0==EOF||LA37_0==25) ) {
3886 alt37=1;
3887 }
3888 else if ( (LA37_0==RULE_INT) ) {
3889 alt37=2;
3890 }
3891 else {
3892 NoViableAltException nvae =
3893 new NoViableAltException("", 37, 0, input);
3894
3895 throw nvae;
3896 }
3897 switch (alt37) {
3898 case 1 :
3899 // InternalProblem.g:1481:3: this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity
3900 {
3901
3902 newCompositeNode(grammarAccess.getMultiplicityAccess().getUnboundedMultiplicityParserRuleCall_0());
3903
3904 pushFollow(FOLLOW_2);
3905 this_UnboundedMultiplicity_0=ruleUnboundedMultiplicity();
3906
3907 state._fsp--;
3908
3909
3910 current = this_UnboundedMultiplicity_0;
3911 afterParserOrEnumRuleCall();
3912
3913
3914 }
3915 break;
3916 case 2 :
3917 // InternalProblem.g:1490:3: this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity
3918 {
3919
3920 newCompositeNode(grammarAccess.getMultiplicityAccess().getDefiniteMultiplicityParserRuleCall_1());
3921
3922 pushFollow(FOLLOW_2);
3923 this_DefiniteMultiplicity_1=ruleDefiniteMultiplicity();
3924
3925 state._fsp--;
3926
3927
3928 current = this_DefiniteMultiplicity_1;
3929 afterParserOrEnumRuleCall();
3930
3931
3932 }
3933 break;
3934
3935 }
3936
3937
3938 }
3939
3940
3941 leaveRule();
3942
3943 }
3944
3945 catch (RecognitionException re) {
3946 recover(input,re);
3947 appendSkippedTokens();
3948 }
3949 finally {
3950 }
3951 return current;
3952 }
3953 // $ANTLR end "ruleMultiplicity"
3954
3955
3956 // $ANTLR start "entryRuleDefiniteMultiplicity"
3957 // InternalProblem.g:1502:1: entryRuleDefiniteMultiplicity returns [EObject current=null] : iv_ruleDefiniteMultiplicity= ruleDefiniteMultiplicity EOF ;
3958 public final EObject entryRuleDefiniteMultiplicity() throws RecognitionException {
3959 EObject current = null;
3960
3961 EObject iv_ruleDefiniteMultiplicity = null;
3962
3963
3964 try {
3965 // InternalProblem.g:1502:61: (iv_ruleDefiniteMultiplicity= ruleDefiniteMultiplicity EOF )
3966 // InternalProblem.g:1503:2: iv_ruleDefiniteMultiplicity= ruleDefiniteMultiplicity EOF
3967 {
3968 newCompositeNode(grammarAccess.getDefiniteMultiplicityRule());
3969 pushFollow(FOLLOW_1);
3970 iv_ruleDefiniteMultiplicity=ruleDefiniteMultiplicity();
3971
3972 state._fsp--;
3973
3974 current =iv_ruleDefiniteMultiplicity;
3975 match(input,EOF,FOLLOW_2);
3976
3977 }
3978
3979 }
3980
3981 catch (RecognitionException re) {
3982 recover(input,re);
3983 appendSkippedTokens();
3984 }
3985 finally {
3986 }
3987 return current;
3988 }
3989 // $ANTLR end "entryRuleDefiniteMultiplicity"
3990
3991
3992 // $ANTLR start "ruleDefiniteMultiplicity"
3993 // InternalProblem.g:1509:1: ruleDefiniteMultiplicity returns [EObject current=null] : (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity ) ;
3994 public final EObject ruleDefiniteMultiplicity() throws RecognitionException {
3995 EObject current = null;
3996
3997 EObject this_RangeMultiplicity_0 = null;
3998
3999 EObject this_ExactMultiplicity_1 = null;
4000
4001
4002
4003 enterRule();
4004
4005 try {
4006 // InternalProblem.g:1515:2: ( (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity ) )
4007 // InternalProblem.g:1516:2: (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity )
4008 {
4009 // InternalProblem.g:1516:2: (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity )
4010 int alt38=2;
4011 int LA38_0 = input.LA(1);
4012
4013 if ( (LA38_0==RULE_INT) ) {
4014 int LA38_1 = input.LA(2);
4015
4016 if ( (LA38_1==38) ) {
4017 alt38=1;
4018 }
4019 else if ( (LA38_1==EOF||LA38_1==13||LA38_1==17||LA38_1==25) ) {
4020 alt38=2;
4021 }
4022 else {
4023 NoViableAltException nvae =
4024 new NoViableAltException("", 38, 1, input);
4025
4026 throw nvae;
4027 }
4028 }
4029 else {
4030 NoViableAltException nvae =
4031 new NoViableAltException("", 38, 0, input);
4032
4033 throw nvae;
4034 }
4035 switch (alt38) {
4036 case 1 :
4037 // InternalProblem.g:1517:3: this_RangeMultiplicity_0= ruleRangeMultiplicity
4038 {
4039
4040 newCompositeNode(grammarAccess.getDefiniteMultiplicityAccess().getRangeMultiplicityParserRuleCall_0());
4041
4042 pushFollow(FOLLOW_2);
4043 this_RangeMultiplicity_0=ruleRangeMultiplicity();
4044
4045 state._fsp--;
4046
4047
4048 current = this_RangeMultiplicity_0;
4049 afterParserOrEnumRuleCall();
4050
4051
4052 }
4053 break;
4054 case 2 :
4055 // InternalProblem.g:1526:3: this_ExactMultiplicity_1= ruleExactMultiplicity
4056 {
4057
4058 newCompositeNode(grammarAccess.getDefiniteMultiplicityAccess().getExactMultiplicityParserRuleCall_1());
4059
4060 pushFollow(FOLLOW_2);
4061 this_ExactMultiplicity_1=ruleExactMultiplicity();
4062
4063 state._fsp--;
4064
4065
4066 current = this_ExactMultiplicity_1;
4067 afterParserOrEnumRuleCall();
4068
4069
4070 }
4071 break;
4072
4073 }
4074
4075
4076 }
4077
4078
4079 leaveRule();
4080
4081 }
4082
4083 catch (RecognitionException re) {
4084 recover(input,re);
4085 appendSkippedTokens();
4086 }
4087 finally {
4088 }
4089 return current;
4090 }
4091 // $ANTLR end "ruleDefiniteMultiplicity"
4092
4093
4094 // $ANTLR start "entryRuleUnboundedMultiplicity"
4095 // InternalProblem.g:1538:1: entryRuleUnboundedMultiplicity returns [EObject current=null] : iv_ruleUnboundedMultiplicity= ruleUnboundedMultiplicity EOF ;
4096 public final EObject entryRuleUnboundedMultiplicity() throws RecognitionException {
4097 EObject current = null;
4098
4099 EObject iv_ruleUnboundedMultiplicity = null;
4100
4101
4102 try {
4103 // InternalProblem.g:1538:62: (iv_ruleUnboundedMultiplicity= ruleUnboundedMultiplicity EOF )
4104 // InternalProblem.g:1539:2: iv_ruleUnboundedMultiplicity= ruleUnboundedMultiplicity EOF
4105 {
4106 newCompositeNode(grammarAccess.getUnboundedMultiplicityRule());
4107 pushFollow(FOLLOW_1);
4108 iv_ruleUnboundedMultiplicity=ruleUnboundedMultiplicity();
4109
4110 state._fsp--;
4111
4112 current =iv_ruleUnboundedMultiplicity;
4113 match(input,EOF,FOLLOW_2);
4114
4115 }
4116
4117 }
4118
4119 catch (RecognitionException re) {
4120 recover(input,re);
4121 appendSkippedTokens();
4122 }
4123 finally {
4124 }
4125 return current;
4126 }
4127 // $ANTLR end "entryRuleUnboundedMultiplicity"
4128
4129
4130 // $ANTLR start "ruleUnboundedMultiplicity"
4131 // InternalProblem.g:1545:1: ruleUnboundedMultiplicity returns [EObject current=null] : () ;
4132 public final EObject ruleUnboundedMultiplicity() throws RecognitionException {
4133 EObject current = null;
4134
4135
4136 enterRule();
4137
4138 try {
4139 // InternalProblem.g:1551:2: ( () )
4140 // InternalProblem.g:1552:2: ()
4141 {
4142 // InternalProblem.g:1552:2: ()
4143 // InternalProblem.g:1553:3:
4144 {
4145
4146 current = forceCreateModelElement(
4147 grammarAccess.getUnboundedMultiplicityAccess().getUnboundedMultiplicityAction(),
4148 current);
4149
4150
4151 }
4152
4153
4154 }
4155
4156
4157 leaveRule();
4158
4159 }
4160 finally {
4161 }
4162 return current;
4163 }
4164 // $ANTLR end "ruleUnboundedMultiplicity"
4165
4166
4167 // $ANTLR start "entryRuleRangeMultiplicity"
4168 // InternalProblem.g:1562:1: entryRuleRangeMultiplicity returns [EObject current=null] : iv_ruleRangeMultiplicity= ruleRangeMultiplicity EOF ;
4169 public final EObject entryRuleRangeMultiplicity() throws RecognitionException {
4170 EObject current = null;
4171
4172 EObject iv_ruleRangeMultiplicity = null;
4173
4174
4175 try {
4176 // InternalProblem.g:1562:58: (iv_ruleRangeMultiplicity= ruleRangeMultiplicity EOF )
4177 // InternalProblem.g:1563:2: iv_ruleRangeMultiplicity= ruleRangeMultiplicity EOF
4178 {
4179 newCompositeNode(grammarAccess.getRangeMultiplicityRule());
4180 pushFollow(FOLLOW_1);
4181 iv_ruleRangeMultiplicity=ruleRangeMultiplicity();
4182
4183 state._fsp--;
4184
4185 current =iv_ruleRangeMultiplicity;
4186 match(input,EOF,FOLLOW_2);
4187
4188 }
4189
4190 }
4191
4192 catch (RecognitionException re) {
4193 recover(input,re);
4194 appendSkippedTokens();
4195 }
4196 finally {
4197 }
4198 return current;
4199 }
4200 // $ANTLR end "entryRuleRangeMultiplicity"
4201
4202
4203 // $ANTLR start "ruleRangeMultiplicity"
4204 // InternalProblem.g:1569:1: ruleRangeMultiplicity returns [EObject current=null] : ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) ) ;
4205 public final EObject ruleRangeMultiplicity() throws RecognitionException {
4206 EObject current = null;
4207
4208 Token lv_lowerBound_0_0=null;
4209 Token otherlv_1=null;
4210 AntlrDatatypeRuleToken lv_upperBound_2_0 = null;
4211
4212
4213
4214 enterRule();
4215
4216 try {
4217 // InternalProblem.g:1575:2: ( ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) ) )
4218 // InternalProblem.g:1576:2: ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) )
4219 {
4220 // InternalProblem.g:1576:2: ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) )
4221 // InternalProblem.g:1577:3: ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) )
4222 {
4223 // InternalProblem.g:1577:3: ( (lv_lowerBound_0_0= RULE_INT ) )
4224 // InternalProblem.g:1578:4: (lv_lowerBound_0_0= RULE_INT )
4225 {
4226 // InternalProblem.g:1578:4: (lv_lowerBound_0_0= RULE_INT )
4227 // InternalProblem.g:1579:5: lv_lowerBound_0_0= RULE_INT
4228 {
4229 lv_lowerBound_0_0=(Token)match(input,RULE_INT,FOLLOW_34);
4230
4231 newLeafNode(lv_lowerBound_0_0, grammarAccess.getRangeMultiplicityAccess().getLowerBoundINTTerminalRuleCall_0_0());
4232
4233
4234 if (current==null) {
4235 current = createModelElement(grammarAccess.getRangeMultiplicityRule());
4236 }
4237 setWithLastConsumed(
4238 current,
4239 "lowerBound",
4240 lv_lowerBound_0_0,
4241 "org.eclipse.xtext.common.Terminals.INT");
4242
4243
4244 }
4245
4246
4247 }
4248
4249 otherlv_1=(Token)match(input,38,FOLLOW_35);
4250
4251 newLeafNode(otherlv_1, grammarAccess.getRangeMultiplicityAccess().getFullStopFullStopKeyword_1());
4252
4253 // InternalProblem.g:1599:3: ( (lv_upperBound_2_0= ruleUpperBound ) )
4254 // InternalProblem.g:1600:4: (lv_upperBound_2_0= ruleUpperBound )
4255 {
4256 // InternalProblem.g:1600:4: (lv_upperBound_2_0= ruleUpperBound )
4257 // InternalProblem.g:1601:5: lv_upperBound_2_0= ruleUpperBound
4258 {
4259
4260 newCompositeNode(grammarAccess.getRangeMultiplicityAccess().getUpperBoundUpperBoundParserRuleCall_2_0());
4261
4262 pushFollow(FOLLOW_2);
4263 lv_upperBound_2_0=ruleUpperBound();
4264
4265 state._fsp--;
4266
4267
4268 if (current==null) {
4269 current = createModelElementForParent(grammarAccess.getRangeMultiplicityRule());
4270 }
4271 set(
4272 current,
4273 "upperBound",
4274 lv_upperBound_2_0,
4275 "org.eclipse.viatra.solver.language.Problem.UpperBound");
4276 afterParserOrEnumRuleCall();
4277
4278
4279 }
4280
4281
4282 }
4283
4284
4285 }
4286
4287
4288 }
4289
4290
4291 leaveRule();
4292
4293 }
4294
4295 catch (RecognitionException re) {
4296 recover(input,re);
4297 appendSkippedTokens();
4298 }
4299 finally {
4300 }
4301 return current;
4302 }
4303 // $ANTLR end "ruleRangeMultiplicity"
4304
4305
4306 // $ANTLR start "entryRuleExactMultiplicity"
4307 // InternalProblem.g:1622:1: entryRuleExactMultiplicity returns [EObject current=null] : iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ;
4308 public final EObject entryRuleExactMultiplicity() throws RecognitionException {
4309 EObject current = null;
4310
4311 EObject iv_ruleExactMultiplicity = null;
4312
4313
4314 try {
4315 // InternalProblem.g:1622:58: (iv_ruleExactMultiplicity= ruleExactMultiplicity EOF )
4316 // InternalProblem.g:1623:2: iv_ruleExactMultiplicity= ruleExactMultiplicity EOF
4317 {
4318 newCompositeNode(grammarAccess.getExactMultiplicityRule());
4319 pushFollow(FOLLOW_1);
4320 iv_ruleExactMultiplicity=ruleExactMultiplicity();
4321
4322 state._fsp--;
4323
4324 current =iv_ruleExactMultiplicity;
4325 match(input,EOF,FOLLOW_2);
4326
4327 }
4328
4329 }
4330
4331 catch (RecognitionException re) {
4332 recover(input,re);
4333 appendSkippedTokens();
4334 }
4335 finally {
4336 }
4337 return current;
4338 }
4339 // $ANTLR end "entryRuleExactMultiplicity"
4340
4341
4342 // $ANTLR start "ruleExactMultiplicity"
4343 // InternalProblem.g:1629:1: ruleExactMultiplicity returns [EObject current=null] : ( (lv_exactValue_0_0= RULE_INT ) ) ;
4344 public final EObject ruleExactMultiplicity() throws RecognitionException {
4345 EObject current = null;
4346
4347 Token lv_exactValue_0_0=null;
4348
4349
4350 enterRule();
4351
4352 try {
4353 // InternalProblem.g:1635:2: ( ( (lv_exactValue_0_0= RULE_INT ) ) )
4354 // InternalProblem.g:1636:2: ( (lv_exactValue_0_0= RULE_INT ) )
4355 {
4356 // InternalProblem.g:1636:2: ( (lv_exactValue_0_0= RULE_INT ) )
4357 // InternalProblem.g:1637:3: (lv_exactValue_0_0= RULE_INT )
4358 {
4359 // InternalProblem.g:1637:3: (lv_exactValue_0_0= RULE_INT )
4360 // InternalProblem.g:1638:4: lv_exactValue_0_0= RULE_INT
4361 {
4362 lv_exactValue_0_0=(Token)match(input,RULE_INT,FOLLOW_2);
4363
4364 newLeafNode(lv_exactValue_0_0, grammarAccess.getExactMultiplicityAccess().getExactValueINTTerminalRuleCall_0());
4365
4366
4367 if (current==null) {
4368 current = createModelElement(grammarAccess.getExactMultiplicityRule());
4369 }
4370 setWithLastConsumed(
4371 current,
4372 "exactValue",
4373 lv_exactValue_0_0,
4374 "org.eclipse.xtext.common.Terminals.INT");
4375
4376
4377 }
4378
4379
4380 }
4381
4382
4383 }
4384
4385
4386 leaveRule();
4387
4388 }
4389
4390 catch (RecognitionException re) {
4391 recover(input,re);
4392 appendSkippedTokens();
4393 }
4394 finally {
4395 }
4396 return current;
4397 }
4398 // $ANTLR end "ruleExactMultiplicity"
4399
4400
4401 // $ANTLR start "entryRuleUpperBound"
4402 // InternalProblem.g:1657:1: entryRuleUpperBound returns [String current=null] : iv_ruleUpperBound= ruleUpperBound EOF ;
4403 public final String entryRuleUpperBound() throws RecognitionException {
4404 String current = null;
4405
4406 AntlrDatatypeRuleToken iv_ruleUpperBound = null;
4407
4408
4409 try {
4410 // InternalProblem.g:1657:50: (iv_ruleUpperBound= ruleUpperBound EOF )
4411 // InternalProblem.g:1658:2: iv_ruleUpperBound= ruleUpperBound EOF
4412 {
4413 newCompositeNode(grammarAccess.getUpperBoundRule());
4414 pushFollow(FOLLOW_1);
4415 iv_ruleUpperBound=ruleUpperBound();
4416
4417 state._fsp--;
4418
4419 current =iv_ruleUpperBound.getText();
4420 match(input,EOF,FOLLOW_2);
4421
4422 }
4423
4424 }
4425
4426 catch (RecognitionException re) {
4427 recover(input,re);
4428 appendSkippedTokens();
4429 }
4430 finally {
4431 }
4432 return current;
4433 }
4434 // $ANTLR end "entryRuleUpperBound"
4435
4436
4437 // $ANTLR start "ruleUpperBound"
4438 // InternalProblem.g:1664:1: ruleUpperBound returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | kw= '*' ) ;
4439 public final AntlrDatatypeRuleToken ruleUpperBound() throws RecognitionException {
4440 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
4441
4442 Token this_INT_0=null;
4443 Token kw=null;
4444
4445
4446 enterRule();
4447
4448 try {
4449 // InternalProblem.g:1670:2: ( (this_INT_0= RULE_INT | kw= '*' ) )
4450 // InternalProblem.g:1671:2: (this_INT_0= RULE_INT | kw= '*' )
4451 {
4452 // InternalProblem.g:1671:2: (this_INT_0= RULE_INT | kw= '*' )
4453 int alt39=2;
4454 int LA39_0 = input.LA(1);
4455
4456 if ( (LA39_0==RULE_INT) ) {
4457 alt39=1;
4458 }
4459 else if ( (LA39_0==39) ) {
4460 alt39=2;
4461 }
4462 else {
4463 NoViableAltException nvae =
4464 new NoViableAltException("", 39, 0, input);
4465
4466 throw nvae;
4467 }
4468 switch (alt39) {
4469 case 1 :
4470 // InternalProblem.g:1672:3: this_INT_0= RULE_INT
4471 {
4472 this_INT_0=(Token)match(input,RULE_INT,FOLLOW_2);
4473
4474 current.merge(this_INT_0);
4475
4476
4477 newLeafNode(this_INT_0, grammarAccess.getUpperBoundAccess().getINTTerminalRuleCall_0());
4478
4479
4480 }
4481 break;
4482 case 2 :
4483 // InternalProblem.g:1680:3: kw= '*'
4484 {
4485 kw=(Token)match(input,39,FOLLOW_2);
4486
4487 current.merge(kw);
4488 newLeafNode(kw, grammarAccess.getUpperBoundAccess().getAsteriskKeyword_1());
4489
4490
4491 }
4492 break;
4493
4494 }
4495
4496
4497 }
4498
4499
4500 leaveRule();
4501
4502 }
4503
4504 catch (RecognitionException re) {
4505 recover(input,re);
4506 appendSkippedTokens();
4507 }
4508 finally {
4509 }
4510 return current;
4511 }
4512 // $ANTLR end "ruleUpperBound"
4513
4514
4515 // $ANTLR start "entryRuleQuotedOrUnquotedId"
4516 // InternalProblem.g:1689:1: entryRuleQuotedOrUnquotedId returns [String current=null] : iv_ruleQuotedOrUnquotedId= ruleQuotedOrUnquotedId EOF ;
4517 public final String entryRuleQuotedOrUnquotedId() throws RecognitionException {
4518 String current = null;
4519
4520 AntlrDatatypeRuleToken iv_ruleQuotedOrUnquotedId = null;
4521
4522
4523 try {
4524 // InternalProblem.g:1689:58: (iv_ruleQuotedOrUnquotedId= ruleQuotedOrUnquotedId EOF )
4525 // InternalProblem.g:1690:2: iv_ruleQuotedOrUnquotedId= ruleQuotedOrUnquotedId EOF
4526 {
4527 newCompositeNode(grammarAccess.getQuotedOrUnquotedIdRule());
4528 pushFollow(FOLLOW_1);
4529 iv_ruleQuotedOrUnquotedId=ruleQuotedOrUnquotedId();
4530
4531 state._fsp--;
4532
4533 current =iv_ruleQuotedOrUnquotedId.getText();
4534 match(input,EOF,FOLLOW_2);
4535
4536 }
4537
4538 }
4539
4540 catch (RecognitionException re) {
4541 recover(input,re);
4542 appendSkippedTokens();
4543 }
4544 finally {
4545 }
4546 return current;
4547 }
4548 // $ANTLR end "entryRuleQuotedOrUnquotedId"
4549
4550
4551 // $ANTLR start "ruleQuotedOrUnquotedId"
4552 // InternalProblem.g:1696:1: ruleQuotedOrUnquotedId returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_QUOTED_ID_0= RULE_QUOTED_ID | this_Identifier_1= ruleIdentifier ) ;
4553 public final AntlrDatatypeRuleToken ruleQuotedOrUnquotedId() throws RecognitionException {
4554 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
4555
4556 Token this_QUOTED_ID_0=null;
4557 AntlrDatatypeRuleToken this_Identifier_1 = null;
4558
4559
4560
4561 enterRule();
4562
4563 try {
4564 // InternalProblem.g:1702:2: ( (this_QUOTED_ID_0= RULE_QUOTED_ID | this_Identifier_1= ruleIdentifier ) )
4565 // InternalProblem.g:1703:2: (this_QUOTED_ID_0= RULE_QUOTED_ID | this_Identifier_1= ruleIdentifier )
4566 {
4567 // InternalProblem.g:1703:2: (this_QUOTED_ID_0= RULE_QUOTED_ID | this_Identifier_1= ruleIdentifier )
4568 int alt40=2;
4569 int LA40_0 = input.LA(1);
4570
4571 if ( (LA40_0==RULE_QUOTED_ID) ) {
4572 alt40=1;
4573 }
4574 else if ( (LA40_0==RULE_ID||(LA40_0>=40 && LA40_0<=41)) ) {
4575 alt40=2;
4576 }
4577 else {
4578 NoViableAltException nvae =
4579 new NoViableAltException("", 40, 0, input);
4580
4581 throw nvae;
4582 }
4583 switch (alt40) {
4584 case 1 :
4585 // InternalProblem.g:1704:3: this_QUOTED_ID_0= RULE_QUOTED_ID
4586 {
4587 this_QUOTED_ID_0=(Token)match(input,RULE_QUOTED_ID,FOLLOW_2);
4588
4589 current.merge(this_QUOTED_ID_0);
4590
4591
4592 newLeafNode(this_QUOTED_ID_0, grammarAccess.getQuotedOrUnquotedIdAccess().getQUOTED_IDTerminalRuleCall_0());
4593
4594
4595 }
4596 break;
4597 case 2 :
4598 // InternalProblem.g:1712:3: this_Identifier_1= ruleIdentifier
4599 {
4600
4601 newCompositeNode(grammarAccess.getQuotedOrUnquotedIdAccess().getIdentifierParserRuleCall_1());
4602
4603 pushFollow(FOLLOW_2);
4604 this_Identifier_1=ruleIdentifier();
4605
4606 state._fsp--;
4607
4608
4609 current.merge(this_Identifier_1);
4610
4611
4612 afterParserOrEnumRuleCall();
4613
4614
4615 }
4616 break;
4617
4618 }
4619
4620
4621 }
4622
4623
4624 leaveRule();
4625
4626 }
4627
4628 catch (RecognitionException re) {
4629 recover(input,re);
4630 appendSkippedTokens();
4631 }
4632 finally {
4633 }
4634 return current;
4635 }
4636 // $ANTLR end "ruleQuotedOrUnquotedId"
4637
4638
4639 // $ANTLR start "entryRuleQualifiedName"
4640 // InternalProblem.g:1726:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ;
4641 public final String entryRuleQualifiedName() throws RecognitionException {
4642 String current = null;
4643
4644 AntlrDatatypeRuleToken iv_ruleQualifiedName = null;
4645
4646
4647 try {
4648 // InternalProblem.g:1726:53: (iv_ruleQualifiedName= ruleQualifiedName EOF )
4649 // InternalProblem.g:1727:2: iv_ruleQualifiedName= ruleQualifiedName EOF
4650 {
4651 newCompositeNode(grammarAccess.getQualifiedNameRule());
4652 pushFollow(FOLLOW_1);
4653 iv_ruleQualifiedName=ruleQualifiedName();
4654
4655 state._fsp--;
4656
4657 current =iv_ruleQualifiedName.getText();
4658 match(input,EOF,FOLLOW_2);
4659
4660 }
4661
4662 }
4663
4664 catch (RecognitionException re) {
4665 recover(input,re);
4666 appendSkippedTokens();
4667 }
4668 finally {
4669 }
4670 return current;
4671 }
4672 // $ANTLR end "entryRuleQualifiedName"
4673
4674
4675 // $ANTLR start "ruleQualifiedName"
4676 // InternalProblem.g:1733:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_QUOTED_ID_0= RULE_QUOTED_ID | (this_Identifier_1= ruleIdentifier (kw= ':' this_Identifier_3= ruleIdentifier )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? ) ) ;
4677 public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException {
4678 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
4679
4680 Token this_QUOTED_ID_0=null;
4681 Token kw=null;
4682 Token this_QUOTED_ID_5=null;
4683 AntlrDatatypeRuleToken this_Identifier_1 = null;
4684
4685 AntlrDatatypeRuleToken this_Identifier_3 = null;
4686
4687
4688
4689 enterRule();
4690
4691 try {
4692 // InternalProblem.g:1739:2: ( (this_QUOTED_ID_0= RULE_QUOTED_ID | (this_Identifier_1= ruleIdentifier (kw= ':' this_Identifier_3= ruleIdentifier )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? ) ) )
4693 // InternalProblem.g:1740:2: (this_QUOTED_ID_0= RULE_QUOTED_ID | (this_Identifier_1= ruleIdentifier (kw= ':' this_Identifier_3= ruleIdentifier )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? ) )
4694 {
4695 // InternalProblem.g:1740:2: (this_QUOTED_ID_0= RULE_QUOTED_ID | (this_Identifier_1= ruleIdentifier (kw= ':' this_Identifier_3= ruleIdentifier )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? ) )
4696 int alt43=2;
4697 int LA43_0 = input.LA(1);
4698
4699 if ( (LA43_0==RULE_QUOTED_ID) ) {
4700 alt43=1;
4701 }
4702 else if ( (LA43_0==RULE_ID||(LA43_0>=40 && LA43_0<=41)) ) {
4703 alt43=2;
4704 }
4705 else {
4706 NoViableAltException nvae =
4707 new NoViableAltException("", 43, 0, input);
4708
4709 throw nvae;
4710 }
4711 switch (alt43) {
4712 case 1 :
4713 // InternalProblem.g:1741:3: this_QUOTED_ID_0= RULE_QUOTED_ID
4714 {
4715 this_QUOTED_ID_0=(Token)match(input,RULE_QUOTED_ID,FOLLOW_2);
4716
4717 current.merge(this_QUOTED_ID_0);
4718
4719
4720 newLeafNode(this_QUOTED_ID_0, grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_0());
4721
4722
4723 }
4724 break;
4725 case 2 :
4726 // InternalProblem.g:1749:3: (this_Identifier_1= ruleIdentifier (kw= ':' this_Identifier_3= ruleIdentifier )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? )
4727 {
4728 // InternalProblem.g:1749:3: (this_Identifier_1= ruleIdentifier (kw= ':' this_Identifier_3= ruleIdentifier )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? )
4729 // InternalProblem.g:1750:4: this_Identifier_1= ruleIdentifier (kw= ':' this_Identifier_3= ruleIdentifier )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )?
4730 {
4731
4732 newCompositeNode(grammarAccess.getQualifiedNameAccess().getIdentifierParserRuleCall_1_0());
4733
4734 pushFollow(FOLLOW_36);
4735 this_Identifier_1=ruleIdentifier();
4736
4737 state._fsp--;
4738
4739
4740 current.merge(this_Identifier_1);
4741
4742
4743 afterParserOrEnumRuleCall();
4744
4745 // InternalProblem.g:1760:4: (kw= ':' this_Identifier_3= ruleIdentifier )*
4746 loop41:
4747 do {
4748 int alt41=2;
4749 int LA41_0 = input.LA(1);
4750
4751 if ( (LA41_0==34) ) {
4752 int LA41_1 = input.LA(2);
4753
4754 if ( (LA41_1==RULE_ID||(LA41_1>=40 && LA41_1<=41)) ) {
4755 alt41=1;
4756 }
4757
4758
4759 }
4760
4761
4762 switch (alt41) {
4763 case 1 :
4764 // InternalProblem.g:1761:5: kw= ':' this_Identifier_3= ruleIdentifier
4765 {
4766 kw=(Token)match(input,34,FOLLOW_3);
4767
4768 current.merge(kw);
4769 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getColonKeyword_1_1_0());
4770
4771
4772 newCompositeNode(grammarAccess.getQualifiedNameAccess().getIdentifierParserRuleCall_1_1_1());
4773
4774 pushFollow(FOLLOW_36);
4775 this_Identifier_3=ruleIdentifier();
4776
4777 state._fsp--;
4778
4779
4780 current.merge(this_Identifier_3);
4781
4782
4783 afterParserOrEnumRuleCall();
4784
4785
4786 }
4787 break;
4788
4789 default :
4790 break loop41;
4791 }
4792 } while (true);
4793
4794 // InternalProblem.g:1777:4: (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )?
4795 int alt42=2;
4796 int LA42_0 = input.LA(1);
4797
4798 if ( (LA42_0==34) ) {
4799 alt42=1;
4800 }
4801 switch (alt42) {
4802 case 1 :
4803 // InternalProblem.g:1778:5: kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID
4804 {
4805 kw=(Token)match(input,34,FOLLOW_37);
4806
4807 current.merge(kw);
4808 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getColonKeyword_1_2_0());
4809
4810 this_QUOTED_ID_5=(Token)match(input,RULE_QUOTED_ID,FOLLOW_2);
4811
4812 current.merge(this_QUOTED_ID_5);
4813
4814
4815 newLeafNode(this_QUOTED_ID_5, grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1_2_1());
4816
4817
4818 }
4819 break;
4820
4821 }
4822
4823
4824 }
4825
4826
4827 }
4828 break;
4829
4830 }
4831
4832
4833 }
4834
4835
4836 leaveRule();
4837
4838 }
4839
4840 catch (RecognitionException re) {
4841 recover(input,re);
4842 appendSkippedTokens();
4843 }
4844 finally {
4845 }
4846 return current;
4847 }
4848 // $ANTLR end "ruleQualifiedName"
4849
4850
4851 // $ANTLR start "entryRuleIdentifier"
4852 // InternalProblem.g:1796:1: entryRuleIdentifier returns [String current=null] : iv_ruleIdentifier= ruleIdentifier EOF ;
4853 public final String entryRuleIdentifier() throws RecognitionException {
4854 String current = null;
4855
4856 AntlrDatatypeRuleToken iv_ruleIdentifier = null;
4857
4858
4859 try {
4860 // InternalProblem.g:1796:50: (iv_ruleIdentifier= ruleIdentifier EOF )
4861 // InternalProblem.g:1797:2: iv_ruleIdentifier= ruleIdentifier EOF
4862 {
4863 newCompositeNode(grammarAccess.getIdentifierRule());
4864 pushFollow(FOLLOW_1);
4865 iv_ruleIdentifier=ruleIdentifier();
4866
4867 state._fsp--;
4868
4869 current =iv_ruleIdentifier.getText();
4870 match(input,EOF,FOLLOW_2);
4871
4872 }
4873
4874 }
4875
4876 catch (RecognitionException re) {
4877 recover(input,re);
4878 appendSkippedTokens();
4879 }
4880 finally {
4881 }
4882 return current;
4883 }
4884 // $ANTLR end "entryRuleIdentifier"
4885
4886
4887 // $ANTLR start "ruleIdentifier"
4888 // InternalProblem.g:1803:1: ruleIdentifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID | kw= 'true' | kw= 'false' ) ;
4889 public final AntlrDatatypeRuleToken ruleIdentifier() throws RecognitionException {
4890 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
4891
4892 Token this_ID_0=null;
4893 Token kw=null;
4894
4895
4896 enterRule();
4897
4898 try {
4899 // InternalProblem.g:1809:2: ( (this_ID_0= RULE_ID | kw= 'true' | kw= 'false' ) )
4900 // InternalProblem.g:1810:2: (this_ID_0= RULE_ID | kw= 'true' | kw= 'false' )
4901 {
4902 // InternalProblem.g:1810:2: (this_ID_0= RULE_ID | kw= 'true' | kw= 'false' )
4903 int alt44=3;
4904 switch ( input.LA(1) ) {
4905 case RULE_ID:
4906 {
4907 alt44=1;
4908 }
4909 break;
4910 case 40:
4911 {
4912 alt44=2;
4913 }
4914 break;
4915 case 41:
4916 {
4917 alt44=3;
4918 }
4919 break;
4920 default:
4921 NoViableAltException nvae =
4922 new NoViableAltException("", 44, 0, input);
4923
4924 throw nvae;
4925 }
4926
4927 switch (alt44) {
4928 case 1 :
4929 // InternalProblem.g:1811:3: this_ID_0= RULE_ID
4930 {
4931 this_ID_0=(Token)match(input,RULE_ID,FOLLOW_2);
4932
4933 current.merge(this_ID_0);
4934
4935
4936 newLeafNode(this_ID_0, grammarAccess.getIdentifierAccess().getIDTerminalRuleCall_0());
4937
4938
4939 }
4940 break;
4941 case 2 :
4942 // InternalProblem.g:1819:3: kw= 'true'
4943 {
4944 kw=(Token)match(input,40,FOLLOW_2);
4945
4946 current.merge(kw);
4947 newLeafNode(kw, grammarAccess.getIdentifierAccess().getTrueKeyword_1());
4948
4949
4950 }
4951 break;
4952 case 3 :
4953 // InternalProblem.g:1825:3: kw= 'false'
4954 {
4955 kw=(Token)match(input,41,FOLLOW_2);
4956
4957 current.merge(kw);
4958 newLeafNode(kw, grammarAccess.getIdentifierAccess().getFalseKeyword_2());
4959
4960
4961 }
4962 break;
4963
4964 }
4965
4966
4967 }
4968
4969
4970 leaveRule();
4971
4972 }
4973
4974 catch (RecognitionException re) {
4975 recover(input,re);
4976 appendSkippedTokens();
4977 }
4978 finally {
4979 }
4980 return current;
4981 }
4982 // $ANTLR end "ruleIdentifier"
4983
4984
4985 // $ANTLR start "ruleLogicValue"
4986 // InternalProblem.g:1834:1: ruleLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) ) ;
4987 public final Enumerator ruleLogicValue() throws RecognitionException {
4988 Enumerator current = null;
4989
4990 Token enumLiteral_0=null;
4991 Token enumLiteral_1=null;
4992 Token enumLiteral_2=null;
4993
4994
4995 enterRule();
4996
4997 try {
4998 // InternalProblem.g:1840:2: ( ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) ) )
4999 // InternalProblem.g:1841:2: ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) )
5000 {
5001 // InternalProblem.g:1841:2: ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) )
5002 int alt45=3;
5003 switch ( input.LA(1) ) {
5004 case 40:
5005 {
5006 alt45=1;
5007 }
5008 break;
5009 case 41:
5010 {
5011 alt45=2;
5012 }
5013 break;
5014 case 42:
5015 {
5016 alt45=3;
5017 }
5018 break;
5019 default:
5020 NoViableAltException nvae =
5021 new NoViableAltException("", 45, 0, input);
5022
5023 throw nvae;
5024 }
5025
5026 switch (alt45) {
5027 case 1 :
5028 // InternalProblem.g:1842:3: (enumLiteral_0= 'true' )
5029 {
5030 // InternalProblem.g:1842:3: (enumLiteral_0= 'true' )
5031 // InternalProblem.g:1843:4: enumLiteral_0= 'true'
5032 {
5033 enumLiteral_0=(Token)match(input,40,FOLLOW_2);
5034
5035 current = grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
5036 newLeafNode(enumLiteral_0, grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0());
5037
5038
5039 }
5040
5041
5042 }
5043 break;
5044 case 2 :
5045 // InternalProblem.g:1850:3: (enumLiteral_1= 'false' )
5046 {
5047 // InternalProblem.g:1850:3: (enumLiteral_1= 'false' )
5048 // InternalProblem.g:1851:4: enumLiteral_1= 'false'
5049 {
5050 enumLiteral_1=(Token)match(input,41,FOLLOW_2);
5051
5052 current = grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
5053 newLeafNode(enumLiteral_1, grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1());
5054
5055
5056 }
5057
5058
5059 }
5060 break;
5061 case 3 :
5062 // InternalProblem.g:1858:3: (enumLiteral_2= 'unknown' )
5063 {
5064 // InternalProblem.g:1858:3: (enumLiteral_2= 'unknown' )
5065 // InternalProblem.g:1859:4: enumLiteral_2= 'unknown'
5066 {
5067 enumLiteral_2=(Token)match(input,42,FOLLOW_2);
5068
5069 current = grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
5070 newLeafNode(enumLiteral_2, grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2());
5071
5072
5073 }
5074
5075
5076 }
5077 break;
5078
5079 }
5080
5081
5082 }
5083
5084
5085 leaveRule();
5086
5087 }
5088
5089 catch (RecognitionException re) {
5090 recover(input,re);
5091 appendSkippedTokens();
5092 }
5093 finally {
5094 }
5095 return current;
5096 }
5097 // $ANTLR end "ruleLogicValue"
5098
5099
5100 // $ANTLR start "ruleShortLogicValue"
5101 // InternalProblem.g:1869:1: ruleShortLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) ) ;
5102 public final Enumerator ruleShortLogicValue() throws RecognitionException {
5103 Enumerator current = null;
5104
5105 Token enumLiteral_0=null;
5106 Token enumLiteral_1=null;
5107
5108
5109 enterRule();
5110
5111 try {
5112 // InternalProblem.g:1875:2: ( ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) ) )
5113 // InternalProblem.g:1876:2: ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) )
5114 {
5115 // InternalProblem.g:1876:2: ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) )
5116 int alt46=2;
5117 int LA46_0 = input.LA(1);
5118
5119 if ( (LA46_0==32) ) {
5120 alt46=1;
5121 }
5122 else if ( (LA46_0==43) ) {
5123 alt46=2;
5124 }
5125 else {
5126 NoViableAltException nvae =
5127 new NoViableAltException("", 46, 0, input);
5128
5129 throw nvae;
5130 }
5131 switch (alt46) {
5132 case 1 :
5133 // InternalProblem.g:1877:3: (enumLiteral_0= '!' )
5134 {
5135 // InternalProblem.g:1877:3: (enumLiteral_0= '!' )
5136 // InternalProblem.g:1878:4: enumLiteral_0= '!'
5137 {
5138 enumLiteral_0=(Token)match(input,32,FOLLOW_2);
5139
5140 current = grammarAccess.getShortLogicValueAccess().getFALSEEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
5141 newLeafNode(enumLiteral_0, grammarAccess.getShortLogicValueAccess().getFALSEEnumLiteralDeclaration_0());
5142
5143
5144 }
5145
5146
5147 }
5148 break;
5149 case 2 :
5150 // InternalProblem.g:1885:3: (enumLiteral_1= '?' )
5151 {
5152 // InternalProblem.g:1885:3: (enumLiteral_1= '?' )
5153 // InternalProblem.g:1886:4: enumLiteral_1= '?'
5154 {
5155 enumLiteral_1=(Token)match(input,43,FOLLOW_2);
5156
5157 current = grammarAccess.getShortLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
5158 newLeafNode(enumLiteral_1, grammarAccess.getShortLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_1());
5159
5160
5161 }
5162
5163
5164 }
5165 break;
5166
5167 }
5168
5169
5170 }
5171
5172
5173 leaveRule();
5174
5175 }
5176
5177 catch (RecognitionException re) {
5178 recover(input,re);
5179 appendSkippedTokens();
5180 }
5181 finally {
5182 }
5183 return current;
5184 }
5185 // $ANTLR end "ruleShortLogicValue"
5186
5187 // Delegated rules
5188
5189
5190 protected DFA34 dfa34 = new DFA34(this);
5191 static final String dfa_1s = "\41\uffff";
5192 static final String dfa_2s = "\1\4\4\35\1\uffff\2\4\4\21\1\15\4\35\2\4\1\uffff\10\21\1\4\4\21";
5193 static final String dfa_3s = "\1\53\1\35\3\42\1\uffff\2\51\1\36\7\42\1\35\2\51\1\uffff\1\36\6\42\1\36\1\51\3\42\1\36";
5194 static final String dfa_4s = "\5\uffff\1\2\15\uffff\1\1\15\uffff";
5195 static final String dfa_5s = "\41\uffff}>";
5196 static final String[] dfa_6s = {
5197 "\1\2\1\uffff\1\1\31\uffff\1\5\7\uffff\1\3\1\4\1\uffff\1\5",
5198 "\1\6",
5199 "\1\6\4\uffff\1\7",
5200 "\1\6\4\uffff\1\7",
5201 "\1\6\4\uffff\1\7",
5202 "",
5203 "\1\11\1\uffff\1\10\27\uffff\1\14\11\uffff\1\12\1\13",
5204 "\1\15\1\uffff\1\20\41\uffff\1\16\1\17",
5205 "\1\21\14\uffff\1\14",
5206 "\1\21\14\uffff\1\14\3\uffff\1\22",
5207 "\1\21\14\uffff\1\14\3\uffff\1\22",
5208 "\1\21\14\uffff\1\14\3\uffff\1\22",
5209 "\1\5\24\uffff\1\23",
5210 "\1\6\4\uffff\1\7",
5211 "\1\6\4\uffff\1\7",
5212 "\1\6\4\uffff\1\7",
5213 "\1\6",
5214 "\1\25\1\uffff\1\24\41\uffff\1\26\1\27",
5215 "\1\30\1\uffff\1\33\41\uffff\1\31\1\32",
5216 "",
5217 "\1\21\14\uffff\1\14",
5218 "\1\21\14\uffff\1\14\3\uffff\1\34",
5219 "\1\21\14\uffff\1\14\3\uffff\1\34",
5220 "\1\21\14\uffff\1\14\3\uffff\1\34",
5221 "\1\21\14\uffff\1\14\3\uffff\1\22",
5222 "\1\21\14\uffff\1\14\3\uffff\1\22",
5223 "\1\21\14\uffff\1\14\3\uffff\1\22",
5224 "\1\21\14\uffff\1\14",
5225 "\1\35\1\uffff\1\40\41\uffff\1\36\1\37",
5226 "\1\21\14\uffff\1\14\3\uffff\1\34",
5227 "\1\21\14\uffff\1\14\3\uffff\1\34",
5228 "\1\21\14\uffff\1\14\3\uffff\1\34",
5229 "\1\21\14\uffff\1\14"
5230 };
5231
5232 static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s);
5233 static final char[] dfa_2 = DFA.unpackEncodedStringToUnsignedChars(dfa_2s);
5234 static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s);
5235 static final short[] dfa_4 = DFA.unpackEncodedString(dfa_4s);
5236 static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s);
5237 static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s);
5238
5239 class DFA34 extends DFA {
5240
5241 public DFA34(BaseRecognizer recognizer) {
5242 this.recognizer = recognizer;
5243 this.decisionNumber = 34;
5244 this.eot = dfa_1;
5245 this.eof = dfa_1;
5246 this.min = dfa_2;
5247 this.max = dfa_3;
5248 this.accept = dfa_4;
5249 this.special = dfa_5;
5250 this.transition = dfa_6;
5251 }
5252 public String getDescription() {
5253 return "1138:3: ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) )";
5254 }
5255 }
5256
5257
5258 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L});
5259 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
5260 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000030000000010L});
5261 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000002000L});
5262 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x00000B091820C052L});
5263 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000008000L});
5264 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000052000L});
5265 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000030000000050L});
5266 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000062000L});
5267 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000030000D00050L});
5268 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000030000D80050L});
5269 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000042000L});
5270 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000030000100050L});
5271 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x00000000001A0000L});
5272 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000100000L});
5273 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000030001000010L});
5274 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000000020L});
5275 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000002000000L});
5276 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000004000002L});
5277 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000030010000010L});
5278 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000020000000L});
5279 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000030040000050L});
5280 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000040020000L});
5281 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000080002000L});
5282 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000030100000050L});
5283 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000082000L});
5284 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000000020002L});
5285 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000220000000L});
5286 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000400000000L});
5287 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000070000000000L});
5288 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000000000010L});
5289 public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000000022000L});
5290 public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000003000000000L});
5291 public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000004000000000L});
5292 public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000008000000020L});
5293 public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000400000002L});
5294 public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000000000000040L});
5295
5296} \ No newline at end of file