aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemParser.java
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemParser.java')
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemParser.java2516
1 files changed, 1665 insertions, 851 deletions
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemParser.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemParser.java
index c4f19943..28b54551 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemParser.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemParser.java
@@ -22,33 +22,18 @@ import java.util.ArrayList;
22@SuppressWarnings("all") 22@SuppressWarnings("all")
23public class InternalProblemParser extends AbstractInternalAntlrParser { 23public class InternalProblemParser extends AbstractInternalAntlrParser {
24 public static final String[] tokenNames = new String[] { 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'", "','", "'{'", "';'", "'}'", "'contains'", "'refers'", "'['", "']'", "'opposite'", "'error'", "'pred'", "'('", "')'", "':-'", "'!'", "'+'", "':'", "'scope'", "'+='", "'='", "'..'", "'*'", "'true'", "'false'", "'unknown'", "'?'" 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 }; 26 };
27 public static final int RULE_STRING=7;
28 public static final int RULE_SL_COMMENT=9;
29 public static final int T__19=19; 27 public static final int T__19=19;
30 public static final int T__15=15; 28 public static final int T__15=15;
31 public static final int T__37=37;
32 public static final int T__16=16; 29 public static final int T__16=16;
33 public static final int T__38=38;
34 public static final int T__17=17; 30 public static final int T__17=17;
35 public static final int T__39=39;
36 public static final int T__18=18; 31 public static final int T__18=18;
37 public static final int T__33=33;
38 public static final int T__12=12; 32 public static final int T__12=12;
39 public static final int T__34=34;
40 public static final int T__13=13; 33 public static final int T__13=13;
41 public static final int T__35=35;
42 public static final int T__14=14; 34 public static final int T__14=14;
43 public static final int T__36=36;
44 public static final int EOF=-1;
45 public static final int T__30=30;
46 public static final int T__31=31;
47 public static final int T__32=32;
48 public static final int RULE_ID=4; 35 public static final int RULE_ID=4;
49 public static final int RULE_WS=10;
50 public static final int RULE_QUOTED_ID=6; 36 public static final int RULE_QUOTED_ID=6;
51 public static final int RULE_ANY_OTHER=11;
52 public static final int T__26=26; 37 public static final int T__26=26;
53 public static final int T__27=27; 38 public static final int T__27=27;
54 public static final int T__28=28; 39 public static final int T__28=28;
@@ -59,11 +44,27 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
59 public static final int T__23=23; 44 public static final int T__23=23;
60 public static final int T__24=24; 45 public static final int T__24=24;
61 public static final int T__25=25; 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;
62 public static final int T__40=40; 64 public static final int T__40=40;
63 public static final int T__41=41; 65 public static final int T__41=41;
64 public static final int T__20=20;
65 public static final int T__42=42; 66 public static final int T__42=42;
66 public static final int T__21=21; 67 public static final int T__43=43;
67 68
68 // delegates 69 // delegates
69 // delegators 70 // delegators
@@ -141,13 +142,14 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
141 142
142 143
143 // $ANTLR start "ruleProblem" 144 // $ANTLR start "ruleProblem"
144 // InternalProblem.g:72:1: ruleProblem returns [EObject current=null] : ( (otherlv_0= 'problem' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )* ) ; 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 ) )* ) ;
145 public final EObject ruleProblem() throws RecognitionException { 146 public final EObject ruleProblem() throws RecognitionException {
146 EObject current = null; 147 EObject current = null;
147 148
148 Token otherlv_0=null; 149 Token otherlv_0=null;
149 Token lv_name_1_0=null;
150 Token otherlv_2=null; 150 Token otherlv_2=null;
151 AntlrDatatypeRuleToken lv_name_1_0 = null;
152
151 EObject lv_statements_3_0 = null; 153 EObject lv_statements_3_0 = null;
152 154
153 155
@@ -155,13 +157,13 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
155 enterRule(); 157 enterRule();
156 158
157 try { 159 try {
158 // InternalProblem.g:78:2: ( ( (otherlv_0= 'problem' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )* ) ) 160 // InternalProblem.g:78:2: ( ( (otherlv_0= 'problem' ( (lv_name_1_0= ruleIdentifier ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )* ) )
159 // InternalProblem.g:79:2: ( (otherlv_0= 'problem' ( (lv_name_1_0= RULE_ID ) ) 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 ) )* )
160 { 162 {
161 // InternalProblem.g:79:2: ( (otherlv_0= 'problem' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )* ) 163 // InternalProblem.g:79:2: ( (otherlv_0= 'problem' ( (lv_name_1_0= ruleIdentifier ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )* )
162 // InternalProblem.g:80:3: (otherlv_0= 'problem' ( (lv_name_1_0= RULE_ID ) ) 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 ) )*
163 { 165 {
164 // InternalProblem.g:80:3: (otherlv_0= 'problem' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '.' )? 166 // InternalProblem.g:80:3: (otherlv_0= 'problem' ( (lv_name_1_0= ruleIdentifier ) ) otherlv_2= '.' )?
165 int alt1=2; 167 int alt1=2;
166 int LA1_0 = input.LA(1); 168 int LA1_0 = input.LA(1);
167 169
@@ -170,31 +172,36 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
170 } 172 }
171 switch (alt1) { 173 switch (alt1) {
172 case 1 : 174 case 1 :
173 // InternalProblem.g:81:4: otherlv_0= 'problem' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '.' 175 // InternalProblem.g:81:4: otherlv_0= 'problem' ( (lv_name_1_0= ruleIdentifier ) ) otherlv_2= '.'
174 { 176 {
175 otherlv_0=(Token)match(input,12,FOLLOW_3); 177 otherlv_0=(Token)match(input,12,FOLLOW_3);
176 178
177 newLeafNode(otherlv_0, grammarAccess.getProblemAccess().getProblemKeyword_0_0()); 179 newLeafNode(otherlv_0, grammarAccess.getProblemAccess().getProblemKeyword_0_0());
178 180
179 // InternalProblem.g:85:4: ( (lv_name_1_0= RULE_ID ) ) 181 // InternalProblem.g:85:4: ( (lv_name_1_0= ruleIdentifier ) )
180 // InternalProblem.g:86:5: (lv_name_1_0= RULE_ID ) 182 // InternalProblem.g:86:5: (lv_name_1_0= ruleIdentifier )
181 { 183 {
182 // InternalProblem.g:86:5: (lv_name_1_0= RULE_ID ) 184 // InternalProblem.g:86:5: (lv_name_1_0= ruleIdentifier )
183 // InternalProblem.g:87:6: lv_name_1_0= RULE_ID 185 // InternalProblem.g:87:6: lv_name_1_0= ruleIdentifier
184 { 186 {
185 lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_4);
186 187
187 newLeafNode(lv_name_1_0, grammarAccess.getProblemAccess().getNameIDTerminalRuleCall_0_1_0()); 188 newCompositeNode(grammarAccess.getProblemAccess().getNameIdentifierParserRuleCall_0_1_0());
188 189
190 pushFollow(FOLLOW_4);
191 lv_name_1_0=ruleIdentifier();
192
193 state._fsp--;
194
189 195
190 if (current==null) { 196 if (current==null) {
191 current = createModelElement(grammarAccess.getProblemRule()); 197 current = createModelElementForParent(grammarAccess.getProblemRule());
192 } 198 }
193 setWithLastConsumed( 199 set(
194 current, 200 current,
195 "name", 201 "name",
196 lv_name_1_0, 202 lv_name_1_0,
197 "org.eclipse.xtext.common.Terminals.ID"); 203 "org.eclipse.viatra.solver.language.Problem.Identifier");
204 afterParserOrEnumRuleCall();
198 205
199 206
200 } 207 }
@@ -212,23 +219,23 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
212 219
213 } 220 }
214 221
215 // InternalProblem.g:108:3: ( (lv_statements_3_0= ruleStatement ) )* 222 // InternalProblem.g:109:3: ( (lv_statements_3_0= ruleStatement ) )*
216 loop2: 223 loop2:
217 do { 224 do {
218 int alt2=2; 225 int alt2=2;
219 int LA2_0 = input.LA(1); 226 int LA2_0 = input.LA(1);
220 227
221 if ( (LA2_0==RULE_ID||LA2_0==RULE_QUOTED_ID||(LA2_0>=14 && LA2_0<=15)||(LA2_0>=26 && LA2_0<=27)||LA2_0==31||LA2_0==34||LA2_0==42) ) { 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) ) {
222 alt2=1; 229 alt2=1;
223 } 230 }
224 231
225 232
226 switch (alt2) { 233 switch (alt2) {
227 case 1 : 234 case 1 :
228 // InternalProblem.g:109:4: (lv_statements_3_0= ruleStatement ) 235 // InternalProblem.g:110:4: (lv_statements_3_0= ruleStatement )
229 { 236 {
230 // InternalProblem.g:109:4: (lv_statements_3_0= ruleStatement ) 237 // InternalProblem.g:110:4: (lv_statements_3_0= ruleStatement )
231 // InternalProblem.g:110:5: lv_statements_3_0= ruleStatement 238 // InternalProblem.g:111:5: lv_statements_3_0= ruleStatement
232 { 239 {
233 240
234 newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_1_0()); 241 newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_1_0());
@@ -284,7 +291,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
284 291
285 292
286 // $ANTLR start "entryRuleStatement" 293 // $ANTLR start "entryRuleStatement"
287 // InternalProblem.g:131:1: entryRuleStatement returns [EObject current=null] : iv_ruleStatement= ruleStatement EOF ; 294 // InternalProblem.g:132:1: entryRuleStatement returns [EObject current=null] : iv_ruleStatement= ruleStatement EOF ;
288 public final EObject entryRuleStatement() throws RecognitionException { 295 public final EObject entryRuleStatement() throws RecognitionException {
289 EObject current = null; 296 EObject current = null;
290 297
@@ -292,8 +299,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
292 299
293 300
294 try { 301 try {
295 // InternalProblem.g:131:50: (iv_ruleStatement= ruleStatement EOF ) 302 // InternalProblem.g:132:50: (iv_ruleStatement= ruleStatement EOF )
296 // InternalProblem.g:132:2: iv_ruleStatement= ruleStatement EOF 303 // InternalProblem.g:133:2: iv_ruleStatement= ruleStatement EOF
297 { 304 {
298 newCompositeNode(grammarAccess.getStatementRule()); 305 newCompositeNode(grammarAccess.getStatementRule());
299 pushFollow(FOLLOW_1); 306 pushFollow(FOLLOW_1);
@@ -320,28 +327,30 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
320 327
321 328
322 // $ANTLR start "ruleStatement" 329 // $ANTLR start "ruleStatement"
323 // InternalProblem.g:138:1: ruleStatement returns [EObject current=null] : (this_ClassDeclaration_0= ruleClassDeclaration | this_PredicateDefinition_1= rulePredicateDefinition | this_Assertion_2= ruleAssertion | this_ScopeDeclaration_3= ruleScopeDeclaration ) ; 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 ) ;
324 public final EObject ruleStatement() throws RecognitionException { 331 public final EObject ruleStatement() throws RecognitionException {
325 EObject current = null; 332 EObject current = null;
326 333
327 EObject this_ClassDeclaration_0 = null; 334 EObject this_ClassDeclaration_0 = null;
328 335
329 EObject this_PredicateDefinition_1 = null; 336 EObject this_EnumDeclaration_1 = null;
337
338 EObject this_PredicateDefinition_2 = null;
330 339
331 EObject this_Assertion_2 = null; 340 EObject this_Assertion_3 = null;
332 341
333 EObject this_ScopeDeclaration_3 = null; 342 EObject this_ScopeDeclaration_4 = null;
334 343
335 344
336 345
337 enterRule(); 346 enterRule();
338 347
339 try { 348 try {
340 // InternalProblem.g:144:2: ( (this_ClassDeclaration_0= ruleClassDeclaration | this_PredicateDefinition_1= rulePredicateDefinition | this_Assertion_2= ruleAssertion | this_ScopeDeclaration_3= ruleScopeDeclaration ) ) 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 ) )
341 // InternalProblem.g:145:2: (this_ClassDeclaration_0= ruleClassDeclaration | this_PredicateDefinition_1= rulePredicateDefinition | this_Assertion_2= ruleAssertion | this_ScopeDeclaration_3= 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 )
342 { 351 {
343 // InternalProblem.g:145:2: (this_ClassDeclaration_0= ruleClassDeclaration | this_PredicateDefinition_1= rulePredicateDefinition | this_Assertion_2= ruleAssertion | this_ScopeDeclaration_3= ruleScopeDeclaration ) 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 )
344 int alt3=4; 353 int alt3=5;
345 switch ( input.LA(1) ) { 354 switch ( input.LA(1) ) {
346 case 14: 355 case 14:
347 case 15: 356 case 15:
@@ -349,25 +358,32 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
349 alt3=1; 358 alt3=1;
350 } 359 }
351 break; 360 break;
352 case 26: 361 case 21:
353 case 27:
354 { 362 {
355 alt3=2; 363 alt3=2;
356 } 364 }
357 break; 365 break;
358 case RULE_ID: 366 case 27:
359 case RULE_QUOTED_ID: 367 case 28:
360 case 31:
361 case 42:
362 { 368 {
363 alt3=3; 369 alt3=3;
364 } 370 }
365 break; 371 break;
366 case 34: 372 case RULE_ID:
373 case RULE_QUOTED_ID:
374 case 32:
375 case 40:
376 case 41:
377 case 43:
367 { 378 {
368 alt3=4; 379 alt3=4;
369 } 380 }
370 break; 381 break;
382 case 35:
383 {
384 alt3=5;
385 }
386 break;
371 default: 387 default:
372 NoViableAltException nvae = 388 NoViableAltException nvae =
373 new NoViableAltException("", 3, 0, input); 389 new NoViableAltException("", 3, 0, input);
@@ -377,7 +393,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
377 393
378 switch (alt3) { 394 switch (alt3) {
379 case 1 : 395 case 1 :
380 // InternalProblem.g:146:3: this_ClassDeclaration_0= ruleClassDeclaration 396 // InternalProblem.g:147:3: this_ClassDeclaration_0= ruleClassDeclaration
381 { 397 {
382 398
383 newCompositeNode(grammarAccess.getStatementAccess().getClassDeclarationParserRuleCall_0()); 399 newCompositeNode(grammarAccess.getStatementAccess().getClassDeclarationParserRuleCall_0());
@@ -395,54 +411,72 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
395 } 411 }
396 break; 412 break;
397 case 2 : 413 case 2 :
398 // InternalProblem.g:155:3: this_PredicateDefinition_1= rulePredicateDefinition 414 // InternalProblem.g:156:3: this_EnumDeclaration_1= ruleEnumDeclaration
399 { 415 {
400 416
401 newCompositeNode(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_1()); 417 newCompositeNode(grammarAccess.getStatementAccess().getEnumDeclarationParserRuleCall_1());
402 418
403 pushFollow(FOLLOW_2); 419 pushFollow(FOLLOW_2);
404 this_PredicateDefinition_1=rulePredicateDefinition(); 420 this_EnumDeclaration_1=ruleEnumDeclaration();
405 421
406 state._fsp--; 422 state._fsp--;
407 423
408 424
409 current = this_PredicateDefinition_1; 425 current = this_EnumDeclaration_1;
410 afterParserOrEnumRuleCall(); 426 afterParserOrEnumRuleCall();
411 427
412 428
413 } 429 }
414 break; 430 break;
415 case 3 : 431 case 3 :
416 // InternalProblem.g:164:3: this_Assertion_2= ruleAssertion 432 // InternalProblem.g:165:3: this_PredicateDefinition_2= rulePredicateDefinition
417 { 433 {
418 434
419 newCompositeNode(grammarAccess.getStatementAccess().getAssertionParserRuleCall_2()); 435 newCompositeNode(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_2());
420 436
421 pushFollow(FOLLOW_2); 437 pushFollow(FOLLOW_2);
422 this_Assertion_2=ruleAssertion(); 438 this_PredicateDefinition_2=rulePredicateDefinition();
423 439
424 state._fsp--; 440 state._fsp--;
425 441
426 442
427 current = this_Assertion_2; 443 current = this_PredicateDefinition_2;
428 afterParserOrEnumRuleCall(); 444 afterParserOrEnumRuleCall();
429 445
430 446
431 } 447 }
432 break; 448 break;
433 case 4 : 449 case 4 :
434 // InternalProblem.g:173:3: this_ScopeDeclaration_3= ruleScopeDeclaration 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
435 { 469 {
436 470
437 newCompositeNode(grammarAccess.getStatementAccess().getScopeDeclarationParserRuleCall_3()); 471 newCompositeNode(grammarAccess.getStatementAccess().getScopeDeclarationParserRuleCall_4());
438 472
439 pushFollow(FOLLOW_2); 473 pushFollow(FOLLOW_2);
440 this_ScopeDeclaration_3=ruleScopeDeclaration(); 474 this_ScopeDeclaration_4=ruleScopeDeclaration();
441 475
442 state._fsp--; 476 state._fsp--;
443 477
444 478
445 current = this_ScopeDeclaration_3; 479 current = this_ScopeDeclaration_4;
446 afterParserOrEnumRuleCall(); 480 afterParserOrEnumRuleCall();
447 481
448 482
@@ -471,7 +505,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
471 505
472 506
473 // $ANTLR start "entryRuleClassDeclaration" 507 // $ANTLR start "entryRuleClassDeclaration"
474 // InternalProblem.g:185:1: entryRuleClassDeclaration returns [EObject current=null] : iv_ruleClassDeclaration= ruleClassDeclaration EOF ; 508 // InternalProblem.g:195:1: entryRuleClassDeclaration returns [EObject current=null] : iv_ruleClassDeclaration= ruleClassDeclaration EOF ;
475 public final EObject entryRuleClassDeclaration() throws RecognitionException { 509 public final EObject entryRuleClassDeclaration() throws RecognitionException {
476 EObject current = null; 510 EObject current = null;
477 511
@@ -479,8 +513,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
479 513
480 514
481 try { 515 try {
482 // InternalProblem.g:185:57: (iv_ruleClassDeclaration= ruleClassDeclaration EOF ) 516 // InternalProblem.g:195:57: (iv_ruleClassDeclaration= ruleClassDeclaration EOF )
483 // InternalProblem.g:186:2: iv_ruleClassDeclaration= ruleClassDeclaration EOF 517 // InternalProblem.g:196:2: iv_ruleClassDeclaration= ruleClassDeclaration EOF
484 { 518 {
485 newCompositeNode(grammarAccess.getClassDeclarationRule()); 519 newCompositeNode(grammarAccess.getClassDeclarationRule());
486 pushFollow(FOLLOW_1); 520 pushFollow(FOLLOW_1);
@@ -507,19 +541,20 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
507 541
508 542
509 // $ANTLR start "ruleClassDeclaration" 543 // $ANTLR start "ruleClassDeclaration"
510 // InternalProblem.g:192:1: ruleClassDeclaration returns [EObject current=null] : ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' ) ) ; 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= '.' ) ) ;
511 public final EObject ruleClassDeclaration() throws RecognitionException { 545 public final EObject ruleClassDeclaration() throws RecognitionException {
512 EObject current = null; 546 EObject current = null;
513 547
514 Token lv_abstract_0_0=null; 548 Token lv_abstract_0_0=null;
515 Token otherlv_1=null; 549 Token otherlv_1=null;
516 Token lv_name_2_0=null;
517 Token otherlv_3=null; 550 Token otherlv_3=null;
518 Token otherlv_5=null; 551 Token otherlv_5=null;
519 Token otherlv_7=null; 552 Token otherlv_7=null;
520 Token otherlv_9=null; 553 Token otherlv_9=null;
521 Token otherlv_10=null; 554 Token otherlv_10=null;
522 Token otherlv_11=null; 555 Token otherlv_11=null;
556 AntlrDatatypeRuleToken lv_name_2_0 = null;
557
523 EObject lv_referenceDeclarations_8_0 = null; 558 EObject lv_referenceDeclarations_8_0 = null;
524 559
525 560
@@ -527,13 +562,13 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
527 enterRule(); 562 enterRule();
528 563
529 try { 564 try {
530 // InternalProblem.g:198:2: ( ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' ) ) ) 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= '.' ) ) )
531 // InternalProblem.g:199:2: ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= RULE_ID ) ) (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= '.' ) )
532 { 567 {
533 // InternalProblem.g:199:2: ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' ) ) 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= '.' ) )
534 // InternalProblem.g:200:3: ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= RULE_ID ) ) (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= '.' )
535 { 570 {
536 // InternalProblem.g:200:3: ( (lv_abstract_0_0= 'abstract' ) )? 571 // InternalProblem.g:210:3: ( (lv_abstract_0_0= 'abstract' ) )?
537 int alt4=2; 572 int alt4=2;
538 int LA4_0 = input.LA(1); 573 int LA4_0 = input.LA(1);
539 574
@@ -542,10 +577,10 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
542 } 577 }
543 switch (alt4) { 578 switch (alt4) {
544 case 1 : 579 case 1 :
545 // InternalProblem.g:201:4: (lv_abstract_0_0= 'abstract' ) 580 // InternalProblem.g:211:4: (lv_abstract_0_0= 'abstract' )
546 { 581 {
547 // InternalProblem.g:201:4: (lv_abstract_0_0= 'abstract' ) 582 // InternalProblem.g:211:4: (lv_abstract_0_0= 'abstract' )
548 // InternalProblem.g:202:5: lv_abstract_0_0= 'abstract' 583 // InternalProblem.g:212:5: lv_abstract_0_0= 'abstract'
549 { 584 {
550 lv_abstract_0_0=(Token)match(input,14,FOLLOW_6); 585 lv_abstract_0_0=(Token)match(input,14,FOLLOW_6);
551 586
@@ -570,25 +605,30 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
570 605
571 newLeafNode(otherlv_1, grammarAccess.getClassDeclarationAccess().getClassKeyword_1()); 606 newLeafNode(otherlv_1, grammarAccess.getClassDeclarationAccess().getClassKeyword_1());
572 607
573 // InternalProblem.g:218:3: ( (lv_name_2_0= RULE_ID ) ) 608 // InternalProblem.g:228:3: ( (lv_name_2_0= ruleIdentifier ) )
574 // InternalProblem.g:219:4: (lv_name_2_0= RULE_ID ) 609 // InternalProblem.g:229:4: (lv_name_2_0= ruleIdentifier )
575 { 610 {
576 // InternalProblem.g:219:4: (lv_name_2_0= RULE_ID ) 611 // InternalProblem.g:229:4: (lv_name_2_0= ruleIdentifier )
577 // InternalProblem.g:220:5: lv_name_2_0= RULE_ID 612 // InternalProblem.g:230:5: lv_name_2_0= ruleIdentifier
578 { 613 {
579 lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_7);
580 614
581 newLeafNode(lv_name_2_0, grammarAccess.getClassDeclarationAccess().getNameIDTerminalRuleCall_2_0()); 615 newCompositeNode(grammarAccess.getClassDeclarationAccess().getNameIdentifierParserRuleCall_2_0());
582 616
617 pushFollow(FOLLOW_7);
618 lv_name_2_0=ruleIdentifier();
619
620 state._fsp--;
621
583 622
584 if (current==null) { 623 if (current==null) {
585 current = createModelElement(grammarAccess.getClassDeclarationRule()); 624 current = createModelElementForParent(grammarAccess.getClassDeclarationRule());
586 } 625 }
587 setWithLastConsumed( 626 set(
588 current, 627 current,
589 "name", 628 "name",
590 lv_name_2_0, 629 lv_name_2_0,
591 "org.eclipse.xtext.common.Terminals.ID"); 630 "org.eclipse.viatra.solver.language.Problem.Identifier");
631 afterParserOrEnumRuleCall();
592 632
593 633
594 } 634 }
@@ -596,7 +636,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
596 636
597 } 637 }
598 638
599 // InternalProblem.g:236:3: (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? 639 // InternalProblem.g:247:3: (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )?
600 int alt6=2; 640 int alt6=2;
601 int LA6_0 = input.LA(1); 641 int LA6_0 = input.LA(1);
602 642
@@ -605,17 +645,17 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
605 } 645 }
606 switch (alt6) { 646 switch (alt6) {
607 case 1 : 647 case 1 :
608 // InternalProblem.g:237:4: otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* 648 // InternalProblem.g:248:4: otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )*
609 { 649 {
610 otherlv_3=(Token)match(input,16,FOLLOW_8); 650 otherlv_3=(Token)match(input,16,FOLLOW_8);
611 651
612 newLeafNode(otherlv_3, grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0()); 652 newLeafNode(otherlv_3, grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0());
613 653
614 // InternalProblem.g:241:4: ( ( ruleQualifiedName ) ) 654 // InternalProblem.g:252:4: ( ( ruleQualifiedName ) )
615 // InternalProblem.g:242:5: ( ruleQualifiedName ) 655 // InternalProblem.g:253:5: ( ruleQualifiedName )
616 { 656 {
617 // InternalProblem.g:242:5: ( ruleQualifiedName ) 657 // InternalProblem.g:253:5: ( ruleQualifiedName )
618 // InternalProblem.g:243:6: ruleQualifiedName 658 // InternalProblem.g:254:6: ruleQualifiedName
619 { 659 {
620 660
621 if (current==null) { 661 if (current==null) {
@@ -623,7 +663,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
623 } 663 }
624 664
625 665
626 newCompositeNode(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_1_0()); 666 newCompositeNode(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationCrossReference_3_1_0());
627 667
628 pushFollow(FOLLOW_9); 668 pushFollow(FOLLOW_9);
629 ruleQualifiedName(); 669 ruleQualifiedName();
@@ -639,7 +679,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
639 679
640 } 680 }
641 681
642 // InternalProblem.g:257:4: (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* 682 // InternalProblem.g:268:4: (otherlv_5= ',' ( ( ruleQualifiedName ) ) )*
643 loop5: 683 loop5:
644 do { 684 do {
645 int alt5=2; 685 int alt5=2;
@@ -652,17 +692,17 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
652 692
653 switch (alt5) { 693 switch (alt5) {
654 case 1 : 694 case 1 :
655 // InternalProblem.g:258:5: otherlv_5= ',' ( ( ruleQualifiedName ) ) 695 // InternalProblem.g:269:5: otherlv_5= ',' ( ( ruleQualifiedName ) )
656 { 696 {
657 otherlv_5=(Token)match(input,17,FOLLOW_8); 697 otherlv_5=(Token)match(input,17,FOLLOW_8);
658 698
659 newLeafNode(otherlv_5, grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_2_0()); 699 newLeafNode(otherlv_5, grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_2_0());
660 700
661 // InternalProblem.g:262:5: ( ( ruleQualifiedName ) ) 701 // InternalProblem.g:273:5: ( ( ruleQualifiedName ) )
662 // InternalProblem.g:263:6: ( ruleQualifiedName ) 702 // InternalProblem.g:274:6: ( ruleQualifiedName )
663 { 703 {
664 // InternalProblem.g:263:6: ( ruleQualifiedName ) 704 // InternalProblem.g:274:6: ( ruleQualifiedName )
665 // InternalProblem.g:264:7: ruleQualifiedName 705 // InternalProblem.g:275:7: ruleQualifiedName
666 { 706 {
667 707
668 if (current==null) { 708 if (current==null) {
@@ -670,7 +710,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
670 } 710 }
671 711
672 712
673 newCompositeNode(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_2_1_0()); 713 newCompositeNode(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationCrossReference_3_2_1_0());
674 714
675 pushFollow(FOLLOW_9); 715 pushFollow(FOLLOW_9);
676 ruleQualifiedName(); 716 ruleQualifiedName();
@@ -701,7 +741,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
701 741
702 } 742 }
703 743
704 // InternalProblem.g:280:3: ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' ) 744 // InternalProblem.g:291:3: ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' )
705 int alt9=2; 745 int alt9=2;
706 int LA9_0 = input.LA(1); 746 int LA9_0 = input.LA(1);
707 747
@@ -719,35 +759,35 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
719 } 759 }
720 switch (alt9) { 760 switch (alt9) {
721 case 1 : 761 case 1 :
722 // InternalProblem.g:281:4: (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) 762 // InternalProblem.g:292:4: (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' )
723 { 763 {
724 // InternalProblem.g:281:4: (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) 764 // InternalProblem.g:292:4: (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' )
725 // InternalProblem.g:282:5: 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= '}'
726 { 766 {
727 otherlv_7=(Token)match(input,18,FOLLOW_10); 767 otherlv_7=(Token)match(input,18,FOLLOW_10);
728 768
729 newLeafNode(otherlv_7, grammarAccess.getClassDeclarationAccess().getLeftCurlyBracketKeyword_4_0_0()); 769 newLeafNode(otherlv_7, grammarAccess.getClassDeclarationAccess().getLeftCurlyBracketKeyword_4_0_0());
730 770
731 // InternalProblem.g:286:5: ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* 771 // InternalProblem.g:297:5: ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )*
732 loop8: 772 loop8:
733 do { 773 do {
734 int alt8=2; 774 int alt8=2;
735 int LA8_0 = input.LA(1); 775 int LA8_0 = input.LA(1);
736 776
737 if ( ((LA8_0>=21 && LA8_0<=22)) ) { 777 if ( (LA8_0==RULE_ID||LA8_0==RULE_QUOTED_ID||(LA8_0>=22 && LA8_0<=23)||(LA8_0>=40 && LA8_0<=41)) ) {
738 alt8=1; 778 alt8=1;
739 } 779 }
740 780
741 781
742 switch (alt8) { 782 switch (alt8) {
743 case 1 : 783 case 1 :
744 // InternalProblem.g:287:6: ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? 784 // InternalProblem.g:298:6: ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )?
745 { 785 {
746 // InternalProblem.g:287:6: ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) 786 // InternalProblem.g:298:6: ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) )
747 // InternalProblem.g:288:7: (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) 787 // InternalProblem.g:299:7: (lv_referenceDeclarations_8_0= ruleReferenceDeclaration )
748 { 788 {
749 // InternalProblem.g:288:7: (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) 789 // InternalProblem.g:299:7: (lv_referenceDeclarations_8_0= ruleReferenceDeclaration )
750 // InternalProblem.g:289:8: lv_referenceDeclarations_8_0= ruleReferenceDeclaration 790 // InternalProblem.g:300:8: lv_referenceDeclarations_8_0= ruleReferenceDeclaration
751 { 791 {
752 792
753 newCompositeNode(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_4_0_1_0_0()); 793 newCompositeNode(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_4_0_1_0_0());
@@ -774,7 +814,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
774 814
775 } 815 }
776 816
777 // InternalProblem.g:306:6: (otherlv_9= ';' )? 817 // InternalProblem.g:317:6: (otherlv_9= ';' )?
778 int alt7=2; 818 int alt7=2;
779 int LA7_0 = input.LA(1); 819 int LA7_0 = input.LA(1);
780 820
@@ -783,7 +823,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
783 } 823 }
784 switch (alt7) { 824 switch (alt7) {
785 case 1 : 825 case 1 :
786 // InternalProblem.g:307:7: otherlv_9= ';' 826 // InternalProblem.g:318:7: otherlv_9= ';'
787 { 827 {
788 otherlv_9=(Token)match(input,19,FOLLOW_10); 828 otherlv_9=(Token)match(input,19,FOLLOW_10);
789 829
@@ -815,7 +855,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
815 } 855 }
816 break; 856 break;
817 case 2 : 857 case 2 :
818 // InternalProblem.g:319:4: otherlv_11= '.' 858 // InternalProblem.g:330:4: otherlv_11= '.'
819 { 859 {
820 otherlv_11=(Token)match(input,13,FOLLOW_2); 860 otherlv_11=(Token)match(input,13,FOLLOW_2);
821 861
@@ -849,8 +889,428 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
849 // $ANTLR end "ruleClassDeclaration" 889 // $ANTLR end "ruleClassDeclaration"
850 890
851 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
852 // $ANTLR start "entryRuleReferenceDeclaration" 1312 // $ANTLR start "entryRuleReferenceDeclaration"
853 // InternalProblem.g:328:1: entryRuleReferenceDeclaration returns [EObject current=null] : iv_ruleReferenceDeclaration= ruleReferenceDeclaration EOF ; 1313 // InternalProblem.g:491:1: entryRuleReferenceDeclaration returns [EObject current=null] : iv_ruleReferenceDeclaration= ruleReferenceDeclaration EOF ;
854 public final EObject entryRuleReferenceDeclaration() throws RecognitionException { 1314 public final EObject entryRuleReferenceDeclaration() throws RecognitionException {
855 EObject current = null; 1315 EObject current = null;
856 1316
@@ -858,8 +1318,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
858 1318
859 1319
860 try { 1320 try {
861 // InternalProblem.g:328:61: (iv_ruleReferenceDeclaration= ruleReferenceDeclaration EOF ) 1321 // InternalProblem.g:491:61: (iv_ruleReferenceDeclaration= ruleReferenceDeclaration EOF )
862 // InternalProblem.g:329:2: iv_ruleReferenceDeclaration= ruleReferenceDeclaration EOF 1322 // InternalProblem.g:492:2: iv_ruleReferenceDeclaration= ruleReferenceDeclaration EOF
863 { 1323 {
864 newCompositeNode(grammarAccess.getReferenceDeclarationRule()); 1324 newCompositeNode(grammarAccess.getReferenceDeclarationRule());
865 pushFollow(FOLLOW_1); 1325 pushFollow(FOLLOW_1);
@@ -886,7 +1346,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
886 1346
887 1347
888 // $ANTLR start "ruleReferenceDeclaration" 1348 // $ANTLR start "ruleReferenceDeclaration"
889 // InternalProblem.g:335: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= RULE_ID ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? ) ; 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 ) ) )? ) ;
890 public final EObject ruleReferenceDeclaration() throws RecognitionException { 1350 public final EObject ruleReferenceDeclaration() throws RecognitionException {
891 EObject current = null; 1351 EObject current = null;
892 1352
@@ -894,48 +1354,43 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
894 Token otherlv_1=null; 1354 Token otherlv_1=null;
895 Token otherlv_3=null; 1355 Token otherlv_3=null;
896 Token otherlv_5=null; 1356 Token otherlv_5=null;
897 Token lv_name_6_0=null;
898 Token otherlv_7=null; 1357 Token otherlv_7=null;
899 EObject lv_multiplicity_4_0 = null; 1358 EObject lv_multiplicity_4_0 = null;
900 1359
1360 AntlrDatatypeRuleToken lv_name_6_0 = null;
1361
901 1362
902 1363
903 enterRule(); 1364 enterRule();
904 1365
905 try { 1366 try {
906 // InternalProblem.g:341:2: ( ( ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' ) ( ( ruleQualifiedName ) ) (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? ( (lv_name_6_0= RULE_ID ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? ) ) 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 ) ) )? ) )
907 // InternalProblem.g:342:2: ( ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' ) ( ( ruleQualifiedName ) ) (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? ( (lv_name_6_0= RULE_ID ) ) (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 ) ) )? )
908 { 1369 {
909 // InternalProblem.g:342:2: ( ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' ) ( ( ruleQualifiedName ) ) (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? ( (lv_name_6_0= RULE_ID ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? ) 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 ) ) )? )
910 // InternalProblem.g:343:3: ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' ) ( ( ruleQualifiedName ) ) (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? ( (lv_name_6_0= RULE_ID ) ) (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 ) ) )?
911 { 1372 {
912 // InternalProblem.g:343:3: ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' ) 1373 // InternalProblem.g:506:3: ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' )?
913 int alt10=2; 1374 int alt14=3;
914 int LA10_0 = input.LA(1); 1375 int LA14_0 = input.LA(1);
915 1376
916 if ( (LA10_0==21) ) { 1377 if ( (LA14_0==22) ) {
917 alt10=1; 1378 alt14=1;
918 }
919 else if ( (LA10_0==22) ) {
920 alt10=2;
921 } 1379 }
922 else { 1380 else if ( (LA14_0==23) ) {
923 NoViableAltException nvae = 1381 alt14=2;
924 new NoViableAltException("", 10, 0, input);
925
926 throw nvae;
927 } 1382 }
928 switch (alt10) { 1383 switch (alt14) {
929 case 1 : 1384 case 1 :
930 // InternalProblem.g:344:4: ( (lv_containment_0_0= 'contains' ) ) 1385 // InternalProblem.g:507:4: ( (lv_containment_0_0= 'contains' ) )
931 { 1386 {
932 // InternalProblem.g:344:4: ( (lv_containment_0_0= 'contains' ) ) 1387 // InternalProblem.g:507:4: ( (lv_containment_0_0= 'contains' ) )
933 // InternalProblem.g:345:5: (lv_containment_0_0= 'contains' ) 1388 // InternalProblem.g:508:5: (lv_containment_0_0= 'contains' )
934 { 1389 {
935 // InternalProblem.g:345:5: (lv_containment_0_0= 'contains' ) 1390 // InternalProblem.g:508:5: (lv_containment_0_0= 'contains' )
936 // InternalProblem.g:346:6: lv_containment_0_0= 'contains' 1391 // InternalProblem.g:509:6: lv_containment_0_0= 'contains'
937 { 1392 {
938 lv_containment_0_0=(Token)match(input,21,FOLLOW_8); 1393 lv_containment_0_0=(Token)match(input,22,FOLLOW_8);
939 1394
940 newLeafNode(lv_containment_0_0, grammarAccess.getReferenceDeclarationAccess().getContainmentContainsKeyword_0_0_0()); 1395 newLeafNode(lv_containment_0_0, grammarAccess.getReferenceDeclarationAccess().getContainmentContainsKeyword_0_0_0());
941 1396
@@ -955,9 +1410,9 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
955 } 1410 }
956 break; 1411 break;
957 case 2 : 1412 case 2 :
958 // InternalProblem.g:359:4: otherlv_1= 'refers' 1413 // InternalProblem.g:522:4: otherlv_1= 'refers'
959 { 1414 {
960 otherlv_1=(Token)match(input,22,FOLLOW_8); 1415 otherlv_1=(Token)match(input,23,FOLLOW_8);
961 1416
962 newLeafNode(otherlv_1, grammarAccess.getReferenceDeclarationAccess().getRefersKeyword_0_1()); 1417 newLeafNode(otherlv_1, grammarAccess.getReferenceDeclarationAccess().getRefersKeyword_0_1());
963 1418
@@ -967,11 +1422,11 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
967 1422
968 } 1423 }
969 1424
970 // InternalProblem.g:364:3: ( ( ruleQualifiedName ) ) 1425 // InternalProblem.g:527:3: ( ( ruleQualifiedName ) )
971 // InternalProblem.g:365:4: ( ruleQualifiedName ) 1426 // InternalProblem.g:528:4: ( ruleQualifiedName )
972 { 1427 {
973 // InternalProblem.g:365:4: ( ruleQualifiedName ) 1428 // InternalProblem.g:528:4: ( ruleQualifiedName )
974 // InternalProblem.g:366:5: ruleQualifiedName 1429 // InternalProblem.g:529:5: ruleQualifiedName
975 { 1430 {
976 1431
977 if (current==null) { 1432 if (current==null) {
@@ -979,9 +1434,9 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
979 } 1434 }
980 1435
981 1436
982 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeClassDeclarationCrossReference_1_0()); 1437 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeRelationCrossReference_1_0());
983 1438
984 pushFollow(FOLLOW_12); 1439 pushFollow(FOLLOW_16);
985 ruleQualifiedName(); 1440 ruleQualifiedName();
986 1441
987 state._fsp--; 1442 state._fsp--;
@@ -995,31 +1450,31 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
995 1450
996 } 1451 }
997 1452
998 // InternalProblem.g:380:3: (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? 1453 // InternalProblem.g:543:3: (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )?
999 int alt11=2; 1454 int alt15=2;
1000 int LA11_0 = input.LA(1); 1455 int LA15_0 = input.LA(1);
1001 1456
1002 if ( (LA11_0==23) ) { 1457 if ( (LA15_0==24) ) {
1003 alt11=1; 1458 alt15=1;
1004 } 1459 }
1005 switch (alt11) { 1460 switch (alt15) {
1006 case 1 : 1461 case 1 :
1007 // InternalProblem.g:381:4: otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' 1462 // InternalProblem.g:544:4: otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']'
1008 { 1463 {
1009 otherlv_3=(Token)match(input,23,FOLLOW_13); 1464 otherlv_3=(Token)match(input,24,FOLLOW_17);
1010 1465
1011 newLeafNode(otherlv_3, grammarAccess.getReferenceDeclarationAccess().getLeftSquareBracketKeyword_2_0()); 1466 newLeafNode(otherlv_3, grammarAccess.getReferenceDeclarationAccess().getLeftSquareBracketKeyword_2_0());
1012 1467
1013 // InternalProblem.g:385:4: ( (lv_multiplicity_4_0= ruleMultiplicity ) ) 1468 // InternalProblem.g:548:4: ( (lv_multiplicity_4_0= ruleMultiplicity ) )
1014 // InternalProblem.g:386:5: (lv_multiplicity_4_0= ruleMultiplicity ) 1469 // InternalProblem.g:549:5: (lv_multiplicity_4_0= ruleMultiplicity )
1015 { 1470 {
1016 // InternalProblem.g:386:5: (lv_multiplicity_4_0= ruleMultiplicity ) 1471 // InternalProblem.g:549:5: (lv_multiplicity_4_0= ruleMultiplicity )
1017 // InternalProblem.g:387:6: lv_multiplicity_4_0= ruleMultiplicity 1472 // InternalProblem.g:550:6: lv_multiplicity_4_0= ruleMultiplicity
1018 { 1473 {
1019 1474
1020 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getMultiplicityMultiplicityParserRuleCall_2_1_0()); 1475 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getMultiplicityMultiplicityParserRuleCall_2_1_0());
1021 1476
1022 pushFollow(FOLLOW_14); 1477 pushFollow(FOLLOW_18);
1023 lv_multiplicity_4_0=ruleMultiplicity(); 1478 lv_multiplicity_4_0=ruleMultiplicity();
1024 1479
1025 state._fsp--; 1480 state._fsp--;
@@ -1041,7 +1496,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1041 1496
1042 } 1497 }
1043 1498
1044 otherlv_5=(Token)match(input,24,FOLLOW_3); 1499 otherlv_5=(Token)match(input,25,FOLLOW_3);
1045 1500
1046 newLeafNode(otherlv_5, grammarAccess.getReferenceDeclarationAccess().getRightSquareBracketKeyword_2_2()); 1501 newLeafNode(otherlv_5, grammarAccess.getReferenceDeclarationAccess().getRightSquareBracketKeyword_2_2());
1047 1502
@@ -1051,25 +1506,30 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1051 1506
1052 } 1507 }
1053 1508
1054 // InternalProblem.g:409:3: ( (lv_name_6_0= RULE_ID ) ) 1509 // InternalProblem.g:572:3: ( (lv_name_6_0= ruleIdentifier ) )
1055 // InternalProblem.g:410:4: (lv_name_6_0= RULE_ID ) 1510 // InternalProblem.g:573:4: (lv_name_6_0= ruleIdentifier )
1056 { 1511 {
1057 // InternalProblem.g:410:4: (lv_name_6_0= RULE_ID ) 1512 // InternalProblem.g:573:4: (lv_name_6_0= ruleIdentifier )
1058 // InternalProblem.g:411:5: lv_name_6_0= RULE_ID 1513 // InternalProblem.g:574:5: lv_name_6_0= ruleIdentifier
1059 { 1514 {
1060 lv_name_6_0=(Token)match(input,RULE_ID,FOLLOW_15);
1061 1515
1062 newLeafNode(lv_name_6_0, grammarAccess.getReferenceDeclarationAccess().getNameIDTerminalRuleCall_3_0()); 1516 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getNameIdentifierParserRuleCall_3_0());
1063 1517
1518 pushFollow(FOLLOW_19);
1519 lv_name_6_0=ruleIdentifier();
1520
1521 state._fsp--;
1522
1064 1523
1065 if (current==null) { 1524 if (current==null) {
1066 current = createModelElement(grammarAccess.getReferenceDeclarationRule()); 1525 current = createModelElementForParent(grammarAccess.getReferenceDeclarationRule());
1067 } 1526 }
1068 setWithLastConsumed( 1527 set(
1069 current, 1528 current,
1070 "name", 1529 "name",
1071 lv_name_6_0, 1530 lv_name_6_0,
1072 "org.eclipse.xtext.common.Terminals.ID"); 1531 "org.eclipse.viatra.solver.language.Problem.Identifier");
1532 afterParserOrEnumRuleCall();
1073 1533
1074 1534
1075 } 1535 }
@@ -1077,26 +1537,26 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1077 1537
1078 } 1538 }
1079 1539
1080 // InternalProblem.g:427:3: (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? 1540 // InternalProblem.g:591:3: (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )?
1081 int alt12=2; 1541 int alt16=2;
1082 int LA12_0 = input.LA(1); 1542 int LA16_0 = input.LA(1);
1083 1543
1084 if ( (LA12_0==25) ) { 1544 if ( (LA16_0==26) ) {
1085 alt12=1; 1545 alt16=1;
1086 } 1546 }
1087 switch (alt12) { 1547 switch (alt16) {
1088 case 1 : 1548 case 1 :
1089 // InternalProblem.g:428:4: otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) 1549 // InternalProblem.g:592:4: otherlv_7= 'opposite' ( ( ruleQualifiedName ) )
1090 { 1550 {
1091 otherlv_7=(Token)match(input,25,FOLLOW_8); 1551 otherlv_7=(Token)match(input,26,FOLLOW_8);
1092 1552
1093 newLeafNode(otherlv_7, grammarAccess.getReferenceDeclarationAccess().getOppositeKeyword_4_0()); 1553 newLeafNode(otherlv_7, grammarAccess.getReferenceDeclarationAccess().getOppositeKeyword_4_0());
1094 1554
1095 // InternalProblem.g:432:4: ( ( ruleQualifiedName ) ) 1555 // InternalProblem.g:596:4: ( ( ruleQualifiedName ) )
1096 // InternalProblem.g:433:5: ( ruleQualifiedName ) 1556 // InternalProblem.g:597:5: ( ruleQualifiedName )
1097 { 1557 {
1098 // InternalProblem.g:433:5: ( ruleQualifiedName ) 1558 // InternalProblem.g:597:5: ( ruleQualifiedName )
1099 // InternalProblem.g:434:6: ruleQualifiedName 1559 // InternalProblem.g:598:6: ruleQualifiedName
1100 { 1560 {
1101 1561
1102 if (current==null) { 1562 if (current==null) {
@@ -1149,7 +1609,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1149 1609
1150 1610
1151 // $ANTLR start "entryRulePredicateDefinition" 1611 // $ANTLR start "entryRulePredicateDefinition"
1152 // InternalProblem.g:453:1: entryRulePredicateDefinition returns [EObject current=null] : iv_rulePredicateDefinition= rulePredicateDefinition EOF ; 1612 // InternalProblem.g:617:1: entryRulePredicateDefinition returns [EObject current=null] : iv_rulePredicateDefinition= rulePredicateDefinition EOF ;
1153 public final EObject entryRulePredicateDefinition() throws RecognitionException { 1613 public final EObject entryRulePredicateDefinition() throws RecognitionException {
1154 EObject current = null; 1614 EObject current = null;
1155 1615
@@ -1157,8 +1617,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1157 1617
1158 1618
1159 try { 1619 try {
1160 // InternalProblem.g:453:60: (iv_rulePredicateDefinition= rulePredicateDefinition EOF ) 1620 // InternalProblem.g:617:60: (iv_rulePredicateDefinition= rulePredicateDefinition EOF )
1161 // InternalProblem.g:454:2: iv_rulePredicateDefinition= rulePredicateDefinition EOF 1621 // InternalProblem.g:618:2: iv_rulePredicateDefinition= rulePredicateDefinition EOF
1162 { 1622 {
1163 newCompositeNode(grammarAccess.getPredicateDefinitionRule()); 1623 newCompositeNode(grammarAccess.getPredicateDefinitionRule());
1164 pushFollow(FOLLOW_1); 1624 pushFollow(FOLLOW_1);
@@ -1185,20 +1645,21 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1185 1645
1186 1646
1187 // $ANTLR start "rulePredicateDefinition" 1647 // $ANTLR start "rulePredicateDefinition"
1188 // InternalProblem.g:460:1: rulePredicateDefinition returns [EObject current=null] : ( ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= RULE_ID ) ) 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= '.' ) ; 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= '.' ) ;
1189 public final EObject rulePredicateDefinition() throws RecognitionException { 1649 public final EObject rulePredicateDefinition() throws RecognitionException {
1190 EObject current = null; 1650 EObject current = null;
1191 1651
1192 Token lv_error_0_0=null; 1652 Token lv_error_0_0=null;
1193 Token otherlv_1=null; 1653 Token otherlv_1=null;
1194 Token otherlv_2=null; 1654 Token otherlv_2=null;
1195 Token lv_name_3_0=null;
1196 Token otherlv_4=null; 1655 Token otherlv_4=null;
1197 Token otherlv_6=null; 1656 Token otherlv_6=null;
1198 Token otherlv_8=null; 1657 Token otherlv_8=null;
1199 Token otherlv_9=null; 1658 Token otherlv_9=null;
1200 Token otherlv_11=null; 1659 Token otherlv_11=null;
1201 Token otherlv_13=null; 1660 Token otherlv_13=null;
1661 AntlrDatatypeRuleToken lv_name_3_0 = null;
1662
1202 EObject lv_parameters_5_0 = null; 1663 EObject lv_parameters_5_0 = null;
1203 1664
1204 EObject lv_parameters_7_0 = null; 1665 EObject lv_parameters_7_0 = null;
@@ -1212,42 +1673,42 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1212 enterRule(); 1673 enterRule();
1213 1674
1214 try { 1675 try {
1215 // InternalProblem.g:466:2: ( ( ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= RULE_ID ) ) 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= '.' ) ) 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= '.' ) )
1216 // InternalProblem.g:467:2: ( ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= RULE_ID ) ) 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= '.' )
1217 { 1678 {
1218 // InternalProblem.g:467:2: ( ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= RULE_ID ) ) 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= '.' ) 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= '.' )
1219 // InternalProblem.g:468:3: ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= RULE_ID ) ) 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= '.'
1220 { 1681 {
1221 // InternalProblem.g:468:3: ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) 1682 // InternalProblem.g:632:3: ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' )
1222 int alt14=2; 1683 int alt18=2;
1223 int LA14_0 = input.LA(1); 1684 int LA18_0 = input.LA(1);
1224 1685
1225 if ( (LA14_0==26) ) { 1686 if ( (LA18_0==27) ) {
1226 alt14=1; 1687 alt18=1;
1227 } 1688 }
1228 else if ( (LA14_0==27) ) { 1689 else if ( (LA18_0==28) ) {
1229 alt14=2; 1690 alt18=2;
1230 } 1691 }
1231 else { 1692 else {
1232 NoViableAltException nvae = 1693 NoViableAltException nvae =
1233 new NoViableAltException("", 14, 0, input); 1694 new NoViableAltException("", 18, 0, input);
1234 1695
1235 throw nvae; 1696 throw nvae;
1236 } 1697 }
1237 switch (alt14) { 1698 switch (alt18) {
1238 case 1 : 1699 case 1 :
1239 // InternalProblem.g:469:4: ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) 1700 // InternalProblem.g:633:4: ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? )
1240 { 1701 {
1241 // InternalProblem.g:469:4: ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) 1702 // InternalProblem.g:633:4: ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? )
1242 // InternalProblem.g:470:5: ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? 1703 // InternalProblem.g:634:5: ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )?
1243 { 1704 {
1244 // InternalProblem.g:470:5: ( (lv_error_0_0= 'error' ) ) 1705 // InternalProblem.g:634:5: ( (lv_error_0_0= 'error' ) )
1245 // InternalProblem.g:471:6: (lv_error_0_0= 'error' ) 1706 // InternalProblem.g:635:6: (lv_error_0_0= 'error' )
1246 { 1707 {
1247 // InternalProblem.g:471:6: (lv_error_0_0= 'error' ) 1708 // InternalProblem.g:635:6: (lv_error_0_0= 'error' )
1248 // InternalProblem.g:472:7: lv_error_0_0= 'error' 1709 // InternalProblem.g:636:7: lv_error_0_0= 'error'
1249 { 1710 {
1250 lv_error_0_0=(Token)match(input,26,FOLLOW_16); 1711 lv_error_0_0=(Token)match(input,27,FOLLOW_20);
1251 1712
1252 newLeafNode(lv_error_0_0, grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_0_0()); 1713 newLeafNode(lv_error_0_0, grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_0_0());
1253 1714
@@ -1263,18 +1724,18 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1263 1724
1264 } 1725 }
1265 1726
1266 // InternalProblem.g:484:5: (otherlv_1= 'pred' )? 1727 // InternalProblem.g:648:5: (otherlv_1= 'pred' )?
1267 int alt13=2; 1728 int alt17=2;
1268 int LA13_0 = input.LA(1); 1729 int LA17_0 = input.LA(1);
1269 1730
1270 if ( (LA13_0==27) ) { 1731 if ( (LA17_0==28) ) {
1271 alt13=1; 1732 alt17=1;
1272 } 1733 }
1273 switch (alt13) { 1734 switch (alt17) {
1274 case 1 : 1735 case 1 :
1275 // InternalProblem.g:485:6: otherlv_1= 'pred' 1736 // InternalProblem.g:649:6: otherlv_1= 'pred'
1276 { 1737 {
1277 otherlv_1=(Token)match(input,27,FOLLOW_3); 1738 otherlv_1=(Token)match(input,28,FOLLOW_3);
1278 1739
1279 newLeafNode(otherlv_1, grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_0_1()); 1740 newLeafNode(otherlv_1, grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_0_1());
1280 1741
@@ -1291,9 +1752,9 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1291 } 1752 }
1292 break; 1753 break;
1293 case 2 : 1754 case 2 :
1294 // InternalProblem.g:492:4: otherlv_2= 'pred' 1755 // InternalProblem.g:656:4: otherlv_2= 'pred'
1295 { 1756 {
1296 otherlv_2=(Token)match(input,27,FOLLOW_3); 1757 otherlv_2=(Token)match(input,28,FOLLOW_3);
1297 1758
1298 newLeafNode(otherlv_2, grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_1()); 1759 newLeafNode(otherlv_2, grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_1());
1299 1760
@@ -1303,25 +1764,30 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1303 1764
1304 } 1765 }
1305 1766
1306 // InternalProblem.g:497:3: ( (lv_name_3_0= RULE_ID ) ) 1767 // InternalProblem.g:661:3: ( (lv_name_3_0= ruleIdentifier ) )
1307 // InternalProblem.g:498:4: (lv_name_3_0= RULE_ID ) 1768 // InternalProblem.g:662:4: (lv_name_3_0= ruleIdentifier )
1308 { 1769 {
1309 // InternalProblem.g:498:4: (lv_name_3_0= RULE_ID ) 1770 // InternalProblem.g:662:4: (lv_name_3_0= ruleIdentifier )
1310 // InternalProblem.g:499:5: lv_name_3_0= RULE_ID 1771 // InternalProblem.g:663:5: lv_name_3_0= ruleIdentifier
1311 { 1772 {
1312 lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_17);
1313 1773
1314 newLeafNode(lv_name_3_0, grammarAccess.getPredicateDefinitionAccess().getNameIDTerminalRuleCall_1_0()); 1774 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getNameIdentifierParserRuleCall_1_0());
1315 1775
1776 pushFollow(FOLLOW_21);
1777 lv_name_3_0=ruleIdentifier();
1778
1779 state._fsp--;
1780
1316 1781
1317 if (current==null) { 1782 if (current==null) {
1318 current = createModelElement(grammarAccess.getPredicateDefinitionRule()); 1783 current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule());
1319 } 1784 }
1320 setWithLastConsumed( 1785 set(
1321 current, 1786 current,
1322 "name", 1787 "name",
1323 lv_name_3_0, 1788 lv_name_3_0,
1324 "org.eclipse.xtext.common.Terminals.ID"); 1789 "org.eclipse.viatra.solver.language.Problem.Identifier");
1790 afterParserOrEnumRuleCall();
1325 1791
1326 1792
1327 } 1793 }
@@ -1329,31 +1795,31 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1329 1795
1330 } 1796 }
1331 1797
1332 otherlv_4=(Token)match(input,28,FOLLOW_18); 1798 otherlv_4=(Token)match(input,29,FOLLOW_22);
1333 1799
1334 newLeafNode(otherlv_4, grammarAccess.getPredicateDefinitionAccess().getLeftParenthesisKeyword_2()); 1800 newLeafNode(otherlv_4, grammarAccess.getPredicateDefinitionAccess().getLeftParenthesisKeyword_2());
1335 1801
1336 // InternalProblem.g:519:3: ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? 1802 // InternalProblem.g:684:3: ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )?
1337 int alt16=2; 1803 int alt20=2;
1338 int LA16_0 = input.LA(1); 1804 int LA20_0 = input.LA(1);
1339 1805
1340 if ( (LA16_0==RULE_ID) ) { 1806 if ( (LA20_0==RULE_ID||LA20_0==RULE_QUOTED_ID||(LA20_0>=40 && LA20_0<=41)) ) {
1341 alt16=1; 1807 alt20=1;
1342 } 1808 }
1343 switch (alt16) { 1809 switch (alt20) {
1344 case 1 : 1810 case 1 :
1345 // InternalProblem.g:520:4: ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* 1811 // InternalProblem.g:685:4: ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )*
1346 { 1812 {
1347 // InternalProblem.g:520:4: ( (lv_parameters_5_0= ruleParameter ) ) 1813 // InternalProblem.g:685:4: ( (lv_parameters_5_0= ruleParameter ) )
1348 // InternalProblem.g:521:5: (lv_parameters_5_0= ruleParameter ) 1814 // InternalProblem.g:686:5: (lv_parameters_5_0= ruleParameter )
1349 { 1815 {
1350 // InternalProblem.g:521:5: (lv_parameters_5_0= ruleParameter ) 1816 // InternalProblem.g:686:5: (lv_parameters_5_0= ruleParameter )
1351 // InternalProblem.g:522:6: lv_parameters_5_0= ruleParameter 1817 // InternalProblem.g:687:6: lv_parameters_5_0= ruleParameter
1352 { 1818 {
1353 1819
1354 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_0_0()); 1820 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_0_0());
1355 1821
1356 pushFollow(FOLLOW_19); 1822 pushFollow(FOLLOW_23);
1357 lv_parameters_5_0=ruleParameter(); 1823 lv_parameters_5_0=ruleParameter();
1358 1824
1359 state._fsp--; 1825 state._fsp--;
@@ -1375,35 +1841,35 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1375 1841
1376 } 1842 }
1377 1843
1378 // InternalProblem.g:539:4: (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* 1844 // InternalProblem.g:704:4: (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )*
1379 loop15: 1845 loop19:
1380 do { 1846 do {
1381 int alt15=2; 1847 int alt19=2;
1382 int LA15_0 = input.LA(1); 1848 int LA19_0 = input.LA(1);
1383 1849
1384 if ( (LA15_0==17) ) { 1850 if ( (LA19_0==17) ) {
1385 alt15=1; 1851 alt19=1;
1386 } 1852 }
1387 1853
1388 1854
1389 switch (alt15) { 1855 switch (alt19) {
1390 case 1 : 1856 case 1 :
1391 // InternalProblem.g:540:5: otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) 1857 // InternalProblem.g:705:5: otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) )
1392 { 1858 {
1393 otherlv_6=(Token)match(input,17,FOLLOW_3); 1859 otherlv_6=(Token)match(input,17,FOLLOW_8);
1394 1860
1395 newLeafNode(otherlv_6, grammarAccess.getPredicateDefinitionAccess().getCommaKeyword_3_1_0()); 1861 newLeafNode(otherlv_6, grammarAccess.getPredicateDefinitionAccess().getCommaKeyword_3_1_0());
1396 1862
1397 // InternalProblem.g:544:5: ( (lv_parameters_7_0= ruleParameter ) ) 1863 // InternalProblem.g:709:5: ( (lv_parameters_7_0= ruleParameter ) )
1398 // InternalProblem.g:545:6: (lv_parameters_7_0= ruleParameter ) 1864 // InternalProblem.g:710:6: (lv_parameters_7_0= ruleParameter )
1399 { 1865 {
1400 // InternalProblem.g:545:6: (lv_parameters_7_0= ruleParameter ) 1866 // InternalProblem.g:710:6: (lv_parameters_7_0= ruleParameter )
1401 // InternalProblem.g:546:7: lv_parameters_7_0= ruleParameter 1867 // InternalProblem.g:711:7: lv_parameters_7_0= ruleParameter
1402 { 1868 {
1403 1869
1404 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_1_1_0()); 1870 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_1_1_0());
1405 1871
1406 pushFollow(FOLLOW_19); 1872 pushFollow(FOLLOW_23);
1407 lv_parameters_7_0=ruleParameter(); 1873 lv_parameters_7_0=ruleParameter();
1408 1874
1409 state._fsp--; 1875 state._fsp--;
@@ -1430,7 +1896,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1430 break; 1896 break;
1431 1897
1432 default : 1898 default :
1433 break loop15; 1899 break loop19;
1434 } 1900 }
1435 } while (true); 1901 } while (true);
1436 1902
@@ -1440,35 +1906,35 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1440 1906
1441 } 1907 }
1442 1908
1443 otherlv_8=(Token)match(input,29,FOLLOW_20); 1909 otherlv_8=(Token)match(input,30,FOLLOW_24);
1444 1910
1445 newLeafNode(otherlv_8, grammarAccess.getPredicateDefinitionAccess().getRightParenthesisKeyword_4()); 1911 newLeafNode(otherlv_8, grammarAccess.getPredicateDefinitionAccess().getRightParenthesisKeyword_4());
1446 1912
1447 // InternalProblem.g:569:3: (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? 1913 // InternalProblem.g:734:3: (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )?
1448 int alt18=2; 1914 int alt22=2;
1449 int LA18_0 = input.LA(1); 1915 int LA22_0 = input.LA(1);
1450 1916
1451 if ( (LA18_0==30) ) { 1917 if ( (LA22_0==31) ) {
1452 alt18=1; 1918 alt22=1;
1453 } 1919 }
1454 switch (alt18) { 1920 switch (alt22) {
1455 case 1 : 1921 case 1 :
1456 // InternalProblem.g:570:4: otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* 1922 // InternalProblem.g:735:4: otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )*
1457 { 1923 {
1458 otherlv_9=(Token)match(input,30,FOLLOW_21); 1924 otherlv_9=(Token)match(input,31,FOLLOW_25);
1459 1925
1460 newLeafNode(otherlv_9, grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_5_0()); 1926 newLeafNode(otherlv_9, grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_5_0());
1461 1927
1462 // InternalProblem.g:574:4: ( (lv_bodies_10_0= ruleConjunction ) ) 1928 // InternalProblem.g:739:4: ( (lv_bodies_10_0= ruleConjunction ) )
1463 // InternalProblem.g:575:5: (lv_bodies_10_0= ruleConjunction ) 1929 // InternalProblem.g:740:5: (lv_bodies_10_0= ruleConjunction )
1464 { 1930 {
1465 // InternalProblem.g:575:5: (lv_bodies_10_0= ruleConjunction ) 1931 // InternalProblem.g:740:5: (lv_bodies_10_0= ruleConjunction )
1466 // InternalProblem.g:576:6: lv_bodies_10_0= ruleConjunction 1932 // InternalProblem.g:741:6: lv_bodies_10_0= ruleConjunction
1467 { 1933 {
1468 1934
1469 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_1_0()); 1935 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_1_0());
1470 1936
1471 pushFollow(FOLLOW_22); 1937 pushFollow(FOLLOW_26);
1472 lv_bodies_10_0=ruleConjunction(); 1938 lv_bodies_10_0=ruleConjunction();
1473 1939
1474 state._fsp--; 1940 state._fsp--;
@@ -1490,35 +1956,35 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1490 1956
1491 } 1957 }
1492 1958
1493 // InternalProblem.g:593:4: (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* 1959 // InternalProblem.g:758:4: (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )*
1494 loop17: 1960 loop21:
1495 do { 1961 do {
1496 int alt17=2; 1962 int alt21=2;
1497 int LA17_0 = input.LA(1); 1963 int LA21_0 = input.LA(1);
1498 1964
1499 if ( (LA17_0==19) ) { 1965 if ( (LA21_0==19) ) {
1500 alt17=1; 1966 alt21=1;
1501 } 1967 }
1502 1968
1503 1969
1504 switch (alt17) { 1970 switch (alt21) {
1505 case 1 : 1971 case 1 :
1506 // InternalProblem.g:594:5: otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) 1972 // InternalProblem.g:759:5: otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) )
1507 { 1973 {
1508 otherlv_11=(Token)match(input,19,FOLLOW_21); 1974 otherlv_11=(Token)match(input,19,FOLLOW_25);
1509 1975
1510 newLeafNode(otherlv_11, grammarAccess.getPredicateDefinitionAccess().getSemicolonKeyword_5_2_0()); 1976 newLeafNode(otherlv_11, grammarAccess.getPredicateDefinitionAccess().getSemicolonKeyword_5_2_0());
1511 1977
1512 // InternalProblem.g:598:5: ( (lv_bodies_12_0= ruleConjunction ) ) 1978 // InternalProblem.g:763:5: ( (lv_bodies_12_0= ruleConjunction ) )
1513 // InternalProblem.g:599:6: (lv_bodies_12_0= ruleConjunction ) 1979 // InternalProblem.g:764:6: (lv_bodies_12_0= ruleConjunction )
1514 { 1980 {
1515 // InternalProblem.g:599:6: (lv_bodies_12_0= ruleConjunction ) 1981 // InternalProblem.g:764:6: (lv_bodies_12_0= ruleConjunction )
1516 // InternalProblem.g:600:7: lv_bodies_12_0= ruleConjunction 1982 // InternalProblem.g:765:7: lv_bodies_12_0= ruleConjunction
1517 { 1983 {
1518 1984
1519 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_2_1_0()); 1985 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_2_1_0());
1520 1986
1521 pushFollow(FOLLOW_22); 1987 pushFollow(FOLLOW_26);
1522 lv_bodies_12_0=ruleConjunction(); 1988 lv_bodies_12_0=ruleConjunction();
1523 1989
1524 state._fsp--; 1990 state._fsp--;
@@ -1545,7 +2011,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1545 break; 2011 break;
1546 2012
1547 default : 2013 default :
1548 break loop17; 2014 break loop21;
1549 } 2015 }
1550 } while (true); 2016 } while (true);
1551 2017
@@ -1582,7 +2048,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1582 2048
1583 2049
1584 // $ANTLR start "entryRuleParameter" 2050 // $ANTLR start "entryRuleParameter"
1585 // InternalProblem.g:627:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ; 2051 // InternalProblem.g:792:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ;
1586 public final EObject entryRuleParameter() throws RecognitionException { 2052 public final EObject entryRuleParameter() throws RecognitionException {
1587 EObject current = null; 2053 EObject current = null;
1588 2054
@@ -1590,8 +2056,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1590 2056
1591 2057
1592 try { 2058 try {
1593 // InternalProblem.g:627:50: (iv_ruleParameter= ruleParameter EOF ) 2059 // InternalProblem.g:792:50: (iv_ruleParameter= ruleParameter EOF )
1594 // InternalProblem.g:628:2: iv_ruleParameter= ruleParameter EOF 2060 // InternalProblem.g:793:2: iv_ruleParameter= ruleParameter EOF
1595 { 2061 {
1596 newCompositeNode(grammarAccess.getParameterRule()); 2062 newCompositeNode(grammarAccess.getParameterRule());
1597 pushFollow(FOLLOW_1); 2063 pushFollow(FOLLOW_1);
@@ -1618,63 +2084,116 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1618 2084
1619 2085
1620 // $ANTLR start "ruleParameter" 2086 // $ANTLR start "ruleParameter"
1621 // InternalProblem.g:634:1: ruleParameter returns [EObject current=null] : ( ( (otherlv_0= RULE_ID ) ) ( (lv_name_1_0= RULE_ID ) ) ) ; 2087 // InternalProblem.g:799:1: ruleParameter returns [EObject current=null] : ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= ruleIdentifier ) ) ) ;
1622 public final EObject ruleParameter() throws RecognitionException { 2088 public final EObject ruleParameter() throws RecognitionException {
1623 EObject current = null; 2089 EObject current = null;
1624 2090
1625 Token otherlv_0=null; 2091 AntlrDatatypeRuleToken lv_name_1_0 = null;
1626 Token lv_name_1_0=null; 2092
1627 2093
1628 2094
1629 enterRule(); 2095 enterRule();
1630 2096
1631 try { 2097 try {
1632 // InternalProblem.g:640:2: ( ( ( (otherlv_0= RULE_ID ) ) ( (lv_name_1_0= RULE_ID ) ) ) ) 2098 // InternalProblem.g:805:2: ( ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= ruleIdentifier ) ) ) )
1633 // InternalProblem.g:641:2: ( ( (otherlv_0= RULE_ID ) ) ( (lv_name_1_0= RULE_ID ) ) ) 2099 // InternalProblem.g:806:2: ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= ruleIdentifier ) ) )
1634 {
1635 // InternalProblem.g:641:2: ( ( (otherlv_0= RULE_ID ) ) ( (lv_name_1_0= RULE_ID ) ) )
1636 // InternalProblem.g:642:3: ( (otherlv_0= RULE_ID ) ) ( (lv_name_1_0= RULE_ID ) )
1637 {
1638 // InternalProblem.g:642:3: ( (otherlv_0= RULE_ID ) )
1639 // InternalProblem.g:643:4: (otherlv_0= RULE_ID )
1640 { 2100 {
1641 // InternalProblem.g:643:4: (otherlv_0= RULE_ID ) 2101 // InternalProblem.g:806:2: ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= ruleIdentifier ) ) )
1642 // InternalProblem.g:644:5: otherlv_0= RULE_ID 2102 // InternalProblem.g:807:3: ( ( ruleQualifiedName ) )? ( (lv_name_1_0= ruleIdentifier ) )
1643 { 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);
1644 2115
1645 if (current==null) { 2116 if ( (LA23_2==RULE_ID||LA23_2==34||(LA23_2>=40 && LA23_2<=41)) ) {
1646 current = createModelElement(grammarAccess.getParameterRule()); 2117 alt23=1;
1647 } 2118 }
1648 2119 }
1649 otherlv_0=(Token)match(input,RULE_ID,FOLLOW_3); 2120 break;
2121 case 40:
2122 {
2123 int LA23_3 = input.LA(2);
1650 2124
1651 newLeafNode(otherlv_0, grammarAccess.getParameterAccess().getParameterTypeClassDeclarationCrossReference_0_0()); 2125 if ( (LA23_3==RULE_ID||LA23_3==34||(LA23_3>=40 && LA23_3<=41)) ) {
1652 2126 alt23=1;
2127 }
2128 }
2129 break;
2130 case 41:
2131 {
2132 int LA23_4 = input.LA(2);
1653 2133
2134 if ( (LA23_4==RULE_ID||LA23_4==34||(LA23_4>=40 && LA23_4<=41)) ) {
2135 alt23=1;
2136 }
2137 }
2138 break;
1654 } 2139 }
1655 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;
1656 2170
1657 } 2171 }
1658 2172
1659 // InternalProblem.g:655:3: ( (lv_name_1_0= RULE_ID ) ) 2173 // InternalProblem.g:823:3: ( (lv_name_1_0= ruleIdentifier ) )
1660 // InternalProblem.g:656:4: (lv_name_1_0= RULE_ID ) 2174 // InternalProblem.g:824:4: (lv_name_1_0= ruleIdentifier )
1661 { 2175 {
1662 // InternalProblem.g:656:4: (lv_name_1_0= RULE_ID ) 2176 // InternalProblem.g:824:4: (lv_name_1_0= ruleIdentifier )
1663 // InternalProblem.g:657:5: lv_name_1_0= RULE_ID 2177 // InternalProblem.g:825:5: lv_name_1_0= ruleIdentifier
1664 { 2178 {
1665 lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_2);
1666 2179
1667 newLeafNode(lv_name_1_0, grammarAccess.getParameterAccess().getNameIDTerminalRuleCall_1_0()); 2180 newCompositeNode(grammarAccess.getParameterAccess().getNameIdentifierParserRuleCall_1_0());
1668 2181
2182 pushFollow(FOLLOW_2);
2183 lv_name_1_0=ruleIdentifier();
2184
2185 state._fsp--;
2186
1669 2187
1670 if (current==null) { 2188 if (current==null) {
1671 current = createModelElement(grammarAccess.getParameterRule()); 2189 current = createModelElementForParent(grammarAccess.getParameterRule());
1672 } 2190 }
1673 setWithLastConsumed( 2191 set(
1674 current, 2192 current,
1675 "name", 2193 "name",
1676 lv_name_1_0, 2194 lv_name_1_0,
1677 "org.eclipse.xtext.common.Terminals.ID"); 2195 "org.eclipse.viatra.solver.language.Problem.Identifier");
2196 afterParserOrEnumRuleCall();
1678 2197
1679 2198
1680 } 2199 }
@@ -1705,7 +2224,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1705 2224
1706 2225
1707 // $ANTLR start "entryRuleConjunction" 2226 // $ANTLR start "entryRuleConjunction"
1708 // InternalProblem.g:677:1: entryRuleConjunction returns [EObject current=null] : iv_ruleConjunction= ruleConjunction EOF ; 2227 // InternalProblem.g:846:1: entryRuleConjunction returns [EObject current=null] : iv_ruleConjunction= ruleConjunction EOF ;
1709 public final EObject entryRuleConjunction() throws RecognitionException { 2228 public final EObject entryRuleConjunction() throws RecognitionException {
1710 EObject current = null; 2229 EObject current = null;
1711 2230
@@ -1713,8 +2232,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1713 2232
1714 2233
1715 try { 2234 try {
1716 // InternalProblem.g:677:52: (iv_ruleConjunction= ruleConjunction EOF ) 2235 // InternalProblem.g:846:52: (iv_ruleConjunction= ruleConjunction EOF )
1717 // InternalProblem.g:678:2: iv_ruleConjunction= ruleConjunction EOF 2236 // InternalProblem.g:847:2: iv_ruleConjunction= ruleConjunction EOF
1718 { 2237 {
1719 newCompositeNode(grammarAccess.getConjunctionRule()); 2238 newCompositeNode(grammarAccess.getConjunctionRule());
1720 pushFollow(FOLLOW_1); 2239 pushFollow(FOLLOW_1);
@@ -1741,7 +2260,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1741 2260
1742 2261
1743 // $ANTLR start "ruleConjunction" 2262 // $ANTLR start "ruleConjunction"
1744 // InternalProblem.g:684:1: ruleConjunction returns [EObject current=null] : ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* ) ; 2263 // InternalProblem.g:853:1: ruleConjunction returns [EObject current=null] : ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* ) ;
1745 public final EObject ruleConjunction() throws RecognitionException { 2264 public final EObject ruleConjunction() throws RecognitionException {
1746 EObject current = null; 2265 EObject current = null;
1747 2266
@@ -1755,22 +2274,22 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1755 enterRule(); 2274 enterRule();
1756 2275
1757 try { 2276 try {
1758 // InternalProblem.g:690:2: ( ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* ) ) 2277 // InternalProblem.g:859:2: ( ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* ) )
1759 // InternalProblem.g:691: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 ) ) )* )
1760 { 2279 {
1761 // InternalProblem.g:691:2: ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* ) 2280 // InternalProblem.g:860:2: ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* )
1762 // InternalProblem.g:692:3: ( (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 ) ) )*
1763 { 2282 {
1764 // InternalProblem.g:692:3: ( (lv_literals_0_0= ruleLiteral ) ) 2283 // InternalProblem.g:861:3: ( (lv_literals_0_0= ruleLiteral ) )
1765 // InternalProblem.g:693:4: (lv_literals_0_0= ruleLiteral ) 2284 // InternalProblem.g:862:4: (lv_literals_0_0= ruleLiteral )
1766 { 2285 {
1767 // InternalProblem.g:693:4: (lv_literals_0_0= ruleLiteral ) 2286 // InternalProblem.g:862:4: (lv_literals_0_0= ruleLiteral )
1768 // InternalProblem.g:694:5: lv_literals_0_0= ruleLiteral 2287 // InternalProblem.g:863:5: lv_literals_0_0= ruleLiteral
1769 { 2288 {
1770 2289
1771 newCompositeNode(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_0_0()); 2290 newCompositeNode(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_0_0());
1772 2291
1773 pushFollow(FOLLOW_23); 2292 pushFollow(FOLLOW_27);
1774 lv_literals_0_0=ruleLiteral(); 2293 lv_literals_0_0=ruleLiteral();
1775 2294
1776 state._fsp--; 2295 state._fsp--;
@@ -1792,35 +2311,35 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1792 2311
1793 } 2312 }
1794 2313
1795 // InternalProblem.g:711:3: (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* 2314 // InternalProblem.g:880:3: (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )*
1796 loop19: 2315 loop24:
1797 do { 2316 do {
1798 int alt19=2; 2317 int alt24=2;
1799 int LA19_0 = input.LA(1); 2318 int LA24_0 = input.LA(1);
1800 2319
1801 if ( (LA19_0==17) ) { 2320 if ( (LA24_0==17) ) {
1802 alt19=1; 2321 alt24=1;
1803 } 2322 }
1804 2323
1805 2324
1806 switch (alt19) { 2325 switch (alt24) {
1807 case 1 : 2326 case 1 :
1808 // InternalProblem.g:712:4: otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) 2327 // InternalProblem.g:881:4: otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) )
1809 { 2328 {
1810 otherlv_1=(Token)match(input,17,FOLLOW_21); 2329 otherlv_1=(Token)match(input,17,FOLLOW_25);
1811 2330
1812 newLeafNode(otherlv_1, grammarAccess.getConjunctionAccess().getCommaKeyword_1_0()); 2331 newLeafNode(otherlv_1, grammarAccess.getConjunctionAccess().getCommaKeyword_1_0());
1813 2332
1814 // InternalProblem.g:716:4: ( (lv_literals_2_0= ruleLiteral ) ) 2333 // InternalProblem.g:885:4: ( (lv_literals_2_0= ruleLiteral ) )
1815 // InternalProblem.g:717:5: (lv_literals_2_0= ruleLiteral ) 2334 // InternalProblem.g:886:5: (lv_literals_2_0= ruleLiteral )
1816 { 2335 {
1817 // InternalProblem.g:717:5: (lv_literals_2_0= ruleLiteral ) 2336 // InternalProblem.g:886:5: (lv_literals_2_0= ruleLiteral )
1818 // InternalProblem.g:718:6: lv_literals_2_0= ruleLiteral 2337 // InternalProblem.g:887:6: lv_literals_2_0= ruleLiteral
1819 { 2338 {
1820 2339
1821 newCompositeNode(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_1_1_0()); 2340 newCompositeNode(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_1_1_0());
1822 2341
1823 pushFollow(FOLLOW_23); 2342 pushFollow(FOLLOW_27);
1824 lv_literals_2_0=ruleLiteral(); 2343 lv_literals_2_0=ruleLiteral();
1825 2344
1826 state._fsp--; 2345 state._fsp--;
@@ -1847,7 +2366,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1847 break; 2366 break;
1848 2367
1849 default : 2368 default :
1850 break loop19; 2369 break loop24;
1851 } 2370 }
1852 } while (true); 2371 } while (true);
1853 2372
@@ -1874,7 +2393,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1874 2393
1875 2394
1876 // $ANTLR start "entryRuleLiteral" 2395 // $ANTLR start "entryRuleLiteral"
1877 // InternalProblem.g:740:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ; 2396 // InternalProblem.g:909:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ;
1878 public final EObject entryRuleLiteral() throws RecognitionException { 2397 public final EObject entryRuleLiteral() throws RecognitionException {
1879 EObject current = null; 2398 EObject current = null;
1880 2399
@@ -1882,8 +2401,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1882 2401
1883 2402
1884 try { 2403 try {
1885 // InternalProblem.g:740:48: (iv_ruleLiteral= ruleLiteral EOF ) 2404 // InternalProblem.g:909:48: (iv_ruleLiteral= ruleLiteral EOF )
1886 // InternalProblem.g:741:2: iv_ruleLiteral= ruleLiteral EOF 2405 // InternalProblem.g:910:2: iv_ruleLiteral= ruleLiteral EOF
1887 { 2406 {
1888 newCompositeNode(grammarAccess.getLiteralRule()); 2407 newCompositeNode(grammarAccess.getLiteralRule());
1889 pushFollow(FOLLOW_1); 2408 pushFollow(FOLLOW_1);
@@ -1910,7 +2429,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1910 2429
1911 2430
1912 // $ANTLR start "ruleLiteral" 2431 // $ANTLR start "ruleLiteral"
1913 // InternalProblem.g:747:1: ruleLiteral returns [EObject current=null] : (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral ) ; 2432 // InternalProblem.g:916:1: ruleLiteral returns [EObject current=null] : (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral ) ;
1914 public final EObject ruleLiteral() throws RecognitionException { 2433 public final EObject ruleLiteral() throws RecognitionException {
1915 EObject current = null; 2434 EObject current = null;
1916 2435
@@ -1923,28 +2442,28 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1923 enterRule(); 2442 enterRule();
1924 2443
1925 try { 2444 try {
1926 // InternalProblem.g:753:2: ( (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral ) ) 2445 // InternalProblem.g:922:2: ( (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral ) )
1927 // InternalProblem.g:754:2: (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral ) 2446 // InternalProblem.g:923:2: (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral )
1928 { 2447 {
1929 // InternalProblem.g:754:2: (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral ) 2448 // InternalProblem.g:923:2: (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral )
1930 int alt20=2; 2449 int alt25=2;
1931 int LA20_0 = input.LA(1); 2450 int LA25_0 = input.LA(1);
1932 2451
1933 if ( (LA20_0==RULE_ID||LA20_0==RULE_QUOTED_ID) ) { 2452 if ( (LA25_0==RULE_ID||LA25_0==RULE_QUOTED_ID||(LA25_0>=40 && LA25_0<=41)) ) {
1934 alt20=1; 2453 alt25=1;
1935 } 2454 }
1936 else if ( (LA20_0==31) ) { 2455 else if ( (LA25_0==32) ) {
1937 alt20=2; 2456 alt25=2;
1938 } 2457 }
1939 else { 2458 else {
1940 NoViableAltException nvae = 2459 NoViableAltException nvae =
1941 new NoViableAltException("", 20, 0, input); 2460 new NoViableAltException("", 25, 0, input);
1942 2461
1943 throw nvae; 2462 throw nvae;
1944 } 2463 }
1945 switch (alt20) { 2464 switch (alt25) {
1946 case 1 : 2465 case 1 :
1947 // InternalProblem.g:755:3: this_Atom_0= ruleAtom 2466 // InternalProblem.g:924:3: this_Atom_0= ruleAtom
1948 { 2467 {
1949 2468
1950 newCompositeNode(grammarAccess.getLiteralAccess().getAtomParserRuleCall_0()); 2469 newCompositeNode(grammarAccess.getLiteralAccess().getAtomParserRuleCall_0());
@@ -1962,7 +2481,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1962 } 2481 }
1963 break; 2482 break;
1964 case 2 : 2483 case 2 :
1965 // InternalProblem.g:764:3: this_NegativeLiteral_1= ruleNegativeLiteral 2484 // InternalProblem.g:933:3: this_NegativeLiteral_1= ruleNegativeLiteral
1966 { 2485 {
1967 2486
1968 newCompositeNode(grammarAccess.getLiteralAccess().getNegativeLiteralParserRuleCall_1()); 2487 newCompositeNode(grammarAccess.getLiteralAccess().getNegativeLiteralParserRuleCall_1());
@@ -2002,7 +2521,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2002 2521
2003 2522
2004 // $ANTLR start "entryRuleNegativeLiteral" 2523 // $ANTLR start "entryRuleNegativeLiteral"
2005 // InternalProblem.g:776:1: entryRuleNegativeLiteral returns [EObject current=null] : iv_ruleNegativeLiteral= ruleNegativeLiteral EOF ; 2524 // InternalProblem.g:945:1: entryRuleNegativeLiteral returns [EObject current=null] : iv_ruleNegativeLiteral= ruleNegativeLiteral EOF ;
2006 public final EObject entryRuleNegativeLiteral() throws RecognitionException { 2525 public final EObject entryRuleNegativeLiteral() throws RecognitionException {
2007 EObject current = null; 2526 EObject current = null;
2008 2527
@@ -2010,8 +2529,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2010 2529
2011 2530
2012 try { 2531 try {
2013 // InternalProblem.g:776:56: (iv_ruleNegativeLiteral= ruleNegativeLiteral EOF ) 2532 // InternalProblem.g:945:56: (iv_ruleNegativeLiteral= ruleNegativeLiteral EOF )
2014 // InternalProblem.g:777:2: iv_ruleNegativeLiteral= ruleNegativeLiteral EOF 2533 // InternalProblem.g:946:2: iv_ruleNegativeLiteral= ruleNegativeLiteral EOF
2015 { 2534 {
2016 newCompositeNode(grammarAccess.getNegativeLiteralRule()); 2535 newCompositeNode(grammarAccess.getNegativeLiteralRule());
2017 pushFollow(FOLLOW_1); 2536 pushFollow(FOLLOW_1);
@@ -2038,7 +2557,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2038 2557
2039 2558
2040 // $ANTLR start "ruleNegativeLiteral" 2559 // $ANTLR start "ruleNegativeLiteral"
2041 // InternalProblem.g:783:1: ruleNegativeLiteral returns [EObject current=null] : (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) ) ; 2560 // InternalProblem.g:952:1: ruleNegativeLiteral returns [EObject current=null] : (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) ) ;
2042 public final EObject ruleNegativeLiteral() throws RecognitionException { 2561 public final EObject ruleNegativeLiteral() throws RecognitionException {
2043 EObject current = null; 2562 EObject current = null;
2044 2563
@@ -2050,21 +2569,21 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2050 enterRule(); 2569 enterRule();
2051 2570
2052 try { 2571 try {
2053 // InternalProblem.g:789:2: ( (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) ) ) 2572 // InternalProblem.g:958:2: ( (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) ) )
2054 // InternalProblem.g:790:2: (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) ) 2573 // InternalProblem.g:959:2: (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) )
2055 { 2574 {
2056 // InternalProblem.g:790:2: (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) ) 2575 // InternalProblem.g:959:2: (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) )
2057 // InternalProblem.g:791:3: otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) 2576 // InternalProblem.g:960:3: otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) )
2058 { 2577 {
2059 otherlv_0=(Token)match(input,31,FOLLOW_8); 2578 otherlv_0=(Token)match(input,32,FOLLOW_8);
2060 2579
2061 newLeafNode(otherlv_0, grammarAccess.getNegativeLiteralAccess().getExclamationMarkKeyword_0()); 2580 newLeafNode(otherlv_0, grammarAccess.getNegativeLiteralAccess().getExclamationMarkKeyword_0());
2062 2581
2063 // InternalProblem.g:795:3: ( (lv_atom_1_0= ruleAtom ) ) 2582 // InternalProblem.g:964:3: ( (lv_atom_1_0= ruleAtom ) )
2064 // InternalProblem.g:796:4: (lv_atom_1_0= ruleAtom ) 2583 // InternalProblem.g:965:4: (lv_atom_1_0= ruleAtom )
2065 { 2584 {
2066 // InternalProblem.g:796:4: (lv_atom_1_0= ruleAtom ) 2585 // InternalProblem.g:965:4: (lv_atom_1_0= ruleAtom )
2067 // InternalProblem.g:797:5: lv_atom_1_0= ruleAtom 2586 // InternalProblem.g:966:5: lv_atom_1_0= ruleAtom
2068 { 2587 {
2069 2588
2070 newCompositeNode(grammarAccess.getNegativeLiteralAccess().getAtomAtomParserRuleCall_1_0()); 2589 newCompositeNode(grammarAccess.getNegativeLiteralAccess().getAtomAtomParserRuleCall_1_0());
@@ -2114,7 +2633,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2114 2633
2115 2634
2116 // $ANTLR start "entryRuleAtom" 2635 // $ANTLR start "entryRuleAtom"
2117 // InternalProblem.g:818:1: entryRuleAtom returns [EObject current=null] : iv_ruleAtom= ruleAtom EOF ; 2636 // InternalProblem.g:987:1: entryRuleAtom returns [EObject current=null] : iv_ruleAtom= ruleAtom EOF ;
2118 public final EObject entryRuleAtom() throws RecognitionException { 2637 public final EObject entryRuleAtom() throws RecognitionException {
2119 EObject current = null; 2638 EObject current = null;
2120 2639
@@ -2122,8 +2641,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2122 2641
2123 2642
2124 try { 2643 try {
2125 // InternalProblem.g:818:45: (iv_ruleAtom= ruleAtom EOF ) 2644 // InternalProblem.g:987:45: (iv_ruleAtom= ruleAtom EOF )
2126 // InternalProblem.g:819:2: iv_ruleAtom= ruleAtom EOF 2645 // InternalProblem.g:988:2: iv_ruleAtom= ruleAtom EOF
2127 { 2646 {
2128 newCompositeNode(grammarAccess.getAtomRule()); 2647 newCompositeNode(grammarAccess.getAtomRule());
2129 pushFollow(FOLLOW_1); 2648 pushFollow(FOLLOW_1);
@@ -2150,7 +2669,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2150 2669
2151 2670
2152 // $ANTLR start "ruleAtom" 2671 // $ANTLR start "ruleAtom"
2153 // InternalProblem.g:825: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= ')' ) ; 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= ')' ) ;
2154 public final EObject ruleAtom() throws RecognitionException { 2673 public final EObject ruleAtom() throws RecognitionException {
2155 EObject current = null; 2674 EObject current = null;
2156 2675
@@ -2167,17 +2686,17 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2167 enterRule(); 2686 enterRule();
2168 2687
2169 try { 2688 try {
2170 // InternalProblem.g:831:2: ( ( ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )? otherlv_6= ')' ) ) 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= ')' ) )
2171 // InternalProblem.g:832: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= ')' )
2172 { 2691 {
2173 // InternalProblem.g:832:2: ( ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )? otherlv_6= ')' ) 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= ')' )
2174 // InternalProblem.g:833:3: ( ( 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= ')'
2175 { 2694 {
2176 // InternalProblem.g:833:3: ( ( ruleQualifiedName ) ) 2695 // InternalProblem.g:1002:3: ( ( ruleQualifiedName ) )
2177 // InternalProblem.g:834:4: ( ruleQualifiedName ) 2696 // InternalProblem.g:1003:4: ( ruleQualifiedName )
2178 { 2697 {
2179 // InternalProblem.g:834:4: ( ruleQualifiedName ) 2698 // InternalProblem.g:1003:4: ( ruleQualifiedName )
2180 // InternalProblem.g:835:5: ruleQualifiedName 2699 // InternalProblem.g:1004:5: ruleQualifiedName
2181 { 2700 {
2182 2701
2183 if (current==null) { 2702 if (current==null) {
@@ -2187,7 +2706,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2187 2706
2188 newCompositeNode(grammarAccess.getAtomAccess().getRelationRelationCrossReference_0_0()); 2707 newCompositeNode(grammarAccess.getAtomAccess().getRelationRelationCrossReference_0_0());
2189 2708
2190 pushFollow(FOLLOW_24); 2709 pushFollow(FOLLOW_28);
2191 ruleQualifiedName(); 2710 ruleQualifiedName();
2192 2711
2193 state._fsp--; 2712 state._fsp--;
@@ -2201,21 +2720,21 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2201 2720
2202 } 2721 }
2203 2722
2204 // InternalProblem.g:849:3: ( (lv_transitiveClosure_1_0= '+' ) )? 2723 // InternalProblem.g:1018:3: ( (lv_transitiveClosure_1_0= '+' ) )?
2205 int alt21=2; 2724 int alt26=2;
2206 int LA21_0 = input.LA(1); 2725 int LA26_0 = input.LA(1);
2207 2726
2208 if ( (LA21_0==32) ) { 2727 if ( (LA26_0==33) ) {
2209 alt21=1; 2728 alt26=1;
2210 } 2729 }
2211 switch (alt21) { 2730 switch (alt26) {
2212 case 1 : 2731 case 1 :
2213 // InternalProblem.g:850:4: (lv_transitiveClosure_1_0= '+' ) 2732 // InternalProblem.g:1019:4: (lv_transitiveClosure_1_0= '+' )
2214 { 2733 {
2215 // InternalProblem.g:850:4: (lv_transitiveClosure_1_0= '+' ) 2734 // InternalProblem.g:1019:4: (lv_transitiveClosure_1_0= '+' )
2216 // InternalProblem.g:851:5: lv_transitiveClosure_1_0= '+' 2735 // InternalProblem.g:1020:5: lv_transitiveClosure_1_0= '+'
2217 { 2736 {
2218 lv_transitiveClosure_1_0=(Token)match(input,32,FOLLOW_17); 2737 lv_transitiveClosure_1_0=(Token)match(input,33,FOLLOW_21);
2219 2738
2220 newLeafNode(lv_transitiveClosure_1_0, grammarAccess.getAtomAccess().getTransitiveClosurePlusSignKeyword_1_0()); 2739 newLeafNode(lv_transitiveClosure_1_0, grammarAccess.getAtomAccess().getTransitiveClosurePlusSignKeyword_1_0());
2221 2740
@@ -2234,31 +2753,31 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2234 2753
2235 } 2754 }
2236 2755
2237 otherlv_2=(Token)match(input,28,FOLLOW_18); 2756 otherlv_2=(Token)match(input,29,FOLLOW_22);
2238 2757
2239 newLeafNode(otherlv_2, grammarAccess.getAtomAccess().getLeftParenthesisKeyword_2()); 2758 newLeafNode(otherlv_2, grammarAccess.getAtomAccess().getLeftParenthesisKeyword_2());
2240 2759
2241 // InternalProblem.g:867:3: ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )? 2760 // InternalProblem.g:1036:3: ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )?
2242 int alt23=2; 2761 int alt28=2;
2243 int LA23_0 = input.LA(1); 2762 int LA28_0 = input.LA(1);
2244 2763
2245 if ( (LA23_0==RULE_ID) ) { 2764 if ( (LA28_0==RULE_ID||LA28_0==RULE_QUOTED_ID||(LA28_0>=40 && LA28_0<=41)) ) {
2246 alt23=1; 2765 alt28=1;
2247 } 2766 }
2248 switch (alt23) { 2767 switch (alt28) {
2249 case 1 : 2768 case 1 :
2250 // InternalProblem.g:868:4: ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* 2769 // InternalProblem.g:1037:4: ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )*
2251 { 2770 {
2252 // InternalProblem.g:868:4: ( (lv_arguments_3_0= ruleArgument ) ) 2771 // InternalProblem.g:1037:4: ( (lv_arguments_3_0= ruleArgument ) )
2253 // InternalProblem.g:869:5: (lv_arguments_3_0= ruleArgument ) 2772 // InternalProblem.g:1038:5: (lv_arguments_3_0= ruleArgument )
2254 { 2773 {
2255 // InternalProblem.g:869:5: (lv_arguments_3_0= ruleArgument ) 2774 // InternalProblem.g:1038:5: (lv_arguments_3_0= ruleArgument )
2256 // InternalProblem.g:870:6: lv_arguments_3_0= ruleArgument 2775 // InternalProblem.g:1039:6: lv_arguments_3_0= ruleArgument
2257 { 2776 {
2258 2777
2259 newCompositeNode(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_0_0()); 2778 newCompositeNode(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_0_0());
2260 2779
2261 pushFollow(FOLLOW_19); 2780 pushFollow(FOLLOW_23);
2262 lv_arguments_3_0=ruleArgument(); 2781 lv_arguments_3_0=ruleArgument();
2263 2782
2264 state._fsp--; 2783 state._fsp--;
@@ -2280,35 +2799,35 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2280 2799
2281 } 2800 }
2282 2801
2283 // InternalProblem.g:887:4: (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* 2802 // InternalProblem.g:1056:4: (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )*
2284 loop22: 2803 loop27:
2285 do { 2804 do {
2286 int alt22=2; 2805 int alt27=2;
2287 int LA22_0 = input.LA(1); 2806 int LA27_0 = input.LA(1);
2288 2807
2289 if ( (LA22_0==17) ) { 2808 if ( (LA27_0==17) ) {
2290 alt22=1; 2809 alt27=1;
2291 } 2810 }
2292 2811
2293 2812
2294 switch (alt22) { 2813 switch (alt27) {
2295 case 1 : 2814 case 1 :
2296 // InternalProblem.g:888:5: otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) 2815 // InternalProblem.g:1057:5: otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) )
2297 { 2816 {
2298 otherlv_4=(Token)match(input,17,FOLLOW_3); 2817 otherlv_4=(Token)match(input,17,FOLLOW_8);
2299 2818
2300 newLeafNode(otherlv_4, grammarAccess.getAtomAccess().getCommaKeyword_3_1_0()); 2819 newLeafNode(otherlv_4, grammarAccess.getAtomAccess().getCommaKeyword_3_1_0());
2301 2820
2302 // InternalProblem.g:892:5: ( (lv_arguments_5_0= ruleArgument ) ) 2821 // InternalProblem.g:1061:5: ( (lv_arguments_5_0= ruleArgument ) )
2303 // InternalProblem.g:893:6: (lv_arguments_5_0= ruleArgument ) 2822 // InternalProblem.g:1062:6: (lv_arguments_5_0= ruleArgument )
2304 { 2823 {
2305 // InternalProblem.g:893:6: (lv_arguments_5_0= ruleArgument ) 2824 // InternalProblem.g:1062:6: (lv_arguments_5_0= ruleArgument )
2306 // InternalProblem.g:894:7: lv_arguments_5_0= ruleArgument 2825 // InternalProblem.g:1063:7: lv_arguments_5_0= ruleArgument
2307 { 2826 {
2308 2827
2309 newCompositeNode(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_1_1_0()); 2828 newCompositeNode(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_1_1_0());
2310 2829
2311 pushFollow(FOLLOW_19); 2830 pushFollow(FOLLOW_23);
2312 lv_arguments_5_0=ruleArgument(); 2831 lv_arguments_5_0=ruleArgument();
2313 2832
2314 state._fsp--; 2833 state._fsp--;
@@ -2335,7 +2854,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2335 break; 2854 break;
2336 2855
2337 default : 2856 default :
2338 break loop22; 2857 break loop27;
2339 } 2858 }
2340 } while (true); 2859 } while (true);
2341 2860
@@ -2345,7 +2864,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2345 2864
2346 } 2865 }
2347 2866
2348 otherlv_6=(Token)match(input,29,FOLLOW_2); 2867 otherlv_6=(Token)match(input,30,FOLLOW_2);
2349 2868
2350 newLeafNode(otherlv_6, grammarAccess.getAtomAccess().getRightParenthesisKeyword_4()); 2869 newLeafNode(otherlv_6, grammarAccess.getAtomAccess().getRightParenthesisKeyword_4());
2351 2870
@@ -2372,7 +2891,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2372 2891
2373 2892
2374 // $ANTLR start "entryRuleArgument" 2893 // $ANTLR start "entryRuleArgument"
2375 // InternalProblem.g:921:1: entryRuleArgument returns [EObject current=null] : iv_ruleArgument= ruleArgument EOF ; 2894 // InternalProblem.g:1090:1: entryRuleArgument returns [EObject current=null] : iv_ruleArgument= ruleArgument EOF ;
2376 public final EObject entryRuleArgument() throws RecognitionException { 2895 public final EObject entryRuleArgument() throws RecognitionException {
2377 EObject current = null; 2896 EObject current = null;
2378 2897
@@ -2380,8 +2899,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2380 2899
2381 2900
2382 try { 2901 try {
2383 // InternalProblem.g:921:49: (iv_ruleArgument= ruleArgument EOF ) 2902 // InternalProblem.g:1090:49: (iv_ruleArgument= ruleArgument EOF )
2384 // InternalProblem.g:922:2: iv_ruleArgument= ruleArgument EOF 2903 // InternalProblem.g:1091:2: iv_ruleArgument= ruleArgument EOF
2385 { 2904 {
2386 newCompositeNode(grammarAccess.getArgumentRule()); 2905 newCompositeNode(grammarAccess.getArgumentRule());
2387 pushFollow(FOLLOW_1); 2906 pushFollow(FOLLOW_1);
@@ -2408,33 +2927,38 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2408 2927
2409 2928
2410 // $ANTLR start "ruleArgument" 2929 // $ANTLR start "ruleArgument"
2411 // InternalProblem.g:928:1: ruleArgument returns [EObject current=null] : ( (otherlv_0= RULE_ID ) ) ; 2930 // InternalProblem.g:1097:1: ruleArgument returns [EObject current=null] : ( ( ruleQualifiedName ) ) ;
2412 public final EObject ruleArgument() throws RecognitionException { 2931 public final EObject ruleArgument() throws RecognitionException {
2413 EObject current = null; 2932 EObject current = null;
2414 2933
2415 Token otherlv_0=null;
2416
2417 2934
2418 enterRule(); 2935 enterRule();
2419 2936
2420 try { 2937 try {
2421 // InternalProblem.g:934:2: ( ( (otherlv_0= RULE_ID ) ) ) 2938 // InternalProblem.g:1103:2: ( ( ( ruleQualifiedName ) ) )
2422 // InternalProblem.g:935:2: ( (otherlv_0= RULE_ID ) ) 2939 // InternalProblem.g:1104:2: ( ( ruleQualifiedName ) )
2423 { 2940 {
2424 // InternalProblem.g:935:2: ( (otherlv_0= RULE_ID ) ) 2941 // InternalProblem.g:1104:2: ( ( ruleQualifiedName ) )
2425 // InternalProblem.g:936:3: (otherlv_0= RULE_ID ) 2942 // InternalProblem.g:1105:3: ( ruleQualifiedName )
2426 { 2943 {
2427 // InternalProblem.g:936:3: (otherlv_0= RULE_ID ) 2944 // InternalProblem.g:1105:3: ( ruleQualifiedName )
2428 // InternalProblem.g:937:4: otherlv_0= RULE_ID 2945 // InternalProblem.g:1106:4: ruleQualifiedName
2429 { 2946 {
2430 2947
2431 if (current==null) { 2948 if (current==null) {
2432 current = createModelElement(grammarAccess.getArgumentRule()); 2949 current = createModelElement(grammarAccess.getArgumentRule());
2433 } 2950 }
2434 2951
2435 otherlv_0=(Token)match(input,RULE_ID,FOLLOW_2);
2436 2952
2437 newLeafNode(otherlv_0, grammarAccess.getArgumentAccess().getVariableVariableCrossReference_0()); 2953 newCompositeNode(grammarAccess.getArgumentAccess().getVariableOrNodeVariableOrNodeCrossReference_0());
2954
2955 pushFollow(FOLLOW_2);
2956 ruleQualifiedName();
2957
2958 state._fsp--;
2959
2960
2961 afterParserOrEnumRuleCall();
2438 2962
2439 2963
2440 } 2964 }
@@ -2462,7 +2986,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2462 2986
2463 2987
2464 // $ANTLR start "entryRuleAssertion" 2988 // $ANTLR start "entryRuleAssertion"
2465 // InternalProblem.g:951:1: entryRuleAssertion returns [EObject current=null] : iv_ruleAssertion= ruleAssertion EOF ; 2989 // InternalProblem.g:1123:1: entryRuleAssertion returns [EObject current=null] : iv_ruleAssertion= ruleAssertion EOF ;
2466 public final EObject entryRuleAssertion() throws RecognitionException { 2990 public final EObject entryRuleAssertion() throws RecognitionException {
2467 EObject current = null; 2991 EObject current = null;
2468 2992
@@ -2470,8 +2994,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2470 2994
2471 2995
2472 try { 2996 try {
2473 // InternalProblem.g:951:50: (iv_ruleAssertion= ruleAssertion EOF ) 2997 // InternalProblem.g:1123:50: (iv_ruleAssertion= ruleAssertion EOF )
2474 // InternalProblem.g:952:2: iv_ruleAssertion= ruleAssertion EOF 2998 // InternalProblem.g:1124:2: iv_ruleAssertion= ruleAssertion EOF
2475 { 2999 {
2476 newCompositeNode(grammarAccess.getAssertionRule()); 3000 newCompositeNode(grammarAccess.getAssertionRule());
2477 pushFollow(FOLLOW_1); 3001 pushFollow(FOLLOW_1);
@@ -2498,7 +3022,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2498 3022
2499 3023
2500 // $ANTLR start "ruleAssertion" 3024 // $ANTLR start "ruleAssertion"
2501 // InternalProblem.g:958: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= '.' ) ; 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= '.' ) ;
2502 public final EObject ruleAssertion() throws RecognitionException { 3026 public final EObject ruleAssertion() throws RecognitionException {
2503 EObject current = null; 3027 EObject current = null;
2504 3028
@@ -2519,27 +3043,27 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2519 enterRule(); 3043 enterRule();
2520 3044
2521 try { 3045 try {
2522 // InternalProblem.g:964: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= '.' ) ) 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= '.' ) )
2523 // InternalProblem.g:965: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= '.' )
2524 { 3048 {
2525 // InternalProblem.g:965: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= '.' ) 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= '.' )
2526 // InternalProblem.g:966: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= '.' 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= '.'
2527 { 3051 {
2528 // InternalProblem.g:966: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= ')' ) ) 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= ')' ) )
2529 int alt29=2; 3053 int alt34=2;
2530 alt29 = dfa29.predict(input); 3054 alt34 = dfa34.predict(input);
2531 switch (alt29) { 3055 switch (alt34) {
2532 case 1 : 3056 case 1 :
2533 // InternalProblem.g:967:4: ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) 3057 // InternalProblem.g:1139:4: ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) )
2534 { 3058 {
2535 // InternalProblem.g:967:4: ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) 3059 // InternalProblem.g:1139:4: ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) )
2536 // InternalProblem.g:968:5: ( ( 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 ) )
2537 { 3061 {
2538 // InternalProblem.g:968:5: ( ( ruleQualifiedName ) ) 3062 // InternalProblem.g:1140:5: ( ( ruleQualifiedName ) )
2539 // InternalProblem.g:969:6: ( ruleQualifiedName ) 3063 // InternalProblem.g:1141:6: ( ruleQualifiedName )
2540 { 3064 {
2541 // InternalProblem.g:969:6: ( ruleQualifiedName ) 3065 // InternalProblem.g:1141:6: ( ruleQualifiedName )
2542 // InternalProblem.g:970:7: ruleQualifiedName 3066 // InternalProblem.g:1142:7: ruleQualifiedName
2543 { 3067 {
2544 3068
2545 if (current==null) { 3069 if (current==null) {
@@ -2549,7 +3073,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2549 3073
2550 newCompositeNode(grammarAccess.getAssertionAccess().getRelationRelationCrossReference_0_0_0_0()); 3074 newCompositeNode(grammarAccess.getAssertionAccess().getRelationRelationCrossReference_0_0_0_0());
2551 3075
2552 pushFollow(FOLLOW_17); 3076 pushFollow(FOLLOW_21);
2553 ruleQualifiedName(); 3077 ruleQualifiedName();
2554 3078
2555 state._fsp--; 3079 state._fsp--;
@@ -2563,26 +3087,26 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2563 3087
2564 } 3088 }
2565 3089
2566 otherlv_1=(Token)match(input,28,FOLLOW_25); 3090 otherlv_1=(Token)match(input,29,FOLLOW_22);
2567 3091
2568 newLeafNode(otherlv_1, grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_0_1()); 3092 newLeafNode(otherlv_1, grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_0_1());
2569 3093
2570 // InternalProblem.g:988:5: ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? 3094 // InternalProblem.g:1160:5: ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )?
2571 int alt25=2; 3095 int alt30=2;
2572 int LA25_0 = input.LA(1); 3096 int LA30_0 = input.LA(1);
2573 3097
2574 if ( (LA25_0==RULE_ID||LA25_0==RULE_QUOTED_ID) ) { 3098 if ( (LA30_0==RULE_ID||LA30_0==RULE_QUOTED_ID||(LA30_0>=40 && LA30_0<=41)) ) {
2575 alt25=1; 3099 alt30=1;
2576 } 3100 }
2577 switch (alt25) { 3101 switch (alt30) {
2578 case 1 : 3102 case 1 :
2579 // InternalProblem.g:989:6: ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* 3103 // InternalProblem.g:1161:6: ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )*
2580 { 3104 {
2581 // InternalProblem.g:989:6: ( ( ruleQualifiedName ) ) 3105 // InternalProblem.g:1161:6: ( ( ruleQualifiedName ) )
2582 // InternalProblem.g:990:7: ( ruleQualifiedName ) 3106 // InternalProblem.g:1162:7: ( ruleQualifiedName )
2583 { 3107 {
2584 // InternalProblem.g:990:7: ( ruleQualifiedName ) 3108 // InternalProblem.g:1162:7: ( ruleQualifiedName )
2585 // InternalProblem.g:991:8: ruleQualifiedName 3109 // InternalProblem.g:1163:8: ruleQualifiedName
2586 { 3110 {
2587 3111
2588 if (current==null) { 3112 if (current==null) {
@@ -2592,7 +3116,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2592 3116
2593 newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_0_2_0_0()); 3117 newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_0_2_0_0());
2594 3118
2595 pushFollow(FOLLOW_19); 3119 pushFollow(FOLLOW_23);
2596 ruleQualifiedName(); 3120 ruleQualifiedName();
2597 3121
2598 state._fsp--; 3122 state._fsp--;
@@ -2606,30 +3130,30 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2606 3130
2607 } 3131 }
2608 3132
2609 // InternalProblem.g:1005:6: (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* 3133 // InternalProblem.g:1177:6: (otherlv_3= ',' ( ( ruleQualifiedName ) ) )*
2610 loop24: 3134 loop29:
2611 do { 3135 do {
2612 int alt24=2; 3136 int alt29=2;
2613 int LA24_0 = input.LA(1); 3137 int LA29_0 = input.LA(1);
2614 3138
2615 if ( (LA24_0==17) ) { 3139 if ( (LA29_0==17) ) {
2616 alt24=1; 3140 alt29=1;
2617 } 3141 }
2618 3142
2619 3143
2620 switch (alt24) { 3144 switch (alt29) {
2621 case 1 : 3145 case 1 :
2622 // InternalProblem.g:1006:7: otherlv_3= ',' ( ( ruleQualifiedName ) ) 3146 // InternalProblem.g:1178:7: otherlv_3= ',' ( ( ruleQualifiedName ) )
2623 { 3147 {
2624 otherlv_3=(Token)match(input,17,FOLLOW_8); 3148 otherlv_3=(Token)match(input,17,FOLLOW_8);
2625 3149
2626 newLeafNode(otherlv_3, grammarAccess.getAssertionAccess().getCommaKeyword_0_0_2_1_0()); 3150 newLeafNode(otherlv_3, grammarAccess.getAssertionAccess().getCommaKeyword_0_0_2_1_0());
2627 3151
2628 // InternalProblem.g:1010:7: ( ( ruleQualifiedName ) ) 3152 // InternalProblem.g:1182:7: ( ( ruleQualifiedName ) )
2629 // InternalProblem.g:1011:8: ( ruleQualifiedName ) 3153 // InternalProblem.g:1183:8: ( ruleQualifiedName )
2630 { 3154 {
2631 // InternalProblem.g:1011:8: ( ruleQualifiedName ) 3155 // InternalProblem.g:1183:8: ( ruleQualifiedName )
2632 // InternalProblem.g:1012:9: ruleQualifiedName 3156 // InternalProblem.g:1184:9: ruleQualifiedName
2633 { 3157 {
2634 3158
2635 if (current==null) { 3159 if (current==null) {
@@ -2639,7 +3163,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2639 3163
2640 newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_0_2_1_1_0()); 3164 newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_0_2_1_1_0());
2641 3165
2642 pushFollow(FOLLOW_19); 3166 pushFollow(FOLLOW_23);
2643 ruleQualifiedName(); 3167 ruleQualifiedName();
2644 3168
2645 state._fsp--; 3169 state._fsp--;
@@ -2658,7 +3182,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2658 break; 3182 break;
2659 3183
2660 default : 3184 default :
2661 break loop24; 3185 break loop29;
2662 } 3186 }
2663 } while (true); 3187 } while (true);
2664 3188
@@ -2668,19 +3192,19 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2668 3192
2669 } 3193 }
2670 3194
2671 otherlv_5=(Token)match(input,29,FOLLOW_26); 3195 otherlv_5=(Token)match(input,30,FOLLOW_29);
2672 3196
2673 newLeafNode(otherlv_5, grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_0_3()); 3197 newLeafNode(otherlv_5, grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_0_3());
2674 3198
2675 otherlv_6=(Token)match(input,33,FOLLOW_27); 3199 otherlv_6=(Token)match(input,34,FOLLOW_30);
2676 3200
2677 newLeafNode(otherlv_6, grammarAccess.getAssertionAccess().getColonKeyword_0_0_4()); 3201 newLeafNode(otherlv_6, grammarAccess.getAssertionAccess().getColonKeyword_0_0_4());
2678 3202
2679 // InternalProblem.g:1036:5: ( (lv_value_7_0= ruleLogicValue ) ) 3203 // InternalProblem.g:1208:5: ( (lv_value_7_0= ruleLogicValue ) )
2680 // InternalProblem.g:1037:6: (lv_value_7_0= ruleLogicValue ) 3204 // InternalProblem.g:1209:6: (lv_value_7_0= ruleLogicValue )
2681 { 3205 {
2682 // InternalProblem.g:1037:6: (lv_value_7_0= ruleLogicValue ) 3206 // InternalProblem.g:1209:6: (lv_value_7_0= ruleLogicValue )
2683 // InternalProblem.g:1038:7: lv_value_7_0= ruleLogicValue 3207 // InternalProblem.g:1210:7: lv_value_7_0= ruleLogicValue
2684 { 3208 {
2685 3209
2686 newCompositeNode(grammarAccess.getAssertionAccess().getValueLogicValueEnumRuleCall_0_0_5_0()); 3210 newCompositeNode(grammarAccess.getAssertionAccess().getValueLogicValueEnumRuleCall_0_0_5_0());
@@ -2714,24 +3238,24 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2714 } 3238 }
2715 break; 3239 break;
2716 case 2 : 3240 case 2 :
2717 // InternalProblem.g:1057:4: ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) 3241 // InternalProblem.g:1229:4: ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' )
2718 { 3242 {
2719 // InternalProblem.g:1057:4: ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) 3243 // InternalProblem.g:1229:4: ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' )
2720 // InternalProblem.g:1058:5: ( (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= ')'
2721 { 3245 {
2722 // InternalProblem.g:1058:5: ( (lv_value_8_0= ruleShortLogicValue ) )? 3246 // InternalProblem.g:1230:5: ( (lv_value_8_0= ruleShortLogicValue ) )?
2723 int alt26=2; 3247 int alt31=2;
2724 int LA26_0 = input.LA(1); 3248 int LA31_0 = input.LA(1);
2725 3249
2726 if ( (LA26_0==31||LA26_0==42) ) { 3250 if ( (LA31_0==32||LA31_0==43) ) {
2727 alt26=1; 3251 alt31=1;
2728 } 3252 }
2729 switch (alt26) { 3253 switch (alt31) {
2730 case 1 : 3254 case 1 :
2731 // InternalProblem.g:1059:6: (lv_value_8_0= ruleShortLogicValue ) 3255 // InternalProblem.g:1231:6: (lv_value_8_0= ruleShortLogicValue )
2732 { 3256 {
2733 // InternalProblem.g:1059:6: (lv_value_8_0= ruleShortLogicValue ) 3257 // InternalProblem.g:1231:6: (lv_value_8_0= ruleShortLogicValue )
2734 // InternalProblem.g:1060:7: lv_value_8_0= ruleShortLogicValue 3258 // InternalProblem.g:1232:7: lv_value_8_0= ruleShortLogicValue
2735 { 3259 {
2736 3260
2737 newCompositeNode(grammarAccess.getAssertionAccess().getValueShortLogicValueEnumRuleCall_0_1_0_0()); 3261 newCompositeNode(grammarAccess.getAssertionAccess().getValueShortLogicValueEnumRuleCall_0_1_0_0());
@@ -2761,11 +3285,11 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2761 3285
2762 } 3286 }
2763 3287
2764 // InternalProblem.g:1077:5: ( ( ruleQualifiedName ) ) 3288 // InternalProblem.g:1249:5: ( ( ruleQualifiedName ) )
2765 // InternalProblem.g:1078:6: ( ruleQualifiedName ) 3289 // InternalProblem.g:1250:6: ( ruleQualifiedName )
2766 { 3290 {
2767 // InternalProblem.g:1078:6: ( ruleQualifiedName ) 3291 // InternalProblem.g:1250:6: ( ruleQualifiedName )
2768 // InternalProblem.g:1079:7: ruleQualifiedName 3292 // InternalProblem.g:1251:7: ruleQualifiedName
2769 { 3293 {
2770 3294
2771 if (current==null) { 3295 if (current==null) {
@@ -2775,7 +3299,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2775 3299
2776 newCompositeNode(grammarAccess.getAssertionAccess().getRelationRelationCrossReference_0_1_1_0()); 3300 newCompositeNode(grammarAccess.getAssertionAccess().getRelationRelationCrossReference_0_1_1_0());
2777 3301
2778 pushFollow(FOLLOW_17); 3302 pushFollow(FOLLOW_21);
2779 ruleQualifiedName(); 3303 ruleQualifiedName();
2780 3304
2781 state._fsp--; 3305 state._fsp--;
@@ -2789,26 +3313,26 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2789 3313
2790 } 3314 }
2791 3315
2792 otherlv_10=(Token)match(input,28,FOLLOW_25); 3316 otherlv_10=(Token)match(input,29,FOLLOW_22);
2793 3317
2794 newLeafNode(otherlv_10, grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_1_2()); 3318 newLeafNode(otherlv_10, grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_1_2());
2795 3319
2796 // InternalProblem.g:1097:5: ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? 3320 // InternalProblem.g:1269:5: ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )?
2797 int alt28=2; 3321 int alt33=2;
2798 int LA28_0 = input.LA(1); 3322 int LA33_0 = input.LA(1);
2799 3323
2800 if ( (LA28_0==RULE_ID||LA28_0==RULE_QUOTED_ID) ) { 3324 if ( (LA33_0==RULE_ID||LA33_0==RULE_QUOTED_ID||(LA33_0>=40 && LA33_0<=41)) ) {
2801 alt28=1; 3325 alt33=1;
2802 } 3326 }
2803 switch (alt28) { 3327 switch (alt33) {
2804 case 1 : 3328 case 1 :
2805 // InternalProblem.g:1098:6: ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* 3329 // InternalProblem.g:1270:6: ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )*
2806 { 3330 {
2807 // InternalProblem.g:1098:6: ( ( ruleQualifiedName ) ) 3331 // InternalProblem.g:1270:6: ( ( ruleQualifiedName ) )
2808 // InternalProblem.g:1099:7: ( ruleQualifiedName ) 3332 // InternalProblem.g:1271:7: ( ruleQualifiedName )
2809 { 3333 {
2810 // InternalProblem.g:1099:7: ( ruleQualifiedName ) 3334 // InternalProblem.g:1271:7: ( ruleQualifiedName )
2811 // InternalProblem.g:1100:8: ruleQualifiedName 3335 // InternalProblem.g:1272:8: ruleQualifiedName
2812 { 3336 {
2813 3337
2814 if (current==null) { 3338 if (current==null) {
@@ -2818,7 +3342,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2818 3342
2819 newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_1_3_0_0()); 3343 newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_1_3_0_0());
2820 3344
2821 pushFollow(FOLLOW_19); 3345 pushFollow(FOLLOW_23);
2822 ruleQualifiedName(); 3346 ruleQualifiedName();
2823 3347
2824 state._fsp--; 3348 state._fsp--;
@@ -2832,30 +3356,30 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2832 3356
2833 } 3357 }
2834 3358
2835 // InternalProblem.g:1114:6: (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* 3359 // InternalProblem.g:1286:6: (otherlv_12= ',' ( ( ruleQualifiedName ) ) )*
2836 loop27: 3360 loop32:
2837 do { 3361 do {
2838 int alt27=2; 3362 int alt32=2;
2839 int LA27_0 = input.LA(1); 3363 int LA32_0 = input.LA(1);
2840 3364
2841 if ( (LA27_0==17) ) { 3365 if ( (LA32_0==17) ) {
2842 alt27=1; 3366 alt32=1;
2843 } 3367 }
2844 3368
2845 3369
2846 switch (alt27) { 3370 switch (alt32) {
2847 case 1 : 3371 case 1 :
2848 // InternalProblem.g:1115:7: otherlv_12= ',' ( ( ruleQualifiedName ) ) 3372 // InternalProblem.g:1287:7: otherlv_12= ',' ( ( ruleQualifiedName ) )
2849 { 3373 {
2850 otherlv_12=(Token)match(input,17,FOLLOW_8); 3374 otherlv_12=(Token)match(input,17,FOLLOW_8);
2851 3375
2852 newLeafNode(otherlv_12, grammarAccess.getAssertionAccess().getCommaKeyword_0_1_3_1_0()); 3376 newLeafNode(otherlv_12, grammarAccess.getAssertionAccess().getCommaKeyword_0_1_3_1_0());
2853 3377
2854 // InternalProblem.g:1119:7: ( ( ruleQualifiedName ) ) 3378 // InternalProblem.g:1291:7: ( ( ruleQualifiedName ) )
2855 // InternalProblem.g:1120:8: ( ruleQualifiedName ) 3379 // InternalProblem.g:1292:8: ( ruleQualifiedName )
2856 { 3380 {
2857 // InternalProblem.g:1120:8: ( ruleQualifiedName ) 3381 // InternalProblem.g:1292:8: ( ruleQualifiedName )
2858 // InternalProblem.g:1121:9: ruleQualifiedName 3382 // InternalProblem.g:1293:9: ruleQualifiedName
2859 { 3383 {
2860 3384
2861 if (current==null) { 3385 if (current==null) {
@@ -2865,7 +3389,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2865 3389
2866 newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_1_3_1_1_0()); 3390 newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_1_3_1_1_0());
2867 3391
2868 pushFollow(FOLLOW_19); 3392 pushFollow(FOLLOW_23);
2869 ruleQualifiedName(); 3393 ruleQualifiedName();
2870 3394
2871 state._fsp--; 3395 state._fsp--;
@@ -2884,7 +3408,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2884 break; 3408 break;
2885 3409
2886 default : 3410 default :
2887 break loop27; 3411 break loop32;
2888 } 3412 }
2889 } while (true); 3413 } while (true);
2890 3414
@@ -2894,7 +3418,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2894 3418
2895 } 3419 }
2896 3420
2897 otherlv_14=(Token)match(input,29,FOLLOW_4); 3421 otherlv_14=(Token)match(input,30,FOLLOW_4);
2898 3422
2899 newLeafNode(otherlv_14, grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_1_4()); 3423 newLeafNode(otherlv_14, grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_1_4());
2900 3424
@@ -2934,7 +3458,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2934 3458
2935 3459
2936 // $ANTLR start "entryRuleScopeDeclaration" 3460 // $ANTLR start "entryRuleScopeDeclaration"
2937 // InternalProblem.g:1151:1: entryRuleScopeDeclaration returns [EObject current=null] : iv_ruleScopeDeclaration= ruleScopeDeclaration EOF ; 3461 // InternalProblem.g:1323:1: entryRuleScopeDeclaration returns [EObject current=null] : iv_ruleScopeDeclaration= ruleScopeDeclaration EOF ;
2938 public final EObject entryRuleScopeDeclaration() throws RecognitionException { 3462 public final EObject entryRuleScopeDeclaration() throws RecognitionException {
2939 EObject current = null; 3463 EObject current = null;
2940 3464
@@ -2942,8 +3466,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2942 3466
2943 3467
2944 try { 3468 try {
2945 // InternalProblem.g:1151:57: (iv_ruleScopeDeclaration= ruleScopeDeclaration EOF ) 3469 // InternalProblem.g:1323:57: (iv_ruleScopeDeclaration= ruleScopeDeclaration EOF )
2946 // InternalProblem.g:1152:2: iv_ruleScopeDeclaration= ruleScopeDeclaration EOF 3470 // InternalProblem.g:1324:2: iv_ruleScopeDeclaration= ruleScopeDeclaration EOF
2947 { 3471 {
2948 newCompositeNode(grammarAccess.getScopeDeclarationRule()); 3472 newCompositeNode(grammarAccess.getScopeDeclarationRule());
2949 pushFollow(FOLLOW_1); 3473 pushFollow(FOLLOW_1);
@@ -2970,7 +3494,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2970 3494
2971 3495
2972 // $ANTLR start "ruleScopeDeclaration" 3496 // $ANTLR start "ruleScopeDeclaration"
2973 // InternalProblem.g:1158:1: ruleScopeDeclaration returns [EObject current=null] : (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' ) ; 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= '.' ) ;
2974 public final EObject ruleScopeDeclaration() throws RecognitionException { 3498 public final EObject ruleScopeDeclaration() throws RecognitionException {
2975 EObject current = null; 3499 EObject current = null;
2976 3500
@@ -2986,26 +3510,26 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2986 enterRule(); 3510 enterRule();
2987 3511
2988 try { 3512 try {
2989 // InternalProblem.g:1164:2: ( (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' ) ) 3513 // InternalProblem.g:1336:2: ( (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' ) )
2990 // InternalProblem.g:1165: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= '.' )
2991 { 3515 {
2992 // InternalProblem.g:1165:2: (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' ) 3516 // InternalProblem.g:1337:2: (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' )
2993 // InternalProblem.g:1166:3: 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= '.'
2994 { 3518 {
2995 otherlv_0=(Token)match(input,34,FOLLOW_3); 3519 otherlv_0=(Token)match(input,35,FOLLOW_31);
2996 3520
2997 newLeafNode(otherlv_0, grammarAccess.getScopeDeclarationAccess().getScopeKeyword_0()); 3521 newLeafNode(otherlv_0, grammarAccess.getScopeDeclarationAccess().getScopeKeyword_0());
2998 3522
2999 // InternalProblem.g:1170:3: ( (lv_typeScopes_1_0= ruleTypeScope ) ) 3523 // InternalProblem.g:1342:3: ( (lv_typeScopes_1_0= ruleTypeScope ) )
3000 // InternalProblem.g:1171:4: (lv_typeScopes_1_0= ruleTypeScope ) 3524 // InternalProblem.g:1343:4: (lv_typeScopes_1_0= ruleTypeScope )
3001 { 3525 {
3002 // InternalProblem.g:1171:4: (lv_typeScopes_1_0= ruleTypeScope ) 3526 // InternalProblem.g:1343:4: (lv_typeScopes_1_0= ruleTypeScope )
3003 // InternalProblem.g:1172:5: lv_typeScopes_1_0= ruleTypeScope 3527 // InternalProblem.g:1344:5: lv_typeScopes_1_0= ruleTypeScope
3004 { 3528 {
3005 3529
3006 newCompositeNode(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_1_0()); 3530 newCompositeNode(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_1_0());
3007 3531
3008 pushFollow(FOLLOW_28); 3532 pushFollow(FOLLOW_32);
3009 lv_typeScopes_1_0=ruleTypeScope(); 3533 lv_typeScopes_1_0=ruleTypeScope();
3010 3534
3011 state._fsp--; 3535 state._fsp--;
@@ -3027,35 +3551,35 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3027 3551
3028 } 3552 }
3029 3553
3030 // InternalProblem.g:1189:3: (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* 3554 // InternalProblem.g:1361:3: (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )*
3031 loop30: 3555 loop35:
3032 do { 3556 do {
3033 int alt30=2; 3557 int alt35=2;
3034 int LA30_0 = input.LA(1); 3558 int LA35_0 = input.LA(1);
3035 3559
3036 if ( (LA30_0==17) ) { 3560 if ( (LA35_0==17) ) {
3037 alt30=1; 3561 alt35=1;
3038 } 3562 }
3039 3563
3040 3564
3041 switch (alt30) { 3565 switch (alt35) {
3042 case 1 : 3566 case 1 :
3043 // InternalProblem.g:1190:4: otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) 3567 // InternalProblem.g:1362:4: otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) )
3044 { 3568 {
3045 otherlv_2=(Token)match(input,17,FOLLOW_3); 3569 otherlv_2=(Token)match(input,17,FOLLOW_31);
3046 3570
3047 newLeafNode(otherlv_2, grammarAccess.getScopeDeclarationAccess().getCommaKeyword_2_0()); 3571 newLeafNode(otherlv_2, grammarAccess.getScopeDeclarationAccess().getCommaKeyword_2_0());
3048 3572
3049 // InternalProblem.g:1194:4: ( (lv_typeScopes_3_0= ruleTypeScope ) ) 3573 // InternalProblem.g:1366:4: ( (lv_typeScopes_3_0= ruleTypeScope ) )
3050 // InternalProblem.g:1195:5: (lv_typeScopes_3_0= ruleTypeScope ) 3574 // InternalProblem.g:1367:5: (lv_typeScopes_3_0= ruleTypeScope )
3051 { 3575 {
3052 // InternalProblem.g:1195:5: (lv_typeScopes_3_0= ruleTypeScope ) 3576 // InternalProblem.g:1367:5: (lv_typeScopes_3_0= ruleTypeScope )
3053 // InternalProblem.g:1196:6: lv_typeScopes_3_0= ruleTypeScope 3577 // InternalProblem.g:1368:6: lv_typeScopes_3_0= ruleTypeScope
3054 { 3578 {
3055 3579
3056 newCompositeNode(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_2_1_0()); 3580 newCompositeNode(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_2_1_0());
3057 3581
3058 pushFollow(FOLLOW_28); 3582 pushFollow(FOLLOW_32);
3059 lv_typeScopes_3_0=ruleTypeScope(); 3583 lv_typeScopes_3_0=ruleTypeScope();
3060 3584
3061 state._fsp--; 3585 state._fsp--;
@@ -3082,7 +3606,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3082 break; 3606 break;
3083 3607
3084 default : 3608 default :
3085 break loop30; 3609 break loop35;
3086 } 3610 }
3087 } while (true); 3611 } while (true);
3088 3612
@@ -3113,7 +3637,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3113 3637
3114 3638
3115 // $ANTLR start "entryRuleTypeScope" 3639 // $ANTLR start "entryRuleTypeScope"
3116 // InternalProblem.g:1222:1: entryRuleTypeScope returns [EObject current=null] : iv_ruleTypeScope= ruleTypeScope EOF ; 3640 // InternalProblem.g:1394:1: entryRuleTypeScope returns [EObject current=null] : iv_ruleTypeScope= ruleTypeScope EOF ;
3117 public final EObject entryRuleTypeScope() throws RecognitionException { 3641 public final EObject entryRuleTypeScope() throws RecognitionException {
3118 EObject current = null; 3642 EObject current = null;
3119 3643
@@ -3121,8 +3645,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3121 3645
3122 3646
3123 try { 3647 try {
3124 // InternalProblem.g:1222:50: (iv_ruleTypeScope= ruleTypeScope EOF ) 3648 // InternalProblem.g:1394:50: (iv_ruleTypeScope= ruleTypeScope EOF )
3125 // InternalProblem.g:1223:2: iv_ruleTypeScope= ruleTypeScope EOF 3649 // InternalProblem.g:1395:2: iv_ruleTypeScope= ruleTypeScope EOF
3126 { 3650 {
3127 newCompositeNode(grammarAccess.getTypeScopeRule()); 3651 newCompositeNode(grammarAccess.getTypeScopeRule());
3128 pushFollow(FOLLOW_1); 3652 pushFollow(FOLLOW_1);
@@ -3149,7 +3673,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3149 3673
3150 3674
3151 // $ANTLR start "ruleTypeScope" 3675 // $ANTLR start "ruleTypeScope"
3152 // InternalProblem.g:1229:1: ruleTypeScope returns [EObject current=null] : ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) ) ; 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 ) ) ) ;
3153 public final EObject ruleTypeScope() throws RecognitionException { 3677 public final EObject ruleTypeScope() throws RecognitionException {
3154 EObject current = null; 3678 EObject current = null;
3155 3679
@@ -3163,24 +3687,24 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3163 enterRule(); 3687 enterRule();
3164 3688
3165 try { 3689 try {
3166 // InternalProblem.g:1235:2: ( ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) ) ) 3690 // InternalProblem.g:1407:2: ( ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) ) )
3167 // InternalProblem.g:1236: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 ) ) )
3168 { 3692 {
3169 // InternalProblem.g:1236:2: ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) ) 3693 // InternalProblem.g:1408:2: ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) )
3170 // InternalProblem.g:1237:3: ( (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 ) )
3171 { 3695 {
3172 // InternalProblem.g:1237:3: ( (otherlv_0= RULE_ID ) ) 3696 // InternalProblem.g:1409:3: ( (otherlv_0= RULE_ID ) )
3173 // InternalProblem.g:1238:4: (otherlv_0= RULE_ID ) 3697 // InternalProblem.g:1410:4: (otherlv_0= RULE_ID )
3174 { 3698 {
3175 // InternalProblem.g:1238:4: (otherlv_0= RULE_ID ) 3699 // InternalProblem.g:1410:4: (otherlv_0= RULE_ID )
3176 // InternalProblem.g:1239:5: otherlv_0= RULE_ID 3700 // InternalProblem.g:1411:5: otherlv_0= RULE_ID
3177 { 3701 {
3178 3702
3179 if (current==null) { 3703 if (current==null) {
3180 current = createModelElement(grammarAccess.getTypeScopeRule()); 3704 current = createModelElement(grammarAccess.getTypeScopeRule());
3181 } 3705 }
3182 3706
3183 otherlv_0=(Token)match(input,RULE_ID,FOLLOW_29); 3707 otherlv_0=(Token)match(input,RULE_ID,FOLLOW_33);
3184 3708
3185 newLeafNode(otherlv_0, grammarAccess.getTypeScopeAccess().getTargetTypeClassDeclarationCrossReference_0_0()); 3709 newLeafNode(otherlv_0, grammarAccess.getTypeScopeAccess().getTargetTypeClassDeclarationCrossReference_0_0());
3186 3710
@@ -3190,33 +3714,33 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3190 3714
3191 } 3715 }
3192 3716
3193 // InternalProblem.g:1250:3: ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) 3717 // InternalProblem.g:1422:3: ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' )
3194 int alt31=2; 3718 int alt36=2;
3195 int LA31_0 = input.LA(1); 3719 int LA36_0 = input.LA(1);
3196 3720
3197 if ( (LA31_0==35) ) { 3721 if ( (LA36_0==36) ) {
3198 alt31=1; 3722 alt36=1;
3199 } 3723 }
3200 else if ( (LA31_0==36) ) { 3724 else if ( (LA36_0==37) ) {
3201 alt31=2; 3725 alt36=2;
3202 } 3726 }
3203 else { 3727 else {
3204 NoViableAltException nvae = 3728 NoViableAltException nvae =
3205 new NoViableAltException("", 31, 0, input); 3729 new NoViableAltException("", 36, 0, input);
3206 3730
3207 throw nvae; 3731 throw nvae;
3208 } 3732 }
3209 switch (alt31) { 3733 switch (alt36) {
3210 case 1 : 3734 case 1 :
3211 // InternalProblem.g:1251:4: ( (lv_increment_1_0= '+=' ) ) 3735 // InternalProblem.g:1423:4: ( (lv_increment_1_0= '+=' ) )
3212 { 3736 {
3213 // InternalProblem.g:1251:4: ( (lv_increment_1_0= '+=' ) ) 3737 // InternalProblem.g:1423:4: ( (lv_increment_1_0= '+=' ) )
3214 // InternalProblem.g:1252:5: (lv_increment_1_0= '+=' ) 3738 // InternalProblem.g:1424:5: (lv_increment_1_0= '+=' )
3215 { 3739 {
3216 // InternalProblem.g:1252:5: (lv_increment_1_0= '+=' ) 3740 // InternalProblem.g:1424:5: (lv_increment_1_0= '+=' )
3217 // InternalProblem.g:1253:6: lv_increment_1_0= '+=' 3741 // InternalProblem.g:1425:6: lv_increment_1_0= '+='
3218 { 3742 {
3219 lv_increment_1_0=(Token)match(input,35,FOLLOW_13); 3743 lv_increment_1_0=(Token)match(input,36,FOLLOW_17);
3220 3744
3221 newLeafNode(lv_increment_1_0, grammarAccess.getTypeScopeAccess().getIncrementPlusSignEqualsSignKeyword_1_0_0()); 3745 newLeafNode(lv_increment_1_0, grammarAccess.getTypeScopeAccess().getIncrementPlusSignEqualsSignKeyword_1_0_0());
3222 3746
@@ -3236,9 +3760,9 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3236 } 3760 }
3237 break; 3761 break;
3238 case 2 : 3762 case 2 :
3239 // InternalProblem.g:1266:4: otherlv_2= '=' 3763 // InternalProblem.g:1438:4: otherlv_2= '='
3240 { 3764 {
3241 otherlv_2=(Token)match(input,36,FOLLOW_13); 3765 otherlv_2=(Token)match(input,37,FOLLOW_17);
3242 3766
3243 newLeafNode(otherlv_2, grammarAccess.getTypeScopeAccess().getEqualsSignKeyword_1_1()); 3767 newLeafNode(otherlv_2, grammarAccess.getTypeScopeAccess().getEqualsSignKeyword_1_1());
3244 3768
@@ -3248,11 +3772,11 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3248 3772
3249 } 3773 }
3250 3774
3251 // InternalProblem.g:1271:3: ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) 3775 // InternalProblem.g:1443:3: ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) )
3252 // InternalProblem.g:1272:4: (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) 3776 // InternalProblem.g:1444:4: (lv_multiplicity_3_0= ruleDefiniteMultiplicity )
3253 { 3777 {
3254 // InternalProblem.g:1272:4: (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) 3778 // InternalProblem.g:1444:4: (lv_multiplicity_3_0= ruleDefiniteMultiplicity )
3255 // InternalProblem.g:1273:5: lv_multiplicity_3_0= ruleDefiniteMultiplicity 3779 // InternalProblem.g:1445:5: lv_multiplicity_3_0= ruleDefiniteMultiplicity
3256 { 3780 {
3257 3781
3258 newCompositeNode(grammarAccess.getTypeScopeAccess().getMultiplicityDefiniteMultiplicityParserRuleCall_2_0()); 3782 newCompositeNode(grammarAccess.getTypeScopeAccess().getMultiplicityDefiniteMultiplicityParserRuleCall_2_0());
@@ -3302,7 +3826,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3302 3826
3303 3827
3304 // $ANTLR start "entryRuleMultiplicity" 3828 // $ANTLR start "entryRuleMultiplicity"
3305 // InternalProblem.g:1294:1: entryRuleMultiplicity returns [EObject current=null] : iv_ruleMultiplicity= ruleMultiplicity EOF ; 3829 // InternalProblem.g:1466:1: entryRuleMultiplicity returns [EObject current=null] : iv_ruleMultiplicity= ruleMultiplicity EOF ;
3306 public final EObject entryRuleMultiplicity() throws RecognitionException { 3830 public final EObject entryRuleMultiplicity() throws RecognitionException {
3307 EObject current = null; 3831 EObject current = null;
3308 3832
@@ -3310,8 +3834,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3310 3834
3311 3835
3312 try { 3836 try {
3313 // InternalProblem.g:1294:53: (iv_ruleMultiplicity= ruleMultiplicity EOF ) 3837 // InternalProblem.g:1466:53: (iv_ruleMultiplicity= ruleMultiplicity EOF )
3314 // InternalProblem.g:1295:2: iv_ruleMultiplicity= ruleMultiplicity EOF 3838 // InternalProblem.g:1467:2: iv_ruleMultiplicity= ruleMultiplicity EOF
3315 { 3839 {
3316 newCompositeNode(grammarAccess.getMultiplicityRule()); 3840 newCompositeNode(grammarAccess.getMultiplicityRule());
3317 pushFollow(FOLLOW_1); 3841 pushFollow(FOLLOW_1);
@@ -3338,7 +3862,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3338 3862
3339 3863
3340 // $ANTLR start "ruleMultiplicity" 3864 // $ANTLR start "ruleMultiplicity"
3341 // InternalProblem.g:1301:1: ruleMultiplicity returns [EObject current=null] : (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity ) ; 3865 // InternalProblem.g:1473:1: ruleMultiplicity returns [EObject current=null] : (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity ) ;
3342 public final EObject ruleMultiplicity() throws RecognitionException { 3866 public final EObject ruleMultiplicity() throws RecognitionException {
3343 EObject current = null; 3867 EObject current = null;
3344 3868
@@ -3351,28 +3875,28 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3351 enterRule(); 3875 enterRule();
3352 3876
3353 try { 3877 try {
3354 // InternalProblem.g:1307:2: ( (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity ) ) 3878 // InternalProblem.g:1479:2: ( (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity ) )
3355 // InternalProblem.g:1308:2: (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity ) 3879 // InternalProblem.g:1480:2: (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity )
3356 { 3880 {
3357 // InternalProblem.g:1308:2: (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity ) 3881 // InternalProblem.g:1480:2: (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity )
3358 int alt32=2; 3882 int alt37=2;
3359 int LA32_0 = input.LA(1); 3883 int LA37_0 = input.LA(1);
3360 3884
3361 if ( (LA32_0==EOF||LA32_0==24) ) { 3885 if ( (LA37_0==EOF||LA37_0==25) ) {
3362 alt32=1; 3886 alt37=1;
3363 } 3887 }
3364 else if ( (LA32_0==RULE_INT) ) { 3888 else if ( (LA37_0==RULE_INT) ) {
3365 alt32=2; 3889 alt37=2;
3366 } 3890 }
3367 else { 3891 else {
3368 NoViableAltException nvae = 3892 NoViableAltException nvae =
3369 new NoViableAltException("", 32, 0, input); 3893 new NoViableAltException("", 37, 0, input);
3370 3894
3371 throw nvae; 3895 throw nvae;
3372 } 3896 }
3373 switch (alt32) { 3897 switch (alt37) {
3374 case 1 : 3898 case 1 :
3375 // InternalProblem.g:1309:3: this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity 3899 // InternalProblem.g:1481:3: this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity
3376 { 3900 {
3377 3901
3378 newCompositeNode(grammarAccess.getMultiplicityAccess().getUnboundedMultiplicityParserRuleCall_0()); 3902 newCompositeNode(grammarAccess.getMultiplicityAccess().getUnboundedMultiplicityParserRuleCall_0());
@@ -3390,7 +3914,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3390 } 3914 }
3391 break; 3915 break;
3392 case 2 : 3916 case 2 :
3393 // InternalProblem.g:1318:3: this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity 3917 // InternalProblem.g:1490:3: this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity
3394 { 3918 {
3395 3919
3396 newCompositeNode(grammarAccess.getMultiplicityAccess().getDefiniteMultiplicityParserRuleCall_1()); 3920 newCompositeNode(grammarAccess.getMultiplicityAccess().getDefiniteMultiplicityParserRuleCall_1());
@@ -3430,7 +3954,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3430 3954
3431 3955
3432 // $ANTLR start "entryRuleDefiniteMultiplicity" 3956 // $ANTLR start "entryRuleDefiniteMultiplicity"
3433 // InternalProblem.g:1330:1: entryRuleDefiniteMultiplicity returns [EObject current=null] : iv_ruleDefiniteMultiplicity= ruleDefiniteMultiplicity EOF ; 3957 // InternalProblem.g:1502:1: entryRuleDefiniteMultiplicity returns [EObject current=null] : iv_ruleDefiniteMultiplicity= ruleDefiniteMultiplicity EOF ;
3434 public final EObject entryRuleDefiniteMultiplicity() throws RecognitionException { 3958 public final EObject entryRuleDefiniteMultiplicity() throws RecognitionException {
3435 EObject current = null; 3959 EObject current = null;
3436 3960
@@ -3438,8 +3962,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3438 3962
3439 3963
3440 try { 3964 try {
3441 // InternalProblem.g:1330:61: (iv_ruleDefiniteMultiplicity= ruleDefiniteMultiplicity EOF ) 3965 // InternalProblem.g:1502:61: (iv_ruleDefiniteMultiplicity= ruleDefiniteMultiplicity EOF )
3442 // InternalProblem.g:1331:2: iv_ruleDefiniteMultiplicity= ruleDefiniteMultiplicity EOF 3966 // InternalProblem.g:1503:2: iv_ruleDefiniteMultiplicity= ruleDefiniteMultiplicity EOF
3443 { 3967 {
3444 newCompositeNode(grammarAccess.getDefiniteMultiplicityRule()); 3968 newCompositeNode(grammarAccess.getDefiniteMultiplicityRule());
3445 pushFollow(FOLLOW_1); 3969 pushFollow(FOLLOW_1);
@@ -3466,7 +3990,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3466 3990
3467 3991
3468 // $ANTLR start "ruleDefiniteMultiplicity" 3992 // $ANTLR start "ruleDefiniteMultiplicity"
3469 // InternalProblem.g:1337:1: ruleDefiniteMultiplicity returns [EObject current=null] : (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity ) ; 3993 // InternalProblem.g:1509:1: ruleDefiniteMultiplicity returns [EObject current=null] : (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity ) ;
3470 public final EObject ruleDefiniteMultiplicity() throws RecognitionException { 3994 public final EObject ruleDefiniteMultiplicity() throws RecognitionException {
3471 EObject current = null; 3995 EObject current = null;
3472 3996
@@ -3479,38 +4003,38 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3479 enterRule(); 4003 enterRule();
3480 4004
3481 try { 4005 try {
3482 // InternalProblem.g:1343:2: ( (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity ) ) 4006 // InternalProblem.g:1515:2: ( (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity ) )
3483 // InternalProblem.g:1344:2: (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity ) 4007 // InternalProblem.g:1516:2: (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity )
3484 { 4008 {
3485 // InternalProblem.g:1344:2: (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity ) 4009 // InternalProblem.g:1516:2: (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity )
3486 int alt33=2; 4010 int alt38=2;
3487 int LA33_0 = input.LA(1); 4011 int LA38_0 = input.LA(1);
3488 4012
3489 if ( (LA33_0==RULE_INT) ) { 4013 if ( (LA38_0==RULE_INT) ) {
3490 int LA33_1 = input.LA(2); 4014 int LA38_1 = input.LA(2);
3491 4015
3492 if ( (LA33_1==37) ) { 4016 if ( (LA38_1==38) ) {
3493 alt33=1; 4017 alt38=1;
3494 } 4018 }
3495 else if ( (LA33_1==EOF||LA33_1==13||LA33_1==17||LA33_1==24) ) { 4019 else if ( (LA38_1==EOF||LA38_1==13||LA38_1==17||LA38_1==25) ) {
3496 alt33=2; 4020 alt38=2;
3497 } 4021 }
3498 else { 4022 else {
3499 NoViableAltException nvae = 4023 NoViableAltException nvae =
3500 new NoViableAltException("", 33, 1, input); 4024 new NoViableAltException("", 38, 1, input);
3501 4025
3502 throw nvae; 4026 throw nvae;
3503 } 4027 }
3504 } 4028 }
3505 else { 4029 else {
3506 NoViableAltException nvae = 4030 NoViableAltException nvae =
3507 new NoViableAltException("", 33, 0, input); 4031 new NoViableAltException("", 38, 0, input);
3508 4032
3509 throw nvae; 4033 throw nvae;
3510 } 4034 }
3511 switch (alt33) { 4035 switch (alt38) {
3512 case 1 : 4036 case 1 :
3513 // InternalProblem.g:1345:3: this_RangeMultiplicity_0= ruleRangeMultiplicity 4037 // InternalProblem.g:1517:3: this_RangeMultiplicity_0= ruleRangeMultiplicity
3514 { 4038 {
3515 4039
3516 newCompositeNode(grammarAccess.getDefiniteMultiplicityAccess().getRangeMultiplicityParserRuleCall_0()); 4040 newCompositeNode(grammarAccess.getDefiniteMultiplicityAccess().getRangeMultiplicityParserRuleCall_0());
@@ -3528,7 +4052,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3528 } 4052 }
3529 break; 4053 break;
3530 case 2 : 4054 case 2 :
3531 // InternalProblem.g:1354:3: this_ExactMultiplicity_1= ruleExactMultiplicity 4055 // InternalProblem.g:1526:3: this_ExactMultiplicity_1= ruleExactMultiplicity
3532 { 4056 {
3533 4057
3534 newCompositeNode(grammarAccess.getDefiniteMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); 4058 newCompositeNode(grammarAccess.getDefiniteMultiplicityAccess().getExactMultiplicityParserRuleCall_1());
@@ -3568,7 +4092,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3568 4092
3569 4093
3570 // $ANTLR start "entryRuleUnboundedMultiplicity" 4094 // $ANTLR start "entryRuleUnboundedMultiplicity"
3571 // InternalProblem.g:1366:1: entryRuleUnboundedMultiplicity returns [EObject current=null] : iv_ruleUnboundedMultiplicity= ruleUnboundedMultiplicity EOF ; 4095 // InternalProblem.g:1538:1: entryRuleUnboundedMultiplicity returns [EObject current=null] : iv_ruleUnboundedMultiplicity= ruleUnboundedMultiplicity EOF ;
3572 public final EObject entryRuleUnboundedMultiplicity() throws RecognitionException { 4096 public final EObject entryRuleUnboundedMultiplicity() throws RecognitionException {
3573 EObject current = null; 4097 EObject current = null;
3574 4098
@@ -3576,8 +4100,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3576 4100
3577 4101
3578 try { 4102 try {
3579 // InternalProblem.g:1366:62: (iv_ruleUnboundedMultiplicity= ruleUnboundedMultiplicity EOF ) 4103 // InternalProblem.g:1538:62: (iv_ruleUnboundedMultiplicity= ruleUnboundedMultiplicity EOF )
3580 // InternalProblem.g:1367:2: iv_ruleUnboundedMultiplicity= ruleUnboundedMultiplicity EOF 4104 // InternalProblem.g:1539:2: iv_ruleUnboundedMultiplicity= ruleUnboundedMultiplicity EOF
3581 { 4105 {
3582 newCompositeNode(grammarAccess.getUnboundedMultiplicityRule()); 4106 newCompositeNode(grammarAccess.getUnboundedMultiplicityRule());
3583 pushFollow(FOLLOW_1); 4107 pushFollow(FOLLOW_1);
@@ -3604,7 +4128,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3604 4128
3605 4129
3606 // $ANTLR start "ruleUnboundedMultiplicity" 4130 // $ANTLR start "ruleUnboundedMultiplicity"
3607 // InternalProblem.g:1373:1: ruleUnboundedMultiplicity returns [EObject current=null] : () ; 4131 // InternalProblem.g:1545:1: ruleUnboundedMultiplicity returns [EObject current=null] : () ;
3608 public final EObject ruleUnboundedMultiplicity() throws RecognitionException { 4132 public final EObject ruleUnboundedMultiplicity() throws RecognitionException {
3609 EObject current = null; 4133 EObject current = null;
3610 4134
@@ -3612,11 +4136,11 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3612 enterRule(); 4136 enterRule();
3613 4137
3614 try { 4138 try {
3615 // InternalProblem.g:1379:2: ( () ) 4139 // InternalProblem.g:1551:2: ( () )
3616 // InternalProblem.g:1380:2: () 4140 // InternalProblem.g:1552:2: ()
3617 { 4141 {
3618 // InternalProblem.g:1380:2: () 4142 // InternalProblem.g:1552:2: ()
3619 // InternalProblem.g:1381:3: 4143 // InternalProblem.g:1553:3:
3620 { 4144 {
3621 4145
3622 current = forceCreateModelElement( 4146 current = forceCreateModelElement(
@@ -3641,7 +4165,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3641 4165
3642 4166
3643 // $ANTLR start "entryRuleRangeMultiplicity" 4167 // $ANTLR start "entryRuleRangeMultiplicity"
3644 // InternalProblem.g:1390:1: entryRuleRangeMultiplicity returns [EObject current=null] : iv_ruleRangeMultiplicity= ruleRangeMultiplicity EOF ; 4168 // InternalProblem.g:1562:1: entryRuleRangeMultiplicity returns [EObject current=null] : iv_ruleRangeMultiplicity= ruleRangeMultiplicity EOF ;
3645 public final EObject entryRuleRangeMultiplicity() throws RecognitionException { 4169 public final EObject entryRuleRangeMultiplicity() throws RecognitionException {
3646 EObject current = null; 4170 EObject current = null;
3647 4171
@@ -3649,8 +4173,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3649 4173
3650 4174
3651 try { 4175 try {
3652 // InternalProblem.g:1390:58: (iv_ruleRangeMultiplicity= ruleRangeMultiplicity EOF ) 4176 // InternalProblem.g:1562:58: (iv_ruleRangeMultiplicity= ruleRangeMultiplicity EOF )
3653 // InternalProblem.g:1391:2: iv_ruleRangeMultiplicity= ruleRangeMultiplicity EOF 4177 // InternalProblem.g:1563:2: iv_ruleRangeMultiplicity= ruleRangeMultiplicity EOF
3654 { 4178 {
3655 newCompositeNode(grammarAccess.getRangeMultiplicityRule()); 4179 newCompositeNode(grammarAccess.getRangeMultiplicityRule());
3656 pushFollow(FOLLOW_1); 4180 pushFollow(FOLLOW_1);
@@ -3677,7 +4201,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3677 4201
3678 4202
3679 // $ANTLR start "ruleRangeMultiplicity" 4203 // $ANTLR start "ruleRangeMultiplicity"
3680 // InternalProblem.g:1397:1: ruleRangeMultiplicity returns [EObject current=null] : ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) ) ; 4204 // InternalProblem.g:1569:1: ruleRangeMultiplicity returns [EObject current=null] : ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) ) ;
3681 public final EObject ruleRangeMultiplicity() throws RecognitionException { 4205 public final EObject ruleRangeMultiplicity() throws RecognitionException {
3682 EObject current = null; 4206 EObject current = null;
3683 4207
@@ -3690,19 +4214,19 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3690 enterRule(); 4214 enterRule();
3691 4215
3692 try { 4216 try {
3693 // InternalProblem.g:1403:2: ( ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) ) ) 4217 // InternalProblem.g:1575:2: ( ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) ) )
3694 // InternalProblem.g:1404: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 ) ) )
3695 { 4219 {
3696 // InternalProblem.g:1404:2: ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) ) 4220 // InternalProblem.g:1576:2: ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) )
3697 // InternalProblem.g:1405:3: ( (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 ) )
3698 { 4222 {
3699 // InternalProblem.g:1405:3: ( (lv_lowerBound_0_0= RULE_INT ) ) 4223 // InternalProblem.g:1577:3: ( (lv_lowerBound_0_0= RULE_INT ) )
3700 // InternalProblem.g:1406:4: (lv_lowerBound_0_0= RULE_INT ) 4224 // InternalProblem.g:1578:4: (lv_lowerBound_0_0= RULE_INT )
3701 { 4225 {
3702 // InternalProblem.g:1406:4: (lv_lowerBound_0_0= RULE_INT ) 4226 // InternalProblem.g:1578:4: (lv_lowerBound_0_0= RULE_INT )
3703 // InternalProblem.g:1407:5: lv_lowerBound_0_0= RULE_INT 4227 // InternalProblem.g:1579:5: lv_lowerBound_0_0= RULE_INT
3704 { 4228 {
3705 lv_lowerBound_0_0=(Token)match(input,RULE_INT,FOLLOW_30); 4229 lv_lowerBound_0_0=(Token)match(input,RULE_INT,FOLLOW_34);
3706 4230
3707 newLeafNode(lv_lowerBound_0_0, grammarAccess.getRangeMultiplicityAccess().getLowerBoundINTTerminalRuleCall_0_0()); 4231 newLeafNode(lv_lowerBound_0_0, grammarAccess.getRangeMultiplicityAccess().getLowerBoundINTTerminalRuleCall_0_0());
3708 4232
@@ -3722,15 +4246,15 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3722 4246
3723 } 4247 }
3724 4248
3725 otherlv_1=(Token)match(input,37,FOLLOW_31); 4249 otherlv_1=(Token)match(input,38,FOLLOW_35);
3726 4250
3727 newLeafNode(otherlv_1, grammarAccess.getRangeMultiplicityAccess().getFullStopFullStopKeyword_1()); 4251 newLeafNode(otherlv_1, grammarAccess.getRangeMultiplicityAccess().getFullStopFullStopKeyword_1());
3728 4252
3729 // InternalProblem.g:1427:3: ( (lv_upperBound_2_0= ruleUpperBound ) ) 4253 // InternalProblem.g:1599:3: ( (lv_upperBound_2_0= ruleUpperBound ) )
3730 // InternalProblem.g:1428:4: (lv_upperBound_2_0= ruleUpperBound ) 4254 // InternalProblem.g:1600:4: (lv_upperBound_2_0= ruleUpperBound )
3731 { 4255 {
3732 // InternalProblem.g:1428:4: (lv_upperBound_2_0= ruleUpperBound ) 4256 // InternalProblem.g:1600:4: (lv_upperBound_2_0= ruleUpperBound )
3733 // InternalProblem.g:1429:5: lv_upperBound_2_0= ruleUpperBound 4257 // InternalProblem.g:1601:5: lv_upperBound_2_0= ruleUpperBound
3734 { 4258 {
3735 4259
3736 newCompositeNode(grammarAccess.getRangeMultiplicityAccess().getUpperBoundUpperBoundParserRuleCall_2_0()); 4260 newCompositeNode(grammarAccess.getRangeMultiplicityAccess().getUpperBoundUpperBoundParserRuleCall_2_0());
@@ -3780,7 +4304,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3780 4304
3781 4305
3782 // $ANTLR start "entryRuleExactMultiplicity" 4306 // $ANTLR start "entryRuleExactMultiplicity"
3783 // InternalProblem.g:1450:1: entryRuleExactMultiplicity returns [EObject current=null] : iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ; 4307 // InternalProblem.g:1622:1: entryRuleExactMultiplicity returns [EObject current=null] : iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ;
3784 public final EObject entryRuleExactMultiplicity() throws RecognitionException { 4308 public final EObject entryRuleExactMultiplicity() throws RecognitionException {
3785 EObject current = null; 4309 EObject current = null;
3786 4310
@@ -3788,8 +4312,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3788 4312
3789 4313
3790 try { 4314 try {
3791 // InternalProblem.g:1450:58: (iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ) 4315 // InternalProblem.g:1622:58: (iv_ruleExactMultiplicity= ruleExactMultiplicity EOF )
3792 // InternalProblem.g:1451:2: iv_ruleExactMultiplicity= ruleExactMultiplicity EOF 4316 // InternalProblem.g:1623:2: iv_ruleExactMultiplicity= ruleExactMultiplicity EOF
3793 { 4317 {
3794 newCompositeNode(grammarAccess.getExactMultiplicityRule()); 4318 newCompositeNode(grammarAccess.getExactMultiplicityRule());
3795 pushFollow(FOLLOW_1); 4319 pushFollow(FOLLOW_1);
@@ -3816,7 +4340,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3816 4340
3817 4341
3818 // $ANTLR start "ruleExactMultiplicity" 4342 // $ANTLR start "ruleExactMultiplicity"
3819 // InternalProblem.g:1457:1: ruleExactMultiplicity returns [EObject current=null] : ( (lv_exactValue_0_0= RULE_INT ) ) ; 4343 // InternalProblem.g:1629:1: ruleExactMultiplicity returns [EObject current=null] : ( (lv_exactValue_0_0= RULE_INT ) ) ;
3820 public final EObject ruleExactMultiplicity() throws RecognitionException { 4344 public final EObject ruleExactMultiplicity() throws RecognitionException {
3821 EObject current = null; 4345 EObject current = null;
3822 4346
@@ -3826,14 +4350,14 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3826 enterRule(); 4350 enterRule();
3827 4351
3828 try { 4352 try {
3829 // InternalProblem.g:1463:2: ( ( (lv_exactValue_0_0= RULE_INT ) ) ) 4353 // InternalProblem.g:1635:2: ( ( (lv_exactValue_0_0= RULE_INT ) ) )
3830 // InternalProblem.g:1464:2: ( (lv_exactValue_0_0= RULE_INT ) ) 4354 // InternalProblem.g:1636:2: ( (lv_exactValue_0_0= RULE_INT ) )
3831 { 4355 {
3832 // InternalProblem.g:1464:2: ( (lv_exactValue_0_0= RULE_INT ) ) 4356 // InternalProblem.g:1636:2: ( (lv_exactValue_0_0= RULE_INT ) )
3833 // InternalProblem.g:1465:3: (lv_exactValue_0_0= RULE_INT ) 4357 // InternalProblem.g:1637:3: (lv_exactValue_0_0= RULE_INT )
3834 { 4358 {
3835 // InternalProblem.g:1465:3: (lv_exactValue_0_0= RULE_INT ) 4359 // InternalProblem.g:1637:3: (lv_exactValue_0_0= RULE_INT )
3836 // InternalProblem.g:1466:4: lv_exactValue_0_0= RULE_INT 4360 // InternalProblem.g:1638:4: lv_exactValue_0_0= RULE_INT
3837 { 4361 {
3838 lv_exactValue_0_0=(Token)match(input,RULE_INT,FOLLOW_2); 4362 lv_exactValue_0_0=(Token)match(input,RULE_INT,FOLLOW_2);
3839 4363
@@ -3875,7 +4399,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3875 4399
3876 4400
3877 // $ANTLR start "entryRuleUpperBound" 4401 // $ANTLR start "entryRuleUpperBound"
3878 // InternalProblem.g:1485:1: entryRuleUpperBound returns [String current=null] : iv_ruleUpperBound= ruleUpperBound EOF ; 4402 // InternalProblem.g:1657:1: entryRuleUpperBound returns [String current=null] : iv_ruleUpperBound= ruleUpperBound EOF ;
3879 public final String entryRuleUpperBound() throws RecognitionException { 4403 public final String entryRuleUpperBound() throws RecognitionException {
3880 String current = null; 4404 String current = null;
3881 4405
@@ -3883,8 +4407,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3883 4407
3884 4408
3885 try { 4409 try {
3886 // InternalProblem.g:1485:50: (iv_ruleUpperBound= ruleUpperBound EOF ) 4410 // InternalProblem.g:1657:50: (iv_ruleUpperBound= ruleUpperBound EOF )
3887 // InternalProblem.g:1486:2: iv_ruleUpperBound= ruleUpperBound EOF 4411 // InternalProblem.g:1658:2: iv_ruleUpperBound= ruleUpperBound EOF
3888 { 4412 {
3889 newCompositeNode(grammarAccess.getUpperBoundRule()); 4413 newCompositeNode(grammarAccess.getUpperBoundRule());
3890 pushFollow(FOLLOW_1); 4414 pushFollow(FOLLOW_1);
@@ -3911,7 +4435,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3911 4435
3912 4436
3913 // $ANTLR start "ruleUpperBound" 4437 // $ANTLR start "ruleUpperBound"
3914 // InternalProblem.g:1492:1: ruleUpperBound returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | kw= '*' ) ; 4438 // InternalProblem.g:1664:1: ruleUpperBound returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | kw= '*' ) ;
3915 public final AntlrDatatypeRuleToken ruleUpperBound() throws RecognitionException { 4439 public final AntlrDatatypeRuleToken ruleUpperBound() throws RecognitionException {
3916 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); 4440 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
3917 4441
@@ -3922,28 +4446,28 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3922 enterRule(); 4446 enterRule();
3923 4447
3924 try { 4448 try {
3925 // InternalProblem.g:1498:2: ( (this_INT_0= RULE_INT | kw= '*' ) ) 4449 // InternalProblem.g:1670:2: ( (this_INT_0= RULE_INT | kw= '*' ) )
3926 // InternalProblem.g:1499:2: (this_INT_0= RULE_INT | kw= '*' ) 4450 // InternalProblem.g:1671:2: (this_INT_0= RULE_INT | kw= '*' )
3927 { 4451 {
3928 // InternalProblem.g:1499:2: (this_INT_0= RULE_INT | kw= '*' ) 4452 // InternalProblem.g:1671:2: (this_INT_0= RULE_INT | kw= '*' )
3929 int alt34=2; 4453 int alt39=2;
3930 int LA34_0 = input.LA(1); 4454 int LA39_0 = input.LA(1);
3931 4455
3932 if ( (LA34_0==RULE_INT) ) { 4456 if ( (LA39_0==RULE_INT) ) {
3933 alt34=1; 4457 alt39=1;
3934 } 4458 }
3935 else if ( (LA34_0==38) ) { 4459 else if ( (LA39_0==39) ) {
3936 alt34=2; 4460 alt39=2;
3937 } 4461 }
3938 else { 4462 else {
3939 NoViableAltException nvae = 4463 NoViableAltException nvae =
3940 new NoViableAltException("", 34, 0, input); 4464 new NoViableAltException("", 39, 0, input);
3941 4465
3942 throw nvae; 4466 throw nvae;
3943 } 4467 }
3944 switch (alt34) { 4468 switch (alt39) {
3945 case 1 : 4469 case 1 :
3946 // InternalProblem.g:1500:3: this_INT_0= RULE_INT 4470 // InternalProblem.g:1672:3: this_INT_0= RULE_INT
3947 { 4471 {
3948 this_INT_0=(Token)match(input,RULE_INT,FOLLOW_2); 4472 this_INT_0=(Token)match(input,RULE_INT,FOLLOW_2);
3949 4473
@@ -3956,9 +4480,9 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3956 } 4480 }
3957 break; 4481 break;
3958 case 2 : 4482 case 2 :
3959 // InternalProblem.g:1508:3: kw= '*' 4483 // InternalProblem.g:1680:3: kw= '*'
3960 { 4484 {
3961 kw=(Token)match(input,38,FOLLOW_2); 4485 kw=(Token)match(input,39,FOLLOW_2);
3962 4486
3963 current.merge(kw); 4487 current.merge(kw);
3964 newLeafNode(kw, grammarAccess.getUpperBoundAccess().getAsteriskKeyword_1()); 4488 newLeafNode(kw, grammarAccess.getUpperBoundAccess().getAsteriskKeyword_1());
@@ -3988,8 +4512,132 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3988 // $ANTLR end "ruleUpperBound" 4512 // $ANTLR end "ruleUpperBound"
3989 4513
3990 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
3991 // $ANTLR start "entryRuleQualifiedName" 4639 // $ANTLR start "entryRuleQualifiedName"
3992 // InternalProblem.g:1517:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ; 4640 // InternalProblem.g:1726:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ;
3993 public final String entryRuleQualifiedName() throws RecognitionException { 4641 public final String entryRuleQualifiedName() throws RecognitionException {
3994 String current = null; 4642 String current = null;
3995 4643
@@ -3997,8 +4645,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3997 4645
3998 4646
3999 try { 4647 try {
4000 // InternalProblem.g:1517:53: (iv_ruleQualifiedName= ruleQualifiedName EOF ) 4648 // InternalProblem.g:1726:53: (iv_ruleQualifiedName= ruleQualifiedName EOF )
4001 // InternalProblem.g:1518:2: iv_ruleQualifiedName= ruleQualifiedName EOF 4649 // InternalProblem.g:1727:2: iv_ruleQualifiedName= ruleQualifiedName EOF
4002 { 4650 {
4003 newCompositeNode(grammarAccess.getQualifiedNameRule()); 4651 newCompositeNode(grammarAccess.getQualifiedNameRule());
4004 pushFollow(FOLLOW_1); 4652 pushFollow(FOLLOW_1);
@@ -4025,42 +4673,44 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
4025 4673
4026 4674
4027 // $ANTLR start "ruleQualifiedName" 4675 // $ANTLR start "ruleQualifiedName"
4028 // InternalProblem.g:1524:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_QUOTED_ID_0= RULE_QUOTED_ID | (this_ID_1= RULE_ID (kw= ':' this_ID_3= RULE_ID )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? ) ) ; 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 )? ) ) ;
4029 public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException { 4677 public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException {
4030 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); 4678 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
4031 4679
4032 Token this_QUOTED_ID_0=null; 4680 Token this_QUOTED_ID_0=null;
4033 Token this_ID_1=null;
4034 Token kw=null; 4681 Token kw=null;
4035 Token this_ID_3=null;
4036 Token this_QUOTED_ID_5=null; 4682 Token this_QUOTED_ID_5=null;
4683 AntlrDatatypeRuleToken this_Identifier_1 = null;
4684
4685 AntlrDatatypeRuleToken this_Identifier_3 = null;
4686
4037 4687
4038 4688
4039 enterRule(); 4689 enterRule();
4040 4690
4041 try { 4691 try {
4042 // InternalProblem.g:1530:2: ( (this_QUOTED_ID_0= RULE_QUOTED_ID | (this_ID_1= RULE_ID (kw= ':' this_ID_3= RULE_ID )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? ) ) ) 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 )? ) ) )
4043 // InternalProblem.g:1531:2: (this_QUOTED_ID_0= RULE_QUOTED_ID | (this_ID_1= RULE_ID (kw= ':' this_ID_3= RULE_ID )* (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 )? ) )
4044 { 4694 {
4045 // InternalProblem.g:1531:2: (this_QUOTED_ID_0= RULE_QUOTED_ID | (this_ID_1= RULE_ID (kw= ':' this_ID_3= RULE_ID )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? ) ) 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 )? ) )
4046 int alt37=2; 4696 int alt43=2;
4047 int LA37_0 = input.LA(1); 4697 int LA43_0 = input.LA(1);
4048 4698
4049 if ( (LA37_0==RULE_QUOTED_ID) ) { 4699 if ( (LA43_0==RULE_QUOTED_ID) ) {
4050 alt37=1; 4700 alt43=1;
4051 } 4701 }
4052 else if ( (LA37_0==RULE_ID) ) { 4702 else if ( (LA43_0==RULE_ID||(LA43_0>=40 && LA43_0<=41)) ) {
4053 alt37=2; 4703 alt43=2;
4054 } 4704 }
4055 else { 4705 else {
4056 NoViableAltException nvae = 4706 NoViableAltException nvae =
4057 new NoViableAltException("", 37, 0, input); 4707 new NoViableAltException("", 43, 0, input);
4058 4708
4059 throw nvae; 4709 throw nvae;
4060 } 4710 }
4061 switch (alt37) { 4711 switch (alt43) {
4062 case 1 : 4712 case 1 :
4063 // InternalProblem.g:1532:3: this_QUOTED_ID_0= RULE_QUOTED_ID 4713 // InternalProblem.g:1741:3: this_QUOTED_ID_0= RULE_QUOTED_ID
4064 { 4714 {
4065 this_QUOTED_ID_0=(Token)match(input,RULE_QUOTED_ID,FOLLOW_2); 4715 this_QUOTED_ID_0=(Token)match(input,RULE_QUOTED_ID,FOLLOW_2);
4066 4716
@@ -4073,72 +4723,86 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
4073 } 4723 }
4074 break; 4724 break;
4075 case 2 : 4725 case 2 :
4076 // InternalProblem.g:1540:3: (this_ID_1= RULE_ID (kw= ':' this_ID_3= RULE_ID )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? ) 4726 // InternalProblem.g:1749:3: (this_Identifier_1= ruleIdentifier (kw= ':' this_Identifier_3= ruleIdentifier )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? )
4077 { 4727 {
4078 // InternalProblem.g:1540:3: (this_ID_1= RULE_ID (kw= ':' this_ID_3= RULE_ID )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? ) 4728 // InternalProblem.g:1749:3: (this_Identifier_1= ruleIdentifier (kw= ':' this_Identifier_3= ruleIdentifier )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? )
4079 // InternalProblem.g:1541:4: this_ID_1= RULE_ID (kw= ':' this_ID_3= RULE_ID )* (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 )?
4080 { 4730 {
4081 this_ID_1=(Token)match(input,RULE_ID,FOLLOW_32);
4082 4731
4083 current.merge(this_ID_1); 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);
4084 4741
4085 4742
4086 newLeafNode(this_ID_1, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_0()); 4743 afterParserOrEnumRuleCall();
4087 4744
4088 // InternalProblem.g:1548:4: (kw= ':' this_ID_3= RULE_ID )* 4745 // InternalProblem.g:1760:4: (kw= ':' this_Identifier_3= ruleIdentifier )*
4089 loop35: 4746 loop41:
4090 do { 4747 do {
4091 int alt35=2; 4748 int alt41=2;
4092 int LA35_0 = input.LA(1); 4749 int LA41_0 = input.LA(1);
4093 4750
4094 if ( (LA35_0==33) ) { 4751 if ( (LA41_0==34) ) {
4095 int LA35_1 = input.LA(2); 4752 int LA41_1 = input.LA(2);
4096 4753
4097 if ( (LA35_1==RULE_ID) ) { 4754 if ( (LA41_1==RULE_ID||(LA41_1>=40 && LA41_1<=41)) ) {
4098 alt35=1; 4755 alt41=1;
4099 } 4756 }
4100 4757
4101 4758
4102 } 4759 }
4103 4760
4104 4761
4105 switch (alt35) { 4762 switch (alt41) {
4106 case 1 : 4763 case 1 :
4107 // InternalProblem.g:1549:5: kw= ':' this_ID_3= RULE_ID 4764 // InternalProblem.g:1761:5: kw= ':' this_Identifier_3= ruleIdentifier
4108 { 4765 {
4109 kw=(Token)match(input,33,FOLLOW_3); 4766 kw=(Token)match(input,34,FOLLOW_3);
4110 4767
4111 current.merge(kw); 4768 current.merge(kw);
4112 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getColonKeyword_1_1_0()); 4769 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getColonKeyword_1_1_0());
4113 4770
4114 this_ID_3=(Token)match(input,RULE_ID,FOLLOW_32);
4115 4771
4116 current.merge(this_ID_3); 4772 newCompositeNode(grammarAccess.getQualifiedNameAccess().getIdentifierParserRuleCall_1_1_1());
4117 4773
4774 pushFollow(FOLLOW_36);
4775 this_Identifier_3=ruleIdentifier();
4776
4777 state._fsp--;
4778
4118 4779
4119 newLeafNode(this_ID_3, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1_1()); 4780 current.merge(this_Identifier_3);
4781
4782
4783 afterParserOrEnumRuleCall();
4120 4784
4121 4785
4122 } 4786 }
4123 break; 4787 break;
4124 4788
4125 default : 4789 default :
4126 break loop35; 4790 break loop41;
4127 } 4791 }
4128 } while (true); 4792 } while (true);
4129 4793
4130 // InternalProblem.g:1562:4: (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? 4794 // InternalProblem.g:1777:4: (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )?
4131 int alt36=2; 4795 int alt42=2;
4132 int LA36_0 = input.LA(1); 4796 int LA42_0 = input.LA(1);
4133 4797
4134 if ( (LA36_0==33) ) { 4798 if ( (LA42_0==34) ) {
4135 alt36=1; 4799 alt42=1;
4136 } 4800 }
4137 switch (alt36) { 4801 switch (alt42) {
4138 case 1 : 4802 case 1 :
4139 // InternalProblem.g:1563:5: kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID 4803 // InternalProblem.g:1778:5: kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID
4140 { 4804 {
4141 kw=(Token)match(input,33,FOLLOW_33); 4805 kw=(Token)match(input,34,FOLLOW_37);
4142 4806
4143 current.merge(kw); 4807 current.merge(kw);
4144 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getColonKeyword_1_2_0()); 4808 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getColonKeyword_1_2_0());
@@ -4184,8 +4848,142 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
4184 // $ANTLR end "ruleQualifiedName" 4848 // $ANTLR end "ruleQualifiedName"
4185 4849
4186 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
4187 // $ANTLR start "ruleLogicValue" 4985 // $ANTLR start "ruleLogicValue"
4188 // InternalProblem.g:1581:1: ruleLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) ) ; 4986 // InternalProblem.g:1834:1: ruleLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) ) ;
4189 public final Enumerator ruleLogicValue() throws RecognitionException { 4987 public final Enumerator ruleLogicValue() throws RecognitionException {
4190 Enumerator current = null; 4988 Enumerator current = null;
4191 4989
@@ -4197,42 +4995,42 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
4197 enterRule(); 4995 enterRule();
4198 4996
4199 try { 4997 try {
4200 // InternalProblem.g:1587:2: ( ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) ) ) 4998 // InternalProblem.g:1840:2: ( ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) ) )
4201 // InternalProblem.g:1588:2: ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) ) 4999 // InternalProblem.g:1841:2: ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) )
4202 { 5000 {
4203 // InternalProblem.g:1588:2: ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) ) 5001 // InternalProblem.g:1841:2: ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) )
4204 int alt38=3; 5002 int alt45=3;
4205 switch ( input.LA(1) ) { 5003 switch ( input.LA(1) ) {
4206 case 39: 5004 case 40:
4207 { 5005 {
4208 alt38=1; 5006 alt45=1;
4209 } 5007 }
4210 break; 5008 break;
4211 case 40: 5009 case 41:
4212 { 5010 {
4213 alt38=2; 5011 alt45=2;
4214 } 5012 }
4215 break; 5013 break;
4216 case 41: 5014 case 42:
4217 { 5015 {
4218 alt38=3; 5016 alt45=3;
4219 } 5017 }
4220 break; 5018 break;
4221 default: 5019 default:
4222 NoViableAltException nvae = 5020 NoViableAltException nvae =
4223 new NoViableAltException("", 38, 0, input); 5021 new NoViableAltException("", 45, 0, input);
4224 5022
4225 throw nvae; 5023 throw nvae;
4226 } 5024 }
4227 5025
4228 switch (alt38) { 5026 switch (alt45) {
4229 case 1 : 5027 case 1 :
4230 // InternalProblem.g:1589:3: (enumLiteral_0= 'true' ) 5028 // InternalProblem.g:1842:3: (enumLiteral_0= 'true' )
4231 { 5029 {
4232 // InternalProblem.g:1589:3: (enumLiteral_0= 'true' ) 5030 // InternalProblem.g:1842:3: (enumLiteral_0= 'true' )
4233 // InternalProblem.g:1590:4: enumLiteral_0= 'true' 5031 // InternalProblem.g:1843:4: enumLiteral_0= 'true'
4234 { 5032 {
4235 enumLiteral_0=(Token)match(input,39,FOLLOW_2); 5033 enumLiteral_0=(Token)match(input,40,FOLLOW_2);
4236 5034
4237 current = grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); 5035 current = grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
4238 newLeafNode(enumLiteral_0, grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0()); 5036 newLeafNode(enumLiteral_0, grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0());
@@ -4244,12 +5042,12 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
4244 } 5042 }
4245 break; 5043 break;
4246 case 2 : 5044 case 2 :
4247 // InternalProblem.g:1597:3: (enumLiteral_1= 'false' ) 5045 // InternalProblem.g:1850:3: (enumLiteral_1= 'false' )
4248 { 5046 {
4249 // InternalProblem.g:1597:3: (enumLiteral_1= 'false' ) 5047 // InternalProblem.g:1850:3: (enumLiteral_1= 'false' )
4250 // InternalProblem.g:1598:4: enumLiteral_1= 'false' 5048 // InternalProblem.g:1851:4: enumLiteral_1= 'false'
4251 { 5049 {
4252 enumLiteral_1=(Token)match(input,40,FOLLOW_2); 5050 enumLiteral_1=(Token)match(input,41,FOLLOW_2);
4253 5051
4254 current = grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); 5052 current = grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
4255 newLeafNode(enumLiteral_1, grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1()); 5053 newLeafNode(enumLiteral_1, grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1());
@@ -4261,12 +5059,12 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
4261 } 5059 }
4262 break; 5060 break;
4263 case 3 : 5061 case 3 :
4264 // InternalProblem.g:1605:3: (enumLiteral_2= 'unknown' ) 5062 // InternalProblem.g:1858:3: (enumLiteral_2= 'unknown' )
4265 { 5063 {
4266 // InternalProblem.g:1605:3: (enumLiteral_2= 'unknown' ) 5064 // InternalProblem.g:1858:3: (enumLiteral_2= 'unknown' )
4267 // InternalProblem.g:1606:4: enumLiteral_2= 'unknown' 5065 // InternalProblem.g:1859:4: enumLiteral_2= 'unknown'
4268 { 5066 {
4269 enumLiteral_2=(Token)match(input,41,FOLLOW_2); 5067 enumLiteral_2=(Token)match(input,42,FOLLOW_2);
4270 5068
4271 current = grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); 5069 current = grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
4272 newLeafNode(enumLiteral_2, grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2()); 5070 newLeafNode(enumLiteral_2, grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2());
@@ -4300,7 +5098,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
4300 5098
4301 5099
4302 // $ANTLR start "ruleShortLogicValue" 5100 // $ANTLR start "ruleShortLogicValue"
4303 // InternalProblem.g:1616:1: ruleShortLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) ) ; 5101 // InternalProblem.g:1869:1: ruleShortLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) ) ;
4304 public final Enumerator ruleShortLogicValue() throws RecognitionException { 5102 public final Enumerator ruleShortLogicValue() throws RecognitionException {
4305 Enumerator current = null; 5103 Enumerator current = null;
4306 5104
@@ -4311,33 +5109,33 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
4311 enterRule(); 5109 enterRule();
4312 5110
4313 try { 5111 try {
4314 // InternalProblem.g:1622:2: ( ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) ) ) 5112 // InternalProblem.g:1875:2: ( ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) ) )
4315 // InternalProblem.g:1623:2: ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) ) 5113 // InternalProblem.g:1876:2: ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) )
4316 { 5114 {
4317 // InternalProblem.g:1623:2: ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) ) 5115 // InternalProblem.g:1876:2: ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) )
4318 int alt39=2; 5116 int alt46=2;
4319 int LA39_0 = input.LA(1); 5117 int LA46_0 = input.LA(1);
4320 5118
4321 if ( (LA39_0==31) ) { 5119 if ( (LA46_0==32) ) {
4322 alt39=1; 5120 alt46=1;
4323 } 5121 }
4324 else if ( (LA39_0==42) ) { 5122 else if ( (LA46_0==43) ) {
4325 alt39=2; 5123 alt46=2;
4326 } 5124 }
4327 else { 5125 else {
4328 NoViableAltException nvae = 5126 NoViableAltException nvae =
4329 new NoViableAltException("", 39, 0, input); 5127 new NoViableAltException("", 46, 0, input);
4330 5128
4331 throw nvae; 5129 throw nvae;
4332 } 5130 }
4333 switch (alt39) { 5131 switch (alt46) {
4334 case 1 : 5132 case 1 :
4335 // InternalProblem.g:1624:3: (enumLiteral_0= '!' ) 5133 // InternalProblem.g:1877:3: (enumLiteral_0= '!' )
4336 { 5134 {
4337 // InternalProblem.g:1624:3: (enumLiteral_0= '!' ) 5135 // InternalProblem.g:1877:3: (enumLiteral_0= '!' )
4338 // InternalProblem.g:1625:4: enumLiteral_0= '!' 5136 // InternalProblem.g:1878:4: enumLiteral_0= '!'
4339 { 5137 {
4340 enumLiteral_0=(Token)match(input,31,FOLLOW_2); 5138 enumLiteral_0=(Token)match(input,32,FOLLOW_2);
4341 5139
4342 current = grammarAccess.getShortLogicValueAccess().getFALSEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); 5140 current = grammarAccess.getShortLogicValueAccess().getFALSEEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
4343 newLeafNode(enumLiteral_0, grammarAccess.getShortLogicValueAccess().getFALSEEnumLiteralDeclaration_0()); 5141 newLeafNode(enumLiteral_0, grammarAccess.getShortLogicValueAccess().getFALSEEnumLiteralDeclaration_0());
@@ -4349,12 +5147,12 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
4349 } 5147 }
4350 break; 5148 break;
4351 case 2 : 5149 case 2 :
4352 // InternalProblem.g:1632:3: (enumLiteral_1= '?' ) 5150 // InternalProblem.g:1885:3: (enumLiteral_1= '?' )
4353 { 5151 {
4354 // InternalProblem.g:1632:3: (enumLiteral_1= '?' ) 5152 // InternalProblem.g:1885:3: (enumLiteral_1= '?' )
4355 // InternalProblem.g:1633:4: enumLiteral_1= '?' 5153 // InternalProblem.g:1886:4: enumLiteral_1= '?'
4356 { 5154 {
4357 enumLiteral_1=(Token)match(input,42,FOLLOW_2); 5155 enumLiteral_1=(Token)match(input,43,FOLLOW_2);
4358 5156
4359 current = grammarAccess.getShortLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); 5157 current = grammarAccess.getShortLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
4360 newLeafNode(enumLiteral_1, grammarAccess.getShortLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_1()); 5158 newLeafNode(enumLiteral_1, grammarAccess.getShortLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_1());
@@ -4389,34 +5187,46 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
4389 // Delegated rules 5187 // Delegated rules
4390 5188
4391 5189
4392 protected DFA29 dfa29 = new DFA29(this); 5190 protected DFA34 dfa34 = new DFA34(this);
4393 static final String dfa_1s = "\25\uffff"; 5191 static final String dfa_1s = "\41\uffff";
4394 static final String dfa_2s = "\1\4\2\34\1\uffff\2\4\2\21\1\15\2\34\2\4\1\uffff\4\21\1\4\2\21"; 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";
4395 static final String dfa_3s = "\1\52\1\34\1\41\1\uffff\1\35\1\6\1\35\2\41\1\34\1\41\2\6\1\uffff\1\35\1\41\1\35\1\41\1\6\1\35\1\41"; 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";
4396 static final String dfa_4s = "\3\uffff\1\2\11\uffff\1\1\7\uffff"; 5194 static final String dfa_4s = "\5\uffff\1\2\15\uffff\1\1\15\uffff";
4397 static final String dfa_5s = "\25\uffff}>"; 5195 static final String dfa_5s = "\41\uffff}>";
4398 static final String[] dfa_6s = { 5196 static final String[] dfa_6s = {
4399 "\1\2\1\uffff\1\1\30\uffff\1\3\12\uffff\1\3", 5197 "\1\2\1\uffff\1\1\31\uffff\1\5\7\uffff\1\3\1\4\1\uffff\1\5",
4400 "\1\4", 5198 "\1\6",
4401 "\1\4\4\uffff\1\5", 5199 "\1\6\4\uffff\1\7",
5200 "\1\6\4\uffff\1\7",
5201 "\1\6\4\uffff\1\7",
4402 "", 5202 "",
4403 "\1\7\1\uffff\1\6\26\uffff\1\10", 5203 "\1\11\1\uffff\1\10\27\uffff\1\14\11\uffff\1\12\1\13",
4404 "\1\12\1\uffff\1\11", 5204 "\1\15\1\uffff\1\20\41\uffff\1\16\1\17",
4405 "\1\13\13\uffff\1\10", 5205 "\1\21\14\uffff\1\14",
4406 "\1\13\13\uffff\1\10\3\uffff\1\14", 5206 "\1\21\14\uffff\1\14\3\uffff\1\22",
4407 "\1\3\23\uffff\1\15", 5207 "\1\21\14\uffff\1\14\3\uffff\1\22",
4408 "\1\4", 5208 "\1\21\14\uffff\1\14\3\uffff\1\22",
4409 "\1\4\4\uffff\1\5", 5209 "\1\5\24\uffff\1\23",
4410 "\1\17\1\uffff\1\16", 5210 "\1\6\4\uffff\1\7",
4411 "\1\21\1\uffff\1\20", 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",
4412 "", 5216 "",
4413 "\1\13\13\uffff\1\10", 5217 "\1\21\14\uffff\1\14",
4414 "\1\13\13\uffff\1\10\3\uffff\1\22", 5218 "\1\21\14\uffff\1\14\3\uffff\1\34",
4415 "\1\13\13\uffff\1\10", 5219 "\1\21\14\uffff\1\14\3\uffff\1\34",
4416 "\1\13\13\uffff\1\10\3\uffff\1\14", 5220 "\1\21\14\uffff\1\14\3\uffff\1\34",
4417 "\1\24\1\uffff\1\23", 5221 "\1\21\14\uffff\1\14\3\uffff\1\22",
4418 "\1\13\13\uffff\1\10", 5222 "\1\21\14\uffff\1\14\3\uffff\1\22",
4419 "\1\13\13\uffff\1\10\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"
4420 }; 5230 };
4421 5231
4422 static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); 5232 static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s);
@@ -4426,11 +5236,11 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
4426 static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s); 5236 static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s);
4427 static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s); 5237 static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s);
4428 5238
4429 class DFA29 extends DFA { 5239 class DFA34 extends DFA {
4430 5240
4431 public DFA29(BaseRecognizer recognizer) { 5241 public DFA34(BaseRecognizer recognizer) {
4432 this.recognizer = recognizer; 5242 this.recognizer = recognizer;
4433 this.decisionNumber = 29; 5243 this.decisionNumber = 34;
4434 this.eot = dfa_1; 5244 this.eot = dfa_1;
4435 this.eof = dfa_1; 5245 this.eof = dfa_1;
4436 this.min = dfa_2; 5246 this.min = dfa_2;
@@ -4440,43 +5250,47 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
4440 this.transition = dfa_6; 5250 this.transition = dfa_6;
4441 } 5251 }
4442 public String getDescription() { 5252 public String getDescription() {
4443 return "966: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= ')' ) )"; 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= ')' ) )";
4444 } 5254 }
4445 } 5255 }
4446 5256
4447 5257
4448 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); 5258 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L});
4449 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); 5259 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
4450 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000000000010L}); 5260 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000030000000010L});
4451 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000002000L}); 5261 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000002000L});
4452 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x000004048C00C052L}); 5262 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x00000B091820C052L});
4453 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000008000L}); 5263 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000008000L});
4454 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000052000L}); 5264 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000052000L});
4455 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000000050L}); 5265 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000030000000050L});
4456 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000062000L}); 5266 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000062000L});
4457 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000700000L}); 5267 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000030000D00050L});
4458 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000780000L}); 5268 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000030000D80050L});
4459 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000800010L}); 5269 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000042000L});
4460 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000000020L}); 5270 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000030000100050L});
4461 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000001000000L}); 5271 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x00000000001A0000L});
4462 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000002000002L}); 5272 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000100000L});
4463 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000008000010L}); 5273 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000030001000010L});
4464 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000010000000L}); 5274 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000000020L});
4465 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000020000010L}); 5275 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000002000000L});
4466 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000020020000L}); 5276 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000004000002L});
4467 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000040002000L}); 5277 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000030010000010L});
4468 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000080000050L}); 5278 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000020000000L});
4469 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000000082000L}); 5279 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000030040000050L});
4470 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000000020002L}); 5280 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000040020000L});
4471 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000110000000L}); 5281 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000080002000L});
4472 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000020000050L}); 5282 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000030100000050L});
4473 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000200000000L}); 5283 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000082000L});
4474 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000038000000000L}); 5284 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000000020002L});
4475 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000000022000L}); 5285 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000220000000L});
4476 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000001800000000L}); 5286 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000400000000L});
4477 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000002000000000L}); 5287 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000070000000000L});
4478 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000004000000020L}); 5288 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000000000010L});
4479 public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000200000002L}); 5289 public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000000022000L});
4480 public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000000000040L}); 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});
4481 5295
4482} \ No newline at end of file 5296} \ No newline at end of file