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:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2021-06-26 21:43:55 +0200
committerLibravatar Kristóf Marussy <kristof@marussy.com>2021-06-26 21:43:55 +0200
commite92ebe4a61a106ff9c0e8f5bbbc3632f1dc60009 (patch)
tree29ae119d1e17ace16115a82eef60b5b0bd886aba /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
parentAdd initial prototype (diff)
downloadrefinery-e92ebe4a61a106ff9c0e8f5bbbc3632f1dc60009.tar.gz
refinery-e92ebe4a61a106ff9c0e8f5bbbc3632f1dc60009.tar.zst
refinery-e92ebe4a61a106ff9c0e8f5bbbc3632f1dc60009.zip
FIx scoping, extend grammar
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.java2408
1 files changed, 1417 insertions, 991 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 9bfeb079..c4f19943 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,10 +22,10 @@ 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_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'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'", "','", "'{'", "';'", "'}'", "'contains'", "'refers'", "'['", "']'", "'opposite'", "'error'", "'pred'", "'('", "')'", "':-'", "'!'", "'+'", "':'", "'scope'", "'+='", "'='", "'..'", "'*'", "'true'", "'false'", "'unknown'", "'?'"
26 }; 26 };
27 public static final int RULE_STRING=6; 27 public static final int RULE_STRING=7;
28 public static final int RULE_SL_COMMENT=8; 28 public static final int RULE_SL_COMMENT=9;
29 public static final int T__19=19; 29 public static final int T__19=19;
30 public static final int T__15=15; 30 public static final int T__15=15;
31 public static final int T__37=37; 31 public static final int T__37=37;
@@ -34,7 +34,6 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
34 public static final int T__17=17; 34 public static final int T__17=17;
35 public static final int T__39=39; 35 public static final int T__39=39;
36 public static final int T__18=18; 36 public static final int T__18=18;
37 public static final int T__11=11;
38 public static final int T__33=33; 37 public static final int T__33=33;
39 public static final int T__12=12; 38 public static final int T__12=12;
40 public static final int T__34=34; 39 public static final int T__34=34;
@@ -47,19 +46,23 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
47 public static final int T__31=31; 46 public static final int T__31=31;
48 public static final int T__32=32; 47 public static final int T__32=32;
49 public static final int RULE_ID=4; 48 public static final int RULE_ID=4;
50 public static final int RULE_WS=9; 49 public static final int RULE_WS=10;
51 public static final int RULE_ANY_OTHER=10; 50 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; 52 public static final int T__26=26;
53 public static final int T__27=27; 53 public static final int T__27=27;
54 public static final int T__28=28; 54 public static final int T__28=28;
55 public static final int RULE_INT=5; 55 public static final int RULE_INT=5;
56 public static final int T__29=29; 56 public static final int T__29=29;
57 public static final int T__22=22; 57 public static final int T__22=22;
58 public static final int RULE_ML_COMMENT=7; 58 public static final int RULE_ML_COMMENT=8;
59 public static final int T__23=23; 59 public static final int T__23=23;
60 public static final int T__24=24; 60 public static final int T__24=24;
61 public static final int T__25=25; 61 public static final int T__25=25;
62 public static final int T__40=40;
63 public static final int T__41=41;
62 public static final int T__20=20; 64 public static final int T__20=20;
65 public static final int T__42=42;
63 public static final int T__21=21; 66 public static final int T__21=21;
64 67
65 // delegates 68 // delegates
@@ -138,57 +141,114 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
138 141
139 142
140 // $ANTLR start "ruleProblem" 143 // $ANTLR start "ruleProblem"
141 // InternalProblem.g:72:1: ruleProblem returns [EObject current=null] : ( (lv_statements_0_0= ruleStatement ) )* ; 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 ) )* ) ;
142 public final EObject ruleProblem() throws RecognitionException { 145 public final EObject ruleProblem() throws RecognitionException {
143 EObject current = null; 146 EObject current = null;
144 147
145 EObject lv_statements_0_0 = null; 148 Token otherlv_0=null;
149 Token lv_name_1_0=null;
150 Token otherlv_2=null;
151 EObject lv_statements_3_0 = null;
146 152
147 153
148 154
149 enterRule(); 155 enterRule();
150 156
151 try { 157 try {
152 // InternalProblem.g:78:2: ( ( (lv_statements_0_0= ruleStatement ) )* ) 158 // InternalProblem.g:78:2: ( ( (otherlv_0= 'problem' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )* ) )
153 // InternalProblem.g:79:2: ( (lv_statements_0_0= ruleStatement ) )* 159 // InternalProblem.g:79:2: ( (otherlv_0= 'problem' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )* )
154 { 160 {
155 // InternalProblem.g:79:2: ( (lv_statements_0_0= ruleStatement ) )* 161 // InternalProblem.g:79:2: ( (otherlv_0= 'problem' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )* )
156 loop1: 162 // InternalProblem.g:80:3: (otherlv_0= 'problem' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )*
163 {
164 // InternalProblem.g:80:3: (otherlv_0= 'problem' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '.' )?
165 int alt1=2;
166 int LA1_0 = input.LA(1);
167
168 if ( (LA1_0==12) ) {
169 alt1=1;
170 }
171 switch (alt1) {
172 case 1 :
173 // InternalProblem.g:81:4: otherlv_0= 'problem' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '.'
174 {
175 otherlv_0=(Token)match(input,12,FOLLOW_3);
176
177 newLeafNode(otherlv_0, grammarAccess.getProblemAccess().getProblemKeyword_0_0());
178
179 // InternalProblem.g:85:4: ( (lv_name_1_0= RULE_ID ) )
180 // InternalProblem.g:86:5: (lv_name_1_0= RULE_ID )
181 {
182 // InternalProblem.g:86:5: (lv_name_1_0= RULE_ID )
183 // InternalProblem.g:87:6: lv_name_1_0= RULE_ID
184 {
185 lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_4);
186
187 newLeafNode(lv_name_1_0, grammarAccess.getProblemAccess().getNameIDTerminalRuleCall_0_1_0());
188
189
190 if (current==null) {
191 current = createModelElement(grammarAccess.getProblemRule());
192 }
193 setWithLastConsumed(
194 current,
195 "name",
196 lv_name_1_0,
197 "org.eclipse.xtext.common.Terminals.ID");
198
199
200 }
201
202
203 }
204
205 otherlv_2=(Token)match(input,13,FOLLOW_5);
206
207 newLeafNode(otherlv_2, grammarAccess.getProblemAccess().getFullStopKeyword_0_2());
208
209
210 }
211 break;
212
213 }
214
215 // InternalProblem.g:108:3: ( (lv_statements_3_0= ruleStatement ) )*
216 loop2:
157 do { 217 do {
158 int alt1=2; 218 int alt2=2;
159 int LA1_0 = input.LA(1); 219 int LA2_0 = input.LA(1);
160 220
161 if ( (LA1_0==RULE_ID||(LA1_0>=11 && LA1_0<=12)||(LA1_0>=21 && LA1_0<=22)||LA1_0==27||LA1_0==30||LA1_0==39) ) { 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) ) {
162 alt1=1; 222 alt2=1;
163 } 223 }
164 224
165 225
166 switch (alt1) { 226 switch (alt2) {
167 case 1 : 227 case 1 :
168 // InternalProblem.g:80:3: (lv_statements_0_0= ruleStatement ) 228 // InternalProblem.g:109:4: (lv_statements_3_0= ruleStatement )
169 { 229 {
170 // InternalProblem.g:80:3: (lv_statements_0_0= ruleStatement ) 230 // InternalProblem.g:109:4: (lv_statements_3_0= ruleStatement )
171 // InternalProblem.g:81:4: lv_statements_0_0= ruleStatement 231 // InternalProblem.g:110:5: lv_statements_3_0= ruleStatement
172 { 232 {
173 233
174 newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0()); 234 newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_1_0());
175 235
176 pushFollow(FOLLOW_3); 236 pushFollow(FOLLOW_5);
177 lv_statements_0_0=ruleStatement(); 237 lv_statements_3_0=ruleStatement();
178 238
179 state._fsp--; 239 state._fsp--;
180 240
181 241
182 if (current==null) { 242 if (current==null) {
183 current = createModelElementForParent(grammarAccess.getProblemRule()); 243 current = createModelElementForParent(grammarAccess.getProblemRule());
184 } 244 }
185 add( 245 add(
186 current, 246 current,
187 "statements", 247 "statements",
188 lv_statements_0_0, 248 lv_statements_3_0,
189 "org.eclipse.viatra.solver.language.Problem.Statement"); 249 "org.eclipse.viatra.solver.language.Problem.Statement");
190 afterParserOrEnumRuleCall(); 250 afterParserOrEnumRuleCall();
191 251
192 252
193 } 253 }
194 254
@@ -197,7 +257,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
197 break; 257 break;
198 258
199 default : 259 default :
200 break loop1; 260 break loop2;
201 } 261 }
202 } while (true); 262 } while (true);
203 263
@@ -205,6 +265,9 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
205 } 265 }
206 266
207 267
268 }
269
270
208 leaveRule(); 271 leaveRule();
209 272
210 } 273 }
@@ -221,7 +284,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
221 284
222 285
223 // $ANTLR start "entryRuleStatement" 286 // $ANTLR start "entryRuleStatement"
224 // InternalProblem.g:101:1: entryRuleStatement returns [EObject current=null] : iv_ruleStatement= ruleStatement EOF ; 287 // InternalProblem.g:131:1: entryRuleStatement returns [EObject current=null] : iv_ruleStatement= ruleStatement EOF ;
225 public final EObject entryRuleStatement() throws RecognitionException { 288 public final EObject entryRuleStatement() throws RecognitionException {
226 EObject current = null; 289 EObject current = null;
227 290
@@ -229,8 +292,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
229 292
230 293
231 try { 294 try {
232 // InternalProblem.g:101:50: (iv_ruleStatement= ruleStatement EOF ) 295 // InternalProblem.g:131:50: (iv_ruleStatement= ruleStatement EOF )
233 // InternalProblem.g:102:2: iv_ruleStatement= ruleStatement EOF 296 // InternalProblem.g:132:2: iv_ruleStatement= ruleStatement EOF
234 { 297 {
235 newCompositeNode(grammarAccess.getStatementRule()); 298 newCompositeNode(grammarAccess.getStatementRule());
236 pushFollow(FOLLOW_1); 299 pushFollow(FOLLOW_1);
@@ -257,7 +320,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
257 320
258 321
259 // $ANTLR start "ruleStatement" 322 // $ANTLR start "ruleStatement"
260 // InternalProblem.g:108:1: ruleStatement returns [EObject current=null] : (this_ClassDeclaration_0= ruleClassDeclaration | this_PredicateDefinition_1= rulePredicateDefinition | this_Assertion_2= ruleAssertion | this_ScopeDeclaration_3= ruleScopeDeclaration ) ; 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 ) ;
261 public final EObject ruleStatement() throws RecognitionException { 324 public final EObject ruleStatement() throws RecognitionException {
262 EObject current = null; 325 EObject current = null;
263 326
@@ -274,46 +337,47 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
274 enterRule(); 337 enterRule();
275 338
276 try { 339 try {
277 // InternalProblem.g:114:2: ( (this_ClassDeclaration_0= ruleClassDeclaration | this_PredicateDefinition_1= rulePredicateDefinition | this_Assertion_2= ruleAssertion | this_ScopeDeclaration_3= ruleScopeDeclaration ) ) 340 // InternalProblem.g:144:2: ( (this_ClassDeclaration_0= ruleClassDeclaration | this_PredicateDefinition_1= rulePredicateDefinition | this_Assertion_2= ruleAssertion | this_ScopeDeclaration_3= ruleScopeDeclaration ) )
278 // InternalProblem.g:115:2: (this_ClassDeclaration_0= ruleClassDeclaration | this_PredicateDefinition_1= rulePredicateDefinition | this_Assertion_2= ruleAssertion | this_ScopeDeclaration_3= ruleScopeDeclaration ) 341 // InternalProblem.g:145:2: (this_ClassDeclaration_0= ruleClassDeclaration | this_PredicateDefinition_1= rulePredicateDefinition | this_Assertion_2= ruleAssertion | this_ScopeDeclaration_3= ruleScopeDeclaration )
279 { 342 {
280 // InternalProblem.g:115:2: (this_ClassDeclaration_0= ruleClassDeclaration | this_PredicateDefinition_1= rulePredicateDefinition | this_Assertion_2= ruleAssertion | this_ScopeDeclaration_3= ruleScopeDeclaration ) 343 // InternalProblem.g:145:2: (this_ClassDeclaration_0= ruleClassDeclaration | this_PredicateDefinition_1= rulePredicateDefinition | this_Assertion_2= ruleAssertion | this_ScopeDeclaration_3= ruleScopeDeclaration )
281 int alt2=4; 344 int alt3=4;
282 switch ( input.LA(1) ) { 345 switch ( input.LA(1) ) {
283 case 11: 346 case 14:
284 case 12: 347 case 15:
285 { 348 {
286 alt2=1; 349 alt3=1;
287 } 350 }
288 break; 351 break;
289 case 21: 352 case 26:
290 case 22: 353 case 27:
291 { 354 {
292 alt2=2; 355 alt3=2;
293 } 356 }
294 break; 357 break;
295 case RULE_ID: 358 case RULE_ID:
296 case 27: 359 case RULE_QUOTED_ID:
297 case 39: 360 case 31:
361 case 42:
298 { 362 {
299 alt2=3; 363 alt3=3;
300 } 364 }
301 break; 365 break;
302 case 30: 366 case 34:
303 { 367 {
304 alt2=4; 368 alt3=4;
305 } 369 }
306 break; 370 break;
307 default: 371 default:
308 NoViableAltException nvae = 372 NoViableAltException nvae =
309 new NoViableAltException("", 2, 0, input); 373 new NoViableAltException("", 3, 0, input);
310 374
311 throw nvae; 375 throw nvae;
312 } 376 }
313 377
314 switch (alt2) { 378 switch (alt3) {
315 case 1 : 379 case 1 :
316 // InternalProblem.g:116:3: this_ClassDeclaration_0= ruleClassDeclaration 380 // InternalProblem.g:146:3: this_ClassDeclaration_0= ruleClassDeclaration
317 { 381 {
318 382
319 newCompositeNode(grammarAccess.getStatementAccess().getClassDeclarationParserRuleCall_0()); 383 newCompositeNode(grammarAccess.getStatementAccess().getClassDeclarationParserRuleCall_0());
@@ -331,7 +395,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
331 } 395 }
332 break; 396 break;
333 case 2 : 397 case 2 :
334 // InternalProblem.g:125:3: this_PredicateDefinition_1= rulePredicateDefinition 398 // InternalProblem.g:155:3: this_PredicateDefinition_1= rulePredicateDefinition
335 { 399 {
336 400
337 newCompositeNode(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_1()); 401 newCompositeNode(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_1());
@@ -349,7 +413,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
349 } 413 }
350 break; 414 break;
351 case 3 : 415 case 3 :
352 // InternalProblem.g:134:3: this_Assertion_2= ruleAssertion 416 // InternalProblem.g:164:3: this_Assertion_2= ruleAssertion
353 { 417 {
354 418
355 newCompositeNode(grammarAccess.getStatementAccess().getAssertionParserRuleCall_2()); 419 newCompositeNode(grammarAccess.getStatementAccess().getAssertionParserRuleCall_2());
@@ -367,7 +431,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
367 } 431 }
368 break; 432 break;
369 case 4 : 433 case 4 :
370 // InternalProblem.g:143:3: this_ScopeDeclaration_3= ruleScopeDeclaration 434 // InternalProblem.g:173:3: this_ScopeDeclaration_3= ruleScopeDeclaration
371 { 435 {
372 436
373 newCompositeNode(grammarAccess.getStatementAccess().getScopeDeclarationParserRuleCall_3()); 437 newCompositeNode(grammarAccess.getStatementAccess().getScopeDeclarationParserRuleCall_3());
@@ -407,7 +471,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
407 471
408 472
409 // $ANTLR start "entryRuleClassDeclaration" 473 // $ANTLR start "entryRuleClassDeclaration"
410 // InternalProblem.g:155:1: entryRuleClassDeclaration returns [EObject current=null] : iv_ruleClassDeclaration= ruleClassDeclaration EOF ; 474 // InternalProblem.g:185:1: entryRuleClassDeclaration returns [EObject current=null] : iv_ruleClassDeclaration= ruleClassDeclaration EOF ;
411 public final EObject entryRuleClassDeclaration() throws RecognitionException { 475 public final EObject entryRuleClassDeclaration() throws RecognitionException {
412 EObject current = null; 476 EObject current = null;
413 477
@@ -415,8 +479,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
415 479
416 480
417 try { 481 try {
418 // InternalProblem.g:155:57: (iv_ruleClassDeclaration= ruleClassDeclaration EOF ) 482 // InternalProblem.g:185:57: (iv_ruleClassDeclaration= ruleClassDeclaration EOF )
419 // InternalProblem.g:156:2: iv_ruleClassDeclaration= ruleClassDeclaration EOF 483 // InternalProblem.g:186:2: iv_ruleClassDeclaration= ruleClassDeclaration EOF
420 { 484 {
421 newCompositeNode(grammarAccess.getClassDeclarationRule()); 485 newCompositeNode(grammarAccess.getClassDeclarationRule());
422 pushFollow(FOLLOW_1); 486 pushFollow(FOLLOW_1);
@@ -443,7 +507,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
443 507
444 508
445 // $ANTLR start "ruleClassDeclaration" 509 // $ANTLR start "ruleClassDeclaration"
446 // InternalProblem.g:162:1: ruleClassDeclaration returns [EObject current=null] : ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= RULE_ID ) ) ( (otherlv_3= 'extends' ( ( (otherlv_4= RULE_ID ) ) | (otherlv_5= '[' ( ( (otherlv_6= RULE_ID ) ) (otherlv_7= ',' ( (otherlv_8= RULE_ID ) ) )* )? otherlv_9= ']' ) ) ) | ( (lv_referenceDeclarations_10_0= ruleReferenceDeclaration ) ) )? (otherlv_11= ',' ( (lv_referenceDeclarations_12_0= ruleReferenceDeclaration ) ) )* otherlv_13= '.' ) ; 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= '.' ) ) ;
447 public final EObject ruleClassDeclaration() throws RecognitionException { 511 public final EObject ruleClassDeclaration() throws RecognitionException {
448 EObject current = null; 512 EObject current = null;
449 513
@@ -451,44 +515,39 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
451 Token otherlv_1=null; 515 Token otherlv_1=null;
452 Token lv_name_2_0=null; 516 Token lv_name_2_0=null;
453 Token otherlv_3=null; 517 Token otherlv_3=null;
454 Token otherlv_4=null;
455 Token otherlv_5=null; 518 Token otherlv_5=null;
456 Token otherlv_6=null;
457 Token otherlv_7=null; 519 Token otherlv_7=null;
458 Token otherlv_8=null;
459 Token otherlv_9=null; 520 Token otherlv_9=null;
521 Token otherlv_10=null;
460 Token otherlv_11=null; 522 Token otherlv_11=null;
461 Token otherlv_13=null; 523 EObject lv_referenceDeclarations_8_0 = null;
462 EObject lv_referenceDeclarations_10_0 = null;
463
464 EObject lv_referenceDeclarations_12_0 = null;
465 524
466 525
467 526
468 enterRule(); 527 enterRule();
469 528
470 try { 529 try {
471 // InternalProblem.g:168:2: ( ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= RULE_ID ) ) ( (otherlv_3= 'extends' ( ( (otherlv_4= RULE_ID ) ) | (otherlv_5= '[' ( ( (otherlv_6= RULE_ID ) ) (otherlv_7= ',' ( (otherlv_8= RULE_ID ) ) )* )? otherlv_9= ']' ) ) ) | ( (lv_referenceDeclarations_10_0= ruleReferenceDeclaration ) ) )? (otherlv_11= ',' ( (lv_referenceDeclarations_12_0= ruleReferenceDeclaration ) ) )* otherlv_13= '.' ) ) 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= '.' ) ) )
472 // InternalProblem.g:169:2: ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= RULE_ID ) ) ( (otherlv_3= 'extends' ( ( (otherlv_4= RULE_ID ) ) | (otherlv_5= '[' ( ( (otherlv_6= RULE_ID ) ) (otherlv_7= ',' ( (otherlv_8= RULE_ID ) ) )* )? otherlv_9= ']' ) ) ) | ( (lv_referenceDeclarations_10_0= ruleReferenceDeclaration ) ) )? (otherlv_11= ',' ( (lv_referenceDeclarations_12_0= ruleReferenceDeclaration ) ) )* otherlv_13= '.' ) 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= '.' ) )
473 { 532 {
474 // InternalProblem.g:169:2: ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= RULE_ID ) ) ( (otherlv_3= 'extends' ( ( (otherlv_4= RULE_ID ) ) | (otherlv_5= '[' ( ( (otherlv_6= RULE_ID ) ) (otherlv_7= ',' ( (otherlv_8= RULE_ID ) ) )* )? otherlv_9= ']' ) ) ) | ( (lv_referenceDeclarations_10_0= ruleReferenceDeclaration ) ) )? (otherlv_11= ',' ( (lv_referenceDeclarations_12_0= ruleReferenceDeclaration ) ) )* otherlv_13= '.' ) 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= '.' ) )
475 // InternalProblem.g:170:3: ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= RULE_ID ) ) ( (otherlv_3= 'extends' ( ( (otherlv_4= RULE_ID ) ) | (otherlv_5= '[' ( ( (otherlv_6= RULE_ID ) ) (otherlv_7= ',' ( (otherlv_8= RULE_ID ) ) )* )? otherlv_9= ']' ) ) ) | ( (lv_referenceDeclarations_10_0= ruleReferenceDeclaration ) ) )? (otherlv_11= ',' ( (lv_referenceDeclarations_12_0= ruleReferenceDeclaration ) ) )* otherlv_13= '.' 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= '.' )
476 { 535 {
477 // InternalProblem.g:170:3: ( (lv_abstract_0_0= 'abstract' ) )? 536 // InternalProblem.g:200:3: ( (lv_abstract_0_0= 'abstract' ) )?
478 int alt3=2; 537 int alt4=2;
479 int LA3_0 = input.LA(1); 538 int LA4_0 = input.LA(1);
480 539
481 if ( (LA3_0==11) ) { 540 if ( (LA4_0==14) ) {
482 alt3=1; 541 alt4=1;
483 } 542 }
484 switch (alt3) { 543 switch (alt4) {
485 case 1 : 544 case 1 :
486 // InternalProblem.g:171:4: (lv_abstract_0_0= 'abstract' ) 545 // InternalProblem.g:201:4: (lv_abstract_0_0= 'abstract' )
487 { 546 {
488 // InternalProblem.g:171:4: (lv_abstract_0_0= 'abstract' ) 547 // InternalProblem.g:201:4: (lv_abstract_0_0= 'abstract' )
489 // InternalProblem.g:172:5: lv_abstract_0_0= 'abstract' 548 // InternalProblem.g:202:5: lv_abstract_0_0= 'abstract'
490 { 549 {
491 lv_abstract_0_0=(Token)match(input,11,FOLLOW_4); 550 lv_abstract_0_0=(Token)match(input,14,FOLLOW_6);
492 551
493 newLeafNode(lv_abstract_0_0, grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0()); 552 newLeafNode(lv_abstract_0_0, grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0());
494 553
@@ -507,17 +566,17 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
507 566
508 } 567 }
509 568
510 otherlv_1=(Token)match(input,12,FOLLOW_5); 569 otherlv_1=(Token)match(input,15,FOLLOW_3);
511 570
512 newLeafNode(otherlv_1, grammarAccess.getClassDeclarationAccess().getClassKeyword_1()); 571 newLeafNode(otherlv_1, grammarAccess.getClassDeclarationAccess().getClassKeyword_1());
513 572
514 // InternalProblem.g:188:3: ( (lv_name_2_0= RULE_ID ) ) 573 // InternalProblem.g:218:3: ( (lv_name_2_0= RULE_ID ) )
515 // InternalProblem.g:189:4: (lv_name_2_0= RULE_ID ) 574 // InternalProblem.g:219:4: (lv_name_2_0= RULE_ID )
516 { 575 {
517 // InternalProblem.g:189:4: (lv_name_2_0= RULE_ID ) 576 // InternalProblem.g:219:4: (lv_name_2_0= RULE_ID )
518 // InternalProblem.g:190:5: lv_name_2_0= RULE_ID 577 // InternalProblem.g:220:5: lv_name_2_0= RULE_ID
519 { 578 {
520 lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_6); 579 lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_7);
521 580
522 newLeafNode(lv_name_2_0, grammarAccess.getClassDeclarationAccess().getNameIDTerminalRuleCall_2_0()); 581 newLeafNode(lv_name_2_0, grammarAccess.getClassDeclarationAccess().getNameIDTerminalRuleCall_2_0());
523 582
@@ -537,290 +596,237 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
537 596
538 } 597 }
539 598
540 // InternalProblem.g:206:3: ( (otherlv_3= 'extends' ( ( (otherlv_4= RULE_ID ) ) | (otherlv_5= '[' ( ( (otherlv_6= RULE_ID ) ) (otherlv_7= ',' ( (otherlv_8= RULE_ID ) ) )* )? otherlv_9= ']' ) ) ) | ( (lv_referenceDeclarations_10_0= ruleReferenceDeclaration ) ) )? 599 // InternalProblem.g:236:3: (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )?
541 int alt7=3; 600 int alt6=2;
542 int LA7_0 = input.LA(1); 601 int LA6_0 = input.LA(1);
543 602
544 if ( (LA7_0==13) ) { 603 if ( (LA6_0==16) ) {
545 alt7=1; 604 alt6=1;
546 }
547 else if ( ((LA7_0>=18 && LA7_0<=19)) ) {
548 alt7=2;
549 } 605 }
550 switch (alt7) { 606 switch (alt6) {
551 case 1 : 607 case 1 :
552 // InternalProblem.g:207:4: (otherlv_3= 'extends' ( ( (otherlv_4= RULE_ID ) ) | (otherlv_5= '[' ( ( (otherlv_6= RULE_ID ) ) (otherlv_7= ',' ( (otherlv_8= RULE_ID ) ) )* )? otherlv_9= ']' ) ) ) 608 // InternalProblem.g:237:4: otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )*
553 { 609 {
554 // InternalProblem.g:207:4: (otherlv_3= 'extends' ( ( (otherlv_4= RULE_ID ) ) | (otherlv_5= '[' ( ( (otherlv_6= RULE_ID ) ) (otherlv_7= ',' ( (otherlv_8= RULE_ID ) ) )* )? otherlv_9= ']' ) ) ) 610 otherlv_3=(Token)match(input,16,FOLLOW_8);
555 // InternalProblem.g:208:5: otherlv_3= 'extends' ( ( (otherlv_4= RULE_ID ) ) | (otherlv_5= '[' ( ( (otherlv_6= RULE_ID ) ) (otherlv_7= ',' ( (otherlv_8= RULE_ID ) ) )* )? otherlv_9= ']' ) )
556 {
557 otherlv_3=(Token)match(input,13,FOLLOW_7);
558
559 newLeafNode(otherlv_3, grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0_0());
560
561 // InternalProblem.g:212:5: ( ( (otherlv_4= RULE_ID ) ) | (otherlv_5= '[' ( ( (otherlv_6= RULE_ID ) ) (otherlv_7= ',' ( (otherlv_8= RULE_ID ) ) )* )? otherlv_9= ']' ) )
562 int alt6=2;
563 int LA6_0 = input.LA(1);
564
565 if ( (LA6_0==RULE_ID) ) {
566 alt6=1;
567 }
568 else if ( (LA6_0==14) ) {
569 alt6=2;
570 }
571 else {
572 NoViableAltException nvae =
573 new NoViableAltException("", 6, 0, input);
574
575 throw nvae;
576 }
577 switch (alt6) {
578 case 1 :
579 // InternalProblem.g:213:6: ( (otherlv_4= RULE_ID ) )
580 {
581 // InternalProblem.g:213:6: ( (otherlv_4= RULE_ID ) )
582 // InternalProblem.g:214:7: (otherlv_4= RULE_ID )
583 {
584 // InternalProblem.g:214:7: (otherlv_4= RULE_ID )
585 // InternalProblem.g:215:8: otherlv_4= RULE_ID
586 {
587
588 if (current==null) {
589 current = createModelElement(grammarAccess.getClassDeclarationRule());
590 }
591
592 otherlv_4=(Token)match(input,RULE_ID,FOLLOW_8);
593
594 newLeafNode(otherlv_4, grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_0_1_0_0());
595
596
597 }
598
599
600 }
601
602
603 }
604 break;
605 case 2 :
606 // InternalProblem.g:227:6: (otherlv_5= '[' ( ( (otherlv_6= RULE_ID ) ) (otherlv_7= ',' ( (otherlv_8= RULE_ID ) ) )* )? otherlv_9= ']' )
607 {
608 // InternalProblem.g:227:6: (otherlv_5= '[' ( ( (otherlv_6= RULE_ID ) ) (otherlv_7= ',' ( (otherlv_8= RULE_ID ) ) )* )? otherlv_9= ']' )
609 // InternalProblem.g:228:7: otherlv_5= '[' ( ( (otherlv_6= RULE_ID ) ) (otherlv_7= ',' ( (otherlv_8= RULE_ID ) ) )* )? otherlv_9= ']'
610 {
611 otherlv_5=(Token)match(input,14,FOLLOW_9);
612
613 newLeafNode(otherlv_5, grammarAccess.getClassDeclarationAccess().getLeftSquareBracketKeyword_3_0_1_1_0());
614
615 // InternalProblem.g:232:7: ( ( (otherlv_6= RULE_ID ) ) (otherlv_7= ',' ( (otherlv_8= RULE_ID ) ) )* )?
616 int alt5=2;
617 int LA5_0 = input.LA(1);
618
619 if ( (LA5_0==RULE_ID) ) {
620 alt5=1;
621 }
622 switch (alt5) {
623 case 1 :
624 // InternalProblem.g:233:8: ( (otherlv_6= RULE_ID ) ) (otherlv_7= ',' ( (otherlv_8= RULE_ID ) ) )*
625 {
626 // InternalProblem.g:233:8: ( (otherlv_6= RULE_ID ) )
627 // InternalProblem.g:234:9: (otherlv_6= RULE_ID )
628 {
629 // InternalProblem.g:234:9: (otherlv_6= RULE_ID )
630 // InternalProblem.g:235:10: otherlv_6= RULE_ID
631 {
632 611
633 if (current==null) { 612 newLeafNode(otherlv_3, grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0());
634 current = createModelElement(grammarAccess.getClassDeclarationRule()); 613
635 } 614 // InternalProblem.g:241:4: ( ( ruleQualifiedName ) )
636 615 // InternalProblem.g:242:5: ( ruleQualifiedName )
637 otherlv_6=(Token)match(input,RULE_ID,FOLLOW_10); 616 {
617 // InternalProblem.g:242:5: ( ruleQualifiedName )
618 // InternalProblem.g:243:6: ruleQualifiedName
619 {
638 620
639 newLeafNode(otherlv_6, grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_0_1_1_1_0_0()); 621 if (current==null) {
640 622 current = createModelElement(grammarAccess.getClassDeclarationRule());
623 }
624
641 625
642 } 626 newCompositeNode(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_1_0());
627
628 pushFollow(FOLLOW_9);
629 ruleQualifiedName();
643 630
631 state._fsp--;
644 632
645 }
646 633
647 // InternalProblem.g:246:8: (otherlv_7= ',' ( (otherlv_8= RULE_ID ) ) )* 634 afterParserOrEnumRuleCall();
648 loop4: 635
649 do {
650 int alt4=2;
651 int LA4_0 = input.LA(1);
652 636
653 if ( (LA4_0==15) ) { 637 }
654 alt4=1;
655 }
656 638
657 639
658 switch (alt4) { 640 }
659 case 1 :
660 // InternalProblem.g:247:9: otherlv_7= ',' ( (otherlv_8= RULE_ID ) )
661 {
662 otherlv_7=(Token)match(input,15,FOLLOW_5);
663 641
664 newLeafNode(otherlv_7, grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_0_1_1_1_1_0()); 642 // InternalProblem.g:257:4: (otherlv_5= ',' ( ( ruleQualifiedName ) ) )*
665 643 loop5:
666 // InternalProblem.g:251:9: ( (otherlv_8= RULE_ID ) ) 644 do {
667 // InternalProblem.g:252:10: (otherlv_8= RULE_ID ) 645 int alt5=2;
668 { 646 int LA5_0 = input.LA(1);
669 // InternalProblem.g:252:10: (otherlv_8= RULE_ID )
670 // InternalProblem.g:253:11: otherlv_8= RULE_ID
671 {
672 647
673 if (current==null) { 648 if ( (LA5_0==17) ) {
674 current = createModelElement(grammarAccess.getClassDeclarationRule()); 649 alt5=1;
675 } 650 }
676
677 otherlv_8=(Token)match(input,RULE_ID,FOLLOW_10);
678 651
679 newLeafNode(otherlv_8, grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_0_1_1_1_1_1_0());
680
681 652
682 } 653 switch (alt5) {
654 case 1 :
655 // InternalProblem.g:258:5: otherlv_5= ',' ( ( ruleQualifiedName ) )
656 {
657 otherlv_5=(Token)match(input,17,FOLLOW_8);
683 658
659 newLeafNode(otherlv_5, grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_2_0());
660
661 // InternalProblem.g:262:5: ( ( ruleQualifiedName ) )
662 // InternalProblem.g:263:6: ( ruleQualifiedName )
663 {
664 // InternalProblem.g:263:6: ( ruleQualifiedName )
665 // InternalProblem.g:264:7: ruleQualifiedName
666 {
684 667
685 } 668 if (current==null) {
669 current = createModelElement(grammarAccess.getClassDeclarationRule());
670 }
671
686 672
673 newCompositeNode(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_2_1_0());
674
675 pushFollow(FOLLOW_9);
676 ruleQualifiedName();
687 677
688 } 678 state._fsp--;
689 break;
690 679
691 default :
692 break loop4;
693 }
694 } while (true);
695 680
681 afterParserOrEnumRuleCall();
682
696 683
697 } 684 }
698 break;
699 685
700 }
701 686
702 otherlv_9=(Token)match(input,16,FOLLOW_8); 687 }
703 688
704 newLeafNode(otherlv_9, grammarAccess.getClassDeclarationAccess().getRightSquareBracketKeyword_3_0_1_1_2());
705
706 689
707 } 690 }
691 break;
708 692
693 default :
694 break loop5;
695 }
696 } while (true);
709 697
710 }
711 break;
712 698
713 } 699 }
700 break;
714 701
702 }
715 703
716 } 704 // InternalProblem.g:280:3: ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' )
705 int alt9=2;
706 int LA9_0 = input.LA(1);
717 707
708 if ( (LA9_0==18) ) {
709 alt9=1;
710 }
711 else if ( (LA9_0==13) ) {
712 alt9=2;
713 }
714 else {
715 NoViableAltException nvae =
716 new NoViableAltException("", 9, 0, input);
718 717
719 } 718 throw nvae;
720 break; 719 }
721 case 2 : 720 switch (alt9) {
722 // InternalProblem.g:274:4: ( (lv_referenceDeclarations_10_0= ruleReferenceDeclaration ) ) 721 case 1 :
723 { 722 // InternalProblem.g:281:4: (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' )
724 // InternalProblem.g:274:4: ( (lv_referenceDeclarations_10_0= ruleReferenceDeclaration ) )
725 // InternalProblem.g:275:5: (lv_referenceDeclarations_10_0= ruleReferenceDeclaration )
726 { 723 {
727 // InternalProblem.g:275:5: (lv_referenceDeclarations_10_0= ruleReferenceDeclaration ) 724 // InternalProblem.g:281:4: (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' )
728 // InternalProblem.g:276:6: lv_referenceDeclarations_10_0= ruleReferenceDeclaration 725 // InternalProblem.g:282:5: otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}'
729 { 726 {
727 otherlv_7=(Token)match(input,18,FOLLOW_10);
730 728
731 newCompositeNode(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_3_1_0()); 729 newLeafNode(otherlv_7, grammarAccess.getClassDeclarationAccess().getLeftCurlyBracketKeyword_4_0_0());
732 730
733 pushFollow(FOLLOW_8); 731 // InternalProblem.g:286:5: ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )*
734 lv_referenceDeclarations_10_0=ruleReferenceDeclaration(); 732 loop8:
733 do {
734 int alt8=2;
735 int LA8_0 = input.LA(1);
735 736
736 state._fsp--; 737 if ( ((LA8_0>=21 && LA8_0<=22)) ) {
738 alt8=1;
739 }
737 740
738 741
739 if (current==null) { 742 switch (alt8) {
740 current = createModelElementForParent(grammarAccess.getClassDeclarationRule()); 743 case 1 :
741 } 744 // InternalProblem.g:287:6: ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )?
742 add( 745 {
743 current, 746 // InternalProblem.g:287:6: ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) )
744 "referenceDeclarations", 747 // InternalProblem.g:288:7: (lv_referenceDeclarations_8_0= ruleReferenceDeclaration )
745 lv_referenceDeclarations_10_0, 748 {
746 "org.eclipse.viatra.solver.language.Problem.ReferenceDeclaration"); 749 // InternalProblem.g:288:7: (lv_referenceDeclarations_8_0= ruleReferenceDeclaration )
747 afterParserOrEnumRuleCall(); 750 // InternalProblem.g:289:8: lv_referenceDeclarations_8_0= ruleReferenceDeclaration
748 751 {
749 752
750 } 753 newCompositeNode(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_4_0_1_0_0());
754
755 pushFollow(FOLLOW_11);
756 lv_referenceDeclarations_8_0=ruleReferenceDeclaration();
751 757
758 state._fsp--;
752 759
753 }
754 760
761 if (current==null) {
762 current = createModelElementForParent(grammarAccess.getClassDeclarationRule());
763 }
764 add(
765 current,
766 "referenceDeclarations",
767 lv_referenceDeclarations_8_0,
768 "org.eclipse.viatra.solver.language.Problem.ReferenceDeclaration");
769 afterParserOrEnumRuleCall();
770
755 771
756 } 772 }
757 break;
758 773
759 }
760 774
761 // InternalProblem.g:294:3: (otherlv_11= ',' ( (lv_referenceDeclarations_12_0= ruleReferenceDeclaration ) ) )* 775 }
762 loop8:
763 do {
764 int alt8=2;
765 int LA8_0 = input.LA(1);
766 776
767 if ( (LA8_0==15) ) { 777 // InternalProblem.g:306:6: (otherlv_9= ';' )?
768 alt8=1; 778 int alt7=2;
769 } 779 int LA7_0 = input.LA(1);
770 780
781 if ( (LA7_0==19) ) {
782 alt7=1;
783 }
784 switch (alt7) {
785 case 1 :
786 // InternalProblem.g:307:7: otherlv_9= ';'
787 {
788 otherlv_9=(Token)match(input,19,FOLLOW_10);
771 789
772 switch (alt8) { 790 newLeafNode(otherlv_9, grammarAccess.getClassDeclarationAccess().getSemicolonKeyword_4_0_1_1());
773 case 1 : 791
774 // InternalProblem.g:295:4: otherlv_11= ',' ( (lv_referenceDeclarations_12_0= ruleReferenceDeclaration ) )
775 {
776 otherlv_11=(Token)match(input,15,FOLLOW_11);
777 792
778 newLeafNode(otherlv_11, grammarAccess.getClassDeclarationAccess().getCommaKeyword_4_0()); 793 }
779 794 break;
780 // InternalProblem.g:299:4: ( (lv_referenceDeclarations_12_0= ruleReferenceDeclaration ) )
781 // InternalProblem.g:300:5: (lv_referenceDeclarations_12_0= ruleReferenceDeclaration )
782 {
783 // InternalProblem.g:300:5: (lv_referenceDeclarations_12_0= ruleReferenceDeclaration )
784 // InternalProblem.g:301:6: lv_referenceDeclarations_12_0= ruleReferenceDeclaration
785 {
786 795
787 newCompositeNode(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_4_1_0()); 796 }
788
789 pushFollow(FOLLOW_8);
790 lv_referenceDeclarations_12_0=ruleReferenceDeclaration();
791 797
792 state._fsp--;
793 798
799 }
800 break;
794 801
795 if (current==null) { 802 default :
796 current = createModelElementForParent(grammarAccess.getClassDeclarationRule()); 803 break loop8;
797 } 804 }
798 add( 805 } while (true);
799 current,
800 "referenceDeclarations",
801 lv_referenceDeclarations_12_0,
802 "org.eclipse.viatra.solver.language.Problem.ReferenceDeclaration");
803 afterParserOrEnumRuleCall();
804
805 806
806 } 807 otherlv_10=(Token)match(input,20,FOLLOW_2);
807 808
809 newLeafNode(otherlv_10, grammarAccess.getClassDeclarationAccess().getRightCurlyBracketKeyword_4_0_2());
810
808 811
809 } 812 }
810 813
811 814
812 } 815 }
813 break; 816 break;
817 case 2 :
818 // InternalProblem.g:319:4: otherlv_11= '.'
819 {
820 otherlv_11=(Token)match(input,13,FOLLOW_2);
814 821
815 default : 822 newLeafNode(otherlv_11, grammarAccess.getClassDeclarationAccess().getFullStopKeyword_4_1());
816 break loop8; 823
817 }
818 } while (true);
819 824
820 otherlv_13=(Token)match(input,17,FOLLOW_2); 825 }
826 break;
827
828 }
821 829
822 newLeafNode(otherlv_13, grammarAccess.getClassDeclarationAccess().getFullStopKeyword_5());
823
824 830
825 } 831 }
826 832
@@ -844,7 +850,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
844 850
845 851
846 // $ANTLR start "entryRuleReferenceDeclaration" 852 // $ANTLR start "entryRuleReferenceDeclaration"
847 // InternalProblem.g:327:1: entryRuleReferenceDeclaration returns [EObject current=null] : iv_ruleReferenceDeclaration= ruleReferenceDeclaration EOF ; 853 // InternalProblem.g:328:1: entryRuleReferenceDeclaration returns [EObject current=null] : iv_ruleReferenceDeclaration= ruleReferenceDeclaration EOF ;
848 public final EObject entryRuleReferenceDeclaration() throws RecognitionException { 854 public final EObject entryRuleReferenceDeclaration() throws RecognitionException {
849 EObject current = null; 855 EObject current = null;
850 856
@@ -852,8 +858,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
852 858
853 859
854 try { 860 try {
855 // InternalProblem.g:327:61: (iv_ruleReferenceDeclaration= ruleReferenceDeclaration EOF ) 861 // InternalProblem.g:328:61: (iv_ruleReferenceDeclaration= ruleReferenceDeclaration EOF )
856 // InternalProblem.g:328:2: iv_ruleReferenceDeclaration= ruleReferenceDeclaration EOF 862 // InternalProblem.g:329:2: iv_ruleReferenceDeclaration= ruleReferenceDeclaration EOF
857 { 863 {
858 newCompositeNode(grammarAccess.getReferenceDeclarationRule()); 864 newCompositeNode(grammarAccess.getReferenceDeclarationRule());
859 pushFollow(FOLLOW_1); 865 pushFollow(FOLLOW_1);
@@ -880,13 +886,12 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
880 886
881 887
882 // $ANTLR start "ruleReferenceDeclaration" 888 // $ANTLR start "ruleReferenceDeclaration"
883 // InternalProblem.g:334:1: ruleReferenceDeclaration returns [EObject current=null] : ( ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' ) ( (otherlv_2= RULE_ID ) ) otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' ( (lv_name_6_0= RULE_ID ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? ) ; 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 ) ) )? ) ;
884 public final EObject ruleReferenceDeclaration() throws RecognitionException { 890 public final EObject ruleReferenceDeclaration() throws RecognitionException {
885 EObject current = null; 891 EObject current = null;
886 892
887 Token lv_containment_0_0=null; 893 Token lv_containment_0_0=null;
888 Token otherlv_1=null; 894 Token otherlv_1=null;
889 Token otherlv_2=null;
890 Token otherlv_3=null; 895 Token otherlv_3=null;
891 Token otherlv_5=null; 896 Token otherlv_5=null;
892 Token lv_name_6_0=null; 897 Token lv_name_6_0=null;
@@ -898,39 +903,39 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
898 enterRule(); 903 enterRule();
899 904
900 try { 905 try {
901 // InternalProblem.g:340:2: ( ( ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' ) ( (otherlv_2= RULE_ID ) ) otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' ( (lv_name_6_0= RULE_ID ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? ) ) 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 ) ) )? ) )
902 // InternalProblem.g:341:2: ( ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' ) ( (otherlv_2= RULE_ID ) ) otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' ( (lv_name_6_0= RULE_ID ) ) (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 ) ) )? )
903 { 908 {
904 // InternalProblem.g:341:2: ( ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' ) ( (otherlv_2= RULE_ID ) ) otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' ( (lv_name_6_0= RULE_ID ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? ) 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 ) ) )? )
905 // InternalProblem.g:342:3: ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' ) ( (otherlv_2= RULE_ID ) ) otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' ( (lv_name_6_0= RULE_ID ) ) (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 ) ) )?
906 { 911 {
907 // InternalProblem.g:342:3: ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' ) 912 // InternalProblem.g:343:3: ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' )
908 int alt9=2; 913 int alt10=2;
909 int LA9_0 = input.LA(1); 914 int LA10_0 = input.LA(1);
910 915
911 if ( (LA9_0==18) ) { 916 if ( (LA10_0==21) ) {
912 alt9=1; 917 alt10=1;
913 } 918 }
914 else if ( (LA9_0==19) ) { 919 else if ( (LA10_0==22) ) {
915 alt9=2; 920 alt10=2;
916 } 921 }
917 else { 922 else {
918 NoViableAltException nvae = 923 NoViableAltException nvae =
919 new NoViableAltException("", 9, 0, input); 924 new NoViableAltException("", 10, 0, input);
920 925
921 throw nvae; 926 throw nvae;
922 } 927 }
923 switch (alt9) { 928 switch (alt10) {
924 case 1 : 929 case 1 :
925 // InternalProblem.g:343:4: ( (lv_containment_0_0= 'contains' ) ) 930 // InternalProblem.g:344:4: ( (lv_containment_0_0= 'contains' ) )
926 { 931 {
927 // InternalProblem.g:343:4: ( (lv_containment_0_0= 'contains' ) ) 932 // InternalProblem.g:344:4: ( (lv_containment_0_0= 'contains' ) )
928 // InternalProblem.g:344:5: (lv_containment_0_0= 'contains' ) 933 // InternalProblem.g:345:5: (lv_containment_0_0= 'contains' )
929 { 934 {
930 // InternalProblem.g:344:5: (lv_containment_0_0= 'contains' ) 935 // InternalProblem.g:345:5: (lv_containment_0_0= 'contains' )
931 // InternalProblem.g:345:6: lv_containment_0_0= 'contains' 936 // InternalProblem.g:346:6: lv_containment_0_0= 'contains'
932 { 937 {
933 lv_containment_0_0=(Token)match(input,18,FOLLOW_5); 938 lv_containment_0_0=(Token)match(input,21,FOLLOW_8);
934 939
935 newLeafNode(lv_containment_0_0, grammarAccess.getReferenceDeclarationAccess().getContainmentContainsKeyword_0_0_0()); 940 newLeafNode(lv_containment_0_0, grammarAccess.getReferenceDeclarationAccess().getContainmentContainsKeyword_0_0_0());
936 941
@@ -950,9 +955,9 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
950 } 955 }
951 break; 956 break;
952 case 2 : 957 case 2 :
953 // InternalProblem.g:358:4: otherlv_1= 'refers' 958 // InternalProblem.g:359:4: otherlv_1= 'refers'
954 { 959 {
955 otherlv_1=(Token)match(input,19,FOLLOW_5); 960 otherlv_1=(Token)match(input,22,FOLLOW_8);
956 961
957 newLeafNode(otherlv_1, grammarAccess.getReferenceDeclarationAccess().getRefersKeyword_0_1()); 962 newLeafNode(otherlv_1, grammarAccess.getReferenceDeclarationAccess().getRefersKeyword_0_1());
958 963
@@ -962,20 +967,27 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
962 967
963 } 968 }
964 969
965 // InternalProblem.g:363:3: ( (otherlv_2= RULE_ID ) ) 970 // InternalProblem.g:364:3: ( ( ruleQualifiedName ) )
966 // InternalProblem.g:364:4: (otherlv_2= RULE_ID ) 971 // InternalProblem.g:365:4: ( ruleQualifiedName )
967 { 972 {
968 // InternalProblem.g:364:4: (otherlv_2= RULE_ID ) 973 // InternalProblem.g:365:4: ( ruleQualifiedName )
969 // InternalProblem.g:365:5: otherlv_2= RULE_ID 974 // InternalProblem.g:366:5: ruleQualifiedName
970 { 975 {
971 976
972 if (current==null) { 977 if (current==null) {
973 current = createModelElement(grammarAccess.getReferenceDeclarationRule()); 978 current = createModelElement(grammarAccess.getReferenceDeclarationRule());
974 } 979 }
975 980
976 otherlv_2=(Token)match(input,RULE_ID,FOLLOW_12);
977 981
978 newLeafNode(otherlv_2, grammarAccess.getReferenceDeclarationAccess().getReferenceTypeClassDeclarationCrossReference_1_0()); 982 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeClassDeclarationCrossReference_1_0());
983
984 pushFollow(FOLLOW_12);
985 ruleQualifiedName();
986
987 state._fsp--;
988
989
990 afterParserOrEnumRuleCall();
979 991
980 992
981 } 993 }
@@ -983,54 +995,71 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
983 995
984 } 996 }
985 997
986 otherlv_3=(Token)match(input,14,FOLLOW_13); 998 // InternalProblem.g:380:3: (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )?
999 int alt11=2;
1000 int LA11_0 = input.LA(1);
987 1001
988 newLeafNode(otherlv_3, grammarAccess.getReferenceDeclarationAccess().getLeftSquareBracketKeyword_2()); 1002 if ( (LA11_0==23) ) {
989 1003 alt11=1;
990 // InternalProblem.g:380:3: ( (lv_multiplicity_4_0= ruleMultiplicity ) ) 1004 }
991 // InternalProblem.g:381:4: (lv_multiplicity_4_0= ruleMultiplicity ) 1005 switch (alt11) {
992 { 1006 case 1 :
993 // InternalProblem.g:381:4: (lv_multiplicity_4_0= ruleMultiplicity ) 1007 // InternalProblem.g:381:4: otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']'
994 // InternalProblem.g:382:5: lv_multiplicity_4_0= ruleMultiplicity 1008 {
995 { 1009 otherlv_3=(Token)match(input,23,FOLLOW_13);
996 1010
997 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getMultiplicityMultiplicityParserRuleCall_3_0()); 1011 newLeafNode(otherlv_3, grammarAccess.getReferenceDeclarationAccess().getLeftSquareBracketKeyword_2_0());
998 1012
999 pushFollow(FOLLOW_14); 1013 // InternalProblem.g:385:4: ( (lv_multiplicity_4_0= ruleMultiplicity ) )
1000 lv_multiplicity_4_0=ruleMultiplicity(); 1014 // InternalProblem.g:386:5: (lv_multiplicity_4_0= ruleMultiplicity )
1015 {
1016 // InternalProblem.g:386:5: (lv_multiplicity_4_0= ruleMultiplicity )
1017 // InternalProblem.g:387:6: lv_multiplicity_4_0= ruleMultiplicity
1018 {
1001 1019
1002 state._fsp--; 1020 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getMultiplicityMultiplicityParserRuleCall_2_1_0());
1021
1022 pushFollow(FOLLOW_14);
1023 lv_multiplicity_4_0=ruleMultiplicity();
1003 1024
1025 state._fsp--;
1004 1026
1005 if (current==null) {
1006 current = createModelElementForParent(grammarAccess.getReferenceDeclarationRule());
1007 }
1008 set(
1009 current,
1010 "multiplicity",
1011 lv_multiplicity_4_0,
1012 "org.eclipse.viatra.solver.language.Problem.Multiplicity");
1013 afterParserOrEnumRuleCall();
1014
1015 1027
1016 } 1028 if (current==null) {
1029 current = createModelElementForParent(grammarAccess.getReferenceDeclarationRule());
1030 }
1031 set(
1032 current,
1033 "multiplicity",
1034 lv_multiplicity_4_0,
1035 "org.eclipse.viatra.solver.language.Problem.Multiplicity");
1036 afterParserOrEnumRuleCall();
1037
1017 1038
1039 }
1018 1040
1019 }
1020 1041
1021 otherlv_5=(Token)match(input,16,FOLLOW_5); 1042 }
1022 1043
1023 newLeafNode(otherlv_5, grammarAccess.getReferenceDeclarationAccess().getRightSquareBracketKeyword_4()); 1044 otherlv_5=(Token)match(input,24,FOLLOW_3);
1024 1045
1025 // InternalProblem.g:403:3: ( (lv_name_6_0= RULE_ID ) ) 1046 newLeafNode(otherlv_5, grammarAccess.getReferenceDeclarationAccess().getRightSquareBracketKeyword_2_2());
1026 // InternalProblem.g:404:4: (lv_name_6_0= RULE_ID ) 1047
1048
1049 }
1050 break;
1051
1052 }
1053
1054 // InternalProblem.g:409:3: ( (lv_name_6_0= RULE_ID ) )
1055 // InternalProblem.g:410:4: (lv_name_6_0= RULE_ID )
1027 { 1056 {
1028 // InternalProblem.g:404:4: (lv_name_6_0= RULE_ID ) 1057 // InternalProblem.g:410:4: (lv_name_6_0= RULE_ID )
1029 // InternalProblem.g:405:5: lv_name_6_0= RULE_ID 1058 // InternalProblem.g:411:5: lv_name_6_0= RULE_ID
1030 { 1059 {
1031 lv_name_6_0=(Token)match(input,RULE_ID,FOLLOW_15); 1060 lv_name_6_0=(Token)match(input,RULE_ID,FOLLOW_15);
1032 1061
1033 newLeafNode(lv_name_6_0, grammarAccess.getReferenceDeclarationAccess().getNameIDTerminalRuleCall_5_0()); 1062 newLeafNode(lv_name_6_0, grammarAccess.getReferenceDeclarationAccess().getNameIDTerminalRuleCall_3_0());
1034 1063
1035 1064
1036 if (current==null) { 1065 if (current==null) {
@@ -1048,26 +1077,26 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1048 1077
1049 } 1078 }
1050 1079
1051 // InternalProblem.g:421:3: (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? 1080 // InternalProblem.g:427:3: (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )?
1052 int alt10=2; 1081 int alt12=2;
1053 int LA10_0 = input.LA(1); 1082 int LA12_0 = input.LA(1);
1054 1083
1055 if ( (LA10_0==20) ) { 1084 if ( (LA12_0==25) ) {
1056 alt10=1; 1085 alt12=1;
1057 } 1086 }
1058 switch (alt10) { 1087 switch (alt12) {
1059 case 1 : 1088 case 1 :
1060 // InternalProblem.g:422:4: otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) 1089 // InternalProblem.g:428:4: otherlv_7= 'opposite' ( ( ruleQualifiedName ) )
1061 { 1090 {
1062 otherlv_7=(Token)match(input,20,FOLLOW_5); 1091 otherlv_7=(Token)match(input,25,FOLLOW_8);
1063 1092
1064 newLeafNode(otherlv_7, grammarAccess.getReferenceDeclarationAccess().getOppositeKeyword_6_0()); 1093 newLeafNode(otherlv_7, grammarAccess.getReferenceDeclarationAccess().getOppositeKeyword_4_0());
1065 1094
1066 // InternalProblem.g:426:4: ( ( ruleQualifiedName ) ) 1095 // InternalProblem.g:432:4: ( ( ruleQualifiedName ) )
1067 // InternalProblem.g:427:5: ( ruleQualifiedName ) 1096 // InternalProblem.g:433:5: ( ruleQualifiedName )
1068 { 1097 {
1069 // InternalProblem.g:427:5: ( ruleQualifiedName ) 1098 // InternalProblem.g:433:5: ( ruleQualifiedName )
1070 // InternalProblem.g:428:6: ruleQualifiedName 1099 // InternalProblem.g:434:6: ruleQualifiedName
1071 { 1100 {
1072 1101
1073 if (current==null) { 1102 if (current==null) {
@@ -1075,7 +1104,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1075 } 1104 }
1076 1105
1077 1106
1078 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationCrossReference_6_1_0()); 1107 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationCrossReference_4_1_0());
1079 1108
1080 pushFollow(FOLLOW_2); 1109 pushFollow(FOLLOW_2);
1081 ruleQualifiedName(); 1110 ruleQualifiedName();
@@ -1120,7 +1149,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1120 1149
1121 1150
1122 // $ANTLR start "entryRulePredicateDefinition" 1151 // $ANTLR start "entryRulePredicateDefinition"
1123 // InternalProblem.g:447:1: entryRulePredicateDefinition returns [EObject current=null] : iv_rulePredicateDefinition= rulePredicateDefinition EOF ; 1152 // InternalProblem.g:453:1: entryRulePredicateDefinition returns [EObject current=null] : iv_rulePredicateDefinition= rulePredicateDefinition EOF ;
1124 public final EObject entryRulePredicateDefinition() throws RecognitionException { 1153 public final EObject entryRulePredicateDefinition() throws RecognitionException {
1125 EObject current = null; 1154 EObject current = null;
1126 1155
@@ -1128,8 +1157,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1128 1157
1129 1158
1130 try { 1159 try {
1131 // InternalProblem.g:447:60: (iv_rulePredicateDefinition= rulePredicateDefinition EOF ) 1160 // InternalProblem.g:453:60: (iv_rulePredicateDefinition= rulePredicateDefinition EOF )
1132 // InternalProblem.g:448:2: iv_rulePredicateDefinition= rulePredicateDefinition EOF 1161 // InternalProblem.g:454:2: iv_rulePredicateDefinition= rulePredicateDefinition EOF
1133 { 1162 {
1134 newCompositeNode(grammarAccess.getPredicateDefinitionRule()); 1163 newCompositeNode(grammarAccess.getPredicateDefinitionRule());
1135 pushFollow(FOLLOW_1); 1164 pushFollow(FOLLOW_1);
@@ -1156,7 +1185,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1156 1185
1157 1186
1158 // $ANTLR start "rulePredicateDefinition" 1187 // $ANTLR start "rulePredicateDefinition"
1159 // InternalProblem.g:454: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= '.' ) ; 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= '.' ) ;
1160 public final EObject rulePredicateDefinition() throws RecognitionException { 1189 public final EObject rulePredicateDefinition() throws RecognitionException {
1161 EObject current = null; 1190 EObject current = null;
1162 1191
@@ -1183,42 +1212,42 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1183 enterRule(); 1212 enterRule();
1184 1213
1185 try { 1214 try {
1186 // InternalProblem.g:460: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= '.' ) ) 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= '.' ) )
1187 // InternalProblem.g:461: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= '.' ) 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= '.' )
1188 { 1217 {
1189 // InternalProblem.g:461: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= '.' ) 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= '.' )
1190 // InternalProblem.g:462: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= '.' 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= '.'
1191 { 1220 {
1192 // InternalProblem.g:462:3: ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) 1221 // InternalProblem.g:468:3: ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' )
1193 int alt12=2; 1222 int alt14=2;
1194 int LA12_0 = input.LA(1); 1223 int LA14_0 = input.LA(1);
1195 1224
1196 if ( (LA12_0==21) ) { 1225 if ( (LA14_0==26) ) {
1197 alt12=1; 1226 alt14=1;
1198 } 1227 }
1199 else if ( (LA12_0==22) ) { 1228 else if ( (LA14_0==27) ) {
1200 alt12=2; 1229 alt14=2;
1201 } 1230 }
1202 else { 1231 else {
1203 NoViableAltException nvae = 1232 NoViableAltException nvae =
1204 new NoViableAltException("", 12, 0, input); 1233 new NoViableAltException("", 14, 0, input);
1205 1234
1206 throw nvae; 1235 throw nvae;
1207 } 1236 }
1208 switch (alt12) { 1237 switch (alt14) {
1209 case 1 : 1238 case 1 :
1210 // InternalProblem.g:463:4: ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) 1239 // InternalProblem.g:469:4: ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? )
1211 { 1240 {
1212 // InternalProblem.g:463:4: ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) 1241 // InternalProblem.g:469:4: ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? )
1213 // InternalProblem.g:464:5: ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? 1242 // InternalProblem.g:470:5: ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )?
1214 { 1243 {
1215 // InternalProblem.g:464:5: ( (lv_error_0_0= 'error' ) ) 1244 // InternalProblem.g:470:5: ( (lv_error_0_0= 'error' ) )
1216 // InternalProblem.g:465:6: (lv_error_0_0= 'error' ) 1245 // InternalProblem.g:471:6: (lv_error_0_0= 'error' )
1217 { 1246 {
1218 // InternalProblem.g:465:6: (lv_error_0_0= 'error' ) 1247 // InternalProblem.g:471:6: (lv_error_0_0= 'error' )
1219 // InternalProblem.g:466:7: lv_error_0_0= 'error' 1248 // InternalProblem.g:472:7: lv_error_0_0= 'error'
1220 { 1249 {
1221 lv_error_0_0=(Token)match(input,21,FOLLOW_16); 1250 lv_error_0_0=(Token)match(input,26,FOLLOW_16);
1222 1251
1223 newLeafNode(lv_error_0_0, grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_0_0()); 1252 newLeafNode(lv_error_0_0, grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_0_0());
1224 1253
@@ -1234,18 +1263,18 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1234 1263
1235 } 1264 }
1236 1265
1237 // InternalProblem.g:478:5: (otherlv_1= 'pred' )? 1266 // InternalProblem.g:484:5: (otherlv_1= 'pred' )?
1238 int alt11=2; 1267 int alt13=2;
1239 int LA11_0 = input.LA(1); 1268 int LA13_0 = input.LA(1);
1240 1269
1241 if ( (LA11_0==22) ) { 1270 if ( (LA13_0==27) ) {
1242 alt11=1; 1271 alt13=1;
1243 } 1272 }
1244 switch (alt11) { 1273 switch (alt13) {
1245 case 1 : 1274 case 1 :
1246 // InternalProblem.g:479:6: otherlv_1= 'pred' 1275 // InternalProblem.g:485:6: otherlv_1= 'pred'
1247 { 1276 {
1248 otherlv_1=(Token)match(input,22,FOLLOW_5); 1277 otherlv_1=(Token)match(input,27,FOLLOW_3);
1249 1278
1250 newLeafNode(otherlv_1, grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_0_1()); 1279 newLeafNode(otherlv_1, grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_0_1());
1251 1280
@@ -1262,9 +1291,9 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1262 } 1291 }
1263 break; 1292 break;
1264 case 2 : 1293 case 2 :
1265 // InternalProblem.g:486:4: otherlv_2= 'pred' 1294 // InternalProblem.g:492:4: otherlv_2= 'pred'
1266 { 1295 {
1267 otherlv_2=(Token)match(input,22,FOLLOW_5); 1296 otherlv_2=(Token)match(input,27,FOLLOW_3);
1268 1297
1269 newLeafNode(otherlv_2, grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_1()); 1298 newLeafNode(otherlv_2, grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_1());
1270 1299
@@ -1274,11 +1303,11 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1274 1303
1275 } 1304 }
1276 1305
1277 // InternalProblem.g:491:3: ( (lv_name_3_0= RULE_ID ) ) 1306 // InternalProblem.g:497:3: ( (lv_name_3_0= RULE_ID ) )
1278 // InternalProblem.g:492:4: (lv_name_3_0= RULE_ID ) 1307 // InternalProblem.g:498:4: (lv_name_3_0= RULE_ID )
1279 { 1308 {
1280 // InternalProblem.g:492:4: (lv_name_3_0= RULE_ID ) 1309 // InternalProblem.g:498:4: (lv_name_3_0= RULE_ID )
1281 // InternalProblem.g:493:5: lv_name_3_0= RULE_ID 1310 // InternalProblem.g:499:5: lv_name_3_0= RULE_ID
1282 { 1311 {
1283 lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_17); 1312 lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_17);
1284 1313
@@ -1300,26 +1329,26 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1300 1329
1301 } 1330 }
1302 1331
1303 otherlv_4=(Token)match(input,23,FOLLOW_18); 1332 otherlv_4=(Token)match(input,28,FOLLOW_18);
1304 1333
1305 newLeafNode(otherlv_4, grammarAccess.getPredicateDefinitionAccess().getLeftParenthesisKeyword_2()); 1334 newLeafNode(otherlv_4, grammarAccess.getPredicateDefinitionAccess().getLeftParenthesisKeyword_2());
1306 1335
1307 // InternalProblem.g:513:3: ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? 1336 // InternalProblem.g:519:3: ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )?
1308 int alt14=2; 1337 int alt16=2;
1309 int LA14_0 = input.LA(1); 1338 int LA16_0 = input.LA(1);
1310 1339
1311 if ( (LA14_0==RULE_ID) ) { 1340 if ( (LA16_0==RULE_ID) ) {
1312 alt14=1; 1341 alt16=1;
1313 } 1342 }
1314 switch (alt14) { 1343 switch (alt16) {
1315 case 1 : 1344 case 1 :
1316 // InternalProblem.g:514:4: ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* 1345 // InternalProblem.g:520:4: ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )*
1317 { 1346 {
1318 // InternalProblem.g:514:4: ( (lv_parameters_5_0= ruleParameter ) ) 1347 // InternalProblem.g:520:4: ( (lv_parameters_5_0= ruleParameter ) )
1319 // InternalProblem.g:515:5: (lv_parameters_5_0= ruleParameter ) 1348 // InternalProblem.g:521:5: (lv_parameters_5_0= ruleParameter )
1320 { 1349 {
1321 // InternalProblem.g:515:5: (lv_parameters_5_0= ruleParameter ) 1350 // InternalProblem.g:521:5: (lv_parameters_5_0= ruleParameter )
1322 // InternalProblem.g:516:6: lv_parameters_5_0= ruleParameter 1351 // InternalProblem.g:522:6: lv_parameters_5_0= ruleParameter
1323 { 1352 {
1324 1353
1325 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_0_0()); 1354 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_0_0());
@@ -1346,30 +1375,30 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1346 1375
1347 } 1376 }
1348 1377
1349 // InternalProblem.g:533:4: (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* 1378 // InternalProblem.g:539:4: (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )*
1350 loop13: 1379 loop15:
1351 do { 1380 do {
1352 int alt13=2; 1381 int alt15=2;
1353 int LA13_0 = input.LA(1); 1382 int LA15_0 = input.LA(1);
1354 1383
1355 if ( (LA13_0==15) ) { 1384 if ( (LA15_0==17) ) {
1356 alt13=1; 1385 alt15=1;
1357 } 1386 }
1358 1387
1359 1388
1360 switch (alt13) { 1389 switch (alt15) {
1361 case 1 : 1390 case 1 :
1362 // InternalProblem.g:534:5: otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) 1391 // InternalProblem.g:540:5: otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) )
1363 { 1392 {
1364 otherlv_6=(Token)match(input,15,FOLLOW_5); 1393 otherlv_6=(Token)match(input,17,FOLLOW_3);
1365 1394
1366 newLeafNode(otherlv_6, grammarAccess.getPredicateDefinitionAccess().getCommaKeyword_3_1_0()); 1395 newLeafNode(otherlv_6, grammarAccess.getPredicateDefinitionAccess().getCommaKeyword_3_1_0());
1367 1396
1368 // InternalProblem.g:538:5: ( (lv_parameters_7_0= ruleParameter ) ) 1397 // InternalProblem.g:544:5: ( (lv_parameters_7_0= ruleParameter ) )
1369 // InternalProblem.g:539:6: (lv_parameters_7_0= ruleParameter ) 1398 // InternalProblem.g:545:6: (lv_parameters_7_0= ruleParameter )
1370 { 1399 {
1371 // InternalProblem.g:539:6: (lv_parameters_7_0= ruleParameter ) 1400 // InternalProblem.g:545:6: (lv_parameters_7_0= ruleParameter )
1372 // InternalProblem.g:540:7: lv_parameters_7_0= ruleParameter 1401 // InternalProblem.g:546:7: lv_parameters_7_0= ruleParameter
1373 { 1402 {
1374 1403
1375 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_1_1_0()); 1404 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_1_1_0());
@@ -1401,7 +1430,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1401 break; 1430 break;
1402 1431
1403 default : 1432 default :
1404 break loop13; 1433 break loop15;
1405 } 1434 }
1406 } while (true); 1435 } while (true);
1407 1436
@@ -1411,30 +1440,30 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1411 1440
1412 } 1441 }
1413 1442
1414 otherlv_8=(Token)match(input,24,FOLLOW_20); 1443 otherlv_8=(Token)match(input,29,FOLLOW_20);
1415 1444
1416 newLeafNode(otherlv_8, grammarAccess.getPredicateDefinitionAccess().getRightParenthesisKeyword_4()); 1445 newLeafNode(otherlv_8, grammarAccess.getPredicateDefinitionAccess().getRightParenthesisKeyword_4());
1417 1446
1418 // InternalProblem.g:563:3: (otherlv_9= ':=' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? 1447 // InternalProblem.g:569:3: (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )?
1419 int alt16=2; 1448 int alt18=2;
1420 int LA16_0 = input.LA(1); 1449 int LA18_0 = input.LA(1);
1421 1450
1422 if ( (LA16_0==25) ) { 1451 if ( (LA18_0==30) ) {
1423 alt16=1; 1452 alt18=1;
1424 } 1453 }
1425 switch (alt16) { 1454 switch (alt18) {
1426 case 1 : 1455 case 1 :
1427 // InternalProblem.g:564:4: otherlv_9= ':=' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* 1456 // InternalProblem.g:570:4: otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )*
1428 { 1457 {
1429 otherlv_9=(Token)match(input,25,FOLLOW_21); 1458 otherlv_9=(Token)match(input,30,FOLLOW_21);
1430 1459
1431 newLeafNode(otherlv_9, grammarAccess.getPredicateDefinitionAccess().getColonEqualsSignKeyword_5_0()); 1460 newLeafNode(otherlv_9, grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_5_0());
1432 1461
1433 // InternalProblem.g:568:4: ( (lv_bodies_10_0= ruleConjunction ) ) 1462 // InternalProblem.g:574:4: ( (lv_bodies_10_0= ruleConjunction ) )
1434 // InternalProblem.g:569:5: (lv_bodies_10_0= ruleConjunction ) 1463 // InternalProblem.g:575:5: (lv_bodies_10_0= ruleConjunction )
1435 { 1464 {
1436 // InternalProblem.g:569:5: (lv_bodies_10_0= ruleConjunction ) 1465 // InternalProblem.g:575:5: (lv_bodies_10_0= ruleConjunction )
1437 // InternalProblem.g:570:6: lv_bodies_10_0= ruleConjunction 1466 // InternalProblem.g:576:6: lv_bodies_10_0= ruleConjunction
1438 { 1467 {
1439 1468
1440 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_1_0()); 1469 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_1_0());
@@ -1461,30 +1490,30 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1461 1490
1462 } 1491 }
1463 1492
1464 // InternalProblem.g:587:4: (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* 1493 // InternalProblem.g:593:4: (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )*
1465 loop15: 1494 loop17:
1466 do { 1495 do {
1467 int alt15=2; 1496 int alt17=2;
1468 int LA15_0 = input.LA(1); 1497 int LA17_0 = input.LA(1);
1469 1498
1470 if ( (LA15_0==26) ) { 1499 if ( (LA17_0==19) ) {
1471 alt15=1; 1500 alt17=1;
1472 } 1501 }
1473 1502
1474 1503
1475 switch (alt15) { 1504 switch (alt17) {
1476 case 1 : 1505 case 1 :
1477 // InternalProblem.g:588:5: otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) 1506 // InternalProblem.g:594:5: otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) )
1478 { 1507 {
1479 otherlv_11=(Token)match(input,26,FOLLOW_21); 1508 otherlv_11=(Token)match(input,19,FOLLOW_21);
1480 1509
1481 newLeafNode(otherlv_11, grammarAccess.getPredicateDefinitionAccess().getSemicolonKeyword_5_2_0()); 1510 newLeafNode(otherlv_11, grammarAccess.getPredicateDefinitionAccess().getSemicolonKeyword_5_2_0());
1482 1511
1483 // InternalProblem.g:592:5: ( (lv_bodies_12_0= ruleConjunction ) ) 1512 // InternalProblem.g:598:5: ( (lv_bodies_12_0= ruleConjunction ) )
1484 // InternalProblem.g:593:6: (lv_bodies_12_0= ruleConjunction ) 1513 // InternalProblem.g:599:6: (lv_bodies_12_0= ruleConjunction )
1485 { 1514 {
1486 // InternalProblem.g:593:6: (lv_bodies_12_0= ruleConjunction ) 1515 // InternalProblem.g:599:6: (lv_bodies_12_0= ruleConjunction )
1487 // InternalProblem.g:594:7: lv_bodies_12_0= ruleConjunction 1516 // InternalProblem.g:600:7: lv_bodies_12_0= ruleConjunction
1488 { 1517 {
1489 1518
1490 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_2_1_0()); 1519 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_2_1_0());
@@ -1516,7 +1545,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1516 break; 1545 break;
1517 1546
1518 default : 1547 default :
1519 break loop15; 1548 break loop17;
1520 } 1549 }
1521 } while (true); 1550 } while (true);
1522 1551
@@ -1526,7 +1555,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1526 1555
1527 } 1556 }
1528 1557
1529 otherlv_13=(Token)match(input,17,FOLLOW_2); 1558 otherlv_13=(Token)match(input,13,FOLLOW_2);
1530 1559
1531 newLeafNode(otherlv_13, grammarAccess.getPredicateDefinitionAccess().getFullStopKeyword_6()); 1560 newLeafNode(otherlv_13, grammarAccess.getPredicateDefinitionAccess().getFullStopKeyword_6());
1532 1561
@@ -1553,7 +1582,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1553 1582
1554 1583
1555 // $ANTLR start "entryRuleParameter" 1584 // $ANTLR start "entryRuleParameter"
1556 // InternalProblem.g:621:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ; 1585 // InternalProblem.g:627:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ;
1557 public final EObject entryRuleParameter() throws RecognitionException { 1586 public final EObject entryRuleParameter() throws RecognitionException {
1558 EObject current = null; 1587 EObject current = null;
1559 1588
@@ -1561,8 +1590,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1561 1590
1562 1591
1563 try { 1592 try {
1564 // InternalProblem.g:621:50: (iv_ruleParameter= ruleParameter EOF ) 1593 // InternalProblem.g:627:50: (iv_ruleParameter= ruleParameter EOF )
1565 // InternalProblem.g:622:2: iv_ruleParameter= ruleParameter EOF 1594 // InternalProblem.g:628:2: iv_ruleParameter= ruleParameter EOF
1566 { 1595 {
1567 newCompositeNode(grammarAccess.getParameterRule()); 1596 newCompositeNode(grammarAccess.getParameterRule());
1568 pushFollow(FOLLOW_1); 1597 pushFollow(FOLLOW_1);
@@ -1589,7 +1618,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1589 1618
1590 1619
1591 // $ANTLR start "ruleParameter" 1620 // $ANTLR start "ruleParameter"
1592 // InternalProblem.g:628:1: ruleParameter returns [EObject current=null] : ( ( (otherlv_0= RULE_ID ) ) ( (lv_name_1_0= RULE_ID ) ) ) ; 1621 // InternalProblem.g:634:1: ruleParameter returns [EObject current=null] : ( ( (otherlv_0= RULE_ID ) ) ( (lv_name_1_0= RULE_ID ) ) ) ;
1593 public final EObject ruleParameter() throws RecognitionException { 1622 public final EObject ruleParameter() throws RecognitionException {
1594 EObject current = null; 1623 EObject current = null;
1595 1624
@@ -1600,24 +1629,24 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1600 enterRule(); 1629 enterRule();
1601 1630
1602 try { 1631 try {
1603 // InternalProblem.g:634:2: ( ( ( (otherlv_0= RULE_ID ) ) ( (lv_name_1_0= RULE_ID ) ) ) ) 1632 // InternalProblem.g:640:2: ( ( ( (otherlv_0= RULE_ID ) ) ( (lv_name_1_0= RULE_ID ) ) ) )
1604 // InternalProblem.g:635:2: ( ( (otherlv_0= RULE_ID ) ) ( (lv_name_1_0= RULE_ID ) ) ) 1633 // InternalProblem.g:641:2: ( ( (otherlv_0= RULE_ID ) ) ( (lv_name_1_0= RULE_ID ) ) )
1605 { 1634 {
1606 // InternalProblem.g:635:2: ( ( (otherlv_0= RULE_ID ) ) ( (lv_name_1_0= RULE_ID ) ) ) 1635 // InternalProblem.g:641:2: ( ( (otherlv_0= RULE_ID ) ) ( (lv_name_1_0= RULE_ID ) ) )
1607 // InternalProblem.g:636:3: ( (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 ) )
1608 { 1637 {
1609 // InternalProblem.g:636:3: ( (otherlv_0= RULE_ID ) ) 1638 // InternalProblem.g:642:3: ( (otherlv_0= RULE_ID ) )
1610 // InternalProblem.g:637:4: (otherlv_0= RULE_ID ) 1639 // InternalProblem.g:643:4: (otherlv_0= RULE_ID )
1611 { 1640 {
1612 // InternalProblem.g:637:4: (otherlv_0= RULE_ID ) 1641 // InternalProblem.g:643:4: (otherlv_0= RULE_ID )
1613 // InternalProblem.g:638:5: otherlv_0= RULE_ID 1642 // InternalProblem.g:644:5: otherlv_0= RULE_ID
1614 { 1643 {
1615 1644
1616 if (current==null) { 1645 if (current==null) {
1617 current = createModelElement(grammarAccess.getParameterRule()); 1646 current = createModelElement(grammarAccess.getParameterRule());
1618 } 1647 }
1619 1648
1620 otherlv_0=(Token)match(input,RULE_ID,FOLLOW_5); 1649 otherlv_0=(Token)match(input,RULE_ID,FOLLOW_3);
1621 1650
1622 newLeafNode(otherlv_0, grammarAccess.getParameterAccess().getParameterTypeClassDeclarationCrossReference_0_0()); 1651 newLeafNode(otherlv_0, grammarAccess.getParameterAccess().getParameterTypeClassDeclarationCrossReference_0_0());
1623 1652
@@ -1627,11 +1656,11 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1627 1656
1628 } 1657 }
1629 1658
1630 // InternalProblem.g:649:3: ( (lv_name_1_0= RULE_ID ) ) 1659 // InternalProblem.g:655:3: ( (lv_name_1_0= RULE_ID ) )
1631 // InternalProblem.g:650:4: (lv_name_1_0= RULE_ID ) 1660 // InternalProblem.g:656:4: (lv_name_1_0= RULE_ID )
1632 { 1661 {
1633 // InternalProblem.g:650:4: (lv_name_1_0= RULE_ID ) 1662 // InternalProblem.g:656:4: (lv_name_1_0= RULE_ID )
1634 // InternalProblem.g:651:5: lv_name_1_0= RULE_ID 1663 // InternalProblem.g:657:5: lv_name_1_0= RULE_ID
1635 { 1664 {
1636 lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_2); 1665 lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_2);
1637 1666
@@ -1676,7 +1705,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1676 1705
1677 1706
1678 // $ANTLR start "entryRuleConjunction" 1707 // $ANTLR start "entryRuleConjunction"
1679 // InternalProblem.g:671:1: entryRuleConjunction returns [EObject current=null] : iv_ruleConjunction= ruleConjunction EOF ; 1708 // InternalProblem.g:677:1: entryRuleConjunction returns [EObject current=null] : iv_ruleConjunction= ruleConjunction EOF ;
1680 public final EObject entryRuleConjunction() throws RecognitionException { 1709 public final EObject entryRuleConjunction() throws RecognitionException {
1681 EObject current = null; 1710 EObject current = null;
1682 1711
@@ -1684,8 +1713,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1684 1713
1685 1714
1686 try { 1715 try {
1687 // InternalProblem.g:671:52: (iv_ruleConjunction= ruleConjunction EOF ) 1716 // InternalProblem.g:677:52: (iv_ruleConjunction= ruleConjunction EOF )
1688 // InternalProblem.g:672:2: iv_ruleConjunction= ruleConjunction EOF 1717 // InternalProblem.g:678:2: iv_ruleConjunction= ruleConjunction EOF
1689 { 1718 {
1690 newCompositeNode(grammarAccess.getConjunctionRule()); 1719 newCompositeNode(grammarAccess.getConjunctionRule());
1691 pushFollow(FOLLOW_1); 1720 pushFollow(FOLLOW_1);
@@ -1712,7 +1741,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1712 1741
1713 1742
1714 // $ANTLR start "ruleConjunction" 1743 // $ANTLR start "ruleConjunction"
1715 // InternalProblem.g:678:1: ruleConjunction returns [EObject current=null] : ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* ) ; 1744 // InternalProblem.g:684:1: ruleConjunction returns [EObject current=null] : ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* ) ;
1716 public final EObject ruleConjunction() throws RecognitionException { 1745 public final EObject ruleConjunction() throws RecognitionException {
1717 EObject current = null; 1746 EObject current = null;
1718 1747
@@ -1726,17 +1755,17 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1726 enterRule(); 1755 enterRule();
1727 1756
1728 try { 1757 try {
1729 // InternalProblem.g:684:2: ( ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* ) ) 1758 // InternalProblem.g:690:2: ( ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* ) )
1730 // InternalProblem.g:685: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 ) ) )* )
1731 { 1760 {
1732 // InternalProblem.g:685:2: ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* ) 1761 // InternalProblem.g:691:2: ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* )
1733 // InternalProblem.g:686:3: ( (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 ) ) )*
1734 { 1763 {
1735 // InternalProblem.g:686:3: ( (lv_literals_0_0= ruleLiteral ) ) 1764 // InternalProblem.g:692:3: ( (lv_literals_0_0= ruleLiteral ) )
1736 // InternalProblem.g:687:4: (lv_literals_0_0= ruleLiteral ) 1765 // InternalProblem.g:693:4: (lv_literals_0_0= ruleLiteral )
1737 { 1766 {
1738 // InternalProblem.g:687:4: (lv_literals_0_0= ruleLiteral ) 1767 // InternalProblem.g:693:4: (lv_literals_0_0= ruleLiteral )
1739 // InternalProblem.g:688:5: lv_literals_0_0= ruleLiteral 1768 // InternalProblem.g:694:5: lv_literals_0_0= ruleLiteral
1740 { 1769 {
1741 1770
1742 newCompositeNode(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_0_0()); 1771 newCompositeNode(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_0_0());
@@ -1763,30 +1792,30 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1763 1792
1764 } 1793 }
1765 1794
1766 // InternalProblem.g:705:3: (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* 1795 // InternalProblem.g:711:3: (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )*
1767 loop17: 1796 loop19:
1768 do { 1797 do {
1769 int alt17=2; 1798 int alt19=2;
1770 int LA17_0 = input.LA(1); 1799 int LA19_0 = input.LA(1);
1771 1800
1772 if ( (LA17_0==15) ) { 1801 if ( (LA19_0==17) ) {
1773 alt17=1; 1802 alt19=1;
1774 } 1803 }
1775 1804
1776 1805
1777 switch (alt17) { 1806 switch (alt19) {
1778 case 1 : 1807 case 1 :
1779 // InternalProblem.g:706:4: otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) 1808 // InternalProblem.g:712:4: otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) )
1780 { 1809 {
1781 otherlv_1=(Token)match(input,15,FOLLOW_21); 1810 otherlv_1=(Token)match(input,17,FOLLOW_21);
1782 1811
1783 newLeafNode(otherlv_1, grammarAccess.getConjunctionAccess().getCommaKeyword_1_0()); 1812 newLeafNode(otherlv_1, grammarAccess.getConjunctionAccess().getCommaKeyword_1_0());
1784 1813
1785 // InternalProblem.g:710:4: ( (lv_literals_2_0= ruleLiteral ) ) 1814 // InternalProblem.g:716:4: ( (lv_literals_2_0= ruleLiteral ) )
1786 // InternalProblem.g:711:5: (lv_literals_2_0= ruleLiteral ) 1815 // InternalProblem.g:717:5: (lv_literals_2_0= ruleLiteral )
1787 { 1816 {
1788 // InternalProblem.g:711:5: (lv_literals_2_0= ruleLiteral ) 1817 // InternalProblem.g:717:5: (lv_literals_2_0= ruleLiteral )
1789 // InternalProblem.g:712:6: lv_literals_2_0= ruleLiteral 1818 // InternalProblem.g:718:6: lv_literals_2_0= ruleLiteral
1790 { 1819 {
1791 1820
1792 newCompositeNode(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_1_1_0()); 1821 newCompositeNode(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_1_1_0());
@@ -1818,7 +1847,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1818 break; 1847 break;
1819 1848
1820 default : 1849 default :
1821 break loop17; 1850 break loop19;
1822 } 1851 }
1823 } while (true); 1852 } while (true);
1824 1853
@@ -1845,7 +1874,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1845 1874
1846 1875
1847 // $ANTLR start "entryRuleLiteral" 1876 // $ANTLR start "entryRuleLiteral"
1848 // InternalProblem.g:734:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ; 1877 // InternalProblem.g:740:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ;
1849 public final EObject entryRuleLiteral() throws RecognitionException { 1878 public final EObject entryRuleLiteral() throws RecognitionException {
1850 EObject current = null; 1879 EObject current = null;
1851 1880
@@ -1853,8 +1882,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1853 1882
1854 1883
1855 try { 1884 try {
1856 // InternalProblem.g:734:48: (iv_ruleLiteral= ruleLiteral EOF ) 1885 // InternalProblem.g:740:48: (iv_ruleLiteral= ruleLiteral EOF )
1857 // InternalProblem.g:735:2: iv_ruleLiteral= ruleLiteral EOF 1886 // InternalProblem.g:741:2: iv_ruleLiteral= ruleLiteral EOF
1858 { 1887 {
1859 newCompositeNode(grammarAccess.getLiteralRule()); 1888 newCompositeNode(grammarAccess.getLiteralRule());
1860 pushFollow(FOLLOW_1); 1889 pushFollow(FOLLOW_1);
@@ -1881,7 +1910,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1881 1910
1882 1911
1883 // $ANTLR start "ruleLiteral" 1912 // $ANTLR start "ruleLiteral"
1884 // InternalProblem.g:741:1: ruleLiteral returns [EObject current=null] : (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral ) ; 1913 // InternalProblem.g:747:1: ruleLiteral returns [EObject current=null] : (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral ) ;
1885 public final EObject ruleLiteral() throws RecognitionException { 1914 public final EObject ruleLiteral() throws RecognitionException {
1886 EObject current = null; 1915 EObject current = null;
1887 1916
@@ -1894,28 +1923,28 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1894 enterRule(); 1923 enterRule();
1895 1924
1896 try { 1925 try {
1897 // InternalProblem.g:747:2: ( (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral ) ) 1926 // InternalProblem.g:753:2: ( (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral ) )
1898 // InternalProblem.g:748:2: (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral ) 1927 // InternalProblem.g:754:2: (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral )
1899 { 1928 {
1900 // InternalProblem.g:748:2: (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral ) 1929 // InternalProblem.g:754:2: (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral )
1901 int alt18=2; 1930 int alt20=2;
1902 int LA18_0 = input.LA(1); 1931 int LA20_0 = input.LA(1);
1903 1932
1904 if ( (LA18_0==RULE_ID) ) { 1933 if ( (LA20_0==RULE_ID||LA20_0==RULE_QUOTED_ID) ) {
1905 alt18=1; 1934 alt20=1;
1906 } 1935 }
1907 else if ( (LA18_0==27) ) { 1936 else if ( (LA20_0==31) ) {
1908 alt18=2; 1937 alt20=2;
1909 } 1938 }
1910 else { 1939 else {
1911 NoViableAltException nvae = 1940 NoViableAltException nvae =
1912 new NoViableAltException("", 18, 0, input); 1941 new NoViableAltException("", 20, 0, input);
1913 1942
1914 throw nvae; 1943 throw nvae;
1915 } 1944 }
1916 switch (alt18) { 1945 switch (alt20) {
1917 case 1 : 1946 case 1 :
1918 // InternalProblem.g:749:3: this_Atom_0= ruleAtom 1947 // InternalProblem.g:755:3: this_Atom_0= ruleAtom
1919 { 1948 {
1920 1949
1921 newCompositeNode(grammarAccess.getLiteralAccess().getAtomParserRuleCall_0()); 1950 newCompositeNode(grammarAccess.getLiteralAccess().getAtomParserRuleCall_0());
@@ -1933,7 +1962,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1933 } 1962 }
1934 break; 1963 break;
1935 case 2 : 1964 case 2 :
1936 // InternalProblem.g:758:3: this_NegativeLiteral_1= ruleNegativeLiteral 1965 // InternalProblem.g:764:3: this_NegativeLiteral_1= ruleNegativeLiteral
1937 { 1966 {
1938 1967
1939 newCompositeNode(grammarAccess.getLiteralAccess().getNegativeLiteralParserRuleCall_1()); 1968 newCompositeNode(grammarAccess.getLiteralAccess().getNegativeLiteralParserRuleCall_1());
@@ -1973,7 +2002,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1973 2002
1974 2003
1975 // $ANTLR start "entryRuleNegativeLiteral" 2004 // $ANTLR start "entryRuleNegativeLiteral"
1976 // InternalProblem.g:770:1: entryRuleNegativeLiteral returns [EObject current=null] : iv_ruleNegativeLiteral= ruleNegativeLiteral EOF ; 2005 // InternalProblem.g:776:1: entryRuleNegativeLiteral returns [EObject current=null] : iv_ruleNegativeLiteral= ruleNegativeLiteral EOF ;
1977 public final EObject entryRuleNegativeLiteral() throws RecognitionException { 2006 public final EObject entryRuleNegativeLiteral() throws RecognitionException {
1978 EObject current = null; 2007 EObject current = null;
1979 2008
@@ -1981,8 +2010,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1981 2010
1982 2011
1983 try { 2012 try {
1984 // InternalProblem.g:770:56: (iv_ruleNegativeLiteral= ruleNegativeLiteral EOF ) 2013 // InternalProblem.g:776:56: (iv_ruleNegativeLiteral= ruleNegativeLiteral EOF )
1985 // InternalProblem.g:771:2: iv_ruleNegativeLiteral= ruleNegativeLiteral EOF 2014 // InternalProblem.g:777:2: iv_ruleNegativeLiteral= ruleNegativeLiteral EOF
1986 { 2015 {
1987 newCompositeNode(grammarAccess.getNegativeLiteralRule()); 2016 newCompositeNode(grammarAccess.getNegativeLiteralRule());
1988 pushFollow(FOLLOW_1); 2017 pushFollow(FOLLOW_1);
@@ -2009,7 +2038,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2009 2038
2010 2039
2011 // $ANTLR start "ruleNegativeLiteral" 2040 // $ANTLR start "ruleNegativeLiteral"
2012 // InternalProblem.g:777:1: ruleNegativeLiteral returns [EObject current=null] : (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) ) ; 2041 // InternalProblem.g:783:1: ruleNegativeLiteral returns [EObject current=null] : (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) ) ;
2013 public final EObject ruleNegativeLiteral() throws RecognitionException { 2042 public final EObject ruleNegativeLiteral() throws RecognitionException {
2014 EObject current = null; 2043 EObject current = null;
2015 2044
@@ -2021,21 +2050,21 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2021 enterRule(); 2050 enterRule();
2022 2051
2023 try { 2052 try {
2024 // InternalProblem.g:783:2: ( (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) ) ) 2053 // InternalProblem.g:789:2: ( (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) ) )
2025 // InternalProblem.g:784:2: (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) ) 2054 // InternalProblem.g:790:2: (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) )
2026 { 2055 {
2027 // InternalProblem.g:784:2: (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) ) 2056 // InternalProblem.g:790:2: (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) )
2028 // InternalProblem.g:785:3: otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) 2057 // InternalProblem.g:791:3: otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) )
2029 { 2058 {
2030 otherlv_0=(Token)match(input,27,FOLLOW_5); 2059 otherlv_0=(Token)match(input,31,FOLLOW_8);
2031 2060
2032 newLeafNode(otherlv_0, grammarAccess.getNegativeLiteralAccess().getExclamationMarkKeyword_0()); 2061 newLeafNode(otherlv_0, grammarAccess.getNegativeLiteralAccess().getExclamationMarkKeyword_0());
2033 2062
2034 // InternalProblem.g:789:3: ( (lv_atom_1_0= ruleAtom ) ) 2063 // InternalProblem.g:795:3: ( (lv_atom_1_0= ruleAtom ) )
2035 // InternalProblem.g:790:4: (lv_atom_1_0= ruleAtom ) 2064 // InternalProblem.g:796:4: (lv_atom_1_0= ruleAtom )
2036 { 2065 {
2037 // InternalProblem.g:790:4: (lv_atom_1_0= ruleAtom ) 2066 // InternalProblem.g:796:4: (lv_atom_1_0= ruleAtom )
2038 // InternalProblem.g:791:5: lv_atom_1_0= ruleAtom 2067 // InternalProblem.g:797:5: lv_atom_1_0= ruleAtom
2039 { 2068 {
2040 2069
2041 newCompositeNode(grammarAccess.getNegativeLiteralAccess().getAtomAtomParserRuleCall_1_0()); 2070 newCompositeNode(grammarAccess.getNegativeLiteralAccess().getAtomAtomParserRuleCall_1_0());
@@ -2085,7 +2114,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2085 2114
2086 2115
2087 // $ANTLR start "entryRuleAtom" 2116 // $ANTLR start "entryRuleAtom"
2088 // InternalProblem.g:812:1: entryRuleAtom returns [EObject current=null] : iv_ruleAtom= ruleAtom EOF ; 2117 // InternalProblem.g:818:1: entryRuleAtom returns [EObject current=null] : iv_ruleAtom= ruleAtom EOF ;
2089 public final EObject entryRuleAtom() throws RecognitionException { 2118 public final EObject entryRuleAtom() throws RecognitionException {
2090 EObject current = null; 2119 EObject current = null;
2091 2120
@@ -2093,8 +2122,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2093 2122
2094 2123
2095 try { 2124 try {
2096 // InternalProblem.g:812:45: (iv_ruleAtom= ruleAtom EOF ) 2125 // InternalProblem.g:818:45: (iv_ruleAtom= ruleAtom EOF )
2097 // InternalProblem.g:813:2: iv_ruleAtom= ruleAtom EOF 2126 // InternalProblem.g:819:2: iv_ruleAtom= ruleAtom EOF
2098 { 2127 {
2099 newCompositeNode(grammarAccess.getAtomRule()); 2128 newCompositeNode(grammarAccess.getAtomRule());
2100 pushFollow(FOLLOW_1); 2129 pushFollow(FOLLOW_1);
@@ -2121,32 +2150,34 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2121 2150
2122 2151
2123 // $ANTLR start "ruleAtom" 2152 // $ANTLR start "ruleAtom"
2124 // InternalProblem.g:819:1: ruleAtom returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* )? otherlv_6= ')' ) ; 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= ')' ) ;
2125 public final EObject ruleAtom() throws RecognitionException { 2154 public final EObject ruleAtom() throws RecognitionException {
2126 EObject current = null; 2155 EObject current = null;
2127 2156
2128 Token lv_transitiveClosure_1_0=null; 2157 Token lv_transitiveClosure_1_0=null;
2129 Token otherlv_2=null; 2158 Token otherlv_2=null;
2130 Token otherlv_3=null;
2131 Token otherlv_4=null; 2159 Token otherlv_4=null;
2132 Token otherlv_5=null;
2133 Token otherlv_6=null; 2160 Token otherlv_6=null;
2161 EObject lv_arguments_3_0 = null;
2162
2163 EObject lv_arguments_5_0 = null;
2164
2134 2165
2135 2166
2136 enterRule(); 2167 enterRule();
2137 2168
2138 try { 2169 try {
2139 // InternalProblem.g:825:2: ( ( ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* )? otherlv_6= ')' ) ) 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= ')' ) )
2140 // InternalProblem.g:826:2: ( ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* )? 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= ')' )
2141 { 2172 {
2142 // InternalProblem.g:826:2: ( ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* )? otherlv_6= ')' ) 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= ')' )
2143 // InternalProblem.g:827:3: ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* )? 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= ')'
2144 { 2175 {
2145 // InternalProblem.g:827:3: ( ( ruleQualifiedName ) ) 2176 // InternalProblem.g:833:3: ( ( ruleQualifiedName ) )
2146 // InternalProblem.g:828:4: ( ruleQualifiedName ) 2177 // InternalProblem.g:834:4: ( ruleQualifiedName )
2147 { 2178 {
2148 // InternalProblem.g:828:4: ( ruleQualifiedName ) 2179 // InternalProblem.g:834:4: ( ruleQualifiedName )
2149 // InternalProblem.g:829:5: ruleQualifiedName 2180 // InternalProblem.g:835:5: ruleQualifiedName
2150 { 2181 {
2151 2182
2152 if (current==null) { 2183 if (current==null) {
@@ -2170,21 +2201,21 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2170 2201
2171 } 2202 }
2172 2203
2173 // InternalProblem.g:843:3: ( (lv_transitiveClosure_1_0= '+' ) )? 2204 // InternalProblem.g:849:3: ( (lv_transitiveClosure_1_0= '+' ) )?
2174 int alt19=2; 2205 int alt21=2;
2175 int LA19_0 = input.LA(1); 2206 int LA21_0 = input.LA(1);
2176 2207
2177 if ( (LA19_0==28) ) { 2208 if ( (LA21_0==32) ) {
2178 alt19=1; 2209 alt21=1;
2179 } 2210 }
2180 switch (alt19) { 2211 switch (alt21) {
2181 case 1 : 2212 case 1 :
2182 // InternalProblem.g:844:4: (lv_transitiveClosure_1_0= '+' ) 2213 // InternalProblem.g:850:4: (lv_transitiveClosure_1_0= '+' )
2183 { 2214 {
2184 // InternalProblem.g:844:4: (lv_transitiveClosure_1_0= '+' ) 2215 // InternalProblem.g:850:4: (lv_transitiveClosure_1_0= '+' )
2185 // InternalProblem.g:845:5: lv_transitiveClosure_1_0= '+' 2216 // InternalProblem.g:851:5: lv_transitiveClosure_1_0= '+'
2186 { 2217 {
2187 lv_transitiveClosure_1_0=(Token)match(input,28,FOLLOW_17); 2218 lv_transitiveClosure_1_0=(Token)match(input,32,FOLLOW_17);
2188 2219
2189 newLeafNode(lv_transitiveClosure_1_0, grammarAccess.getAtomAccess().getTransitiveClosurePlusSignKeyword_1_0()); 2220 newLeafNode(lv_transitiveClosure_1_0, grammarAccess.getAtomAccess().getTransitiveClosurePlusSignKeyword_1_0());
2190 2221
@@ -2203,35 +2234,45 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2203 2234
2204 } 2235 }
2205 2236
2206 otherlv_2=(Token)match(input,23,FOLLOW_18); 2237 otherlv_2=(Token)match(input,28,FOLLOW_18);
2207 2238
2208 newLeafNode(otherlv_2, grammarAccess.getAtomAccess().getLeftParenthesisKeyword_2()); 2239 newLeafNode(otherlv_2, grammarAccess.getAtomAccess().getLeftParenthesisKeyword_2());
2209 2240
2210 // InternalProblem.g:861:3: ( ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* )? 2241 // InternalProblem.g:867:3: ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )?
2211 int alt21=2; 2242 int alt23=2;
2212 int LA21_0 = input.LA(1); 2243 int LA23_0 = input.LA(1);
2213 2244
2214 if ( (LA21_0==RULE_ID) ) { 2245 if ( (LA23_0==RULE_ID) ) {
2215 alt21=1; 2246 alt23=1;
2216 } 2247 }
2217 switch (alt21) { 2248 switch (alt23) {
2218 case 1 : 2249 case 1 :
2219 // InternalProblem.g:862:4: ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* 2250 // InternalProblem.g:868:4: ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )*
2220 { 2251 {
2221 // InternalProblem.g:862:4: ( (otherlv_3= RULE_ID ) ) 2252 // InternalProblem.g:868:4: ( (lv_arguments_3_0= ruleArgument ) )
2222 // InternalProblem.g:863:5: (otherlv_3= RULE_ID ) 2253 // InternalProblem.g:869:5: (lv_arguments_3_0= ruleArgument )
2223 { 2254 {
2224 // InternalProblem.g:863:5: (otherlv_3= RULE_ID ) 2255 // InternalProblem.g:869:5: (lv_arguments_3_0= ruleArgument )
2225 // InternalProblem.g:864:6: otherlv_3= RULE_ID 2256 // InternalProblem.g:870:6: lv_arguments_3_0= ruleArgument
2226 { 2257 {
2227 2258
2228 if (current==null) { 2259 newCompositeNode(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_0_0());
2229 current = createModelElement(grammarAccess.getAtomRule());
2230 }
2231 2260
2232 otherlv_3=(Token)match(input,RULE_ID,FOLLOW_19); 2261 pushFollow(FOLLOW_19);
2262 lv_arguments_3_0=ruleArgument();
2233 2263
2234 newLeafNode(otherlv_3, grammarAccess.getAtomAccess().getArgumentsVariableCrossReference_3_0_0()); 2264 state._fsp--;
2265
2266
2267 if (current==null) {
2268 current = createModelElementForParent(grammarAccess.getAtomRule());
2269 }
2270 add(
2271 current,
2272 "arguments",
2273 lv_arguments_3_0,
2274 "org.eclipse.viatra.solver.language.Problem.Argument");
2275 afterParserOrEnumRuleCall();
2235 2276
2236 2277
2237 } 2278 }
@@ -2239,39 +2280,49 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2239 2280
2240 } 2281 }
2241 2282
2242 // InternalProblem.g:875:4: (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* 2283 // InternalProblem.g:887:4: (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )*
2243 loop20: 2284 loop22:
2244 do { 2285 do {
2245 int alt20=2; 2286 int alt22=2;
2246 int LA20_0 = input.LA(1); 2287 int LA22_0 = input.LA(1);
2247 2288
2248 if ( (LA20_0==15) ) { 2289 if ( (LA22_0==17) ) {
2249 alt20=1; 2290 alt22=1;
2250 } 2291 }
2251 2292
2252 2293
2253 switch (alt20) { 2294 switch (alt22) {
2254 case 1 : 2295 case 1 :
2255 // InternalProblem.g:876:5: otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) 2296 // InternalProblem.g:888:5: otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) )
2256 { 2297 {
2257 otherlv_4=(Token)match(input,15,FOLLOW_5); 2298 otherlv_4=(Token)match(input,17,FOLLOW_3);
2258 2299
2259 newLeafNode(otherlv_4, grammarAccess.getAtomAccess().getCommaKeyword_3_1_0()); 2300 newLeafNode(otherlv_4, grammarAccess.getAtomAccess().getCommaKeyword_3_1_0());
2260 2301
2261 // InternalProblem.g:880:5: ( (otherlv_5= RULE_ID ) ) 2302 // InternalProblem.g:892:5: ( (lv_arguments_5_0= ruleArgument ) )
2262 // InternalProblem.g:881:6: (otherlv_5= RULE_ID ) 2303 // InternalProblem.g:893:6: (lv_arguments_5_0= ruleArgument )
2263 { 2304 {
2264 // InternalProblem.g:881:6: (otherlv_5= RULE_ID ) 2305 // InternalProblem.g:893:6: (lv_arguments_5_0= ruleArgument )
2265 // InternalProblem.g:882:7: otherlv_5= RULE_ID 2306 // InternalProblem.g:894:7: lv_arguments_5_0= ruleArgument
2266 { 2307 {
2267 2308
2268 if (current==null) { 2309 newCompositeNode(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_1_1_0());
2269 current = createModelElement(grammarAccess.getAtomRule());
2270 }
2271 2310
2272 otherlv_5=(Token)match(input,RULE_ID,FOLLOW_19); 2311 pushFollow(FOLLOW_19);
2312 lv_arguments_5_0=ruleArgument();
2313
2314 state._fsp--;
2273 2315
2274 newLeafNode(otherlv_5, grammarAccess.getAtomAccess().getArgumentsVariableCrossReference_3_1_1_0()); 2316
2317 if (current==null) {
2318 current = createModelElementForParent(grammarAccess.getAtomRule());
2319 }
2320 add(
2321 current,
2322 "arguments",
2323 lv_arguments_5_0,
2324 "org.eclipse.viatra.solver.language.Problem.Argument");
2325 afterParserOrEnumRuleCall();
2275 2326
2276 2327
2277 } 2328 }
@@ -2284,7 +2335,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2284 break; 2335 break;
2285 2336
2286 default : 2337 default :
2287 break loop20; 2338 break loop22;
2288 } 2339 }
2289 } while (true); 2340 } while (true);
2290 2341
@@ -2294,7 +2345,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2294 2345
2295 } 2346 }
2296 2347
2297 otherlv_6=(Token)match(input,24,FOLLOW_2); 2348 otherlv_6=(Token)match(input,29,FOLLOW_2);
2298 2349
2299 newLeafNode(otherlv_6, grammarAccess.getAtomAccess().getRightParenthesisKeyword_4()); 2350 newLeafNode(otherlv_6, grammarAccess.getAtomAccess().getRightParenthesisKeyword_4());
2300 2351
@@ -2320,8 +2371,98 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2320 // $ANTLR end "ruleAtom" 2371 // $ANTLR end "ruleAtom"
2321 2372
2322 2373
2374 // $ANTLR start "entryRuleArgument"
2375 // InternalProblem.g:921:1: entryRuleArgument returns [EObject current=null] : iv_ruleArgument= ruleArgument EOF ;
2376 public final EObject entryRuleArgument() throws RecognitionException {
2377 EObject current = null;
2378
2379 EObject iv_ruleArgument = null;
2380
2381
2382 try {
2383 // InternalProblem.g:921:49: (iv_ruleArgument= ruleArgument EOF )
2384 // InternalProblem.g:922:2: iv_ruleArgument= ruleArgument EOF
2385 {
2386 newCompositeNode(grammarAccess.getArgumentRule());
2387 pushFollow(FOLLOW_1);
2388 iv_ruleArgument=ruleArgument();
2389
2390 state._fsp--;
2391
2392 current =iv_ruleArgument;
2393 match(input,EOF,FOLLOW_2);
2394
2395 }
2396
2397 }
2398
2399 catch (RecognitionException re) {
2400 recover(input,re);
2401 appendSkippedTokens();
2402 }
2403 finally {
2404 }
2405 return current;
2406 }
2407 // $ANTLR end "entryRuleArgument"
2408
2409
2410 // $ANTLR start "ruleArgument"
2411 // InternalProblem.g:928:1: ruleArgument returns [EObject current=null] : ( (otherlv_0= RULE_ID ) ) ;
2412 public final EObject ruleArgument() throws RecognitionException {
2413 EObject current = null;
2414
2415 Token otherlv_0=null;
2416
2417
2418 enterRule();
2419
2420 try {
2421 // InternalProblem.g:934:2: ( ( (otherlv_0= RULE_ID ) ) )
2422 // InternalProblem.g:935:2: ( (otherlv_0= RULE_ID ) )
2423 {
2424 // InternalProblem.g:935:2: ( (otherlv_0= RULE_ID ) )
2425 // InternalProblem.g:936:3: (otherlv_0= RULE_ID )
2426 {
2427 // InternalProblem.g:936:3: (otherlv_0= RULE_ID )
2428 // InternalProblem.g:937:4: otherlv_0= RULE_ID
2429 {
2430
2431 if (current==null) {
2432 current = createModelElement(grammarAccess.getArgumentRule());
2433 }
2434
2435 otherlv_0=(Token)match(input,RULE_ID,FOLLOW_2);
2436
2437 newLeafNode(otherlv_0, grammarAccess.getArgumentAccess().getVariableVariableCrossReference_0());
2438
2439
2440 }
2441
2442
2443 }
2444
2445
2446 }
2447
2448
2449 leaveRule();
2450
2451 }
2452
2453 catch (RecognitionException re) {
2454 recover(input,re);
2455 appendSkippedTokens();
2456 }
2457 finally {
2458 }
2459 return current;
2460 }
2461 // $ANTLR end "ruleArgument"
2462
2463
2323 // $ANTLR start "entryRuleAssertion" 2464 // $ANTLR start "entryRuleAssertion"
2324 // InternalProblem.g:903:1: entryRuleAssertion returns [EObject current=null] : iv_ruleAssertion= ruleAssertion EOF ; 2465 // InternalProblem.g:951:1: entryRuleAssertion returns [EObject current=null] : iv_ruleAssertion= ruleAssertion EOF ;
2325 public final EObject entryRuleAssertion() throws RecognitionException { 2466 public final EObject entryRuleAssertion() throws RecognitionException {
2326 EObject current = null; 2467 EObject current = null;
2327 2468
@@ -2329,8 +2470,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2329 2470
2330 2471
2331 try { 2472 try {
2332 // InternalProblem.g:903:50: (iv_ruleAssertion= ruleAssertion EOF ) 2473 // InternalProblem.g:951:50: (iv_ruleAssertion= ruleAssertion EOF )
2333 // InternalProblem.g:904:2: iv_ruleAssertion= ruleAssertion EOF 2474 // InternalProblem.g:952:2: iv_ruleAssertion= ruleAssertion EOF
2334 { 2475 {
2335 newCompositeNode(grammarAccess.getAssertionRule()); 2476 newCompositeNode(grammarAccess.getAssertionRule());
2336 pushFollow(FOLLOW_1); 2477 pushFollow(FOLLOW_1);
@@ -2357,7 +2498,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2357 2498
2358 2499
2359 // $ANTLR start "ruleAssertion" 2500 // $ANTLR start "ruleAssertion"
2360 // InternalProblem.g:910: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= '.' ) ; 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= '.' ) ;
2361 public final EObject ruleAssertion() throws RecognitionException { 2502 public final EObject ruleAssertion() throws RecognitionException {
2362 EObject current = null; 2503 EObject current = null;
2363 2504
@@ -2378,27 +2519,27 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2378 enterRule(); 2519 enterRule();
2379 2520
2380 try { 2521 try {
2381 // InternalProblem.g:916: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= '.' ) ) 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= '.' ) )
2382 // InternalProblem.g:917: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= '.' )
2383 { 2524 {
2384 // InternalProblem.g:917: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= '.' ) 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= '.' )
2385 // InternalProblem.g:918: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= '.' 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= '.'
2386 { 2527 {
2387 // InternalProblem.g:918: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= ')' ) ) 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= ')' ) )
2388 int alt27=2; 2529 int alt29=2;
2389 alt27 = dfa27.predict(input); 2530 alt29 = dfa29.predict(input);
2390 switch (alt27) { 2531 switch (alt29) {
2391 case 1 : 2532 case 1 :
2392 // InternalProblem.g:919:4: ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) 2533 // InternalProblem.g:967:4: ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) )
2393 { 2534 {
2394 // InternalProblem.g:919:4: ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) 2535 // InternalProblem.g:967:4: ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) )
2395 // InternalProblem.g:920:5: ( ( 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 ) )
2396 { 2537 {
2397 // InternalProblem.g:920:5: ( ( ruleQualifiedName ) ) 2538 // InternalProblem.g:968:5: ( ( ruleQualifiedName ) )
2398 // InternalProblem.g:921:6: ( ruleQualifiedName ) 2539 // InternalProblem.g:969:6: ( ruleQualifiedName )
2399 { 2540 {
2400 // InternalProblem.g:921:6: ( ruleQualifiedName ) 2541 // InternalProblem.g:969:6: ( ruleQualifiedName )
2401 // InternalProblem.g:922:7: ruleQualifiedName 2542 // InternalProblem.g:970:7: ruleQualifiedName
2402 { 2543 {
2403 2544
2404 if (current==null) { 2545 if (current==null) {
@@ -2422,26 +2563,26 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2422 2563
2423 } 2564 }
2424 2565
2425 otherlv_1=(Token)match(input,23,FOLLOW_18); 2566 otherlv_1=(Token)match(input,28,FOLLOW_25);
2426 2567
2427 newLeafNode(otherlv_1, grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_0_1()); 2568 newLeafNode(otherlv_1, grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_0_1());
2428 2569
2429 // InternalProblem.g:940:5: ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? 2570 // InternalProblem.g:988:5: ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )?
2430 int alt23=2; 2571 int alt25=2;
2431 int LA23_0 = input.LA(1); 2572 int LA25_0 = input.LA(1);
2432 2573
2433 if ( (LA23_0==RULE_ID) ) { 2574 if ( (LA25_0==RULE_ID||LA25_0==RULE_QUOTED_ID) ) {
2434 alt23=1; 2575 alt25=1;
2435 } 2576 }
2436 switch (alt23) { 2577 switch (alt25) {
2437 case 1 : 2578 case 1 :
2438 // InternalProblem.g:941:6: ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* 2579 // InternalProblem.g:989:6: ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )*
2439 { 2580 {
2440 // InternalProblem.g:941:6: ( ( ruleQualifiedName ) ) 2581 // InternalProblem.g:989:6: ( ( ruleQualifiedName ) )
2441 // InternalProblem.g:942:7: ( ruleQualifiedName ) 2582 // InternalProblem.g:990:7: ( ruleQualifiedName )
2442 { 2583 {
2443 // InternalProblem.g:942:7: ( ruleQualifiedName ) 2584 // InternalProblem.g:990:7: ( ruleQualifiedName )
2444 // InternalProblem.g:943:8: ruleQualifiedName 2585 // InternalProblem.g:991:8: ruleQualifiedName
2445 { 2586 {
2446 2587
2447 if (current==null) { 2588 if (current==null) {
@@ -2465,30 +2606,30 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2465 2606
2466 } 2607 }
2467 2608
2468 // InternalProblem.g:957:6: (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* 2609 // InternalProblem.g:1005:6: (otherlv_3= ',' ( ( ruleQualifiedName ) ) )*
2469 loop22: 2610 loop24:
2470 do { 2611 do {
2471 int alt22=2; 2612 int alt24=2;
2472 int LA22_0 = input.LA(1); 2613 int LA24_0 = input.LA(1);
2473 2614
2474 if ( (LA22_0==15) ) { 2615 if ( (LA24_0==17) ) {
2475 alt22=1; 2616 alt24=1;
2476 } 2617 }
2477 2618
2478 2619
2479 switch (alt22) { 2620 switch (alt24) {
2480 case 1 : 2621 case 1 :
2481 // InternalProblem.g:958:7: otherlv_3= ',' ( ( ruleQualifiedName ) ) 2622 // InternalProblem.g:1006:7: otherlv_3= ',' ( ( ruleQualifiedName ) )
2482 { 2623 {
2483 otherlv_3=(Token)match(input,15,FOLLOW_5); 2624 otherlv_3=(Token)match(input,17,FOLLOW_8);
2484 2625
2485 newLeafNode(otherlv_3, grammarAccess.getAssertionAccess().getCommaKeyword_0_0_2_1_0()); 2626 newLeafNode(otherlv_3, grammarAccess.getAssertionAccess().getCommaKeyword_0_0_2_1_0());
2486 2627
2487 // InternalProblem.g:962:7: ( ( ruleQualifiedName ) ) 2628 // InternalProblem.g:1010:7: ( ( ruleQualifiedName ) )
2488 // InternalProblem.g:963:8: ( ruleQualifiedName ) 2629 // InternalProblem.g:1011:8: ( ruleQualifiedName )
2489 { 2630 {
2490 // InternalProblem.g:963:8: ( ruleQualifiedName ) 2631 // InternalProblem.g:1011:8: ( ruleQualifiedName )
2491 // InternalProblem.g:964:9: ruleQualifiedName 2632 // InternalProblem.g:1012:9: ruleQualifiedName
2492 { 2633 {
2493 2634
2494 if (current==null) { 2635 if (current==null) {
@@ -2517,7 +2658,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2517 break; 2658 break;
2518 2659
2519 default : 2660 default :
2520 break loop22; 2661 break loop24;
2521 } 2662 }
2522 } while (true); 2663 } while (true);
2523 2664
@@ -2527,24 +2668,24 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2527 2668
2528 } 2669 }
2529 2670
2530 otherlv_5=(Token)match(input,24,FOLLOW_25); 2671 otherlv_5=(Token)match(input,29,FOLLOW_26);
2531 2672
2532 newLeafNode(otherlv_5, grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_0_3()); 2673 newLeafNode(otherlv_5, grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_0_3());
2533 2674
2534 otherlv_6=(Token)match(input,29,FOLLOW_26); 2675 otherlv_6=(Token)match(input,33,FOLLOW_27);
2535 2676
2536 newLeafNode(otherlv_6, grammarAccess.getAssertionAccess().getColonKeyword_0_0_4()); 2677 newLeafNode(otherlv_6, grammarAccess.getAssertionAccess().getColonKeyword_0_0_4());
2537 2678
2538 // InternalProblem.g:988:5: ( (lv_value_7_0= ruleLogicValue ) ) 2679 // InternalProblem.g:1036:5: ( (lv_value_7_0= ruleLogicValue ) )
2539 // InternalProblem.g:989:6: (lv_value_7_0= ruleLogicValue ) 2680 // InternalProblem.g:1037:6: (lv_value_7_0= ruleLogicValue )
2540 { 2681 {
2541 // InternalProblem.g:989:6: (lv_value_7_0= ruleLogicValue ) 2682 // InternalProblem.g:1037:6: (lv_value_7_0= ruleLogicValue )
2542 // InternalProblem.g:990:7: lv_value_7_0= ruleLogicValue 2683 // InternalProblem.g:1038:7: lv_value_7_0= ruleLogicValue
2543 { 2684 {
2544 2685
2545 newCompositeNode(grammarAccess.getAssertionAccess().getValueLogicValueEnumRuleCall_0_0_5_0()); 2686 newCompositeNode(grammarAccess.getAssertionAccess().getValueLogicValueEnumRuleCall_0_0_5_0());
2546 2687
2547 pushFollow(FOLLOW_27); 2688 pushFollow(FOLLOW_4);
2548 lv_value_7_0=ruleLogicValue(); 2689 lv_value_7_0=ruleLogicValue();
2549 2690
2550 state._fsp--; 2691 state._fsp--;
@@ -2573,29 +2714,29 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2573 } 2714 }
2574 break; 2715 break;
2575 case 2 : 2716 case 2 :
2576 // InternalProblem.g:1009:4: ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) 2717 // InternalProblem.g:1057:4: ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' )
2577 { 2718 {
2578 // InternalProblem.g:1009:4: ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) 2719 // InternalProblem.g:1057:4: ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' )
2579 // InternalProblem.g:1010:5: ( (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= ')'
2580 { 2721 {
2581 // InternalProblem.g:1010:5: ( (lv_value_8_0= ruleShortLogicValue ) )? 2722 // InternalProblem.g:1058:5: ( (lv_value_8_0= ruleShortLogicValue ) )?
2582 int alt24=2; 2723 int alt26=2;
2583 int LA24_0 = input.LA(1); 2724 int LA26_0 = input.LA(1);
2584 2725
2585 if ( (LA24_0==27||LA24_0==39) ) { 2726 if ( (LA26_0==31||LA26_0==42) ) {
2586 alt24=1; 2727 alt26=1;
2587 } 2728 }
2588 switch (alt24) { 2729 switch (alt26) {
2589 case 1 : 2730 case 1 :
2590 // InternalProblem.g:1011:6: (lv_value_8_0= ruleShortLogicValue ) 2731 // InternalProblem.g:1059:6: (lv_value_8_0= ruleShortLogicValue )
2591 { 2732 {
2592 // InternalProblem.g:1011:6: (lv_value_8_0= ruleShortLogicValue ) 2733 // InternalProblem.g:1059:6: (lv_value_8_0= ruleShortLogicValue )
2593 // InternalProblem.g:1012:7: lv_value_8_0= ruleShortLogicValue 2734 // InternalProblem.g:1060:7: lv_value_8_0= ruleShortLogicValue
2594 { 2735 {
2595 2736
2596 newCompositeNode(grammarAccess.getAssertionAccess().getValueShortLogicValueEnumRuleCall_0_1_0_0()); 2737 newCompositeNode(grammarAccess.getAssertionAccess().getValueShortLogicValueEnumRuleCall_0_1_0_0());
2597 2738
2598 pushFollow(FOLLOW_5); 2739 pushFollow(FOLLOW_8);
2599 lv_value_8_0=ruleShortLogicValue(); 2740 lv_value_8_0=ruleShortLogicValue();
2600 2741
2601 state._fsp--; 2742 state._fsp--;
@@ -2620,11 +2761,11 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2620 2761
2621 } 2762 }
2622 2763
2623 // InternalProblem.g:1029:5: ( ( ruleQualifiedName ) ) 2764 // InternalProblem.g:1077:5: ( ( ruleQualifiedName ) )
2624 // InternalProblem.g:1030:6: ( ruleQualifiedName ) 2765 // InternalProblem.g:1078:6: ( ruleQualifiedName )
2625 { 2766 {
2626 // InternalProblem.g:1030:6: ( ruleQualifiedName ) 2767 // InternalProblem.g:1078:6: ( ruleQualifiedName )
2627 // InternalProblem.g:1031:7: ruleQualifiedName 2768 // InternalProblem.g:1079:7: ruleQualifiedName
2628 { 2769 {
2629 2770
2630 if (current==null) { 2771 if (current==null) {
@@ -2648,26 +2789,26 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2648 2789
2649 } 2790 }
2650 2791
2651 otherlv_10=(Token)match(input,23,FOLLOW_18); 2792 otherlv_10=(Token)match(input,28,FOLLOW_25);
2652 2793
2653 newLeafNode(otherlv_10, grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_1_2()); 2794 newLeafNode(otherlv_10, grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_1_2());
2654 2795
2655 // InternalProblem.g:1049:5: ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? 2796 // InternalProblem.g:1097:5: ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )?
2656 int alt26=2; 2797 int alt28=2;
2657 int LA26_0 = input.LA(1); 2798 int LA28_0 = input.LA(1);
2658 2799
2659 if ( (LA26_0==RULE_ID) ) { 2800 if ( (LA28_0==RULE_ID||LA28_0==RULE_QUOTED_ID) ) {
2660 alt26=1; 2801 alt28=1;
2661 } 2802 }
2662 switch (alt26) { 2803 switch (alt28) {
2663 case 1 : 2804 case 1 :
2664 // InternalProblem.g:1050:6: ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* 2805 // InternalProblem.g:1098:6: ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )*
2665 { 2806 {
2666 // InternalProblem.g:1050:6: ( ( ruleQualifiedName ) ) 2807 // InternalProblem.g:1098:6: ( ( ruleQualifiedName ) )
2667 // InternalProblem.g:1051:7: ( ruleQualifiedName ) 2808 // InternalProblem.g:1099:7: ( ruleQualifiedName )
2668 { 2809 {
2669 // InternalProblem.g:1051:7: ( ruleQualifiedName ) 2810 // InternalProblem.g:1099:7: ( ruleQualifiedName )
2670 // InternalProblem.g:1052:8: ruleQualifiedName 2811 // InternalProblem.g:1100:8: ruleQualifiedName
2671 { 2812 {
2672 2813
2673 if (current==null) { 2814 if (current==null) {
@@ -2691,30 +2832,30 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2691 2832
2692 } 2833 }
2693 2834
2694 // InternalProblem.g:1066:6: (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* 2835 // InternalProblem.g:1114:6: (otherlv_12= ',' ( ( ruleQualifiedName ) ) )*
2695 loop25: 2836 loop27:
2696 do { 2837 do {
2697 int alt25=2; 2838 int alt27=2;
2698 int LA25_0 = input.LA(1); 2839 int LA27_0 = input.LA(1);
2699 2840
2700 if ( (LA25_0==15) ) { 2841 if ( (LA27_0==17) ) {
2701 alt25=1; 2842 alt27=1;
2702 } 2843 }
2703 2844
2704 2845
2705 switch (alt25) { 2846 switch (alt27) {
2706 case 1 : 2847 case 1 :
2707 // InternalProblem.g:1067:7: otherlv_12= ',' ( ( ruleQualifiedName ) ) 2848 // InternalProblem.g:1115:7: otherlv_12= ',' ( ( ruleQualifiedName ) )
2708 { 2849 {
2709 otherlv_12=(Token)match(input,15,FOLLOW_5); 2850 otherlv_12=(Token)match(input,17,FOLLOW_8);
2710 2851
2711 newLeafNode(otherlv_12, grammarAccess.getAssertionAccess().getCommaKeyword_0_1_3_1_0()); 2852 newLeafNode(otherlv_12, grammarAccess.getAssertionAccess().getCommaKeyword_0_1_3_1_0());
2712 2853
2713 // InternalProblem.g:1071:7: ( ( ruleQualifiedName ) ) 2854 // InternalProblem.g:1119:7: ( ( ruleQualifiedName ) )
2714 // InternalProblem.g:1072:8: ( ruleQualifiedName ) 2855 // InternalProblem.g:1120:8: ( ruleQualifiedName )
2715 { 2856 {
2716 // InternalProblem.g:1072:8: ( ruleQualifiedName ) 2857 // InternalProblem.g:1120:8: ( ruleQualifiedName )
2717 // InternalProblem.g:1073:9: ruleQualifiedName 2858 // InternalProblem.g:1121:9: ruleQualifiedName
2718 { 2859 {
2719 2860
2720 if (current==null) { 2861 if (current==null) {
@@ -2743,7 +2884,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2743 break; 2884 break;
2744 2885
2745 default : 2886 default :
2746 break loop25; 2887 break loop27;
2747 } 2888 }
2748 } while (true); 2889 } while (true);
2749 2890
@@ -2753,7 +2894,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2753 2894
2754 } 2895 }
2755 2896
2756 otherlv_14=(Token)match(input,24,FOLLOW_27); 2897 otherlv_14=(Token)match(input,29,FOLLOW_4);
2757 2898
2758 newLeafNode(otherlv_14, grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_1_4()); 2899 newLeafNode(otherlv_14, grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_1_4());
2759 2900
@@ -2766,7 +2907,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2766 2907
2767 } 2908 }
2768 2909
2769 otherlv_15=(Token)match(input,17,FOLLOW_2); 2910 otherlv_15=(Token)match(input,13,FOLLOW_2);
2770 2911
2771 newLeafNode(otherlv_15, grammarAccess.getAssertionAccess().getFullStopKeyword_1()); 2912 newLeafNode(otherlv_15, grammarAccess.getAssertionAccess().getFullStopKeyword_1());
2772 2913
@@ -2793,7 +2934,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2793 2934
2794 2935
2795 // $ANTLR start "entryRuleScopeDeclaration" 2936 // $ANTLR start "entryRuleScopeDeclaration"
2796 // InternalProblem.g:1103:1: entryRuleScopeDeclaration returns [EObject current=null] : iv_ruleScopeDeclaration= ruleScopeDeclaration EOF ; 2937 // InternalProblem.g:1151:1: entryRuleScopeDeclaration returns [EObject current=null] : iv_ruleScopeDeclaration= ruleScopeDeclaration EOF ;
2797 public final EObject entryRuleScopeDeclaration() throws RecognitionException { 2938 public final EObject entryRuleScopeDeclaration() throws RecognitionException {
2798 EObject current = null; 2939 EObject current = null;
2799 2940
@@ -2801,8 +2942,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2801 2942
2802 2943
2803 try { 2944 try {
2804 // InternalProblem.g:1103:57: (iv_ruleScopeDeclaration= ruleScopeDeclaration EOF ) 2945 // InternalProblem.g:1151:57: (iv_ruleScopeDeclaration= ruleScopeDeclaration EOF )
2805 // InternalProblem.g:1104:2: iv_ruleScopeDeclaration= ruleScopeDeclaration EOF 2946 // InternalProblem.g:1152:2: iv_ruleScopeDeclaration= ruleScopeDeclaration EOF
2806 { 2947 {
2807 newCompositeNode(grammarAccess.getScopeDeclarationRule()); 2948 newCompositeNode(grammarAccess.getScopeDeclarationRule());
2808 pushFollow(FOLLOW_1); 2949 pushFollow(FOLLOW_1);
@@ -2829,7 +2970,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2829 2970
2830 2971
2831 // $ANTLR start "ruleScopeDeclaration" 2972 // $ANTLR start "ruleScopeDeclaration"
2832 // InternalProblem.g:1110:1: ruleScopeDeclaration returns [EObject current=null] : (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' ) ; 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= '.' ) ;
2833 public final EObject ruleScopeDeclaration() throws RecognitionException { 2974 public final EObject ruleScopeDeclaration() throws RecognitionException {
2834 EObject current = null; 2975 EObject current = null;
2835 2976
@@ -2845,26 +2986,26 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2845 enterRule(); 2986 enterRule();
2846 2987
2847 try { 2988 try {
2848 // InternalProblem.g:1116:2: ( (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' ) ) 2989 // InternalProblem.g:1164:2: ( (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' ) )
2849 // InternalProblem.g:1117: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= '.' )
2850 { 2991 {
2851 // InternalProblem.g:1117:2: (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' ) 2992 // InternalProblem.g:1165:2: (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' )
2852 // InternalProblem.g:1118:3: 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= '.'
2853 { 2994 {
2854 otherlv_0=(Token)match(input,30,FOLLOW_5); 2995 otherlv_0=(Token)match(input,34,FOLLOW_3);
2855 2996
2856 newLeafNode(otherlv_0, grammarAccess.getScopeDeclarationAccess().getScopeKeyword_0()); 2997 newLeafNode(otherlv_0, grammarAccess.getScopeDeclarationAccess().getScopeKeyword_0());
2857 2998
2858 // InternalProblem.g:1122:3: ( (lv_typeScopes_1_0= ruleTypeScope ) ) 2999 // InternalProblem.g:1170:3: ( (lv_typeScopes_1_0= ruleTypeScope ) )
2859 // InternalProblem.g:1123:4: (lv_typeScopes_1_0= ruleTypeScope ) 3000 // InternalProblem.g:1171:4: (lv_typeScopes_1_0= ruleTypeScope )
2860 { 3001 {
2861 // InternalProblem.g:1123:4: (lv_typeScopes_1_0= ruleTypeScope ) 3002 // InternalProblem.g:1171:4: (lv_typeScopes_1_0= ruleTypeScope )
2862 // InternalProblem.g:1124:5: lv_typeScopes_1_0= ruleTypeScope 3003 // InternalProblem.g:1172:5: lv_typeScopes_1_0= ruleTypeScope
2863 { 3004 {
2864 3005
2865 newCompositeNode(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_1_0()); 3006 newCompositeNode(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_1_0());
2866 3007
2867 pushFollow(FOLLOW_8); 3008 pushFollow(FOLLOW_28);
2868 lv_typeScopes_1_0=ruleTypeScope(); 3009 lv_typeScopes_1_0=ruleTypeScope();
2869 3010
2870 state._fsp--; 3011 state._fsp--;
@@ -2886,35 +3027,35 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2886 3027
2887 } 3028 }
2888 3029
2889 // InternalProblem.g:1141:3: (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* 3030 // InternalProblem.g:1189:3: (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )*
2890 loop28: 3031 loop30:
2891 do { 3032 do {
2892 int alt28=2; 3033 int alt30=2;
2893 int LA28_0 = input.LA(1); 3034 int LA30_0 = input.LA(1);
2894 3035
2895 if ( (LA28_0==15) ) { 3036 if ( (LA30_0==17) ) {
2896 alt28=1; 3037 alt30=1;
2897 } 3038 }
2898 3039
2899 3040
2900 switch (alt28) { 3041 switch (alt30) {
2901 case 1 : 3042 case 1 :
2902 // InternalProblem.g:1142:4: otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) 3043 // InternalProblem.g:1190:4: otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) )
2903 { 3044 {
2904 otherlv_2=(Token)match(input,15,FOLLOW_5); 3045 otherlv_2=(Token)match(input,17,FOLLOW_3);
2905 3046
2906 newLeafNode(otherlv_2, grammarAccess.getScopeDeclarationAccess().getCommaKeyword_2_0()); 3047 newLeafNode(otherlv_2, grammarAccess.getScopeDeclarationAccess().getCommaKeyword_2_0());
2907 3048
2908 // InternalProblem.g:1146:4: ( (lv_typeScopes_3_0= ruleTypeScope ) ) 3049 // InternalProblem.g:1194:4: ( (lv_typeScopes_3_0= ruleTypeScope ) )
2909 // InternalProblem.g:1147:5: (lv_typeScopes_3_0= ruleTypeScope ) 3050 // InternalProblem.g:1195:5: (lv_typeScopes_3_0= ruleTypeScope )
2910 { 3051 {
2911 // InternalProblem.g:1147:5: (lv_typeScopes_3_0= ruleTypeScope ) 3052 // InternalProblem.g:1195:5: (lv_typeScopes_3_0= ruleTypeScope )
2912 // InternalProblem.g:1148:6: lv_typeScopes_3_0= ruleTypeScope 3053 // InternalProblem.g:1196:6: lv_typeScopes_3_0= ruleTypeScope
2913 { 3054 {
2914 3055
2915 newCompositeNode(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_2_1_0()); 3056 newCompositeNode(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_2_1_0());
2916 3057
2917 pushFollow(FOLLOW_8); 3058 pushFollow(FOLLOW_28);
2918 lv_typeScopes_3_0=ruleTypeScope(); 3059 lv_typeScopes_3_0=ruleTypeScope();
2919 3060
2920 state._fsp--; 3061 state._fsp--;
@@ -2941,11 +3082,11 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2941 break; 3082 break;
2942 3083
2943 default : 3084 default :
2944 break loop28; 3085 break loop30;
2945 } 3086 }
2946 } while (true); 3087 } while (true);
2947 3088
2948 otherlv_4=(Token)match(input,17,FOLLOW_2); 3089 otherlv_4=(Token)match(input,13,FOLLOW_2);
2949 3090
2950 newLeafNode(otherlv_4, grammarAccess.getScopeDeclarationAccess().getFullStopKeyword_3()); 3091 newLeafNode(otherlv_4, grammarAccess.getScopeDeclarationAccess().getFullStopKeyword_3());
2951 3092
@@ -2972,7 +3113,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2972 3113
2973 3114
2974 // $ANTLR start "entryRuleTypeScope" 3115 // $ANTLR start "entryRuleTypeScope"
2975 // InternalProblem.g:1174:1: entryRuleTypeScope returns [EObject current=null] : iv_ruleTypeScope= ruleTypeScope EOF ; 3116 // InternalProblem.g:1222:1: entryRuleTypeScope returns [EObject current=null] : iv_ruleTypeScope= ruleTypeScope EOF ;
2976 public final EObject entryRuleTypeScope() throws RecognitionException { 3117 public final EObject entryRuleTypeScope() throws RecognitionException {
2977 EObject current = null; 3118 EObject current = null;
2978 3119
@@ -2980,8 +3121,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2980 3121
2981 3122
2982 try { 3123 try {
2983 // InternalProblem.g:1174:50: (iv_ruleTypeScope= ruleTypeScope EOF ) 3124 // InternalProblem.g:1222:50: (iv_ruleTypeScope= ruleTypeScope EOF )
2984 // InternalProblem.g:1175:2: iv_ruleTypeScope= ruleTypeScope EOF 3125 // InternalProblem.g:1223:2: iv_ruleTypeScope= ruleTypeScope EOF
2985 { 3126 {
2986 newCompositeNode(grammarAccess.getTypeScopeRule()); 3127 newCompositeNode(grammarAccess.getTypeScopeRule());
2987 pushFollow(FOLLOW_1); 3128 pushFollow(FOLLOW_1);
@@ -3008,7 +3149,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3008 3149
3009 3150
3010 // $ANTLR start "ruleTypeScope" 3151 // $ANTLR start "ruleTypeScope"
3011 // InternalProblem.g:1181:1: ruleTypeScope returns [EObject current=null] : ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleMultiplicity ) ) ) ; 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 ) ) ) ;
3012 public final EObject ruleTypeScope() throws RecognitionException { 3153 public final EObject ruleTypeScope() throws RecognitionException {
3013 EObject current = null; 3154 EObject current = null;
3014 3155
@@ -3022,24 +3163,24 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3022 enterRule(); 3163 enterRule();
3023 3164
3024 try { 3165 try {
3025 // InternalProblem.g:1187:2: ( ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleMultiplicity ) ) ) ) 3166 // InternalProblem.g:1235:2: ( ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) ) )
3026 // InternalProblem.g:1188:2: ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleMultiplicity ) ) ) 3167 // InternalProblem.g:1236:2: ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) )
3027 { 3168 {
3028 // InternalProblem.g:1188:2: ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleMultiplicity ) ) ) 3169 // InternalProblem.g:1236:2: ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) )
3029 // InternalProblem.g:1189:3: ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleMultiplicity ) ) 3170 // InternalProblem.g:1237:3: ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) )
3030 { 3171 {
3031 // InternalProblem.g:1189:3: ( (otherlv_0= RULE_ID ) ) 3172 // InternalProblem.g:1237:3: ( (otherlv_0= RULE_ID ) )
3032 // InternalProblem.g:1190:4: (otherlv_0= RULE_ID ) 3173 // InternalProblem.g:1238:4: (otherlv_0= RULE_ID )
3033 { 3174 {
3034 // InternalProblem.g:1190:4: (otherlv_0= RULE_ID ) 3175 // InternalProblem.g:1238:4: (otherlv_0= RULE_ID )
3035 // InternalProblem.g:1191:5: otherlv_0= RULE_ID 3176 // InternalProblem.g:1239:5: otherlv_0= RULE_ID
3036 { 3177 {
3037 3178
3038 if (current==null) { 3179 if (current==null) {
3039 current = createModelElement(grammarAccess.getTypeScopeRule()); 3180 current = createModelElement(grammarAccess.getTypeScopeRule());
3040 } 3181 }
3041 3182
3042 otherlv_0=(Token)match(input,RULE_ID,FOLLOW_28); 3183 otherlv_0=(Token)match(input,RULE_ID,FOLLOW_29);
3043 3184
3044 newLeafNode(otherlv_0, grammarAccess.getTypeScopeAccess().getTargetTypeClassDeclarationCrossReference_0_0()); 3185 newLeafNode(otherlv_0, grammarAccess.getTypeScopeAccess().getTargetTypeClassDeclarationCrossReference_0_0());
3045 3186
@@ -3049,33 +3190,33 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3049 3190
3050 } 3191 }
3051 3192
3052 // InternalProblem.g:1202:3: ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) 3193 // InternalProblem.g:1250:3: ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' )
3053 int alt29=2; 3194 int alt31=2;
3054 int LA29_0 = input.LA(1); 3195 int LA31_0 = input.LA(1);
3055 3196
3056 if ( (LA29_0==31) ) { 3197 if ( (LA31_0==35) ) {
3057 alt29=1; 3198 alt31=1;
3058 } 3199 }
3059 else if ( (LA29_0==32) ) { 3200 else if ( (LA31_0==36) ) {
3060 alt29=2; 3201 alt31=2;
3061 } 3202 }
3062 else { 3203 else {
3063 NoViableAltException nvae = 3204 NoViableAltException nvae =
3064 new NoViableAltException("", 29, 0, input); 3205 new NoViableAltException("", 31, 0, input);
3065 3206
3066 throw nvae; 3207 throw nvae;
3067 } 3208 }
3068 switch (alt29) { 3209 switch (alt31) {
3069 case 1 : 3210 case 1 :
3070 // InternalProblem.g:1203:4: ( (lv_increment_1_0= '+=' ) ) 3211 // InternalProblem.g:1251:4: ( (lv_increment_1_0= '+=' ) )
3071 { 3212 {
3072 // InternalProblem.g:1203:4: ( (lv_increment_1_0= '+=' ) ) 3213 // InternalProblem.g:1251:4: ( (lv_increment_1_0= '+=' ) )
3073 // InternalProblem.g:1204:5: (lv_increment_1_0= '+=' ) 3214 // InternalProblem.g:1252:5: (lv_increment_1_0= '+=' )
3074 { 3215 {
3075 // InternalProblem.g:1204:5: (lv_increment_1_0= '+=' ) 3216 // InternalProblem.g:1252:5: (lv_increment_1_0= '+=' )
3076 // InternalProblem.g:1205:6: lv_increment_1_0= '+=' 3217 // InternalProblem.g:1253:6: lv_increment_1_0= '+='
3077 { 3218 {
3078 lv_increment_1_0=(Token)match(input,31,FOLLOW_13); 3219 lv_increment_1_0=(Token)match(input,35,FOLLOW_13);
3079 3220
3080 newLeafNode(lv_increment_1_0, grammarAccess.getTypeScopeAccess().getIncrementPlusSignEqualsSignKeyword_1_0_0()); 3221 newLeafNode(lv_increment_1_0, grammarAccess.getTypeScopeAccess().getIncrementPlusSignEqualsSignKeyword_1_0_0());
3081 3222
@@ -3095,9 +3236,9 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3095 } 3236 }
3096 break; 3237 break;
3097 case 2 : 3238 case 2 :
3098 // InternalProblem.g:1218:4: otherlv_2= '=' 3239 // InternalProblem.g:1266:4: otherlv_2= '='
3099 { 3240 {
3100 otherlv_2=(Token)match(input,32,FOLLOW_13); 3241 otherlv_2=(Token)match(input,36,FOLLOW_13);
3101 3242
3102 newLeafNode(otherlv_2, grammarAccess.getTypeScopeAccess().getEqualsSignKeyword_1_1()); 3243 newLeafNode(otherlv_2, grammarAccess.getTypeScopeAccess().getEqualsSignKeyword_1_1());
3103 3244
@@ -3107,17 +3248,17 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3107 3248
3108 } 3249 }
3109 3250
3110 // InternalProblem.g:1223:3: ( (lv_multiplicity_3_0= ruleMultiplicity ) ) 3251 // InternalProblem.g:1271:3: ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) )
3111 // InternalProblem.g:1224:4: (lv_multiplicity_3_0= ruleMultiplicity ) 3252 // InternalProblem.g:1272:4: (lv_multiplicity_3_0= ruleDefiniteMultiplicity )
3112 { 3253 {
3113 // InternalProblem.g:1224:4: (lv_multiplicity_3_0= ruleMultiplicity ) 3254 // InternalProblem.g:1272:4: (lv_multiplicity_3_0= ruleDefiniteMultiplicity )
3114 // InternalProblem.g:1225:5: lv_multiplicity_3_0= ruleMultiplicity 3255 // InternalProblem.g:1273:5: lv_multiplicity_3_0= ruleDefiniteMultiplicity
3115 { 3256 {
3116 3257
3117 newCompositeNode(grammarAccess.getTypeScopeAccess().getMultiplicityMultiplicityParserRuleCall_2_0()); 3258 newCompositeNode(grammarAccess.getTypeScopeAccess().getMultiplicityDefiniteMultiplicityParserRuleCall_2_0());
3118 3259
3119 pushFollow(FOLLOW_2); 3260 pushFollow(FOLLOW_2);
3120 lv_multiplicity_3_0=ruleMultiplicity(); 3261 lv_multiplicity_3_0=ruleDefiniteMultiplicity();
3121 3262
3122 state._fsp--; 3263 state._fsp--;
3123 3264
@@ -3129,7 +3270,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3129 current, 3270 current,
3130 "multiplicity", 3271 "multiplicity",
3131 lv_multiplicity_3_0, 3272 lv_multiplicity_3_0,
3132 "org.eclipse.viatra.solver.language.Problem.Multiplicity"); 3273 "org.eclipse.viatra.solver.language.Problem.DefiniteMultiplicity");
3133 afterParserOrEnumRuleCall(); 3274 afterParserOrEnumRuleCall();
3134 3275
3135 3276
@@ -3161,7 +3302,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3161 3302
3162 3303
3163 // $ANTLR start "entryRuleMultiplicity" 3304 // $ANTLR start "entryRuleMultiplicity"
3164 // InternalProblem.g:1246:1: entryRuleMultiplicity returns [EObject current=null] : iv_ruleMultiplicity= ruleMultiplicity EOF ; 3305 // InternalProblem.g:1294:1: entryRuleMultiplicity returns [EObject current=null] : iv_ruleMultiplicity= ruleMultiplicity EOF ;
3165 public final EObject entryRuleMultiplicity() throws RecognitionException { 3306 public final EObject entryRuleMultiplicity() throws RecognitionException {
3166 EObject current = null; 3307 EObject current = null;
3167 3308
@@ -3169,8 +3310,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3169 3310
3170 3311
3171 try { 3312 try {
3172 // InternalProblem.g:1246:53: (iv_ruleMultiplicity= ruleMultiplicity EOF ) 3313 // InternalProblem.g:1294:53: (iv_ruleMultiplicity= ruleMultiplicity EOF )
3173 // InternalProblem.g:1247:2: iv_ruleMultiplicity= ruleMultiplicity EOF 3314 // InternalProblem.g:1295:2: iv_ruleMultiplicity= ruleMultiplicity EOF
3174 { 3315 {
3175 newCompositeNode(grammarAccess.getMultiplicityRule()); 3316 newCompositeNode(grammarAccess.getMultiplicityRule());
3176 pushFollow(FOLLOW_1); 3317 pushFollow(FOLLOW_1);
@@ -3197,10 +3338,138 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3197 3338
3198 3339
3199 // $ANTLR start "ruleMultiplicity" 3340 // $ANTLR start "ruleMultiplicity"
3200 // InternalProblem.g:1253:1: ruleMultiplicity returns [EObject current=null] : (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity ) ; 3341 // InternalProblem.g:1301:1: ruleMultiplicity returns [EObject current=null] : (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity ) ;
3201 public final EObject ruleMultiplicity() throws RecognitionException { 3342 public final EObject ruleMultiplicity() throws RecognitionException {
3202 EObject current = null; 3343 EObject current = null;
3203 3344
3345 EObject this_UnboundedMultiplicity_0 = null;
3346
3347 EObject this_DefiniteMultiplicity_1 = null;
3348
3349
3350
3351 enterRule();
3352
3353 try {
3354 // InternalProblem.g:1307:2: ( (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity ) )
3355 // InternalProblem.g:1308:2: (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity )
3356 {
3357 // InternalProblem.g:1308:2: (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity )
3358 int alt32=2;
3359 int LA32_0 = input.LA(1);
3360
3361 if ( (LA32_0==EOF||LA32_0==24) ) {
3362 alt32=1;
3363 }
3364 else if ( (LA32_0==RULE_INT) ) {
3365 alt32=2;
3366 }
3367 else {
3368 NoViableAltException nvae =
3369 new NoViableAltException("", 32, 0, input);
3370
3371 throw nvae;
3372 }
3373 switch (alt32) {
3374 case 1 :
3375 // InternalProblem.g:1309:3: this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity
3376 {
3377
3378 newCompositeNode(grammarAccess.getMultiplicityAccess().getUnboundedMultiplicityParserRuleCall_0());
3379
3380 pushFollow(FOLLOW_2);
3381 this_UnboundedMultiplicity_0=ruleUnboundedMultiplicity();
3382
3383 state._fsp--;
3384
3385
3386 current = this_UnboundedMultiplicity_0;
3387 afterParserOrEnumRuleCall();
3388
3389
3390 }
3391 break;
3392 case 2 :
3393 // InternalProblem.g:1318:3: this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity
3394 {
3395
3396 newCompositeNode(grammarAccess.getMultiplicityAccess().getDefiniteMultiplicityParserRuleCall_1());
3397
3398 pushFollow(FOLLOW_2);
3399 this_DefiniteMultiplicity_1=ruleDefiniteMultiplicity();
3400
3401 state._fsp--;
3402
3403
3404 current = this_DefiniteMultiplicity_1;
3405 afterParserOrEnumRuleCall();
3406
3407
3408 }
3409 break;
3410
3411 }
3412
3413
3414 }
3415
3416
3417 leaveRule();
3418
3419 }
3420
3421 catch (RecognitionException re) {
3422 recover(input,re);
3423 appendSkippedTokens();
3424 }
3425 finally {
3426 }
3427 return current;
3428 }
3429 // $ANTLR end "ruleMultiplicity"
3430
3431
3432 // $ANTLR start "entryRuleDefiniteMultiplicity"
3433 // InternalProblem.g:1330:1: entryRuleDefiniteMultiplicity returns [EObject current=null] : iv_ruleDefiniteMultiplicity= ruleDefiniteMultiplicity EOF ;
3434 public final EObject entryRuleDefiniteMultiplicity() throws RecognitionException {
3435 EObject current = null;
3436
3437 EObject iv_ruleDefiniteMultiplicity = null;
3438
3439
3440 try {
3441 // InternalProblem.g:1330:61: (iv_ruleDefiniteMultiplicity= ruleDefiniteMultiplicity EOF )
3442 // InternalProblem.g:1331:2: iv_ruleDefiniteMultiplicity= ruleDefiniteMultiplicity EOF
3443 {
3444 newCompositeNode(grammarAccess.getDefiniteMultiplicityRule());
3445 pushFollow(FOLLOW_1);
3446 iv_ruleDefiniteMultiplicity=ruleDefiniteMultiplicity();
3447
3448 state._fsp--;
3449
3450 current =iv_ruleDefiniteMultiplicity;
3451 match(input,EOF,FOLLOW_2);
3452
3453 }
3454
3455 }
3456
3457 catch (RecognitionException re) {
3458 recover(input,re);
3459 appendSkippedTokens();
3460 }
3461 finally {
3462 }
3463 return current;
3464 }
3465 // $ANTLR end "entryRuleDefiniteMultiplicity"
3466
3467
3468 // $ANTLR start "ruleDefiniteMultiplicity"
3469 // InternalProblem.g:1337:1: ruleDefiniteMultiplicity returns [EObject current=null] : (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity ) ;
3470 public final EObject ruleDefiniteMultiplicity() throws RecognitionException {
3471 EObject current = null;
3472
3204 EObject this_RangeMultiplicity_0 = null; 3473 EObject this_RangeMultiplicity_0 = null;
3205 3474
3206 EObject this_ExactMultiplicity_1 = null; 3475 EObject this_ExactMultiplicity_1 = null;
@@ -3210,41 +3479,41 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3210 enterRule(); 3479 enterRule();
3211 3480
3212 try { 3481 try {
3213 // InternalProblem.g:1259:2: ( (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity ) ) 3482 // InternalProblem.g:1343:2: ( (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity ) )
3214 // InternalProblem.g:1260:2: (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity ) 3483 // InternalProblem.g:1344:2: (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity )
3215 { 3484 {
3216 // InternalProblem.g:1260:2: (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity ) 3485 // InternalProblem.g:1344:2: (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity )
3217 int alt30=2; 3486 int alt33=2;
3218 int LA30_0 = input.LA(1); 3487 int LA33_0 = input.LA(1);
3219 3488
3220 if ( (LA30_0==RULE_INT) ) { 3489 if ( (LA33_0==RULE_INT) ) {
3221 int LA30_1 = input.LA(2); 3490 int LA33_1 = input.LA(2);
3222 3491
3223 if ( (LA30_1==33) ) { 3492 if ( (LA33_1==37) ) {
3224 alt30=1; 3493 alt33=1;
3225 } 3494 }
3226 else if ( (LA30_1==EOF||(LA30_1>=15 && LA30_1<=17)) ) { 3495 else if ( (LA33_1==EOF||LA33_1==13||LA33_1==17||LA33_1==24) ) {
3227 alt30=2; 3496 alt33=2;
3228 } 3497 }
3229 else { 3498 else {
3230 NoViableAltException nvae = 3499 NoViableAltException nvae =
3231 new NoViableAltException("", 30, 1, input); 3500 new NoViableAltException("", 33, 1, input);
3232 3501
3233 throw nvae; 3502 throw nvae;
3234 } 3503 }
3235 } 3504 }
3236 else { 3505 else {
3237 NoViableAltException nvae = 3506 NoViableAltException nvae =
3238 new NoViableAltException("", 30, 0, input); 3507 new NoViableAltException("", 33, 0, input);
3239 3508
3240 throw nvae; 3509 throw nvae;
3241 } 3510 }
3242 switch (alt30) { 3511 switch (alt33) {
3243 case 1 : 3512 case 1 :
3244 // InternalProblem.g:1261:3: this_RangeMultiplicity_0= ruleRangeMultiplicity 3513 // InternalProblem.g:1345:3: this_RangeMultiplicity_0= ruleRangeMultiplicity
3245 { 3514 {
3246 3515
3247 newCompositeNode(grammarAccess.getMultiplicityAccess().getRangeMultiplicityParserRuleCall_0()); 3516 newCompositeNode(grammarAccess.getDefiniteMultiplicityAccess().getRangeMultiplicityParserRuleCall_0());
3248 3517
3249 pushFollow(FOLLOW_2); 3518 pushFollow(FOLLOW_2);
3250 this_RangeMultiplicity_0=ruleRangeMultiplicity(); 3519 this_RangeMultiplicity_0=ruleRangeMultiplicity();
@@ -3259,10 +3528,10 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3259 } 3528 }
3260 break; 3529 break;
3261 case 2 : 3530 case 2 :
3262 // InternalProblem.g:1270:3: this_ExactMultiplicity_1= ruleExactMultiplicity 3531 // InternalProblem.g:1354:3: this_ExactMultiplicity_1= ruleExactMultiplicity
3263 { 3532 {
3264 3533
3265 newCompositeNode(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); 3534 newCompositeNode(grammarAccess.getDefiniteMultiplicityAccess().getExactMultiplicityParserRuleCall_1());
3266 3535
3267 pushFollow(FOLLOW_2); 3536 pushFollow(FOLLOW_2);
3268 this_ExactMultiplicity_1=ruleExactMultiplicity(); 3537 this_ExactMultiplicity_1=ruleExactMultiplicity();
@@ -3295,11 +3564,84 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3295 } 3564 }
3296 return current; 3565 return current;
3297 } 3566 }
3298 // $ANTLR end "ruleMultiplicity" 3567 // $ANTLR end "ruleDefiniteMultiplicity"
3568
3569
3570 // $ANTLR start "entryRuleUnboundedMultiplicity"
3571 // InternalProblem.g:1366:1: entryRuleUnboundedMultiplicity returns [EObject current=null] : iv_ruleUnboundedMultiplicity= ruleUnboundedMultiplicity EOF ;
3572 public final EObject entryRuleUnboundedMultiplicity() throws RecognitionException {
3573 EObject current = null;
3574
3575 EObject iv_ruleUnboundedMultiplicity = null;
3576
3577
3578 try {
3579 // InternalProblem.g:1366:62: (iv_ruleUnboundedMultiplicity= ruleUnboundedMultiplicity EOF )
3580 // InternalProblem.g:1367:2: iv_ruleUnboundedMultiplicity= ruleUnboundedMultiplicity EOF
3581 {
3582 newCompositeNode(grammarAccess.getUnboundedMultiplicityRule());
3583 pushFollow(FOLLOW_1);
3584 iv_ruleUnboundedMultiplicity=ruleUnboundedMultiplicity();
3585
3586 state._fsp--;
3587
3588 current =iv_ruleUnboundedMultiplicity;
3589 match(input,EOF,FOLLOW_2);
3590
3591 }
3592
3593 }
3594
3595 catch (RecognitionException re) {
3596 recover(input,re);
3597 appendSkippedTokens();
3598 }
3599 finally {
3600 }
3601 return current;
3602 }
3603 // $ANTLR end "entryRuleUnboundedMultiplicity"
3604
3605
3606 // $ANTLR start "ruleUnboundedMultiplicity"
3607 // InternalProblem.g:1373:1: ruleUnboundedMultiplicity returns [EObject current=null] : () ;
3608 public final EObject ruleUnboundedMultiplicity() throws RecognitionException {
3609 EObject current = null;
3610
3611
3612 enterRule();
3613
3614 try {
3615 // InternalProblem.g:1379:2: ( () )
3616 // InternalProblem.g:1380:2: ()
3617 {
3618 // InternalProblem.g:1380:2: ()
3619 // InternalProblem.g:1381:3:
3620 {
3621
3622 current = forceCreateModelElement(
3623 grammarAccess.getUnboundedMultiplicityAccess().getUnboundedMultiplicityAction(),
3624 current);
3625
3626
3627 }
3628
3629
3630 }
3631
3632
3633 leaveRule();
3634
3635 }
3636 finally {
3637 }
3638 return current;
3639 }
3640 // $ANTLR end "ruleUnboundedMultiplicity"
3299 3641
3300 3642
3301 // $ANTLR start "entryRuleRangeMultiplicity" 3643 // $ANTLR start "entryRuleRangeMultiplicity"
3302 // InternalProblem.g:1282:1: entryRuleRangeMultiplicity returns [EObject current=null] : iv_ruleRangeMultiplicity= ruleRangeMultiplicity EOF ; 3644 // InternalProblem.g:1390:1: entryRuleRangeMultiplicity returns [EObject current=null] : iv_ruleRangeMultiplicity= ruleRangeMultiplicity EOF ;
3303 public final EObject entryRuleRangeMultiplicity() throws RecognitionException { 3645 public final EObject entryRuleRangeMultiplicity() throws RecognitionException {
3304 EObject current = null; 3646 EObject current = null;
3305 3647
@@ -3307,8 +3649,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3307 3649
3308 3650
3309 try { 3651 try {
3310 // InternalProblem.g:1282:58: (iv_ruleRangeMultiplicity= ruleRangeMultiplicity EOF ) 3652 // InternalProblem.g:1390:58: (iv_ruleRangeMultiplicity= ruleRangeMultiplicity EOF )
3311 // InternalProblem.g:1283:2: iv_ruleRangeMultiplicity= ruleRangeMultiplicity EOF 3653 // InternalProblem.g:1391:2: iv_ruleRangeMultiplicity= ruleRangeMultiplicity EOF
3312 { 3654 {
3313 newCompositeNode(grammarAccess.getRangeMultiplicityRule()); 3655 newCompositeNode(grammarAccess.getRangeMultiplicityRule());
3314 pushFollow(FOLLOW_1); 3656 pushFollow(FOLLOW_1);
@@ -3335,7 +3677,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3335 3677
3336 3678
3337 // $ANTLR start "ruleRangeMultiplicity" 3679 // $ANTLR start "ruleRangeMultiplicity"
3338 // InternalProblem.g:1289:1: ruleRangeMultiplicity returns [EObject current=null] : ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) ) ; 3680 // InternalProblem.g:1397:1: ruleRangeMultiplicity returns [EObject current=null] : ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) ) ;
3339 public final EObject ruleRangeMultiplicity() throws RecognitionException { 3681 public final EObject ruleRangeMultiplicity() throws RecognitionException {
3340 EObject current = null; 3682 EObject current = null;
3341 3683
@@ -3348,19 +3690,19 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3348 enterRule(); 3690 enterRule();
3349 3691
3350 try { 3692 try {
3351 // InternalProblem.g:1295:2: ( ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) ) ) 3693 // InternalProblem.g:1403:2: ( ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) ) )
3352 // InternalProblem.g:1296: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 ) ) )
3353 { 3695 {
3354 // InternalProblem.g:1296:2: ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) ) 3696 // InternalProblem.g:1404:2: ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) )
3355 // InternalProblem.g:1297:3: ( (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 ) )
3356 { 3698 {
3357 // InternalProblem.g:1297:3: ( (lv_lowerBound_0_0= RULE_INT ) ) 3699 // InternalProblem.g:1405:3: ( (lv_lowerBound_0_0= RULE_INT ) )
3358 // InternalProblem.g:1298:4: (lv_lowerBound_0_0= RULE_INT ) 3700 // InternalProblem.g:1406:4: (lv_lowerBound_0_0= RULE_INT )
3359 { 3701 {
3360 // InternalProblem.g:1298:4: (lv_lowerBound_0_0= RULE_INT ) 3702 // InternalProblem.g:1406:4: (lv_lowerBound_0_0= RULE_INT )
3361 // InternalProblem.g:1299:5: lv_lowerBound_0_0= RULE_INT 3703 // InternalProblem.g:1407:5: lv_lowerBound_0_0= RULE_INT
3362 { 3704 {
3363 lv_lowerBound_0_0=(Token)match(input,RULE_INT,FOLLOW_29); 3705 lv_lowerBound_0_0=(Token)match(input,RULE_INT,FOLLOW_30);
3364 3706
3365 newLeafNode(lv_lowerBound_0_0, grammarAccess.getRangeMultiplicityAccess().getLowerBoundINTTerminalRuleCall_0_0()); 3707 newLeafNode(lv_lowerBound_0_0, grammarAccess.getRangeMultiplicityAccess().getLowerBoundINTTerminalRuleCall_0_0());
3366 3708
@@ -3380,15 +3722,15 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3380 3722
3381 } 3723 }
3382 3724
3383 otherlv_1=(Token)match(input,33,FOLLOW_30); 3725 otherlv_1=(Token)match(input,37,FOLLOW_31);
3384 3726
3385 newLeafNode(otherlv_1, grammarAccess.getRangeMultiplicityAccess().getFullStopFullStopKeyword_1()); 3727 newLeafNode(otherlv_1, grammarAccess.getRangeMultiplicityAccess().getFullStopFullStopKeyword_1());
3386 3728
3387 // InternalProblem.g:1319:3: ( (lv_upperBound_2_0= ruleUpperBound ) ) 3729 // InternalProblem.g:1427:3: ( (lv_upperBound_2_0= ruleUpperBound ) )
3388 // InternalProblem.g:1320:4: (lv_upperBound_2_0= ruleUpperBound ) 3730 // InternalProblem.g:1428:4: (lv_upperBound_2_0= ruleUpperBound )
3389 { 3731 {
3390 // InternalProblem.g:1320:4: (lv_upperBound_2_0= ruleUpperBound ) 3732 // InternalProblem.g:1428:4: (lv_upperBound_2_0= ruleUpperBound )
3391 // InternalProblem.g:1321:5: lv_upperBound_2_0= ruleUpperBound 3733 // InternalProblem.g:1429:5: lv_upperBound_2_0= ruleUpperBound
3392 { 3734 {
3393 3735
3394 newCompositeNode(grammarAccess.getRangeMultiplicityAccess().getUpperBoundUpperBoundParserRuleCall_2_0()); 3736 newCompositeNode(grammarAccess.getRangeMultiplicityAccess().getUpperBoundUpperBoundParserRuleCall_2_0());
@@ -3438,7 +3780,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3438 3780
3439 3781
3440 // $ANTLR start "entryRuleExactMultiplicity" 3782 // $ANTLR start "entryRuleExactMultiplicity"
3441 // InternalProblem.g:1342:1: entryRuleExactMultiplicity returns [EObject current=null] : iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ; 3783 // InternalProblem.g:1450:1: entryRuleExactMultiplicity returns [EObject current=null] : iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ;
3442 public final EObject entryRuleExactMultiplicity() throws RecognitionException { 3784 public final EObject entryRuleExactMultiplicity() throws RecognitionException {
3443 EObject current = null; 3785 EObject current = null;
3444 3786
@@ -3446,8 +3788,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3446 3788
3447 3789
3448 try { 3790 try {
3449 // InternalProblem.g:1342:58: (iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ) 3791 // InternalProblem.g:1450:58: (iv_ruleExactMultiplicity= ruleExactMultiplicity EOF )
3450 // InternalProblem.g:1343:2: iv_ruleExactMultiplicity= ruleExactMultiplicity EOF 3792 // InternalProblem.g:1451:2: iv_ruleExactMultiplicity= ruleExactMultiplicity EOF
3451 { 3793 {
3452 newCompositeNode(grammarAccess.getExactMultiplicityRule()); 3794 newCompositeNode(grammarAccess.getExactMultiplicityRule());
3453 pushFollow(FOLLOW_1); 3795 pushFollow(FOLLOW_1);
@@ -3474,7 +3816,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3474 3816
3475 3817
3476 // $ANTLR start "ruleExactMultiplicity" 3818 // $ANTLR start "ruleExactMultiplicity"
3477 // InternalProblem.g:1349:1: ruleExactMultiplicity returns [EObject current=null] : ( (lv_exactValue_0_0= RULE_INT ) ) ; 3819 // InternalProblem.g:1457:1: ruleExactMultiplicity returns [EObject current=null] : ( (lv_exactValue_0_0= RULE_INT ) ) ;
3478 public final EObject ruleExactMultiplicity() throws RecognitionException { 3820 public final EObject ruleExactMultiplicity() throws RecognitionException {
3479 EObject current = null; 3821 EObject current = null;
3480 3822
@@ -3484,14 +3826,14 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3484 enterRule(); 3826 enterRule();
3485 3827
3486 try { 3828 try {
3487 // InternalProblem.g:1355:2: ( ( (lv_exactValue_0_0= RULE_INT ) ) ) 3829 // InternalProblem.g:1463:2: ( ( (lv_exactValue_0_0= RULE_INT ) ) )
3488 // InternalProblem.g:1356:2: ( (lv_exactValue_0_0= RULE_INT ) ) 3830 // InternalProblem.g:1464:2: ( (lv_exactValue_0_0= RULE_INT ) )
3489 { 3831 {
3490 // InternalProblem.g:1356:2: ( (lv_exactValue_0_0= RULE_INT ) ) 3832 // InternalProblem.g:1464:2: ( (lv_exactValue_0_0= RULE_INT ) )
3491 // InternalProblem.g:1357:3: (lv_exactValue_0_0= RULE_INT ) 3833 // InternalProblem.g:1465:3: (lv_exactValue_0_0= RULE_INT )
3492 { 3834 {
3493 // InternalProblem.g:1357:3: (lv_exactValue_0_0= RULE_INT ) 3835 // InternalProblem.g:1465:3: (lv_exactValue_0_0= RULE_INT )
3494 // InternalProblem.g:1358:4: lv_exactValue_0_0= RULE_INT 3836 // InternalProblem.g:1466:4: lv_exactValue_0_0= RULE_INT
3495 { 3837 {
3496 lv_exactValue_0_0=(Token)match(input,RULE_INT,FOLLOW_2); 3838 lv_exactValue_0_0=(Token)match(input,RULE_INT,FOLLOW_2);
3497 3839
@@ -3533,7 +3875,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3533 3875
3534 3876
3535 // $ANTLR start "entryRuleUpperBound" 3877 // $ANTLR start "entryRuleUpperBound"
3536 // InternalProblem.g:1377:1: entryRuleUpperBound returns [String current=null] : iv_ruleUpperBound= ruleUpperBound EOF ; 3878 // InternalProblem.g:1485:1: entryRuleUpperBound returns [String current=null] : iv_ruleUpperBound= ruleUpperBound EOF ;
3537 public final String entryRuleUpperBound() throws RecognitionException { 3879 public final String entryRuleUpperBound() throws RecognitionException {
3538 String current = null; 3880 String current = null;
3539 3881
@@ -3541,8 +3883,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3541 3883
3542 3884
3543 try { 3885 try {
3544 // InternalProblem.g:1377:50: (iv_ruleUpperBound= ruleUpperBound EOF ) 3886 // InternalProblem.g:1485:50: (iv_ruleUpperBound= ruleUpperBound EOF )
3545 // InternalProblem.g:1378:2: iv_ruleUpperBound= ruleUpperBound EOF 3887 // InternalProblem.g:1486:2: iv_ruleUpperBound= ruleUpperBound EOF
3546 { 3888 {
3547 newCompositeNode(grammarAccess.getUpperBoundRule()); 3889 newCompositeNode(grammarAccess.getUpperBoundRule());
3548 pushFollow(FOLLOW_1); 3890 pushFollow(FOLLOW_1);
@@ -3569,7 +3911,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3569 3911
3570 3912
3571 // $ANTLR start "ruleUpperBound" 3913 // $ANTLR start "ruleUpperBound"
3572 // InternalProblem.g:1384:1: ruleUpperBound returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | kw= '*' ) ; 3914 // InternalProblem.g:1492:1: ruleUpperBound returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | kw= '*' ) ;
3573 public final AntlrDatatypeRuleToken ruleUpperBound() throws RecognitionException { 3915 public final AntlrDatatypeRuleToken ruleUpperBound() throws RecognitionException {
3574 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); 3916 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
3575 3917
@@ -3580,28 +3922,28 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3580 enterRule(); 3922 enterRule();
3581 3923
3582 try { 3924 try {
3583 // InternalProblem.g:1390:2: ( (this_INT_0= RULE_INT | kw= '*' ) ) 3925 // InternalProblem.g:1498:2: ( (this_INT_0= RULE_INT | kw= '*' ) )
3584 // InternalProblem.g:1391:2: (this_INT_0= RULE_INT | kw= '*' ) 3926 // InternalProblem.g:1499:2: (this_INT_0= RULE_INT | kw= '*' )
3585 { 3927 {
3586 // InternalProblem.g:1391:2: (this_INT_0= RULE_INT | kw= '*' ) 3928 // InternalProblem.g:1499:2: (this_INT_0= RULE_INT | kw= '*' )
3587 int alt31=2; 3929 int alt34=2;
3588 int LA31_0 = input.LA(1); 3930 int LA34_0 = input.LA(1);
3589 3931
3590 if ( (LA31_0==RULE_INT) ) { 3932 if ( (LA34_0==RULE_INT) ) {
3591 alt31=1; 3933 alt34=1;
3592 } 3934 }
3593 else if ( (LA31_0==34) ) { 3935 else if ( (LA34_0==38) ) {
3594 alt31=2; 3936 alt34=2;
3595 } 3937 }
3596 else { 3938 else {
3597 NoViableAltException nvae = 3939 NoViableAltException nvae =
3598 new NoViableAltException("", 31, 0, input); 3940 new NoViableAltException("", 34, 0, input);
3599 3941
3600 throw nvae; 3942 throw nvae;
3601 } 3943 }
3602 switch (alt31) { 3944 switch (alt34) {
3603 case 1 : 3945 case 1 :
3604 // InternalProblem.g:1392:3: this_INT_0= RULE_INT 3946 // InternalProblem.g:1500:3: this_INT_0= RULE_INT
3605 { 3947 {
3606 this_INT_0=(Token)match(input,RULE_INT,FOLLOW_2); 3948 this_INT_0=(Token)match(input,RULE_INT,FOLLOW_2);
3607 3949
@@ -3614,9 +3956,9 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3614 } 3956 }
3615 break; 3957 break;
3616 case 2 : 3958 case 2 :
3617 // InternalProblem.g:1400:3: kw= '*' 3959 // InternalProblem.g:1508:3: kw= '*'
3618 { 3960 {
3619 kw=(Token)match(input,34,FOLLOW_2); 3961 kw=(Token)match(input,38,FOLLOW_2);
3620 3962
3621 current.merge(kw); 3963 current.merge(kw);
3622 newLeafNode(kw, grammarAccess.getUpperBoundAccess().getAsteriskKeyword_1()); 3964 newLeafNode(kw, grammarAccess.getUpperBoundAccess().getAsteriskKeyword_1());
@@ -3647,7 +3989,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3647 3989
3648 3990
3649 // $ANTLR start "entryRuleQualifiedName" 3991 // $ANTLR start "entryRuleQualifiedName"
3650 // InternalProblem.g:1409:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ; 3992 // InternalProblem.g:1517:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ;
3651 public final String entryRuleQualifiedName() throws RecognitionException { 3993 public final String entryRuleQualifiedName() throws RecognitionException {
3652 String current = null; 3994 String current = null;
3653 3995
@@ -3655,8 +3997,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3655 3997
3656 3998
3657 try { 3999 try {
3658 // InternalProblem.g:1409:53: (iv_ruleQualifiedName= ruleQualifiedName EOF ) 4000 // InternalProblem.g:1517:53: (iv_ruleQualifiedName= ruleQualifiedName EOF )
3659 // InternalProblem.g:1410:2: iv_ruleQualifiedName= ruleQualifiedName EOF 4001 // InternalProblem.g:1518:2: iv_ruleQualifiedName= ruleQualifiedName EOF
3660 { 4002 {
3661 newCompositeNode(grammarAccess.getQualifiedNameRule()); 4003 newCompositeNode(grammarAccess.getQualifiedNameRule());
3662 pushFollow(FOLLOW_1); 4004 pushFollow(FOLLOW_1);
@@ -3683,67 +4025,143 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3683 4025
3684 4026
3685 // $ANTLR start "ruleQualifiedName" 4027 // $ANTLR start "ruleQualifiedName"
3686 // InternalProblem.g:1416:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID (kw= '::' this_ID_2= RULE_ID )* ) ; 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 )? ) ) ;
3687 public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException { 4029 public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException {
3688 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); 4030 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
3689 4031
3690 Token this_ID_0=null; 4032 Token this_QUOTED_ID_0=null;
4033 Token this_ID_1=null;
3691 Token kw=null; 4034 Token kw=null;
3692 Token this_ID_2=null; 4035 Token this_ID_3=null;
4036 Token this_QUOTED_ID_5=null;
3693 4037
3694 4038
3695 enterRule(); 4039 enterRule();
3696 4040
3697 try { 4041 try {
3698 // InternalProblem.g:1422:2: ( (this_ID_0= RULE_ID (kw= '::' this_ID_2= RULE_ID )* ) ) 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 )? ) ) )
3699 // InternalProblem.g:1423:2: (this_ID_0= RULE_ID (kw= '::' this_ID_2= RULE_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 )? ) )
3700 { 4044 {
3701 // InternalProblem.g:1423:2: (this_ID_0= RULE_ID (kw= '::' this_ID_2= RULE_ID )* ) 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 )? ) )
3702 // InternalProblem.g:1424:3: this_ID_0= RULE_ID (kw= '::' this_ID_2= RULE_ID )* 4046 int alt37=2;
3703 { 4047 int LA37_0 = input.LA(1);
3704 this_ID_0=(Token)match(input,RULE_ID,FOLLOW_31);
3705 4048
3706 current.merge(this_ID_0); 4049 if ( (LA37_0==RULE_QUOTED_ID) ) {
3707 4050 alt37=1;
4051 }
4052 else if ( (LA37_0==RULE_ID) ) {
4053 alt37=2;
4054 }
4055 else {
4056 NoViableAltException nvae =
4057 new NoViableAltException("", 37, 0, input);
3708 4058
3709 newLeafNode(this_ID_0, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0()); 4059 throw nvae;
3710 4060 }
3711 // InternalProblem.g:1431:3: (kw= '::' this_ID_2= RULE_ID )* 4061 switch (alt37) {
3712 loop32: 4062 case 1 :
3713 do { 4063 // InternalProblem.g:1532:3: this_QUOTED_ID_0= RULE_QUOTED_ID
3714 int alt32=2; 4064 {
3715 int LA32_0 = input.LA(1); 4065 this_QUOTED_ID_0=(Token)match(input,RULE_QUOTED_ID,FOLLOW_2);
3716 4066
3717 if ( (LA32_0==35) ) { 4067 current.merge(this_QUOTED_ID_0);
3718 alt32=1; 4068
3719 }
3720 4069
4070 newLeafNode(this_QUOTED_ID_0, grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_0());
4071
3721 4072
3722 switch (alt32) { 4073 }
3723 case 1 : 4074 break;
3724 // InternalProblem.g:1432:4: kw= '::' this_ID_2= RULE_ID 4075 case 2 :
3725 { 4076 // InternalProblem.g:1540:3: (this_ID_1= RULE_ID (kw= ':' this_ID_3= RULE_ID )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? )
3726 kw=(Token)match(input,35,FOLLOW_5); 4077 {
4078 // InternalProblem.g:1540:3: (this_ID_1= RULE_ID (kw= ':' this_ID_3= RULE_ID )* (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 )?
4080 {
4081 this_ID_1=(Token)match(input,RULE_ID,FOLLOW_32);
3727 4082
3728 current.merge(kw); 4083 current.merge(this_ID_1);
3729 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getColonColonKeyword_1_0()); 4084
3730
3731 this_ID_2=(Token)match(input,RULE_ID,FOLLOW_31);
3732 4085
3733 current.merge(this_ID_2); 4086 newLeafNode(this_ID_1, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_0());
3734 4087
4088 // InternalProblem.g:1548:4: (kw= ':' this_ID_3= RULE_ID )*
4089 loop35:
4090 do {
4091 int alt35=2;
4092 int LA35_0 = input.LA(1);
3735 4093
3736 newLeafNode(this_ID_2, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1()); 4094 if ( (LA35_0==33) ) {
3737 4095 int LA35_1 = input.LA(2);
3738 4096
3739 } 4097 if ( (LA35_1==RULE_ID) ) {
3740 break; 4098 alt35=1;
4099 }
3741 4100
3742 default :
3743 break loop32;
3744 }
3745 } while (true);
3746 4101
4102 }
4103
4104
4105 switch (alt35) {
4106 case 1 :
4107 // InternalProblem.g:1549:5: kw= ':' this_ID_3= RULE_ID
4108 {
4109 kw=(Token)match(input,33,FOLLOW_3);
4110
4111 current.merge(kw);
4112 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getColonKeyword_1_1_0());
4113
4114 this_ID_3=(Token)match(input,RULE_ID,FOLLOW_32);
4115
4116 current.merge(this_ID_3);
4117
4118
4119 newLeafNode(this_ID_3, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1_1());
4120
4121
4122 }
4123 break;
4124
4125 default :
4126 break loop35;
4127 }
4128 } while (true);
4129
4130 // InternalProblem.g:1562:4: (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )?
4131 int alt36=2;
4132 int LA36_0 = input.LA(1);
4133
4134 if ( (LA36_0==33) ) {
4135 alt36=1;
4136 }
4137 switch (alt36) {
4138 case 1 :
4139 // InternalProblem.g:1563:5: kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID
4140 {
4141 kw=(Token)match(input,33,FOLLOW_33);
4142
4143 current.merge(kw);
4144 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getColonKeyword_1_2_0());
4145
4146 this_QUOTED_ID_5=(Token)match(input,RULE_QUOTED_ID,FOLLOW_2);
4147
4148 current.merge(this_QUOTED_ID_5);
4149
4150
4151 newLeafNode(this_QUOTED_ID_5, grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1_2_1());
4152
4153
4154 }
4155 break;
4156
4157 }
4158
4159
4160 }
4161
4162
4163 }
4164 break;
3747 4165
3748 } 4166 }
3749 4167
@@ -3767,7 +4185,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3767 4185
3768 4186
3769 // $ANTLR start "ruleLogicValue" 4187 // $ANTLR start "ruleLogicValue"
3770 // InternalProblem.g:1449:1: ruleLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) ) ; 4188 // InternalProblem.g:1581:1: ruleLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) ) ;
3771 public final Enumerator ruleLogicValue() throws RecognitionException { 4189 public final Enumerator ruleLogicValue() throws RecognitionException {
3772 Enumerator current = null; 4190 Enumerator current = null;
3773 4191
@@ -3779,42 +4197,42 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3779 enterRule(); 4197 enterRule();
3780 4198
3781 try { 4199 try {
3782 // InternalProblem.g:1455:2: ( ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) ) ) 4200 // InternalProblem.g:1587:2: ( ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) ) )
3783 // InternalProblem.g:1456:2: ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) ) 4201 // InternalProblem.g:1588:2: ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) )
3784 { 4202 {
3785 // InternalProblem.g:1456:2: ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) ) 4203 // InternalProblem.g:1588:2: ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) )
3786 int alt33=3; 4204 int alt38=3;
3787 switch ( input.LA(1) ) { 4205 switch ( input.LA(1) ) {
3788 case 36: 4206 case 39:
3789 { 4207 {
3790 alt33=1; 4208 alt38=1;
3791 } 4209 }
3792 break; 4210 break;
3793 case 37: 4211 case 40:
3794 { 4212 {
3795 alt33=2; 4213 alt38=2;
3796 } 4214 }
3797 break; 4215 break;
3798 case 38: 4216 case 41:
3799 { 4217 {
3800 alt33=3; 4218 alt38=3;
3801 } 4219 }
3802 break; 4220 break;
3803 default: 4221 default:
3804 NoViableAltException nvae = 4222 NoViableAltException nvae =
3805 new NoViableAltException("", 33, 0, input); 4223 new NoViableAltException("", 38, 0, input);
3806 4224
3807 throw nvae; 4225 throw nvae;
3808 } 4226 }
3809 4227
3810 switch (alt33) { 4228 switch (alt38) {
3811 case 1 : 4229 case 1 :
3812 // InternalProblem.g:1457:3: (enumLiteral_0= 'true' ) 4230 // InternalProblem.g:1589:3: (enumLiteral_0= 'true' )
3813 { 4231 {
3814 // InternalProblem.g:1457:3: (enumLiteral_0= 'true' ) 4232 // InternalProblem.g:1589:3: (enumLiteral_0= 'true' )
3815 // InternalProblem.g:1458:4: enumLiteral_0= 'true' 4233 // InternalProblem.g:1590:4: enumLiteral_0= 'true'
3816 { 4234 {
3817 enumLiteral_0=(Token)match(input,36,FOLLOW_2); 4235 enumLiteral_0=(Token)match(input,39,FOLLOW_2);
3818 4236
3819 current = grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); 4237 current = grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
3820 newLeafNode(enumLiteral_0, grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0()); 4238 newLeafNode(enumLiteral_0, grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0());
@@ -3826,12 +4244,12 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3826 } 4244 }
3827 break; 4245 break;
3828 case 2 : 4246 case 2 :
3829 // InternalProblem.g:1465:3: (enumLiteral_1= 'false' ) 4247 // InternalProblem.g:1597:3: (enumLiteral_1= 'false' )
3830 { 4248 {
3831 // InternalProblem.g:1465:3: (enumLiteral_1= 'false' ) 4249 // InternalProblem.g:1597:3: (enumLiteral_1= 'false' )
3832 // InternalProblem.g:1466:4: enumLiteral_1= 'false' 4250 // InternalProblem.g:1598:4: enumLiteral_1= 'false'
3833 { 4251 {
3834 enumLiteral_1=(Token)match(input,37,FOLLOW_2); 4252 enumLiteral_1=(Token)match(input,40,FOLLOW_2);
3835 4253
3836 current = grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); 4254 current = grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
3837 newLeafNode(enumLiteral_1, grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1()); 4255 newLeafNode(enumLiteral_1, grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1());
@@ -3843,12 +4261,12 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3843 } 4261 }
3844 break; 4262 break;
3845 case 3 : 4263 case 3 :
3846 // InternalProblem.g:1473:3: (enumLiteral_2= 'unknown' ) 4264 // InternalProblem.g:1605:3: (enumLiteral_2= 'unknown' )
3847 { 4265 {
3848 // InternalProblem.g:1473:3: (enumLiteral_2= 'unknown' ) 4266 // InternalProblem.g:1605:3: (enumLiteral_2= 'unknown' )
3849 // InternalProblem.g:1474:4: enumLiteral_2= 'unknown' 4267 // InternalProblem.g:1606:4: enumLiteral_2= 'unknown'
3850 { 4268 {
3851 enumLiteral_2=(Token)match(input,38,FOLLOW_2); 4269 enumLiteral_2=(Token)match(input,41,FOLLOW_2);
3852 4270
3853 current = grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); 4271 current = grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
3854 newLeafNode(enumLiteral_2, grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2()); 4272 newLeafNode(enumLiteral_2, grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2());
@@ -3882,7 +4300,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3882 4300
3883 4301
3884 // $ANTLR start "ruleShortLogicValue" 4302 // $ANTLR start "ruleShortLogicValue"
3885 // InternalProblem.g:1484:1: ruleShortLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) ) ; 4303 // InternalProblem.g:1616:1: ruleShortLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) ) ;
3886 public final Enumerator ruleShortLogicValue() throws RecognitionException { 4304 public final Enumerator ruleShortLogicValue() throws RecognitionException {
3887 Enumerator current = null; 4305 Enumerator current = null;
3888 4306
@@ -3893,33 +4311,33 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3893 enterRule(); 4311 enterRule();
3894 4312
3895 try { 4313 try {
3896 // InternalProblem.g:1490:2: ( ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) ) ) 4314 // InternalProblem.g:1622:2: ( ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) ) )
3897 // InternalProblem.g:1491:2: ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) ) 4315 // InternalProblem.g:1623:2: ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) )
3898 { 4316 {
3899 // InternalProblem.g:1491:2: ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) ) 4317 // InternalProblem.g:1623:2: ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) )
3900 int alt34=2; 4318 int alt39=2;
3901 int LA34_0 = input.LA(1); 4319 int LA39_0 = input.LA(1);
3902 4320
3903 if ( (LA34_0==27) ) { 4321 if ( (LA39_0==31) ) {
3904 alt34=1; 4322 alt39=1;
3905 } 4323 }
3906 else if ( (LA34_0==39) ) { 4324 else if ( (LA39_0==42) ) {
3907 alt34=2; 4325 alt39=2;
3908 } 4326 }
3909 else { 4327 else {
3910 NoViableAltException nvae = 4328 NoViableAltException nvae =
3911 new NoViableAltException("", 34, 0, input); 4329 new NoViableAltException("", 39, 0, input);
3912 4330
3913 throw nvae; 4331 throw nvae;
3914 } 4332 }
3915 switch (alt34) { 4333 switch (alt39) {
3916 case 1 : 4334 case 1 :
3917 // InternalProblem.g:1492:3: (enumLiteral_0= '!' ) 4335 // InternalProblem.g:1624:3: (enumLiteral_0= '!' )
3918 { 4336 {
3919 // InternalProblem.g:1492:3: (enumLiteral_0= '!' ) 4337 // InternalProblem.g:1624:3: (enumLiteral_0= '!' )
3920 // InternalProblem.g:1493:4: enumLiteral_0= '!' 4338 // InternalProblem.g:1625:4: enumLiteral_0= '!'
3921 { 4339 {
3922 enumLiteral_0=(Token)match(input,27,FOLLOW_2); 4340 enumLiteral_0=(Token)match(input,31,FOLLOW_2);
3923 4341
3924 current = grammarAccess.getShortLogicValueAccess().getFALSEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); 4342 current = grammarAccess.getShortLogicValueAccess().getFALSEEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
3925 newLeafNode(enumLiteral_0, grammarAccess.getShortLogicValueAccess().getFALSEEnumLiteralDeclaration_0()); 4343 newLeafNode(enumLiteral_0, grammarAccess.getShortLogicValueAccess().getFALSEEnumLiteralDeclaration_0());
@@ -3931,12 +4349,12 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3931 } 4349 }
3932 break; 4350 break;
3933 case 2 : 4351 case 2 :
3934 // InternalProblem.g:1500:3: (enumLiteral_1= '?' ) 4352 // InternalProblem.g:1632:3: (enumLiteral_1= '?' )
3935 { 4353 {
3936 // InternalProblem.g:1500:3: (enumLiteral_1= '?' ) 4354 // InternalProblem.g:1632:3: (enumLiteral_1= '?' )
3937 // InternalProblem.g:1501:4: enumLiteral_1= '?' 4355 // InternalProblem.g:1633:4: enumLiteral_1= '?'
3938 { 4356 {
3939 enumLiteral_1=(Token)match(input,39,FOLLOW_2); 4357 enumLiteral_1=(Token)match(input,42,FOLLOW_2);
3940 4358
3941 current = grammarAccess.getShortLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); 4359 current = grammarAccess.getShortLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
3942 newLeafNode(enumLiteral_1, grammarAccess.getShortLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_1()); 4360 newLeafNode(enumLiteral_1, grammarAccess.getShortLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_1());
@@ -3971,28 +4389,34 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3971 // Delegated rules 4389 // Delegated rules
3972 4390
3973 4391
3974 protected DFA27 dfa27 = new DFA27(this); 4392 protected DFA29 dfa29 = new DFA29(this);
3975 static final String dfa_1s = "\17\uffff"; 4393 static final String dfa_1s = "\25\uffff";
3976 static final String dfa_2s = "\1\4\1\27\1\uffff\2\4\1\27\1\17\1\21\2\4\1\uffff\2\17\1\4\1\17"; 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";
3977 static final String dfa_3s = "\1\47\1\43\1\uffff\1\4\1\30\2\43\1\35\2\4\1\uffff\2\43\1\4\1\43"; 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";
3978 static final String dfa_4s = "\2\uffff\1\2\7\uffff\1\1\4\uffff"; 4396 static final String dfa_4s = "\3\uffff\1\2\11\uffff\1\1\7\uffff";
3979 static final String dfa_5s = "\17\uffff}>"; 4397 static final String dfa_5s = "\25\uffff}>";
3980 static final String[] dfa_6s = { 4398 static final String[] dfa_6s = {
3981 "\1\1\26\uffff\1\2\13\uffff\1\2", 4399 "\1\2\1\uffff\1\1\30\uffff\1\3\12\uffff\1\3",
3982 "\1\4\13\uffff\1\3", 4400 "\1\4",
4401 "\1\4\4\uffff\1\5",
3983 "", 4402 "",
3984 "\1\5", 4403 "\1\7\1\uffff\1\6\26\uffff\1\10",
3985 "\1\6\23\uffff\1\7", 4404 "\1\12\1\uffff\1\11",
3986 "\1\4\13\uffff\1\3", 4405 "\1\13\13\uffff\1\10",
3987 "\1\11\10\uffff\1\7\12\uffff\1\10", 4406 "\1\13\13\uffff\1\10\3\uffff\1\14",
3988 "\1\2\13\uffff\1\12", 4407 "\1\3\23\uffff\1\15",
3989 "\1\13", 4408 "\1\4",
3990 "\1\14", 4409 "\1\4\4\uffff\1\5",
4410 "\1\17\1\uffff\1\16",
4411 "\1\21\1\uffff\1\20",
3991 "", 4412 "",
3992 "\1\11\10\uffff\1\7\12\uffff\1\10", 4413 "\1\13\13\uffff\1\10",
3993 "\1\11\10\uffff\1\7\12\uffff\1\15", 4414 "\1\13\13\uffff\1\10\3\uffff\1\22",
3994 "\1\16", 4415 "\1\13\13\uffff\1\10",
3995 "\1\11\10\uffff\1\7\12\uffff\1\15" 4416 "\1\13\13\uffff\1\10\3\uffff\1\14",
4417 "\1\24\1\uffff\1\23",
4418 "\1\13\13\uffff\1\10",
4419 "\1\13\13\uffff\1\10\3\uffff\1\22"
3996 }; 4420 };
3997 4421
3998 static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); 4422 static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s);
@@ -4002,11 +4426,11 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
4002 static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s); 4426 static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s);
4003 static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s); 4427 static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s);
4004 4428
4005 class DFA27 extends DFA { 4429 class DFA29 extends DFA {
4006 4430
4007 public DFA27(BaseRecognizer recognizer) { 4431 public DFA29(BaseRecognizer recognizer) {
4008 this.recognizer = recognizer; 4432 this.recognizer = recognizer;
4009 this.decisionNumber = 27; 4433 this.decisionNumber = 29;
4010 this.eot = dfa_1; 4434 this.eot = dfa_1;
4011 this.eof = dfa_1; 4435 this.eof = dfa_1;
4012 this.min = dfa_2; 4436 this.min = dfa_2;
@@ -4016,41 +4440,43 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
4016 this.transition = dfa_6; 4440 this.transition = dfa_6;
4017 } 4441 }
4018 public String getDescription() { 4442 public String getDescription() {
4019 return "918: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= ')' ) )"; 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= ')' ) )";
4020 } 4444 }
4021 } 4445 }
4022 4446
4023 4447
4024 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); 4448 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L});
4025 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); 4449 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
4026 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000008048601812L}); 4450 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000000000010L});
4027 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000001000L}); 4451 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000002000L});
4028 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000000010L}); 4452 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x000004048C00C052L});
4029 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x00000000000EA000L}); 4453 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000008000L});
4030 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000004010L}); 4454 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000052000L});
4031 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000028000L}); 4455 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000000050L});
4032 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000010010L}); 4456 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000062000L});
4033 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000018000L}); 4457 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000700000L});
4034 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x00000000000C0000L}); 4458 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000780000L});
4035 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000004000L}); 4459 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000800010L});
4036 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000000020L}); 4460 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000000020L});
4037 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000010000L}); 4461 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000001000000L});
4038 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000100002L}); 4462 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000002000002L});
4039 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000000400010L}); 4463 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000008000010L});
4040 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000800000L}); 4464 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000010000000L});
4041 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000001000010L}); 4465 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000020000010L});
4042 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000001008000L}); 4466 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000020020000L});
4043 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000002020000L}); 4467 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000040002000L});
4044 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000008000010L}); 4468 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000080000050L});
4045 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000004020000L}); 4469 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000000082000L});
4046 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000000008002L}); 4470 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000000020002L});
4047 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000010800000L}); 4471 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000110000000L});
4048 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000020000000L}); 4472 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000020000050L});
4049 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000007000000000L}); 4473 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000200000000L});
4050 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000000020000L}); 4474 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000038000000000L});
4051 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000180000000L}); 4475 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000000022000L});
4052 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000200000000L}); 4476 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000001800000000L});
4053 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000400000020L}); 4477 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000002000000000L});
4054 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000800000002L}); 4478 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000004000000020L});
4479 public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000200000002L});
4480 public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000000000040L});
4055 4481
4056} \ No newline at end of file 4482} \ No newline at end of file