aboutsummaryrefslogtreecommitdiffstats
path: root/Application/org.eclipse.viatra.solver.language
diff options
context:
space:
mode:
authorLibravatar Oszkar Semerath <semerath@mit.bme.hu>2020-05-06 00:27:55 +0200
committerLibravatar Oszkar Semerath <semerath@mit.bme.hu>2020-05-06 00:27:55 +0200
commit820151b6d27643ba0927ca84d1bccadbd695a55d (patch)
tree9d3a5786b7f90723a6af967875f861a89e5b897e /Application/org.eclipse.viatra.solver.language
parentcolor update (diff)
downloadVIATRA-Generator-820151b6d27643ba0927ca84d1bccadbd695a55d.tar.gz
VIATRA-Generator-820151b6d27643ba0927ca84d1bccadbd695a55d.tar.zst
VIATRA-Generator-820151b6d27643ba0927ca84d1bccadbd695a55d.zip
PS language update
Diffstat (limited to 'Application/org.eclipse.viatra.solver.language')
-rw-r--r--Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.ecore12
-rw-r--r--Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.genmodel8
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguage.xtextbinbin7297 -> 7164 bytes
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.g530
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.tokens48
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageLexer.java397
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.java2986
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSemanticSequencer.java44
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSyntacticSequencer.java49
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java469
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedObject.java2
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java46
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java18
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java230
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java150
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java28
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java71
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java42
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java53
-rw-r--r--Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/SolverLanguage.xtext26
20 files changed, 2485 insertions, 2724 deletions
diff --git a/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.ecore b/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.ecore
index 9b26faa3..c18e4184 100644
--- a/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.ecore
+++ b/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.ecore
@@ -32,7 +32,7 @@
32 <eClassifiers xsi:type="ecore:EClass" name="StringSymbol" eSuperTypes="#//DataSymbol"/> 32 <eClassifiers xsi:type="ecore:EClass" name="StringSymbol" eSuperTypes="#//DataSymbol"/>
33 <eClassifiers xsi:type="ecore:EClass" name="ComplexObject"/> 33 <eClassifiers xsi:type="ecore:EClass" name="ComplexObject"/>
34 <eClassifiers xsi:type="ecore:EClass" name="Object" eSuperTypes="#//ComplexObject"/> 34 <eClassifiers xsi:type="ecore:EClass" name="Object" eSuperTypes="#//ComplexObject"/>
35 <eClassifiers xsi:type="ecore:EClass" name="NamedObject" eSuperTypes="#//Object"> 35 <eClassifiers xsi:type="ecore:EClass" name="NamedObject" eSuperTypes="#//Object #//Literal">
36 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> 36 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
37 </eClassifiers> 37 </eClassifiers>
38 <eClassifiers xsi:type="ecore:EClass" name="UnnamedObject" eSuperTypes="#//Object"> 38 <eClassifiers xsi:type="ecore:EClass" name="UnnamedObject" eSuperTypes="#//Object">
@@ -53,18 +53,14 @@
53 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> 53 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
54 </eClassifiers> 54 </eClassifiers>
55 <eClassifiers xsi:type="ecore:EClass" name="Predicate" eSuperTypes="#//Statement"> 55 <eClassifiers xsi:type="ecore:EClass" name="Predicate" eSuperTypes="#//Statement">
56 <eStructuralFeatures xsi:type="ecore:EAttribute" name="isError" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
57 <eStructuralFeatures xsi:type="ecore:EReference" name="symbol" eType="#//ModelSymbol"
58 containment="true"/>
56 <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1" 59 <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
57 eType="#//Parameter" containment="true"/> 60 eType="#//Parameter" containment="true"/>
58 <eStructuralFeatures xsi:type="ecore:EReference" name="bodies" upperBound="-1" 61 <eStructuralFeatures xsi:type="ecore:EReference" name="bodies" upperBound="-1"
59 eType="#//PatternBody" containment="true"/> 62 eType="#//PatternBody" containment="true"/>
60 </eClassifiers> 63 </eClassifiers>
61 <eClassifiers xsi:type="ecore:EClass" name="PredicateSymbol" eSuperTypes="#//Predicate">
62 <eStructuralFeatures xsi:type="ecore:EReference" name="symbol" eType="#//ModelSymbol"
63 containment="true"/>
64 </eClassifiers>
65 <eClassifiers xsi:type="ecore:EClass" name="ErrorPredicate" eSuperTypes="#//Predicate">
66 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
67 </eClassifiers>
68 <eClassifiers xsi:type="ecore:EClass" name="Parameter"> 64 <eClassifiers xsi:type="ecore:EClass" name="Parameter">
69 <eStructuralFeatures xsi:type="ecore:EReference" name="variable" eType="#//Variable" 65 <eStructuralFeatures xsi:type="ecore:EReference" name="variable" eType="#//Variable"
70 containment="true"/> 66 containment="true"/>
diff --git a/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.genmodel b/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.genmodel
index c593e886..1da7a172 100644
--- a/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.genmodel
+++ b/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.genmodel
@@ -52,15 +52,11 @@
52 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//StringObject/value"/> 52 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//StringObject/value"/>
53 </genClasses> 53 </genClasses>
54 <genClasses ecoreClass="SolverLanguage.ecore#//Predicate"> 54 <genClasses ecoreClass="SolverLanguage.ecore#//Predicate">
55 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//Predicate/isError"/>
56 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Predicate/symbol"/>
55 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Predicate/parameters"/> 57 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Predicate/parameters"/>
56 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Predicate/bodies"/> 58 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Predicate/bodies"/>
57 </genClasses> 59 </genClasses>
58 <genClasses ecoreClass="SolverLanguage.ecore#//PredicateSymbol">
59 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//PredicateSymbol/symbol"/>
60 </genClasses>
61 <genClasses ecoreClass="SolverLanguage.ecore#//ErrorPredicate">
62 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ErrorPredicate/name"/>
63 </genClasses>
64 <genClasses ecoreClass="SolverLanguage.ecore#//Parameter"> 60 <genClasses ecoreClass="SolverLanguage.ecore#//Parameter">
65 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Parameter/variable"/> 61 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Parameter/variable"/>
66 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Parameter/type"/> 62 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Parameter/type"/>
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguage.xtextbin b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguage.xtextbin
index 20f3e983..c999caec 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguage.xtextbin
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguage.xtextbin
Binary files differ
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.g b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.g
index afd73c2d..501e2e59 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.g
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.g
@@ -410,43 +410,72 @@ ruleBasicInterpretation returns [EObject current=null]
410 } 410 }
411 ) 411 )
412 ) 412 )
413 otherlv_1='('
414 {
415 newLeafNode(otherlv_1, grammarAccess.getBasicInterpretationAccess().getLeftParenthesisKeyword_1());
416 }
417 ( 413 (
414 otherlv_1='('
415 {
416 newLeafNode(otherlv_1, grammarAccess.getBasicInterpretationAccess().getLeftParenthesisKeyword_1_0());
417 }
418 ( 418 (
419 { 419 (
420 newCompositeNode(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_2_0()); 420 (
421 } 421 {
422 lv_objects_2_0=ruleComplexObject 422 newCompositeNode(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_0_0());
423 { 423 }
424 if ($current==null) { 424 lv_objects_2_0=ruleComplexObject
425 $current = createModelElementForParent(grammarAccess.getBasicInterpretationRule()); 425 {
426 if ($current==null) {
427 $current = createModelElementForParent(grammarAccess.getBasicInterpretationRule());
428 }
429 add(
430 $current,
431 "objects",
432 lv_objects_2_0,
433 "org.eclipse.viatra.solver.language.SolverLanguage.ComplexObject");
434 afterParserOrEnumRuleCall();
435 }
436 )
437 )
438 (
439 otherlv_3=','
440 {
441 newLeafNode(otherlv_3, grammarAccess.getBasicInterpretationAccess().getCommaKeyword_1_1_1_0());
426 } 442 }
427 add( 443 (
428 $current, 444 (
429 "objects", 445 {
430 lv_objects_2_0, 446 newCompositeNode(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_1_1_0());
431 "org.eclipse.viatra.solver.language.SolverLanguage.ComplexObject"); 447 }
432 afterParserOrEnumRuleCall(); 448 lv_objects_4_0=ruleComplexObject
433 } 449 {
434 ) 450 if ($current==null) {
435 )* 451 $current = createModelElementForParent(grammarAccess.getBasicInterpretationRule());
436 otherlv_3=')' 452 }
437 { 453 add(
438 newLeafNode(otherlv_3, grammarAccess.getBasicInterpretationAccess().getRightParenthesisKeyword_3()); 454 $current,
439 } 455 "objects",
440 otherlv_4=':' 456 lv_objects_4_0,
457 "org.eclipse.viatra.solver.language.SolverLanguage.ComplexObject");
458 afterParserOrEnumRuleCall();
459 }
460 )
461 )
462 )*
463 )?
464 otherlv_5=')'
465 {
466 newLeafNode(otherlv_5, grammarAccess.getBasicInterpretationAccess().getRightParenthesisKeyword_1_2());
467 }
468 )?
469 otherlv_6=':'
441 { 470 {
442 newLeafNode(otherlv_4, grammarAccess.getBasicInterpretationAccess().getColonKeyword_4()); 471 newLeafNode(otherlv_6, grammarAccess.getBasicInterpretationAccess().getColonKeyword_2());
443 } 472 }
444 ( 473 (
445 ( 474 (
446 { 475 {
447 newCompositeNode(grammarAccess.getBasicInterpretationAccess().getValueTruthValueParserRuleCall_5_0()); 476 newCompositeNode(grammarAccess.getBasicInterpretationAccess().getValueTruthValueParserRuleCall_3_0());
448 } 477 }
449 lv_value_5_0=ruleTruthValue 478 lv_value_7_0=ruleTruthValue
450 { 479 {
451 if ($current==null) { 480 if ($current==null) {
452 $current = createModelElementForParent(grammarAccess.getBasicInterpretationRule()); 481 $current = createModelElementForParent(grammarAccess.getBasicInterpretationRule());
@@ -454,7 +483,7 @@ ruleBasicInterpretation returns [EObject current=null]
454 set( 483 set(
455 $current, 484 $current,
456 "value", 485 "value",
457 lv_value_5_0, 486 lv_value_7_0,
458 "org.eclipse.viatra.solver.language.SolverLanguage.TruthValue"); 487 "org.eclipse.viatra.solver.language.SolverLanguage.TruthValue");
459 afterParserOrEnumRuleCall(); 488 afterParserOrEnumRuleCall();
460 } 489 }
@@ -1196,279 +1225,144 @@ rulePredicate returns [EObject current=null]
1196 leaveRule(); 1225 leaveRule();
1197}: 1226}:
1198 ( 1227 (
1199 {
1200 newCompositeNode(grammarAccess.getPredicateAccess().getPredicateSymbolParserRuleCall_0());
1201 }
1202 this_PredicateSymbol_0=rulePredicateSymbol
1203 {
1204 $current = $this_PredicateSymbol_0.current;
1205 afterParserOrEnumRuleCall();
1206 }
1207 |
1208 {
1209 newCompositeNode(grammarAccess.getPredicateAccess().getErrorPredicateParserRuleCall_1());
1210 }
1211 this_ErrorPredicate_1=ruleErrorPredicate
1212 {
1213 $current = $this_ErrorPredicate_1.current;
1214 afterParserOrEnumRuleCall();
1215 }
1216 )
1217;
1218
1219// Entry rule entryRulePredicateSymbol
1220entryRulePredicateSymbol returns [EObject current=null]:
1221 { newCompositeNode(grammarAccess.getPredicateSymbolRule()); }
1222 iv_rulePredicateSymbol=rulePredicateSymbol
1223 { $current=$iv_rulePredicateSymbol.current; }
1224 EOF;
1225
1226// Rule PredicateSymbol
1227rulePredicateSymbol returns [EObject current=null]
1228@init {
1229 enterRule();
1230}
1231@after {
1232 leaveRule();
1233}:
1234 (
1235 otherlv_0='predicate'
1236 {
1237 newLeafNode(otherlv_0, grammarAccess.getPredicateSymbolAccess().getPredicateKeyword_0());
1238 }
1239 ( 1228 (
1240 ( 1229 (
1230 lv_isError_0_0='error'
1241 { 1231 {
1242 newCompositeNode(grammarAccess.getPredicateSymbolAccess().getSymbolModelSymbolParserRuleCall_1_0()); 1232 newLeafNode(lv_isError_0_0, grammarAccess.getPredicateAccess().getIsErrorErrorKeyword_0_0());
1243 } 1233 }
1244 lv_symbol_1_0=ruleModelSymbol
1245 { 1234 {
1246 if ($current==null) { 1235 if ($current==null) {
1247 $current = createModelElementForParent(grammarAccess.getPredicateSymbolRule()); 1236 $current = createModelElement(grammarAccess.getPredicateRule());
1248 } 1237 }
1249 set( 1238 setWithLastConsumed($current, "isError", true, "error");
1250 $current,
1251 "symbol",
1252 lv_symbol_1_0,
1253 "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol");
1254 afterParserOrEnumRuleCall();
1255 } 1239 }
1256 ) 1240 )
1257 ) 1241 )?
1258 otherlv_2='('
1259 {
1260 newLeafNode(otherlv_2, grammarAccess.getPredicateSymbolAccess().getLeftParenthesisKeyword_2());
1261 }
1262 ( 1242 (
1263 ( 1243 (
1264 { 1244 {
1265 newCompositeNode(grammarAccess.getPredicateSymbolAccess().getParametersParameterParserRuleCall_3_0()); 1245 newCompositeNode(grammarAccess.getPredicateAccess().getSymbolModelSymbolParserRuleCall_1_0());
1266 } 1246 }
1267 lv_parameters_3_0=ruleParameter 1247 lv_symbol_1_0=ruleModelSymbol
1268 { 1248 {
1269 if ($current==null) { 1249 if ($current==null) {
1270 $current = createModelElementForParent(grammarAccess.getPredicateSymbolRule()); 1250 $current = createModelElementForParent(grammarAccess.getPredicateRule());
1271 } 1251 }
1272 add( 1252 set(
1273 $current, 1253 $current,
1274 "parameters", 1254 "symbol",
1275 lv_parameters_3_0, 1255 lv_symbol_1_0,
1276 "org.eclipse.viatra.solver.language.SolverLanguage.Parameter"); 1256 "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol");
1277 afterParserOrEnumRuleCall(); 1257 afterParserOrEnumRuleCall();
1278 } 1258 }
1279 ) 1259 )
1280 )* 1260 )
1281 otherlv_4=')'
1282 {
1283 newLeafNode(otherlv_4, grammarAccess.getPredicateSymbolAccess().getRightParenthesisKeyword_4());
1284 }
1285 otherlv_5=':'
1286 {
1287 newLeafNode(otherlv_5, grammarAccess.getPredicateSymbolAccess().getColonKeyword_5());
1288 }
1289 ( 1261 (
1290 otherlv_6='false' 1262 otherlv_2='('
1291 { 1263 {
1292 newLeafNode(otherlv_6, grammarAccess.getPredicateSymbolAccess().getFalseKeyword_6_0()); 1264 newLeafNode(otherlv_2, grammarAccess.getPredicateAccess().getLeftParenthesisKeyword_2_0());
1293 } 1265 }
1294 |
1295 ( 1266 (
1296 ( 1267 (
1297 ( 1268 (
1298 { 1269 {
1299 newCompositeNode(grammarAccess.getPredicateSymbolAccess().getBodiesPatternBodyParserRuleCall_6_1_0_0()); 1270 newCompositeNode(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_0_0());
1300 } 1271 }
1301 lv_bodies_7_0=rulePatternBody 1272 lv_parameters_3_0=ruleParameter
1302 { 1273 {
1303 if ($current==null) { 1274 if ($current==null) {
1304 $current = createModelElementForParent(grammarAccess.getPredicateSymbolRule()); 1275 $current = createModelElementForParent(grammarAccess.getPredicateRule());
1305 } 1276 }
1306 add( 1277 add(
1307 $current, 1278 $current,
1308 "bodies", 1279 "parameters",
1309 lv_bodies_7_0, 1280 lv_parameters_3_0,
1310 "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody"); 1281 "org.eclipse.viatra.solver.language.SolverLanguage.Parameter");
1311 afterParserOrEnumRuleCall(); 1282 afterParserOrEnumRuleCall();
1312 } 1283 }
1313 ) 1284 )
1314 ) 1285 )
1315 ( 1286 (
1316 otherlv_8='|' 1287 otherlv_4=','
1317 { 1288 {
1318 newLeafNode(otherlv_8, grammarAccess.getPredicateSymbolAccess().getVerticalLineKeyword_6_1_1_0()); 1289 newLeafNode(otherlv_4, grammarAccess.getPredicateAccess().getCommaKeyword_2_1_1_0());
1319 } 1290 }
1320 ( 1291 (
1321 ( 1292 (
1322 { 1293 {
1323 newCompositeNode(grammarAccess.getPredicateSymbolAccess().getBodiesPatternBodyParserRuleCall_6_1_1_1_0()); 1294 newCompositeNode(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_1_1_0());
1324 } 1295 }
1325 lv_bodies_9_0=rulePatternBody 1296 lv_parameters_5_0=ruleParameter
1326 { 1297 {
1327 if ($current==null) { 1298 if ($current==null) {
1328 $current = createModelElementForParent(grammarAccess.getPredicateSymbolRule()); 1299 $current = createModelElementForParent(grammarAccess.getPredicateRule());
1329 } 1300 }
1330 add( 1301 add(
1331 $current, 1302 $current,
1332 "bodies", 1303 "parameters",
1333 lv_bodies_9_0, 1304 lv_parameters_5_0,
1334 "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody"); 1305 "org.eclipse.viatra.solver.language.SolverLanguage.Parameter");
1335 afterParserOrEnumRuleCall(); 1306 afterParserOrEnumRuleCall();
1336 } 1307 }
1337 ) 1308 )
1338 ) 1309 )
1339 )* 1310 )*
1340 ) 1311 )?
1341 ) 1312 otherlv_6=')'
1342 otherlv_10='.'
1343 {
1344 newLeafNode(otherlv_10, grammarAccess.getPredicateSymbolAccess().getFullStopKeyword_7());
1345 }
1346 )
1347;
1348
1349// Entry rule entryRuleErrorPredicate
1350entryRuleErrorPredicate returns [EObject current=null]:
1351 { newCompositeNode(grammarAccess.getErrorPredicateRule()); }
1352 iv_ruleErrorPredicate=ruleErrorPredicate
1353 { $current=$iv_ruleErrorPredicate.current; }
1354 EOF;
1355
1356// Rule ErrorPredicate
1357ruleErrorPredicate returns [EObject current=null]
1358@init {
1359 enterRule();
1360}
1361@after {
1362 leaveRule();
1363}:
1364 (
1365 (
1366 { 1313 {
1367 $current = forceCreateModelElement( 1314 newLeafNode(otherlv_6, grammarAccess.getPredicateAccess().getRightParenthesisKeyword_2_2());
1368 grammarAccess.getErrorPredicateAccess().getErrorPredicateAction_0(),
1369 $current);
1370 } 1315 }
1371 )
1372 otherlv_1='error'
1373 {
1374 newLeafNode(otherlv_1, grammarAccess.getErrorPredicateAccess().getErrorKeyword_1());
1375 }
1376 (
1377 (
1378 lv_name_2_0=RULE_ID
1379 {
1380 newLeafNode(lv_name_2_0, grammarAccess.getErrorPredicateAccess().getNameIDTerminalRuleCall_2_0());
1381 }
1382 {
1383 if ($current==null) {
1384 $current = createModelElement(grammarAccess.getErrorPredicateRule());
1385 }
1386 setWithLastConsumed(
1387 $current,
1388 "name",
1389 lv_name_2_0,
1390 "org.eclipse.xtext.common.Terminals.ID");
1391 }
1392 )
1393 )? 1316 )?
1394 ( 1317 otherlv_7=':-'
1395 otherlv_3='('
1396 {
1397 newLeafNode(otherlv_3, grammarAccess.getErrorPredicateAccess().getLeftParenthesisKeyword_3_0());
1398 }
1399 (
1400 (
1401 {
1402 newCompositeNode(grammarAccess.getErrorPredicateAccess().getParametersParameterParserRuleCall_3_1_0());
1403 }
1404 lv_parameters_4_0=ruleParameter
1405 {
1406 if ($current==null) {
1407 $current = createModelElementForParent(grammarAccess.getErrorPredicateRule());
1408 }
1409 add(
1410 $current,
1411 "parameters",
1412 lv_parameters_4_0,
1413 "org.eclipse.viatra.solver.language.SolverLanguage.Parameter");
1414 afterParserOrEnumRuleCall();
1415 }
1416 )
1417 )*
1418 otherlv_5=')'
1419 {
1420 newLeafNode(otherlv_5, grammarAccess.getErrorPredicateAccess().getRightParenthesisKeyword_3_2());
1421 }
1422 )
1423 otherlv_6=':'
1424 { 1318 {
1425 newLeafNode(otherlv_6, grammarAccess.getErrorPredicateAccess().getColonKeyword_4()); 1319 newLeafNode(otherlv_7, grammarAccess.getPredicateAccess().getColonHyphenMinusKeyword_3());
1426 } 1320 }
1427 ( 1321 (
1428 otherlv_7='false' 1322 otherlv_8='false'
1429 { 1323 {
1430 newLeafNode(otherlv_7, grammarAccess.getErrorPredicateAccess().getFalseKeyword_5_0()); 1324 newLeafNode(otherlv_8, grammarAccess.getPredicateAccess().getFalseKeyword_4_0());
1431 } 1325 }
1432 | 1326 |
1433 ( 1327 (
1434 ( 1328 (
1435 ( 1329 (
1436 { 1330 {
1437 newCompositeNode(grammarAccess.getErrorPredicateAccess().getBodiesPatternBodyParserRuleCall_5_1_0_0()); 1331 newCompositeNode(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_0_0());
1438 } 1332 }
1439 lv_bodies_8_0=rulePatternBody 1333 lv_bodies_9_0=rulePatternBody
1440 { 1334 {
1441 if ($current==null) { 1335 if ($current==null) {
1442 $current = createModelElementForParent(grammarAccess.getErrorPredicateRule()); 1336 $current = createModelElementForParent(grammarAccess.getPredicateRule());
1443 } 1337 }
1444 add( 1338 add(
1445 $current, 1339 $current,
1446 "bodies", 1340 "bodies",
1447 lv_bodies_8_0, 1341 lv_bodies_9_0,
1448 "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody"); 1342 "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody");
1449 afterParserOrEnumRuleCall(); 1343 afterParserOrEnumRuleCall();
1450 } 1344 }
1451 ) 1345 )
1452 ) 1346 )
1453 ( 1347 (
1454 otherlv_9='|' 1348 otherlv_10='|'
1455 { 1349 {
1456 newLeafNode(otherlv_9, grammarAccess.getErrorPredicateAccess().getVerticalLineKeyword_5_1_1_0()); 1350 newLeafNode(otherlv_10, grammarAccess.getPredicateAccess().getVerticalLineKeyword_4_1_1_0());
1457 } 1351 }
1458 ( 1352 (
1459 ( 1353 (
1460 { 1354 {
1461 newCompositeNode(grammarAccess.getErrorPredicateAccess().getBodiesPatternBodyParserRuleCall_5_1_1_1_0()); 1355 newCompositeNode(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_1_1_0());
1462 } 1356 }
1463 lv_bodies_10_0=rulePatternBody 1357 lv_bodies_11_0=rulePatternBody
1464 { 1358 {
1465 if ($current==null) { 1359 if ($current==null) {
1466 $current = createModelElementForParent(grammarAccess.getErrorPredicateRule()); 1360 $current = createModelElementForParent(grammarAccess.getPredicateRule());
1467 } 1361 }
1468 add( 1362 add(
1469 $current, 1363 $current,
1470 "bodies", 1364 "bodies",
1471 lv_bodies_10_0, 1365 lv_bodies_11_0,
1472 "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody"); 1366 "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody");
1473 afterParserOrEnumRuleCall(); 1367 afterParserOrEnumRuleCall();
1474 } 1368 }
@@ -1477,9 +1371,9 @@ ruleErrorPredicate returns [EObject current=null]
1477 )* 1371 )*
1478 ) 1372 )
1479 ) 1373 )
1480 otherlv_11='.' 1374 otherlv_12='.'
1481 { 1375 {
1482 newLeafNode(otherlv_11, grammarAccess.getErrorPredicateAccess().getFullStopKeyword_6()); 1376 newLeafNode(otherlv_12, grammarAccess.getPredicateAccess().getFullStopKeyword_5());
1483 } 1377 }
1484 ) 1378 )
1485; 1379;
@@ -1663,52 +1557,52 @@ ruleConstraint returns [EObject current=null]
1663 ( 1557 (
1664 ( 1558 (
1665 ( 1559 (
1666 { 1560 (
1667 newCompositeNode(grammarAccess.getConstraintAccess().getPolarityPolarityParserRuleCall_0_0()); 1561 {
1668 } 1562 newCompositeNode(grammarAccess.getConstraintAccess().getPolarityPolarityParserRuleCall_0_0_0());
1669 lv_polarity_0_0=rulePolarity
1670 {
1671 if ($current==null) {
1672 $current = createModelElementForParent(grammarAccess.getConstraintRule());
1673 } 1563 }
1674 set( 1564 lv_polarity_0_0=rulePolarity
1675 $current, 1565 {
1676 "polarity", 1566 if ($current==null) {
1677 lv_polarity_0_0, 1567 $current = createModelElementForParent(grammarAccess.getConstraintRule());
1678 "org.eclipse.viatra.solver.language.SolverLanguage.Polarity"); 1568 }
1679 afterParserOrEnumRuleCall(); 1569 set(
1680 } 1570 $current,
1681 ) 1571 "polarity",
1682 )? 1572 lv_polarity_0_0,
1683 ( 1573 "org.eclipse.viatra.solver.language.SolverLanguage.Polarity");
1574 afterParserOrEnumRuleCall();
1575 }
1576 )
1577 )?
1684 ( 1578 (
1685 { 1579 (
1686 newCompositeNode(grammarAccess.getConstraintAccess().getSymbolModelSymbolParserRuleCall_1_0()); 1580 {
1687 } 1581 newCompositeNode(grammarAccess.getConstraintAccess().getSymbolModelSymbolParserRuleCall_0_1_0());
1688 lv_symbol_1_0=ruleModelSymbol
1689 {
1690 if ($current==null) {
1691 $current = createModelElementForParent(grammarAccess.getConstraintRule());
1692 } 1582 }
1693 set( 1583 lv_symbol_1_0=ruleModelSymbol
1694 $current, 1584 {
1695 "symbol", 1585 if ($current==null) {
1696 lv_symbol_1_0, 1586 $current = createModelElementForParent(grammarAccess.getConstraintRule());
1697 "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); 1587 }
1698 afterParserOrEnumRuleCall(); 1588 set(
1699 } 1589 $current,
1590 "symbol",
1591 lv_symbol_1_0,
1592 "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol");
1593 afterParserOrEnumRuleCall();
1594 }
1595 )
1700 ) 1596 )
1701 )
1702 (
1703 ( 1597 (
1704 otherlv_2='(' 1598 otherlv_2='('
1705 { 1599 {
1706 newLeafNode(otherlv_2, grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_2_0_0()); 1600 newLeafNode(otherlv_2, grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_0_2_0());
1707 } 1601 }
1708 ( 1602 (
1709 ( 1603 (
1710 { 1604 {
1711 newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_2_0_1_0()); 1605 newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_1_0());
1712 } 1606 }
1713 lv_params_3_0=ruleLiteral 1607 lv_params_3_0=ruleLiteral
1714 { 1608 {
@@ -1723,62 +1617,93 @@ ruleConstraint returns [EObject current=null]
1723 afterParserOrEnumRuleCall(); 1617 afterParserOrEnumRuleCall();
1724 } 1618 }
1725 ) 1619 )
1726 )* 1620 )?
1727 otherlv_4=')'
1728 {
1729 newLeafNode(otherlv_4, grammarAccess.getConstraintAccess().getRightParenthesisKeyword_2_0_2());
1730 }
1731 )
1732 |
1733 (
1734 ( 1621 (
1622 otherlv_4=','
1623 {
1624 newLeafNode(otherlv_4, grammarAccess.getConstraintAccess().getCommaKeyword_0_2_2_0());
1625 }
1735 ( 1626 (
1736 { 1627 (
1737 newCompositeNode(grammarAccess.getConstraintAccess().getClosureTypeClosureTypeParserRuleCall_2_1_0_0()); 1628 {
1738 } 1629 newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_2_1_0());
1739 lv_closureType_5_0=ruleClosureType
1740 {
1741 if ($current==null) {
1742 $current = createModelElementForParent(grammarAccess.getConstraintRule());
1743 } 1630 }
1744 set( 1631 lv_params_5_0=ruleLiteral
1745 $current, 1632 {
1746 "closureType", 1633 if ($current==null) {
1747 lv_closureType_5_0, 1634 $current = createModelElementForParent(grammarAccess.getConstraintRule());
1748 "org.eclipse.viatra.solver.language.SolverLanguage.ClosureType"); 1635 }
1749 afterParserOrEnumRuleCall(); 1636 add(
1750 } 1637 $current,
1638 "params",
1639 lv_params_5_0,
1640 "org.eclipse.viatra.solver.language.SolverLanguage.Literal");
1641 afterParserOrEnumRuleCall();
1642 }
1643 )
1751 ) 1644 )
1752 ) 1645 )*
1753 otherlv_6='(' 1646 otherlv_6=')'
1754 { 1647 {
1755 newLeafNode(otherlv_6, grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_2_1_1()); 1648 newLeafNode(otherlv_6, grammarAccess.getConstraintAccess().getRightParenthesisKeyword_0_2_3());
1756 } 1649 }
1650 )?
1651 )
1652 |
1653 (
1654 (
1757 ( 1655 (
1758 ( 1656 {
1759 { 1657 newCompositeNode(grammarAccess.getConstraintAccess().getClosureTypeClosureTypeParserRuleCall_1_0_0());
1760 newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_2_1_2_0()); 1658 }
1659 lv_closureType_7_0=ruleClosureType
1660 {
1661 if ($current==null) {
1662 $current = createModelElementForParent(grammarAccess.getConstraintRule());
1761 } 1663 }
1762 lv_params_7_0=ruleLiteral 1664 set(
1763 { 1665 $current,
1764 if ($current==null) { 1666 "closureType",
1765 $current = createModelElementForParent(grammarAccess.getConstraintRule()); 1667 lv_closureType_7_0,
1766 } 1668 "org.eclipse.viatra.solver.language.SolverLanguage.ClosureType");
1767 add( 1669 afterParserOrEnumRuleCall();
1768 $current, 1670 }
1769 "params", 1671 )
1770 lv_params_7_0, 1672 )
1771 "org.eclipse.viatra.solver.language.SolverLanguage.Literal"); 1673 otherlv_8='('
1772 afterParserOrEnumRuleCall(); 1674 {
1675 newLeafNode(otherlv_8, grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_1_1());
1676 }
1677 (
1678 (
1679 {
1680 newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_2_0());
1681 }
1682 lv_params_9_0=ruleLiteral
1683 {
1684 if ($current==null) {
1685 $current = createModelElementForParent(grammarAccess.getConstraintRule());
1773 } 1686 }
1774 ) 1687 add(
1688 $current,
1689 "params",
1690 lv_params_9_0,
1691 "org.eclipse.viatra.solver.language.SolverLanguage.Literal");
1692 afterParserOrEnumRuleCall();
1693 }
1775 ) 1694 )
1695 )?
1696 (
1697 otherlv_10=','
1698 {
1699 newLeafNode(otherlv_10, grammarAccess.getConstraintAccess().getCommaKeyword_1_3_0());
1700 }
1776 ( 1701 (
1777 ( 1702 (
1778 { 1703 {
1779 newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_2_1_3_0()); 1704 newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_3_1_0());
1780 } 1705 }
1781 lv_params_8_0=ruleLiteral 1706 lv_params_11_0=ruleLiteral
1782 { 1707 {
1783 if ($current==null) { 1708 if ($current==null) {
1784 $current = createModelElementForParent(grammarAccess.getConstraintRule()); 1709 $current = createModelElementForParent(grammarAccess.getConstraintRule());
@@ -1786,17 +1711,17 @@ ruleConstraint returns [EObject current=null]
1786 add( 1711 add(
1787 $current, 1712 $current,
1788 "params", 1713 "params",
1789 lv_params_8_0, 1714 lv_params_11_0,
1790 "org.eclipse.viatra.solver.language.SolverLanguage.Literal"); 1715 "org.eclipse.viatra.solver.language.SolverLanguage.Literal");
1791 afterParserOrEnumRuleCall(); 1716 afterParserOrEnumRuleCall();
1792 } 1717 }
1793 ) 1718 )
1794 ) 1719 )
1795 otherlv_9=')' 1720 )*
1796 { 1721 otherlv_12=')'
1797 newLeafNode(otherlv_9, grammarAccess.getConstraintAccess().getRightParenthesisKeyword_2_1_4()); 1722 {
1798 } 1723 newLeafNode(otherlv_12, grammarAccess.getConstraintAccess().getRightParenthesisKeyword_1_4());
1799 ) 1724 }
1800 ) 1725 )
1801 ) 1726 )
1802; 1727;
@@ -1880,6 +1805,15 @@ ruleLiteral returns [EObject current=null]
1880 $current = $this_DataObject_1.current; 1805 $current = $this_DataObject_1.current;
1881 afterParserOrEnumRuleCall(); 1806 afterParserOrEnumRuleCall();
1882 } 1807 }
1808 |
1809 {
1810 newCompositeNode(grammarAccess.getLiteralAccess().getNamedObjectParserRuleCall_2());
1811 }
1812 this_NamedObject_2=ruleNamedObject
1813 {
1814 $current = $this_NamedObject_2.current;
1815 afterParserOrEnumRuleCall();
1816 }
1883 ) 1817 )
1884; 1818;
1885 1819
@@ -2106,7 +2040,7 @@ ruleClassInterpretation returns [EObject current=null]
2106 setWithLastConsumed($current, "abstract", true, "abstract"); 2040 setWithLastConsumed($current, "abstract", true, "abstract");
2107 } 2041 }
2108 ) 2042 )
2109 ) 2043 )?
2110 otherlv_1='class' 2044 otherlv_1='class'
2111 { 2045 {
2112 newLeafNode(otherlv_1, grammarAccess.getClassInterpretationAccess().getClassKeyword_1()); 2046 newLeafNode(otherlv_1, grammarAccess.getClassInterpretationAccess().getClassKeyword_1());
@@ -2283,7 +2217,7 @@ ruleFieldRelationInterpretation returns [EObject current=null]
2283 setWithLastConsumed($current, "containment", true, "containment"); 2217 setWithLastConsumed($current, "containment", true, "containment");
2284 } 2218 }
2285 ) 2219 )
2286 ) 2220 )?
2287 ( 2221 (
2288 ( 2222 (
2289 { 2223 {
@@ -2377,7 +2311,7 @@ ruleGlobalRelationInterpretation returns [EObject current=null]
2377 setWithLastConsumed($current, "containment", true, "containment"); 2311 setWithLastConsumed($current, "containment", true, "containment");
2378 } 2312 }
2379 ) 2313 )
2380 ) 2314 )?
2381 otherlv_1='relation' 2315 otherlv_1='relation'
2382 { 2316 {
2383 newLeafNode(otherlv_1, grammarAccess.getGlobalRelationInterpretationAccess().getRelationKeyword_1()); 2317 newLeafNode(otherlv_1, grammarAccess.getGlobalRelationInterpretationAccess().getRelationKeyword_1());
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.tokens b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.tokens
index 1abe7de4..5054ccc5 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.tokens
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguage.tokens
@@ -1,33 +1,34 @@
1'('=17 1'('=17
2')'=18 2')'=19
3'*'=30 3'*'=31
4'+'=29 4'+'=30
5','=18
5'-'=11 6'-'=11
6'.'=12 7'.'=12
7'..'=40 8'..'=41
8':'=19 9':'=20
9'\''=26 10':-'=28
10'abstract'=32 11'\''=27
11'bool'=22 12'abstract'=33
12'class'=33 13'bool'=23
13'containment'=38 14'class'=34
14'default'=31 15'containment'=39
15'enum'=37 16'default'=32
16'equals'=21 17'enum'=38
18'equals'=22
17'error'=16 19'error'=16
18'exists'=20 20'exists'=21
19'extends'=34 21'extends'=35
20'false'=14 22'false'=14
21'int'=23 23'int'=24
22'predicate'=27 24'real'=25
23'real'=24 25'relation'=40
24'relation'=39 26'string'=26
25'string'=25
26'true'=13 27'true'=13
27'unknown'=15 28'unknown'=15
28'{'=35 29'{'=36
29'|'=28 30'|'=29
30'}'=36 31'}'=37
31RULE_ANY_OTHER=10 32RULE_ANY_OTHER=10
32RULE_ID=5 33RULE_ID=5
33RULE_INT=4 34RULE_INT=4
@@ -65,3 +66,4 @@ T__37=37
65T__38=38 66T__38=38
66T__39=39 67T__39=39
67T__40=40 68T__40=40
69T__41=41
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageLexer.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageLexer.java
index f8cb627c..53c80216 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageLexer.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageLexer.java
@@ -48,6 +48,7 @@ public class InternalSolverLanguageLexer extends Lexer {
48 public static final int T__24=24; 48 public static final int T__24=24;
49 public static final int T__25=25; 49 public static final int T__25=25;
50 public static final int T__40=40; 50 public static final int T__40=40;
51 public static final int T__41=41;
51 public static final int T__20=20; 52 public static final int T__20=20;
52 public static final int T__21=21; 53 public static final int T__21=21;
53 54
@@ -213,10 +214,10 @@ public class InternalSolverLanguageLexer extends Lexer {
213 try { 214 try {
214 int _type = T__18; 215 int _type = T__18;
215 int _channel = DEFAULT_TOKEN_CHANNEL; 216 int _channel = DEFAULT_TOKEN_CHANNEL;
216 // InternalSolverLanguage.g:18:7: ( ')' ) 217 // InternalSolverLanguage.g:18:7: ( ',' )
217 // InternalSolverLanguage.g:18:9: ')' 218 // InternalSolverLanguage.g:18:9: ','
218 { 219 {
219 match(')'); 220 match(',');
220 221
221 } 222 }
222 223
@@ -233,10 +234,10 @@ public class InternalSolverLanguageLexer extends Lexer {
233 try { 234 try {
234 int _type = T__19; 235 int _type = T__19;
235 int _channel = DEFAULT_TOKEN_CHANNEL; 236 int _channel = DEFAULT_TOKEN_CHANNEL;
236 // InternalSolverLanguage.g:19:7: ( ':' ) 237 // InternalSolverLanguage.g:19:7: ( ')' )
237 // InternalSolverLanguage.g:19:9: ':' 238 // InternalSolverLanguage.g:19:9: ')'
238 { 239 {
239 match(':'); 240 match(')');
240 241
241 } 242 }
242 243
@@ -253,11 +254,10 @@ public class InternalSolverLanguageLexer extends Lexer {
253 try { 254 try {
254 int _type = T__20; 255 int _type = T__20;
255 int _channel = DEFAULT_TOKEN_CHANNEL; 256 int _channel = DEFAULT_TOKEN_CHANNEL;
256 // InternalSolverLanguage.g:20:7: ( 'exists' ) 257 // InternalSolverLanguage.g:20:7: ( ':' )
257 // InternalSolverLanguage.g:20:9: 'exists' 258 // InternalSolverLanguage.g:20:9: ':'
258 { 259 {
259 match("exists"); 260 match(':');
260
261 261
262 } 262 }
263 263
@@ -274,10 +274,10 @@ public class InternalSolverLanguageLexer extends Lexer {
274 try { 274 try {
275 int _type = T__21; 275 int _type = T__21;
276 int _channel = DEFAULT_TOKEN_CHANNEL; 276 int _channel = DEFAULT_TOKEN_CHANNEL;
277 // InternalSolverLanguage.g:21:7: ( 'equals' ) 277 // InternalSolverLanguage.g:21:7: ( 'exists' )
278 // InternalSolverLanguage.g:21:9: 'equals' 278 // InternalSolverLanguage.g:21:9: 'exists'
279 { 279 {
280 match("equals"); 280 match("exists");
281 281
282 282
283 } 283 }
@@ -295,10 +295,10 @@ public class InternalSolverLanguageLexer extends Lexer {
295 try { 295 try {
296 int _type = T__22; 296 int _type = T__22;
297 int _channel = DEFAULT_TOKEN_CHANNEL; 297 int _channel = DEFAULT_TOKEN_CHANNEL;
298 // InternalSolverLanguage.g:22:7: ( 'bool' ) 298 // InternalSolverLanguage.g:22:7: ( 'equals' )
299 // InternalSolverLanguage.g:22:9: 'bool' 299 // InternalSolverLanguage.g:22:9: 'equals'
300 { 300 {
301 match("bool"); 301 match("equals");
302 302
303 303
304 } 304 }
@@ -316,10 +316,10 @@ public class InternalSolverLanguageLexer extends Lexer {
316 try { 316 try {
317 int _type = T__23; 317 int _type = T__23;
318 int _channel = DEFAULT_TOKEN_CHANNEL; 318 int _channel = DEFAULT_TOKEN_CHANNEL;
319 // InternalSolverLanguage.g:23:7: ( 'int' ) 319 // InternalSolverLanguage.g:23:7: ( 'bool' )
320 // InternalSolverLanguage.g:23:9: 'int' 320 // InternalSolverLanguage.g:23:9: 'bool'
321 { 321 {
322 match("int"); 322 match("bool");
323 323
324 324
325 } 325 }
@@ -337,10 +337,10 @@ public class InternalSolverLanguageLexer extends Lexer {
337 try { 337 try {
338 int _type = T__24; 338 int _type = T__24;
339 int _channel = DEFAULT_TOKEN_CHANNEL; 339 int _channel = DEFAULT_TOKEN_CHANNEL;
340 // InternalSolverLanguage.g:24:7: ( 'real' ) 340 // InternalSolverLanguage.g:24:7: ( 'int' )
341 // InternalSolverLanguage.g:24:9: 'real' 341 // InternalSolverLanguage.g:24:9: 'int'
342 { 342 {
343 match("real"); 343 match("int");
344 344
345 345
346 } 346 }
@@ -358,10 +358,10 @@ public class InternalSolverLanguageLexer extends Lexer {
358 try { 358 try {
359 int _type = T__25; 359 int _type = T__25;
360 int _channel = DEFAULT_TOKEN_CHANNEL; 360 int _channel = DEFAULT_TOKEN_CHANNEL;
361 // InternalSolverLanguage.g:25:7: ( 'string' ) 361 // InternalSolverLanguage.g:25:7: ( 'real' )
362 // InternalSolverLanguage.g:25:9: 'string' 362 // InternalSolverLanguage.g:25:9: 'real'
363 { 363 {
364 match("string"); 364 match("real");
365 365
366 366
367 } 367 }
@@ -379,10 +379,11 @@ public class InternalSolverLanguageLexer extends Lexer {
379 try { 379 try {
380 int _type = T__26; 380 int _type = T__26;
381 int _channel = DEFAULT_TOKEN_CHANNEL; 381 int _channel = DEFAULT_TOKEN_CHANNEL;
382 // InternalSolverLanguage.g:26:7: ( '\\'' ) 382 // InternalSolverLanguage.g:26:7: ( 'string' )
383 // InternalSolverLanguage.g:26:9: '\\'' 383 // InternalSolverLanguage.g:26:9: 'string'
384 { 384 {
385 match('\''); 385 match("string");
386
386 387
387 } 388 }
388 389
@@ -399,11 +400,10 @@ public class InternalSolverLanguageLexer extends Lexer {
399 try { 400 try {
400 int _type = T__27; 401 int _type = T__27;
401 int _channel = DEFAULT_TOKEN_CHANNEL; 402 int _channel = DEFAULT_TOKEN_CHANNEL;
402 // InternalSolverLanguage.g:27:7: ( 'predicate' ) 403 // InternalSolverLanguage.g:27:7: ( '\\'' )
403 // InternalSolverLanguage.g:27:9: 'predicate' 404 // InternalSolverLanguage.g:27:9: '\\''
404 { 405 {
405 match("predicate"); 406 match('\'');
406
407 407
408 } 408 }
409 409
@@ -420,10 +420,11 @@ public class InternalSolverLanguageLexer extends Lexer {
420 try { 420 try {
421 int _type = T__28; 421 int _type = T__28;
422 int _channel = DEFAULT_TOKEN_CHANNEL; 422 int _channel = DEFAULT_TOKEN_CHANNEL;
423 // InternalSolverLanguage.g:28:7: ( '|' ) 423 // InternalSolverLanguage.g:28:7: ( ':-' )
424 // InternalSolverLanguage.g:28:9: '|' 424 // InternalSolverLanguage.g:28:9: ':-'
425 { 425 {
426 match('|'); 426 match(":-");
427
427 428
428 } 429 }
429 430
@@ -440,10 +441,10 @@ public class InternalSolverLanguageLexer extends Lexer {
440 try { 441 try {
441 int _type = T__29; 442 int _type = T__29;
442 int _channel = DEFAULT_TOKEN_CHANNEL; 443 int _channel = DEFAULT_TOKEN_CHANNEL;
443 // InternalSolverLanguage.g:29:7: ( '+' ) 444 // InternalSolverLanguage.g:29:7: ( '|' )
444 // InternalSolverLanguage.g:29:9: '+' 445 // InternalSolverLanguage.g:29:9: '|'
445 { 446 {
446 match('+'); 447 match('|');
447 448
448 } 449 }
449 450
@@ -460,10 +461,10 @@ public class InternalSolverLanguageLexer extends Lexer {
460 try { 461 try {
461 int _type = T__30; 462 int _type = T__30;
462 int _channel = DEFAULT_TOKEN_CHANNEL; 463 int _channel = DEFAULT_TOKEN_CHANNEL;
463 // InternalSolverLanguage.g:30:7: ( '*' ) 464 // InternalSolverLanguage.g:30:7: ( '+' )
464 // InternalSolverLanguage.g:30:9: '*' 465 // InternalSolverLanguage.g:30:9: '+'
465 { 466 {
466 match('*'); 467 match('+');
467 468
468 } 469 }
469 470
@@ -480,11 +481,10 @@ public class InternalSolverLanguageLexer extends Lexer {
480 try { 481 try {
481 int _type = T__31; 482 int _type = T__31;
482 int _channel = DEFAULT_TOKEN_CHANNEL; 483 int _channel = DEFAULT_TOKEN_CHANNEL;
483 // InternalSolverLanguage.g:31:7: ( 'default' ) 484 // InternalSolverLanguage.g:31:7: ( '*' )
484 // InternalSolverLanguage.g:31:9: 'default' 485 // InternalSolverLanguage.g:31:9: '*'
485 { 486 {
486 match("default"); 487 match('*');
487
488 488
489 } 489 }
490 490
@@ -501,10 +501,10 @@ public class InternalSolverLanguageLexer extends Lexer {
501 try { 501 try {
502 int _type = T__32; 502 int _type = T__32;
503 int _channel = DEFAULT_TOKEN_CHANNEL; 503 int _channel = DEFAULT_TOKEN_CHANNEL;
504 // InternalSolverLanguage.g:32:7: ( 'abstract' ) 504 // InternalSolverLanguage.g:32:7: ( 'default' )
505 // InternalSolverLanguage.g:32:9: 'abstract' 505 // InternalSolverLanguage.g:32:9: 'default'
506 { 506 {
507 match("abstract"); 507 match("default");
508 508
509 509
510 } 510 }
@@ -522,10 +522,10 @@ public class InternalSolverLanguageLexer extends Lexer {
522 try { 522 try {
523 int _type = T__33; 523 int _type = T__33;
524 int _channel = DEFAULT_TOKEN_CHANNEL; 524 int _channel = DEFAULT_TOKEN_CHANNEL;
525 // InternalSolverLanguage.g:33:7: ( 'class' ) 525 // InternalSolverLanguage.g:33:7: ( 'abstract' )
526 // InternalSolverLanguage.g:33:9: 'class' 526 // InternalSolverLanguage.g:33:9: 'abstract'
527 { 527 {
528 match("class"); 528 match("abstract");
529 529
530 530
531 } 531 }
@@ -543,10 +543,10 @@ public class InternalSolverLanguageLexer extends Lexer {
543 try { 543 try {
544 int _type = T__34; 544 int _type = T__34;
545 int _channel = DEFAULT_TOKEN_CHANNEL; 545 int _channel = DEFAULT_TOKEN_CHANNEL;
546 // InternalSolverLanguage.g:34:7: ( 'extends' ) 546 // InternalSolverLanguage.g:34:7: ( 'class' )
547 // InternalSolverLanguage.g:34:9: 'extends' 547 // InternalSolverLanguage.g:34:9: 'class'
548 { 548 {
549 match("extends"); 549 match("class");
550 550
551 551
552 } 552 }
@@ -564,10 +564,11 @@ public class InternalSolverLanguageLexer extends Lexer {
564 try { 564 try {
565 int _type = T__35; 565 int _type = T__35;
566 int _channel = DEFAULT_TOKEN_CHANNEL; 566 int _channel = DEFAULT_TOKEN_CHANNEL;
567 // InternalSolverLanguage.g:35:7: ( '{' ) 567 // InternalSolverLanguage.g:35:7: ( 'extends' )
568 // InternalSolverLanguage.g:35:9: '{' 568 // InternalSolverLanguage.g:35:9: 'extends'
569 { 569 {
570 match('{'); 570 match("extends");
571
571 572
572 } 573 }
573 574
@@ -584,10 +585,10 @@ public class InternalSolverLanguageLexer extends Lexer {
584 try { 585 try {
585 int _type = T__36; 586 int _type = T__36;
586 int _channel = DEFAULT_TOKEN_CHANNEL; 587 int _channel = DEFAULT_TOKEN_CHANNEL;
587 // InternalSolverLanguage.g:36:7: ( '}' ) 588 // InternalSolverLanguage.g:36:7: ( '{' )
588 // InternalSolverLanguage.g:36:9: '}' 589 // InternalSolverLanguage.g:36:9: '{'
589 { 590 {
590 match('}'); 591 match('{');
591 592
592 } 593 }
593 594
@@ -604,11 +605,10 @@ public class InternalSolverLanguageLexer extends Lexer {
604 try { 605 try {
605 int _type = T__37; 606 int _type = T__37;
606 int _channel = DEFAULT_TOKEN_CHANNEL; 607 int _channel = DEFAULT_TOKEN_CHANNEL;
607 // InternalSolverLanguage.g:37:7: ( 'enum' ) 608 // InternalSolverLanguage.g:37:7: ( '}' )
608 // InternalSolverLanguage.g:37:9: 'enum' 609 // InternalSolverLanguage.g:37:9: '}'
609 { 610 {
610 match("enum"); 611 match('}');
611
612 612
613 } 613 }
614 614
@@ -625,10 +625,10 @@ public class InternalSolverLanguageLexer extends Lexer {
625 try { 625 try {
626 int _type = T__38; 626 int _type = T__38;
627 int _channel = DEFAULT_TOKEN_CHANNEL; 627 int _channel = DEFAULT_TOKEN_CHANNEL;
628 // InternalSolverLanguage.g:38:7: ( 'containment' ) 628 // InternalSolverLanguage.g:38:7: ( 'enum' )
629 // InternalSolverLanguage.g:38:9: 'containment' 629 // InternalSolverLanguage.g:38:9: 'enum'
630 { 630 {
631 match("containment"); 631 match("enum");
632 632
633 633
634 } 634 }
@@ -646,10 +646,10 @@ public class InternalSolverLanguageLexer extends Lexer {
646 try { 646 try {
647 int _type = T__39; 647 int _type = T__39;
648 int _channel = DEFAULT_TOKEN_CHANNEL; 648 int _channel = DEFAULT_TOKEN_CHANNEL;
649 // InternalSolverLanguage.g:39:7: ( 'relation' ) 649 // InternalSolverLanguage.g:39:7: ( 'containment' )
650 // InternalSolverLanguage.g:39:9: 'relation' 650 // InternalSolverLanguage.g:39:9: 'containment'
651 { 651 {
652 match("relation"); 652 match("containment");
653 653
654 654
655 } 655 }
@@ -667,10 +667,10 @@ public class InternalSolverLanguageLexer extends Lexer {
667 try { 667 try {
668 int _type = T__40; 668 int _type = T__40;
669 int _channel = DEFAULT_TOKEN_CHANNEL; 669 int _channel = DEFAULT_TOKEN_CHANNEL;
670 // InternalSolverLanguage.g:40:7: ( '..' ) 670 // InternalSolverLanguage.g:40:7: ( 'relation' )
671 // InternalSolverLanguage.g:40:9: '..' 671 // InternalSolverLanguage.g:40:9: 'relation'
672 { 672 {
673 match(".."); 673 match("relation");
674 674
675 675
676 } 676 }
@@ -683,16 +683,37 @@ public class InternalSolverLanguageLexer extends Lexer {
683 } 683 }
684 // $ANTLR end "T__40" 684 // $ANTLR end "T__40"
685 685
686 // $ANTLR start "T__41"
687 public final void mT__41() throws RecognitionException {
688 try {
689 int _type = T__41;
690 int _channel = DEFAULT_TOKEN_CHANNEL;
691 // InternalSolverLanguage.g:41:7: ( '..' )
692 // InternalSolverLanguage.g:41:9: '..'
693 {
694 match("..");
695
696
697 }
698
699 state.type = _type;
700 state.channel = _channel;
701 }
702 finally {
703 }
704 }
705 // $ANTLR end "T__41"
706
686 // $ANTLR start "RULE_STRING" 707 // $ANTLR start "RULE_STRING"
687 public final void mRULE_STRING() throws RecognitionException { 708 public final void mRULE_STRING() throws RecognitionException {
688 try { 709 try {
689 int _type = RULE_STRING; 710 int _type = RULE_STRING;
690 int _channel = DEFAULT_TOKEN_CHANNEL; 711 int _channel = DEFAULT_TOKEN_CHANNEL;
691 // InternalSolverLanguage.g:2563:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' ) 712 // InternalSolverLanguage.g:2497:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' )
692 // InternalSolverLanguage.g:2563:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' 713 // InternalSolverLanguage.g:2497:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
693 { 714 {
694 match('\"'); 715 match('\"');
695 // InternalSolverLanguage.g:2563:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* 716 // InternalSolverLanguage.g:2497:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
696 loop1: 717 loop1:
697 do { 718 do {
698 int alt1=3; 719 int alt1=3;
@@ -708,7 +729,7 @@ public class InternalSolverLanguageLexer extends Lexer {
708 729
709 switch (alt1) { 730 switch (alt1) {
710 case 1 : 731 case 1 :
711 // InternalSolverLanguage.g:2563:20: '\\\\' . 732 // InternalSolverLanguage.g:2497:20: '\\\\' .
712 { 733 {
713 match('\\'); 734 match('\\');
714 matchAny(); 735 matchAny();
@@ -716,7 +737,7 @@ public class InternalSolverLanguageLexer extends Lexer {
716 } 737 }
717 break; 738 break;
718 case 2 : 739 case 2 :
719 // InternalSolverLanguage.g:2563:27: ~ ( ( '\\\\' | '\"' ) ) 740 // InternalSolverLanguage.g:2497:27: ~ ( ( '\\\\' | '\"' ) )
720 { 741 {
721 if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { 742 if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
722 input.consume(); 743 input.consume();
@@ -753,10 +774,10 @@ public class InternalSolverLanguageLexer extends Lexer {
753 try { 774 try {
754 int _type = RULE_ID; 775 int _type = RULE_ID;
755 int _channel = DEFAULT_TOKEN_CHANNEL; 776 int _channel = DEFAULT_TOKEN_CHANNEL;
756 // InternalSolverLanguage.g:2565:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) 777 // InternalSolverLanguage.g:2499:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
757 // InternalSolverLanguage.g:2565:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* 778 // InternalSolverLanguage.g:2499:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
758 { 779 {
759 // InternalSolverLanguage.g:2565:11: ( '^' )? 780 // InternalSolverLanguage.g:2499:11: ( '^' )?
760 int alt2=2; 781 int alt2=2;
761 int LA2_0 = input.LA(1); 782 int LA2_0 = input.LA(1);
762 783
@@ -765,7 +786,7 @@ public class InternalSolverLanguageLexer extends Lexer {
765 } 786 }
766 switch (alt2) { 787 switch (alt2) {
767 case 1 : 788 case 1 :
768 // InternalSolverLanguage.g:2565:11: '^' 789 // InternalSolverLanguage.g:2499:11: '^'
769 { 790 {
770 match('^'); 791 match('^');
771 792
@@ -783,7 +804,7 @@ public class InternalSolverLanguageLexer extends Lexer {
783 recover(mse); 804 recover(mse);
784 throw mse;} 805 throw mse;}
785 806
786 // InternalSolverLanguage.g:2565:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* 807 // InternalSolverLanguage.g:2499:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
787 loop3: 808 loop3:
788 do { 809 do {
789 int alt3=2; 810 int alt3=2;
@@ -832,10 +853,10 @@ public class InternalSolverLanguageLexer extends Lexer {
832 try { 853 try {
833 int _type = RULE_INT; 854 int _type = RULE_INT;
834 int _channel = DEFAULT_TOKEN_CHANNEL; 855 int _channel = DEFAULT_TOKEN_CHANNEL;
835 // InternalSolverLanguage.g:2567:10: ( ( '0' .. '9' )+ ) 856 // InternalSolverLanguage.g:2501:10: ( ( '0' .. '9' )+ )
836 // InternalSolverLanguage.g:2567:12: ( '0' .. '9' )+ 857 // InternalSolverLanguage.g:2501:12: ( '0' .. '9' )+
837 { 858 {
838 // InternalSolverLanguage.g:2567:12: ( '0' .. '9' )+ 859 // InternalSolverLanguage.g:2501:12: ( '0' .. '9' )+
839 int cnt4=0; 860 int cnt4=0;
840 loop4: 861 loop4:
841 do { 862 do {
@@ -849,7 +870,7 @@ public class InternalSolverLanguageLexer extends Lexer {
849 870
850 switch (alt4) { 871 switch (alt4) {
851 case 1 : 872 case 1 :
852 // InternalSolverLanguage.g:2567:13: '0' .. '9' 873 // InternalSolverLanguage.g:2501:13: '0' .. '9'
853 { 874 {
854 matchRange('0','9'); 875 matchRange('0','9');
855 876
@@ -881,12 +902,12 @@ public class InternalSolverLanguageLexer extends Lexer {
881 try { 902 try {
882 int _type = RULE_ML_COMMENT; 903 int _type = RULE_ML_COMMENT;
883 int _channel = DEFAULT_TOKEN_CHANNEL; 904 int _channel = DEFAULT_TOKEN_CHANNEL;
884 // InternalSolverLanguage.g:2569:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) 905 // InternalSolverLanguage.g:2503:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
885 // InternalSolverLanguage.g:2569:19: '/*' ( options {greedy=false; } : . )* '*/' 906 // InternalSolverLanguage.g:2503:19: '/*' ( options {greedy=false; } : . )* '*/'
886 { 907 {
887 match("/*"); 908 match("/*");
888 909
889 // InternalSolverLanguage.g:2569:24: ( options {greedy=false; } : . )* 910 // InternalSolverLanguage.g:2503:24: ( options {greedy=false; } : . )*
890 loop5: 911 loop5:
891 do { 912 do {
892 int alt5=2; 913 int alt5=2;
@@ -911,7 +932,7 @@ public class InternalSolverLanguageLexer extends Lexer {
911 932
912 switch (alt5) { 933 switch (alt5) {
913 case 1 : 934 case 1 :
914 // InternalSolverLanguage.g:2569:52: . 935 // InternalSolverLanguage.g:2503:52: .
915 { 936 {
916 matchAny(); 937 matchAny();
917 938
@@ -941,12 +962,12 @@ public class InternalSolverLanguageLexer extends Lexer {
941 try { 962 try {
942 int _type = RULE_SL_COMMENT; 963 int _type = RULE_SL_COMMENT;
943 int _channel = DEFAULT_TOKEN_CHANNEL; 964 int _channel = DEFAULT_TOKEN_CHANNEL;
944 // InternalSolverLanguage.g:2571:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) 965 // InternalSolverLanguage.g:2505:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
945 // InternalSolverLanguage.g:2571:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? 966 // InternalSolverLanguage.g:2505:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
946 { 967 {
947 match("//"); 968 match("//");
948 969
949 // InternalSolverLanguage.g:2571:24: (~ ( ( '\\n' | '\\r' ) ) )* 970 // InternalSolverLanguage.g:2505:24: (~ ( ( '\\n' | '\\r' ) ) )*
950 loop6: 971 loop6:
951 do { 972 do {
952 int alt6=2; 973 int alt6=2;
@@ -959,7 +980,7 @@ public class InternalSolverLanguageLexer extends Lexer {
959 980
960 switch (alt6) { 981 switch (alt6) {
961 case 1 : 982 case 1 :
962 // InternalSolverLanguage.g:2571:24: ~ ( ( '\\n' | '\\r' ) ) 983 // InternalSolverLanguage.g:2505:24: ~ ( ( '\\n' | '\\r' ) )
963 { 984 {
964 if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) { 985 if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
965 input.consume(); 986 input.consume();
@@ -979,7 +1000,7 @@ public class InternalSolverLanguageLexer extends Lexer {
979 } 1000 }
980 } while (true); 1001 } while (true);
981 1002
982 // InternalSolverLanguage.g:2571:40: ( ( '\\r' )? '\\n' )? 1003 // InternalSolverLanguage.g:2505:40: ( ( '\\r' )? '\\n' )?
983 int alt8=2; 1004 int alt8=2;
984 int LA8_0 = input.LA(1); 1005 int LA8_0 = input.LA(1);
985 1006
@@ -988,9 +1009,9 @@ public class InternalSolverLanguageLexer extends Lexer {
988 } 1009 }
989 switch (alt8) { 1010 switch (alt8) {
990 case 1 : 1011 case 1 :
991 // InternalSolverLanguage.g:2571:41: ( '\\r' )? '\\n' 1012 // InternalSolverLanguage.g:2505:41: ( '\\r' )? '\\n'
992 { 1013 {
993 // InternalSolverLanguage.g:2571:41: ( '\\r' )? 1014 // InternalSolverLanguage.g:2505:41: ( '\\r' )?
994 int alt7=2; 1015 int alt7=2;
995 int LA7_0 = input.LA(1); 1016 int LA7_0 = input.LA(1);
996 1017
@@ -999,7 +1020,7 @@ public class InternalSolverLanguageLexer extends Lexer {
999 } 1020 }
1000 switch (alt7) { 1021 switch (alt7) {
1001 case 1 : 1022 case 1 :
1002 // InternalSolverLanguage.g:2571:41: '\\r' 1023 // InternalSolverLanguage.g:2505:41: '\\r'
1003 { 1024 {
1004 match('\r'); 1025 match('\r');
1005 1026
@@ -1031,10 +1052,10 @@ public class InternalSolverLanguageLexer extends Lexer {
1031 try { 1052 try {
1032 int _type = RULE_WS; 1053 int _type = RULE_WS;
1033 int _channel = DEFAULT_TOKEN_CHANNEL; 1054 int _channel = DEFAULT_TOKEN_CHANNEL;
1034 // InternalSolverLanguage.g:2573:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) 1055 // InternalSolverLanguage.g:2507:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
1035 // InternalSolverLanguage.g:2573:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ 1056 // InternalSolverLanguage.g:2507:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
1036 { 1057 {
1037 // InternalSolverLanguage.g:2573:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ 1058 // InternalSolverLanguage.g:2507:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
1038 int cnt9=0; 1059 int cnt9=0;
1039 loop9: 1060 loop9:
1040 do { 1061 do {
@@ -1088,8 +1109,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1088 try { 1109 try {
1089 int _type = RULE_ANY_OTHER; 1110 int _type = RULE_ANY_OTHER;
1090 int _channel = DEFAULT_TOKEN_CHANNEL; 1111 int _channel = DEFAULT_TOKEN_CHANNEL;
1091 // InternalSolverLanguage.g:2575:16: ( . ) 1112 // InternalSolverLanguage.g:2509:16: ( . )
1092 // InternalSolverLanguage.g:2575:18: . 1113 // InternalSolverLanguage.g:2509:18: .
1093 { 1114 {
1094 matchAny(); 1115 matchAny();
1095 1116
@@ -1104,8 +1125,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1104 // $ANTLR end "RULE_ANY_OTHER" 1125 // $ANTLR end "RULE_ANY_OTHER"
1105 1126
1106 public void mTokens() throws RecognitionException { 1127 public void mTokens() throws RecognitionException {
1107 // InternalSolverLanguage.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | RULE_STRING | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) 1128 // InternalSolverLanguage.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | RULE_STRING | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
1108 int alt10=37; 1129 int alt10=38;
1109 alt10 = dfa10.predict(input); 1130 alt10 = dfa10.predict(input);
1110 switch (alt10) { 1131 switch (alt10) {
1111 case 1 : 1132 case 1 :
@@ -1319,49 +1340,56 @@ public class InternalSolverLanguageLexer extends Lexer {
1319 } 1340 }
1320 break; 1341 break;
1321 case 31 : 1342 case 31 :
1322 // InternalSolverLanguage.g:1:190: RULE_STRING 1343 // InternalSolverLanguage.g:1:190: T__41
1323 { 1344 {
1324 mRULE_STRING(); 1345 mT__41();
1325 1346
1326 } 1347 }
1327 break; 1348 break;
1328 case 32 : 1349 case 32 :
1329 // InternalSolverLanguage.g:1:202: RULE_ID 1350 // InternalSolverLanguage.g:1:196: RULE_STRING
1330 { 1351 {
1331 mRULE_ID(); 1352 mRULE_STRING();
1332 1353
1333 } 1354 }
1334 break; 1355 break;
1335 case 33 : 1356 case 33 :
1336 // InternalSolverLanguage.g:1:210: RULE_INT 1357 // InternalSolverLanguage.g:1:208: RULE_ID
1337 { 1358 {
1338 mRULE_INT(); 1359 mRULE_ID();
1339 1360
1340 } 1361 }
1341 break; 1362 break;
1342 case 34 : 1363 case 34 :
1343 // InternalSolverLanguage.g:1:219: RULE_ML_COMMENT 1364 // InternalSolverLanguage.g:1:216: RULE_INT
1344 { 1365 {
1345 mRULE_ML_COMMENT(); 1366 mRULE_INT();
1346 1367
1347 } 1368 }
1348 break; 1369 break;
1349 case 35 : 1370 case 35 :
1350 // InternalSolverLanguage.g:1:235: RULE_SL_COMMENT 1371 // InternalSolverLanguage.g:1:225: RULE_ML_COMMENT
1351 { 1372 {
1352 mRULE_SL_COMMENT(); 1373 mRULE_ML_COMMENT();
1353 1374
1354 } 1375 }
1355 break; 1376 break;
1356 case 36 : 1377 case 36 :
1357 // InternalSolverLanguage.g:1:251: RULE_WS 1378 // InternalSolverLanguage.g:1:241: RULE_SL_COMMENT
1358 { 1379 {
1359 mRULE_WS(); 1380 mRULE_SL_COMMENT();
1360 1381
1361 } 1382 }
1362 break; 1383 break;
1363 case 37 : 1384 case 37 :
1364 // InternalSolverLanguage.g:1:259: RULE_ANY_OTHER 1385 // InternalSolverLanguage.g:1:257: RULE_WS
1386 {
1387 mRULE_WS();
1388
1389 }
1390 break;
1391 case 38 :
1392 // InternalSolverLanguage.g:1:265: RULE_ANY_OTHER
1365 { 1393 {
1366 mRULE_ANY_OTHER(); 1394 mRULE_ANY_OTHER();
1367 1395
@@ -1375,19 +1403,19 @@ public class InternalSolverLanguageLexer extends Lexer {
1375 1403
1376 protected DFA10 dfa10 = new DFA10(this); 1404 protected DFA10 dfa10 = new DFA10(this);
1377 static final String DFA10_eotS = 1405 static final String DFA10_eotS =
1378 "\2\uffff\1\41\4\43\3\uffff\4\43\1\uffff\1\43\3\uffff\3\43\2\uffff\2\36\2\uffff\1\36\5\uffff\1\43\1\uffff\6\43\3\uffff\4\43\1\uffff\1\43\3\uffff\4\43\7\uffff\11\43\1\134\10\43\1\145\6\43\1\154\1\155\1\uffff\1\156\7\43\1\uffff\1\166\1\43\1\170\3\43\3\uffff\5\43\1\u0081\1\43\1\uffff\1\43\1\uffff\1\u0084\1\43\1\u0086\1\43\1\u0088\3\43\1\uffff\1\43\1\u008d\1\uffff\1\u008e\1\uffff\1\43\1\uffff\1\43\1\u0091\2\43\2\uffff\1\u0094\1\43\1\uffff\1\u0096\1\43\1\uffff\1\u0098\1\uffff\1\43\1\uffff\1\43\1\u009b\1\uffff"; 1406 "\2\uffff\1\41\4\43\3\uffff\1\56\4\43\4\uffff\3\43\2\uffff\2\36\2\uffff\1\36\5\uffff\1\43\1\uffff\6\43\5\uffff\4\43\4\uffff\4\43\7\uffff\11\43\1\134\7\43\1\144\6\43\1\153\1\154\1\uffff\1\155\6\43\1\uffff\1\164\1\43\1\166\3\43\3\uffff\4\43\1\176\1\43\1\uffff\1\43\1\uffff\1\u0081\1\43\1\u0083\1\43\1\u0085\2\43\1\uffff\1\43\1\u0089\1\uffff\1\u008a\1\uffff\1\43\1\uffff\1\u008c\2\43\2\uffff\1\u008f\1\uffff\1\u0090\1\43\2\uffff\2\43\1\u0094\1\uffff";
1379 static final String DFA10_eofS = 1407 static final String DFA10_eofS =
1380 "\u009c\uffff"; 1408 "\u0095\uffff";
1381 static final String DFA10_minS = 1409 static final String DFA10_minS =
1382 "\1\0\1\uffff\1\56\1\162\1\141\2\156\3\uffff\1\157\1\156\1\145\1\164\1\uffff\1\162\3\uffff\1\145\1\142\1\154\2\uffff\1\0\1\101\2\uffff\1\52\5\uffff\1\165\1\uffff\1\154\1\153\1\162\1\151\2\165\3\uffff\1\157\1\164\1\141\1\162\1\uffff\1\145\3\uffff\1\146\1\163\1\141\1\156\7\uffff\1\145\1\163\1\156\1\157\1\163\1\145\1\141\1\155\1\154\1\60\1\154\1\141\1\151\1\144\1\141\1\164\1\163\1\164\1\60\1\145\1\157\1\162\1\164\1\156\1\154\2\60\1\uffff\1\60\1\164\1\156\1\151\1\165\1\162\1\163\1\141\1\uffff\1\60\1\167\1\60\1\163\1\144\1\163\3\uffff\1\151\1\147\1\143\1\154\1\141\1\60\1\151\1\uffff\1\156\1\uffff\1\60\1\163\1\60\1\157\1\60\1\141\1\164\1\143\1\uffff\1\156\1\60\1\uffff\1\60\1\uffff\1\156\1\uffff\1\164\1\60\1\164\1\155\2\uffff\1\60\1\145\1\uffff\1\60\1\145\1\uffff\1\60\1\uffff\1\156\1\uffff\1\164\1\60\1\uffff"; 1410 "\1\0\1\uffff\1\56\1\162\1\141\2\156\3\uffff\1\55\1\157\1\156\1\145\1\164\4\uffff\1\145\1\142\1\154\2\uffff\1\0\1\101\2\uffff\1\52\5\uffff\1\165\1\uffff\1\154\1\153\1\162\1\151\2\165\5\uffff\1\157\1\164\1\141\1\162\4\uffff\1\146\1\163\1\141\1\156\7\uffff\1\145\1\163\1\156\1\157\1\163\1\145\1\141\1\155\1\154\1\60\1\154\1\141\1\151\1\141\1\164\1\163\1\164\1\60\1\145\1\157\1\162\1\164\1\156\1\154\2\60\1\uffff\1\60\1\164\1\156\1\165\1\162\1\163\1\141\1\uffff\1\60\1\167\1\60\1\163\1\144\1\163\3\uffff\1\151\1\147\1\154\1\141\1\60\1\151\1\uffff\1\156\1\uffff\1\60\1\163\1\60\1\157\1\60\1\164\1\143\1\uffff\1\156\1\60\1\uffff\1\60\1\uffff\1\156\1\uffff\1\60\1\164\1\155\2\uffff\1\60\1\uffff\1\60\1\145\2\uffff\1\156\1\164\1\60\1\uffff";
1383 static final String DFA10_maxS = 1411 static final String DFA10_maxS =
1384 "\1\uffff\1\uffff\1\56\1\162\1\141\1\156\1\170\3\uffff\1\157\1\156\1\145\1\164\1\uffff\1\162\3\uffff\1\145\1\142\1\157\2\uffff\1\uffff\1\172\2\uffff\1\57\5\uffff\1\165\1\uffff\1\154\1\153\1\162\1\164\2\165\3\uffff\1\157\1\164\1\154\1\162\1\uffff\1\145\3\uffff\1\146\1\163\1\141\1\156\7\uffff\1\145\1\163\1\156\1\157\1\163\1\145\1\141\1\155\1\154\1\172\1\154\1\141\1\151\1\144\1\141\1\164\1\163\1\164\1\172\1\145\1\157\1\162\1\164\1\156\1\154\2\172\1\uffff\1\172\1\164\1\156\1\151\1\165\1\162\1\163\1\141\1\uffff\1\172\1\167\1\172\1\163\1\144\1\163\3\uffff\1\151\1\147\1\143\1\154\1\141\1\172\1\151\1\uffff\1\156\1\uffff\1\172\1\163\1\172\1\157\1\172\1\141\1\164\1\143\1\uffff\1\156\1\172\1\uffff\1\172\1\uffff\1\156\1\uffff\1\164\1\172\1\164\1\155\2\uffff\1\172\1\145\1\uffff\1\172\1\145\1\uffff\1\172\1\uffff\1\156\1\uffff\1\164\1\172\1\uffff"; 1412 "\1\uffff\1\uffff\1\56\1\162\1\141\1\156\1\170\3\uffff\1\55\1\157\1\156\1\145\1\164\4\uffff\1\145\1\142\1\157\2\uffff\1\uffff\1\172\2\uffff\1\57\5\uffff\1\165\1\uffff\1\154\1\153\1\162\1\164\2\165\5\uffff\1\157\1\164\1\154\1\162\4\uffff\1\146\1\163\1\141\1\156\7\uffff\1\145\1\163\1\156\1\157\1\163\1\145\1\141\1\155\1\154\1\172\1\154\1\141\1\151\1\141\1\164\1\163\1\164\1\172\1\145\1\157\1\162\1\164\1\156\1\154\2\172\1\uffff\1\172\1\164\1\156\1\165\1\162\1\163\1\141\1\uffff\1\172\1\167\1\172\1\163\1\144\1\163\3\uffff\1\151\1\147\1\154\1\141\1\172\1\151\1\uffff\1\156\1\uffff\1\172\1\163\1\172\1\157\1\172\1\164\1\143\1\uffff\1\156\1\172\1\uffff\1\172\1\uffff\1\156\1\uffff\1\172\1\164\1\155\2\uffff\1\172\1\uffff\1\172\1\145\2\uffff\1\156\1\164\1\172\1\uffff";
1385 static final String DFA10_acceptS = 1413 static final String DFA10_acceptS =
1386 "\1\uffff\1\1\5\uffff\1\7\1\10\1\11\4\uffff\1\20\1\uffff\1\22\1\23\1\24\3\uffff\1\31\1\32\2\uffff\1\40\1\41\1\uffff\1\44\1\45\1\1\1\36\1\2\1\uffff\1\40\6\uffff\1\7\1\10\1\11\4\uffff\1\20\1\uffff\1\22\1\23\1\24\4\uffff\1\31\1\32\1\37\1\41\1\42\1\43\1\44\33\uffff\1\15\10\uffff\1\3\6\uffff\1\33\1\14\1\16\7\uffff\1\4\1\uffff\1\6\10\uffff\1\27\2\uffff\1\12\1\uffff\1\13\1\uffff\1\17\4\uffff\1\5\1\30\2\uffff\1\25\2\uffff\1\35\1\uffff\1\26\1\uffff\1\21\2\uffff\1\34"; 1414 "\1\uffff\1\1\5\uffff\1\7\1\10\1\11\5\uffff\1\21\1\23\1\24\1\25\3\uffff\1\32\1\33\2\uffff\1\41\1\42\1\uffff\1\45\1\46\1\1\1\37\1\2\1\uffff\1\41\6\uffff\1\7\1\10\1\11\1\22\1\12\4\uffff\1\21\1\23\1\24\1\25\4\uffff\1\32\1\33\1\40\1\42\1\43\1\44\1\45\32\uffff\1\16\7\uffff\1\3\6\uffff\1\34\1\15\1\17\6\uffff\1\4\1\uffff\1\6\7\uffff\1\30\2\uffff\1\13\1\uffff\1\14\1\uffff\1\20\3\uffff\1\5\1\31\1\uffff\1\26\2\uffff\1\36\1\27\3\uffff\1\35";
1387 static final String DFA10_specialS = 1415 static final String DFA10_specialS =
1388 "\1\1\27\uffff\1\0\u0083\uffff}>"; 1416 "\1\0\27\uffff\1\1\174\uffff}>";
1389 static final String[] DFA10_transitionS = { 1417 static final String[] DFA10_transitionS = {
1390 "\11\36\2\35\2\36\1\35\22\36\1\35\1\36\1\30\4\36\1\16\1\7\1\10\1\22\1\21\1\36\1\1\1\2\1\34\12\33\1\11\6\36\32\32\3\36\1\31\1\32\1\36\1\24\1\12\1\25\1\23\1\6\1\4\2\32\1\13\6\32\1\17\1\32\1\14\1\15\1\3\1\5\5\32\1\26\1\20\1\27\uff82\36", 1418 "\11\36\2\35\2\36\1\35\22\36\1\35\1\36\1\30\4\36\1\17\1\7\1\11\1\22\1\21\1\10\1\1\1\2\1\34\12\33\1\12\6\36\32\32\3\36\1\31\1\32\1\36\1\24\1\13\1\25\1\23\1\6\1\4\2\32\1\14\10\32\1\15\1\16\1\3\1\5\5\32\1\26\1\20\1\27\uff82\36",
1391 "", 1419 "",
1392 "\1\40", 1420 "\1\40",
1393 "\1\42", 1421 "\1\42",
@@ -1398,49 +1426,50 @@ public class InternalSolverLanguageLexer extends Lexer {
1398 "", 1426 "",
1399 "", 1427 "",
1400 "\1\55", 1428 "\1\55",
1401 "\1\56",
1402 "\1\57", 1429 "\1\57",
1403 "\1\60", 1430 "\1\60",
1404 "", 1431 "\1\61",
1405 "\1\62", 1432 "\1\62",
1406 "", 1433 "",
1407 "", 1434 "",
1408 "", 1435 "",
1409 "\1\66", 1436 "",
1410 "\1\67", 1437 "\1\67",
1411 "\1\70\2\uffff\1\71", 1438 "\1\70",
1439 "\1\71\2\uffff\1\72",
1412 "", 1440 "",
1413 "", 1441 "",
1414 "\0\74", 1442 "\0\75",
1415 "\32\43\4\uffff\1\43\1\uffff\32\43", 1443 "\32\43\4\uffff\1\43\1\uffff\32\43",
1416 "", 1444 "",
1417 "", 1445 "",
1418 "\1\76\4\uffff\1\77", 1446 "\1\77\4\uffff\1\100",
1419 "", 1447 "",
1420 "", 1448 "",
1421 "", 1449 "",
1422 "", 1450 "",
1423 "", 1451 "",
1424 "\1\101",
1425 "",
1426 "\1\102", 1452 "\1\102",
1453 "",
1427 "\1\103", 1454 "\1\103",
1428 "\1\104", 1455 "\1\104",
1429 "\1\105\12\uffff\1\106", 1456 "\1\105",
1430 "\1\107", 1457 "\1\106\12\uffff\1\107",
1431 "\1\110", 1458 "\1\110",
1459 "\1\111",
1460 "",
1432 "", 1461 "",
1433 "", 1462 "",
1434 "", 1463 "",
1435 "\1\111",
1436 "\1\112",
1437 "\1\113\12\uffff\1\114",
1438 "\1\115",
1439 "", 1464 "",
1465 "\1\112",
1466 "\1\113",
1467 "\1\114\12\uffff\1\115",
1440 "\1\116", 1468 "\1\116",
1441 "", 1469 "",
1442 "", 1470 "",
1443 "", 1471 "",
1472 "",
1444 "\1\117", 1473 "\1\117",
1445 "\1\120", 1474 "\1\120",
1446 "\1\121", 1475 "\1\121",
@@ -1469,78 +1498,70 @@ public class InternalSolverLanguageLexer extends Lexer {
1469 "\1\141", 1498 "\1\141",
1470 "\1\142", 1499 "\1\142",
1471 "\1\143", 1500 "\1\143",
1472 "\1\144",
1473 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", 1501 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1502 "\1\145",
1474 "\1\146", 1503 "\1\146",
1475 "\1\147", 1504 "\1\147",
1476 "\1\150", 1505 "\1\150",
1477 "\1\151", 1506 "\1\151",
1478 "\1\152", 1507 "\1\152",
1479 "\1\153",
1480 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", 1508 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1481 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", 1509 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1482 "", 1510 "",
1483 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", 1511 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1512 "\1\156",
1484 "\1\157", 1513 "\1\157",
1485 "\1\160", 1514 "\1\160",
1486 "\1\161", 1515 "\1\161",
1487 "\1\162", 1516 "\1\162",
1488 "\1\163", 1517 "\1\163",
1489 "\1\164",
1490 "\1\165",
1491 "", 1518 "",
1492 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", 1519 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1493 "\1\167", 1520 "\1\165",
1494 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", 1521 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1522 "\1\167",
1523 "\1\170",
1495 "\1\171", 1524 "\1\171",
1496 "\1\172",
1497 "\1\173",
1498 "", 1525 "",
1499 "", 1526 "",
1500 "", 1527 "",
1528 "\1\172",
1529 "\1\173",
1501 "\1\174", 1530 "\1\174",
1502 "\1\175", 1531 "\1\175",
1503 "\1\176", 1532 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1504 "\1\177", 1533 "\1\177",
1534 "",
1505 "\1\u0080", 1535 "\1\u0080",
1536 "",
1506 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", 1537 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1507 "\1\u0082", 1538 "\1\u0082",
1508 "",
1509 "\1\u0083",
1510 "",
1511 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", 1539 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1512 "\1\u0085", 1540 "\1\u0084",
1513 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", 1541 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1542 "\1\u0086",
1514 "\1\u0087", 1543 "\1\u0087",
1515 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1516 "\1\u0089",
1517 "\1\u008a",
1518 "\1\u008b",
1519 "", 1544 "",
1520 "\1\u008c", 1545 "\1\u0088",
1521 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", 1546 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1522 "", 1547 "",
1523 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", 1548 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1524 "", 1549 "",
1525 "\1\u008f", 1550 "\1\u008b",
1526 "", 1551 "",
1527 "\1\u0090",
1528 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", 1552 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1529 "\1\u0092", 1553 "\1\u008d",
1530 "\1\u0093", 1554 "\1\u008e",
1531 "", 1555 "",
1532 "", 1556 "",
1533 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", 1557 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1534 "\1\u0095",
1535 "",
1536 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1537 "\1\u0097",
1538 "", 1558 "",
1539 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", 1559 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1560 "\1\u0091",
1540 "", 1561 "",
1541 "\1\u0099",
1542 "", 1562 "",
1543 "\1\u009a", 1563 "\1\u0092",
1564 "\1\u0093",
1544 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", 1565 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1545 "" 1566 ""
1546 }; 1567 };
@@ -1575,23 +1596,13 @@ public class InternalSolverLanguageLexer extends Lexer {
1575 this.transition = DFA10_transition; 1596 this.transition = DFA10_transition;
1576 } 1597 }
1577 public String getDescription() { 1598 public String getDescription() {
1578 return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | RULE_STRING | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );"; 1599 return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | RULE_STRING | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
1579 } 1600 }
1580 public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { 1601 public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
1581 IntStream input = _input; 1602 IntStream input = _input;
1582 int _s = s; 1603 int _s = s;
1583 switch ( s ) { 1604 switch ( s ) {
1584 case 0 : 1605 case 0 :
1585 int LA10_24 = input.LA(1);
1586
1587 s = -1;
1588 if ( ((LA10_24>='\u0000' && LA10_24<='\uFFFF')) ) {s = 60;}
1589
1590 else s = 30;
1591
1592 if ( s>=0 ) return s;
1593 break;
1594 case 1 :
1595 int LA10_0 = input.LA(1); 1606 int LA10_0 = input.LA(1);
1596 1607
1597 s = -1; 1608 s = -1;
@@ -1609,21 +1620,21 @@ public class InternalSolverLanguageLexer extends Lexer {
1609 1620
1610 else if ( (LA10_0=='(') ) {s = 7;} 1621 else if ( (LA10_0=='(') ) {s = 7;}
1611 1622
1612 else if ( (LA10_0==')') ) {s = 8;} 1623 else if ( (LA10_0==',') ) {s = 8;}
1613 1624
1614 else if ( (LA10_0==':') ) {s = 9;} 1625 else if ( (LA10_0==')') ) {s = 9;}
1615 1626
1616 else if ( (LA10_0=='b') ) {s = 10;} 1627 else if ( (LA10_0==':') ) {s = 10;}
1617 1628
1618 else if ( (LA10_0=='i') ) {s = 11;} 1629 else if ( (LA10_0=='b') ) {s = 11;}
1619 1630
1620 else if ( (LA10_0=='r') ) {s = 12;} 1631 else if ( (LA10_0=='i') ) {s = 12;}
1621 1632
1622 else if ( (LA10_0=='s') ) {s = 13;} 1633 else if ( (LA10_0=='r') ) {s = 13;}
1623 1634
1624 else if ( (LA10_0=='\'') ) {s = 14;} 1635 else if ( (LA10_0=='s') ) {s = 14;}
1625 1636
1626 else if ( (LA10_0=='p') ) {s = 15;} 1637 else if ( (LA10_0=='\'') ) {s = 15;}
1627 1638
1628 else if ( (LA10_0=='|') ) {s = 16;} 1639 else if ( (LA10_0=='|') ) {s = 16;}
1629 1640
@@ -1645,7 +1656,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1645 1656
1646 else if ( (LA10_0=='^') ) {s = 25;} 1657 else if ( (LA10_0=='^') ) {s = 25;}
1647 1658
1648 else if ( ((LA10_0>='A' && LA10_0<='Z')||LA10_0=='_'||(LA10_0>='g' && LA10_0<='h')||(LA10_0>='j' && LA10_0<='o')||LA10_0=='q'||(LA10_0>='v' && LA10_0<='z')) ) {s = 26;} 1659 else if ( ((LA10_0>='A' && LA10_0<='Z')||LA10_0=='_'||(LA10_0>='g' && LA10_0<='h')||(LA10_0>='j' && LA10_0<='q')||(LA10_0>='v' && LA10_0<='z')) ) {s = 26;}
1649 1660
1650 else if ( ((LA10_0>='0' && LA10_0<='9')) ) {s = 27;} 1661 else if ( ((LA10_0>='0' && LA10_0<='9')) ) {s = 27;}
1651 1662
@@ -1653,7 +1664,17 @@ public class InternalSolverLanguageLexer extends Lexer {
1653 1664
1654 else if ( ((LA10_0>='\t' && LA10_0<='\n')||LA10_0=='\r'||LA10_0==' ') ) {s = 29;} 1665 else if ( ((LA10_0>='\t' && LA10_0<='\n')||LA10_0=='\r'||LA10_0==' ') ) {s = 29;}
1655 1666
1656 else if ( ((LA10_0>='\u0000' && LA10_0<='\b')||(LA10_0>='\u000B' && LA10_0<='\f')||(LA10_0>='\u000E' && LA10_0<='\u001F')||LA10_0=='!'||(LA10_0>='#' && LA10_0<='&')||LA10_0==','||(LA10_0>=';' && LA10_0<='@')||(LA10_0>='[' && LA10_0<=']')||LA10_0=='`'||(LA10_0>='~' && LA10_0<='\uFFFF')) ) {s = 30;} 1667 else if ( ((LA10_0>='\u0000' && LA10_0<='\b')||(LA10_0>='\u000B' && LA10_0<='\f')||(LA10_0>='\u000E' && LA10_0<='\u001F')||LA10_0=='!'||(LA10_0>='#' && LA10_0<='&')||(LA10_0>=';' && LA10_0<='@')||(LA10_0>='[' && LA10_0<=']')||LA10_0=='`'||(LA10_0>='~' && LA10_0<='\uFFFF')) ) {s = 30;}
1668
1669 if ( s>=0 ) return s;
1670 break;
1671 case 1 :
1672 int LA10_24 = input.LA(1);
1673
1674 s = -1;
1675 if ( ((LA10_24>='\u0000' && LA10_24<='\uFFFF')) ) {s = 61;}
1676
1677 else s = 30;
1657 1678
1658 if ( s>=0 ) return s; 1679 if ( s>=0 ) return s;
1659 break; 1680 break;
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.java
index c1c632f3..1d449e49 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.java
@@ -21,7 +21,7 @@ import java.util.ArrayList;
21@SuppressWarnings("all") 21@SuppressWarnings("all")
22public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { 22public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
23 public static final String[] tokenNames = new String[] { 23 public static final String[] tokenNames = new String[] {
24 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_INT", "RULE_ID", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'-'", "'.'", "'true'", "'false'", "'unknown'", "'error'", "'('", "')'", "':'", "'exists'", "'equals'", "'bool'", "'int'", "'real'", "'string'", "'\\''", "'predicate'", "'|'", "'+'", "'*'", "'default'", "'abstract'", "'class'", "'extends'", "'{'", "'}'", "'enum'", "'containment'", "'relation'", "'..'" 24 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_INT", "RULE_ID", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'-'", "'.'", "'true'", "'false'", "'unknown'", "'error'", "'('", "','", "')'", "':'", "'exists'", "'equals'", "'bool'", "'int'", "'real'", "'string'", "'\\''", "':-'", "'|'", "'+'", "'*'", "'default'", "'abstract'", "'class'", "'extends'", "'{'", "'}'", "'enum'", "'containment'", "'relation'", "'..'"
25 }; 25 };
26 public static final int RULE_STRING=6; 26 public static final int RULE_STRING=6;
27 public static final int RULE_SL_COMMENT=8; 27 public static final int RULE_SL_COMMENT=8;
@@ -59,6 +59,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
59 public static final int T__24=24; 59 public static final int T__24=24;
60 public static final int T__25=25; 60 public static final int T__25=25;
61 public static final int T__40=40; 61 public static final int T__40=40;
62 public static final int T__41=41;
62 public static final int T__20=20; 63 public static final int T__20=20;
63 public static final int T__21=21; 64 public static final int T__21=21;
64 65
@@ -158,7 +159,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
158 int alt1=2; 159 int alt1=2;
159 int LA1_0 = input.LA(1); 160 int LA1_0 = input.LA(1);
160 161
161 if ( (LA1_0==RULE_ID||LA1_0==16||(LA1_0>=20 && LA1_0<=25)||LA1_0==27||(LA1_0>=31 && LA1_0<=32)||(LA1_0>=37 && LA1_0<=38)) ) { 162 if ( (LA1_0==RULE_ID||LA1_0==16||(LA1_0>=21 && LA1_0<=26)||(LA1_0>=32 && LA1_0<=34)||(LA1_0>=38 && LA1_0<=40)) ) {
162 alt1=1; 163 alt1=1;
163 } 164 }
164 165
@@ -275,20 +276,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
275 { 276 {
276 // InternalSolverLanguage.g:114:2: (this_Interpretation_0= ruleInterpretation | this_Predicate_1= rulePredicate ) 277 // InternalSolverLanguage.g:114:2: (this_Interpretation_0= ruleInterpretation | this_Predicate_1= rulePredicate )
277 int alt2=2; 278 int alt2=2;
278 int LA2_0 = input.LA(1); 279 alt2 = dfa2.predict(input);
279
280 if ( (LA2_0==RULE_ID||(LA2_0>=20 && LA2_0<=25)||(LA2_0>=31 && LA2_0<=32)||(LA2_0>=37 && LA2_0<=38)) ) {
281 alt2=1;
282 }
283 else if ( (LA2_0==16||LA2_0==27) ) {
284 alt2=2;
285 }
286 else {
287 NoViableAltException nvae =
288 new NoViableAltException("", 2, 0, input);
289
290 throw nvae;
291 }
292 switch (alt2) { 280 switch (alt2) {
293 case 1 : 281 case 1 :
294 // InternalSolverLanguage.g:115:3: this_Interpretation_0= ruleInterpretation 282 // InternalSolverLanguage.g:115:3: this_Interpretation_0= ruleInterpretation
@@ -988,24 +976,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
988 int alt7=3; 976 int alt7=3;
989 switch ( input.LA(1) ) { 977 switch ( input.LA(1) ) {
990 case RULE_ID: 978 case RULE_ID:
991 case 20:
992 case 21: 979 case 21:
993 case 22: 980 case 22:
994 case 23: 981 case 23:
995 case 24: 982 case 24:
996 case 25: 983 case 25:
984 case 26:
997 { 985 {
998 alt7=1; 986 alt7=1;
999 } 987 }
1000 break; 988 break;
1001 case 31: 989 case 32:
1002 { 990 {
1003 alt7=2; 991 alt7=2;
1004 } 992 }
1005 break; 993 break;
1006 case 32: 994 case 33:
1007 case 37: 995 case 34:
1008 case 38: 996 case 38:
997 case 39:
998 case 40:
1009 { 999 {
1010 alt7=3; 1000 alt7=3;
1011 } 1001 }
@@ -1131,29 +1121,32 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1131 1121
1132 1122
1133 // $ANTLR start "ruleBasicInterpretation" 1123 // $ANTLR start "ruleBasicInterpretation"
1134 // InternalSolverLanguage.g:386:1: ruleBasicInterpretation returns [EObject current=null] : ( ( (lv_symbol_0_0= ruleSymbol ) ) otherlv_1= '(' ( (lv_objects_2_0= ruleComplexObject ) )* otherlv_3= ')' otherlv_4= ':' ( (lv_value_5_0= ruleTruthValue ) ) ) ; 1124 // InternalSolverLanguage.g:386:1: ruleBasicInterpretation returns [EObject current=null] : ( ( (lv_symbol_0_0= ruleSymbol ) ) (otherlv_1= '(' ( ( (lv_objects_2_0= ruleComplexObject ) ) (otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) )* )? otherlv_5= ')' )? otherlv_6= ':' ( (lv_value_7_0= ruleTruthValue ) ) ) ;
1135 public final EObject ruleBasicInterpretation() throws RecognitionException { 1125 public final EObject ruleBasicInterpretation() throws RecognitionException {
1136 EObject current = null; 1126 EObject current = null;
1137 1127
1138 Token otherlv_1=null; 1128 Token otherlv_1=null;
1139 Token otherlv_3=null; 1129 Token otherlv_3=null;
1140 Token otherlv_4=null; 1130 Token otherlv_5=null;
1131 Token otherlv_6=null;
1141 EObject lv_symbol_0_0 = null; 1132 EObject lv_symbol_0_0 = null;
1142 1133
1143 EObject lv_objects_2_0 = null; 1134 EObject lv_objects_2_0 = null;
1144 1135
1145 EObject lv_value_5_0 = null; 1136 EObject lv_objects_4_0 = null;
1137
1138 EObject lv_value_7_0 = null;
1146 1139
1147 1140
1148 1141
1149 enterRule(); 1142 enterRule();
1150 1143
1151 try { 1144 try {
1152 // InternalSolverLanguage.g:392:2: ( ( ( (lv_symbol_0_0= ruleSymbol ) ) otherlv_1= '(' ( (lv_objects_2_0= ruleComplexObject ) )* otherlv_3= ')' otherlv_4= ':' ( (lv_value_5_0= ruleTruthValue ) ) ) ) 1145 // InternalSolverLanguage.g:392:2: ( ( ( (lv_symbol_0_0= ruleSymbol ) ) (otherlv_1= '(' ( ( (lv_objects_2_0= ruleComplexObject ) ) (otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) )* )? otherlv_5= ')' )? otherlv_6= ':' ( (lv_value_7_0= ruleTruthValue ) ) ) )
1153 // InternalSolverLanguage.g:393:2: ( ( (lv_symbol_0_0= ruleSymbol ) ) otherlv_1= '(' ( (lv_objects_2_0= ruleComplexObject ) )* otherlv_3= ')' otherlv_4= ':' ( (lv_value_5_0= ruleTruthValue ) ) ) 1146 // InternalSolverLanguage.g:393:2: ( ( (lv_symbol_0_0= ruleSymbol ) ) (otherlv_1= '(' ( ( (lv_objects_2_0= ruleComplexObject ) ) (otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) )* )? otherlv_5= ')' )? otherlv_6= ':' ( (lv_value_7_0= ruleTruthValue ) ) )
1154 { 1147 {
1155 // InternalSolverLanguage.g:393:2: ( ( (lv_symbol_0_0= ruleSymbol ) ) otherlv_1= '(' ( (lv_objects_2_0= ruleComplexObject ) )* otherlv_3= ')' otherlv_4= ':' ( (lv_value_5_0= ruleTruthValue ) ) ) 1148 // InternalSolverLanguage.g:393:2: ( ( (lv_symbol_0_0= ruleSymbol ) ) (otherlv_1= '(' ( ( (lv_objects_2_0= ruleComplexObject ) ) (otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) )* )? otherlv_5= ')' )? otherlv_6= ':' ( (lv_value_7_0= ruleTruthValue ) ) )
1156 // InternalSolverLanguage.g:394:3: ( (lv_symbol_0_0= ruleSymbol ) ) otherlv_1= '(' ( (lv_objects_2_0= ruleComplexObject ) )* otherlv_3= ')' otherlv_4= ':' ( (lv_value_5_0= ruleTruthValue ) ) 1149 // InternalSolverLanguage.g:394:3: ( (lv_symbol_0_0= ruleSymbol ) ) (otherlv_1= '(' ( ( (lv_objects_2_0= ruleComplexObject ) ) (otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) )* )? otherlv_5= ')' )? otherlv_6= ':' ( (lv_value_7_0= ruleTruthValue ) )
1157 { 1150 {
1158 // InternalSolverLanguage.g:394:3: ( (lv_symbol_0_0= ruleSymbol ) ) 1151 // InternalSolverLanguage.g:394:3: ( (lv_symbol_0_0= ruleSymbol ) )
1159 // InternalSolverLanguage.g:395:4: (lv_symbol_0_0= ruleSymbol ) 1152 // InternalSolverLanguage.g:395:4: (lv_symbol_0_0= ruleSymbol )
@@ -1186,78 +1179,153 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1186 1179
1187 } 1180 }
1188 1181
1189 otherlv_1=(Token)match(input,17,FOLLOW_7); 1182 // InternalSolverLanguage.g:413:3: (otherlv_1= '(' ( ( (lv_objects_2_0= ruleComplexObject ) ) (otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) )* )? otherlv_5= ')' )?
1183 int alt10=2;
1184 int LA10_0 = input.LA(1);
1190 1185
1191 newLeafNode(otherlv_1, grammarAccess.getBasicInterpretationAccess().getLeftParenthesisKeyword_1()); 1186 if ( (LA10_0==17) ) {
1192 1187 alt10=1;
1193 // InternalSolverLanguage.g:417:3: ( (lv_objects_2_0= ruleComplexObject ) )* 1188 }
1194 loop8: 1189 switch (alt10) {
1195 do { 1190 case 1 :
1196 int alt8=2; 1191 // InternalSolverLanguage.g:414:4: otherlv_1= '(' ( ( (lv_objects_2_0= ruleComplexObject ) ) (otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) )* )? otherlv_5= ')'
1197 int LA8_0 = input.LA(1); 1192 {
1193 otherlv_1=(Token)match(input,17,FOLLOW_7);
1198 1194
1199 if ( ((LA8_0>=RULE_INT && LA8_0<=RULE_STRING)||LA8_0==11||(LA8_0>=13 && LA8_0<=14)||LA8_0==19||LA8_0==26||LA8_0==30) ) { 1195 newLeafNode(otherlv_1, grammarAccess.getBasicInterpretationAccess().getLeftParenthesisKeyword_1_0());
1200 alt8=1; 1196
1201 } 1197 // InternalSolverLanguage.g:418:4: ( ( (lv_objects_2_0= ruleComplexObject ) ) (otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) )* )?
1198 int alt9=2;
1199 int LA9_0 = input.LA(1);
1202 1200
1201 if ( ((LA9_0>=RULE_INT && LA9_0<=RULE_STRING)||LA9_0==11||(LA9_0>=13 && LA9_0<=14)||LA9_0==20||LA9_0==27||LA9_0==31) ) {
1202 alt9=1;
1203 }
1204 switch (alt9) {
1205 case 1 :
1206 // InternalSolverLanguage.g:419:5: ( (lv_objects_2_0= ruleComplexObject ) ) (otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) )*
1207 {
1208 // InternalSolverLanguage.g:419:5: ( (lv_objects_2_0= ruleComplexObject ) )
1209 // InternalSolverLanguage.g:420:6: (lv_objects_2_0= ruleComplexObject )
1210 {
1211 // InternalSolverLanguage.g:420:6: (lv_objects_2_0= ruleComplexObject )
1212 // InternalSolverLanguage.g:421:7: lv_objects_2_0= ruleComplexObject
1213 {
1203 1214
1204 switch (alt8) { 1215 newCompositeNode(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_0_0());
1205 case 1 : 1216
1206 // InternalSolverLanguage.g:418:4: (lv_objects_2_0= ruleComplexObject ) 1217 pushFollow(FOLLOW_8);
1207 { 1218 lv_objects_2_0=ruleComplexObject();
1208 // InternalSolverLanguage.g:418:4: (lv_objects_2_0= ruleComplexObject )
1209 // InternalSolverLanguage.g:419:5: lv_objects_2_0= ruleComplexObject
1210 {
1211 1219
1212 newCompositeNode(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_2_0()); 1220 state._fsp--;
1213
1214 pushFollow(FOLLOW_7);
1215 lv_objects_2_0=ruleComplexObject();
1216 1221
1217 state._fsp--;
1218 1222
1223 if (current==null) {
1224 current = createModelElementForParent(grammarAccess.getBasicInterpretationRule());
1225 }
1226 add(
1227 current,
1228 "objects",
1229 lv_objects_2_0,
1230 "org.eclipse.viatra.solver.language.SolverLanguage.ComplexObject");
1231 afterParserOrEnumRuleCall();
1232
1219 1233
1220 if (current==null) { 1234 }
1221 current = createModelElementForParent(grammarAccess.getBasicInterpretationRule());
1222 }
1223 add(
1224 current,
1225 "objects",
1226 lv_objects_2_0,
1227 "org.eclipse.viatra.solver.language.SolverLanguage.ComplexObject");
1228 afterParserOrEnumRuleCall();
1229
1230 1235
1231 }
1232 1236
1237 }
1233 1238
1234 } 1239 // InternalSolverLanguage.g:438:5: (otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) ) )*
1235 break; 1240 loop8:
1241 do {
1242 int alt8=2;
1243 int LA8_0 = input.LA(1);
1236 1244
1237 default : 1245 if ( (LA8_0==18) ) {
1238 break loop8; 1246 alt8=1;
1239 } 1247 }
1240 } while (true);
1241 1248
1242 otherlv_3=(Token)match(input,18,FOLLOW_8);
1243 1249
1244 newLeafNode(otherlv_3, grammarAccess.getBasicInterpretationAccess().getRightParenthesisKeyword_3()); 1250 switch (alt8) {
1245 1251 case 1 :
1246 otherlv_4=(Token)match(input,19,FOLLOW_9); 1252 // InternalSolverLanguage.g:439:6: otherlv_3= ',' ( (lv_objects_4_0= ruleComplexObject ) )
1253 {
1254 otherlv_3=(Token)match(input,18,FOLLOW_9);
1255
1256 newLeafNode(otherlv_3, grammarAccess.getBasicInterpretationAccess().getCommaKeyword_1_1_1_0());
1257
1258 // InternalSolverLanguage.g:443:6: ( (lv_objects_4_0= ruleComplexObject ) )
1259 // InternalSolverLanguage.g:444:7: (lv_objects_4_0= ruleComplexObject )
1260 {
1261 // InternalSolverLanguage.g:444:7: (lv_objects_4_0= ruleComplexObject )
1262 // InternalSolverLanguage.g:445:8: lv_objects_4_0= ruleComplexObject
1263 {
1264
1265 newCompositeNode(grammarAccess.getBasicInterpretationAccess().getObjectsComplexObjectParserRuleCall_1_1_1_1_0());
1266
1267 pushFollow(FOLLOW_8);
1268 lv_objects_4_0=ruleComplexObject();
1269
1270 state._fsp--;
1247 1271
1248 newLeafNode(otherlv_4, grammarAccess.getBasicInterpretationAccess().getColonKeyword_4()); 1272
1273 if (current==null) {
1274 current = createModelElementForParent(grammarAccess.getBasicInterpretationRule());
1275 }
1276 add(
1277 current,
1278 "objects",
1279 lv_objects_4_0,
1280 "org.eclipse.viatra.solver.language.SolverLanguage.ComplexObject");
1281 afterParserOrEnumRuleCall();
1282
1283
1284 }
1285
1286
1287 }
1288
1289
1290 }
1291 break;
1292
1293 default :
1294 break loop8;
1295 }
1296 } while (true);
1297
1298
1299 }
1300 break;
1301
1302 }
1303
1304 otherlv_5=(Token)match(input,19,FOLLOW_10);
1305
1306 newLeafNode(otherlv_5, grammarAccess.getBasicInterpretationAccess().getRightParenthesisKeyword_1_2());
1307
1308
1309 }
1310 break;
1311
1312 }
1313
1314 otherlv_6=(Token)match(input,20,FOLLOW_11);
1315
1316 newLeafNode(otherlv_6, grammarAccess.getBasicInterpretationAccess().getColonKeyword_2());
1249 1317
1250 // InternalSolverLanguage.g:444:3: ( (lv_value_5_0= ruleTruthValue ) ) 1318 // InternalSolverLanguage.g:473:3: ( (lv_value_7_0= ruleTruthValue ) )
1251 // InternalSolverLanguage.g:445:4: (lv_value_5_0= ruleTruthValue ) 1319 // InternalSolverLanguage.g:474:4: (lv_value_7_0= ruleTruthValue )
1252 { 1320 {
1253 // InternalSolverLanguage.g:445:4: (lv_value_5_0= ruleTruthValue ) 1321 // InternalSolverLanguage.g:474:4: (lv_value_7_0= ruleTruthValue )
1254 // InternalSolverLanguage.g:446:5: lv_value_5_0= ruleTruthValue 1322 // InternalSolverLanguage.g:475:5: lv_value_7_0= ruleTruthValue
1255 { 1323 {
1256 1324
1257 newCompositeNode(grammarAccess.getBasicInterpretationAccess().getValueTruthValueParserRuleCall_5_0()); 1325 newCompositeNode(grammarAccess.getBasicInterpretationAccess().getValueTruthValueParserRuleCall_3_0());
1258 1326
1259 pushFollow(FOLLOW_2); 1327 pushFollow(FOLLOW_2);
1260 lv_value_5_0=ruleTruthValue(); 1328 lv_value_7_0=ruleTruthValue();
1261 1329
1262 state._fsp--; 1330 state._fsp--;
1263 1331
@@ -1268,7 +1336,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1268 set( 1336 set(
1269 current, 1337 current,
1270 "value", 1338 "value",
1271 lv_value_5_0, 1339 lv_value_7_0,
1272 "org.eclipse.viatra.solver.language.SolverLanguage.TruthValue"); 1340 "org.eclipse.viatra.solver.language.SolverLanguage.TruthValue");
1273 afterParserOrEnumRuleCall(); 1341 afterParserOrEnumRuleCall();
1274 1342
@@ -1301,7 +1369,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1301 1369
1302 1370
1303 // $ANTLR start "entryRuleSymbol" 1371 // $ANTLR start "entryRuleSymbol"
1304 // InternalSolverLanguage.g:467:1: entryRuleSymbol returns [EObject current=null] : iv_ruleSymbol= ruleSymbol EOF ; 1372 // InternalSolverLanguage.g:496:1: entryRuleSymbol returns [EObject current=null] : iv_ruleSymbol= ruleSymbol EOF ;
1305 public final EObject entryRuleSymbol() throws RecognitionException { 1373 public final EObject entryRuleSymbol() throws RecognitionException {
1306 EObject current = null; 1374 EObject current = null;
1307 1375
@@ -1309,8 +1377,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1309 1377
1310 1378
1311 try { 1379 try {
1312 // InternalSolverLanguage.g:467:47: (iv_ruleSymbol= ruleSymbol EOF ) 1380 // InternalSolverLanguage.g:496:47: (iv_ruleSymbol= ruleSymbol EOF )
1313 // InternalSolverLanguage.g:468:2: iv_ruleSymbol= ruleSymbol EOF 1381 // InternalSolverLanguage.g:497:2: iv_ruleSymbol= ruleSymbol EOF
1314 { 1382 {
1315 newCompositeNode(grammarAccess.getSymbolRule()); 1383 newCompositeNode(grammarAccess.getSymbolRule());
1316 pushFollow(FOLLOW_1); 1384 pushFollow(FOLLOW_1);
@@ -1337,7 +1405,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1337 1405
1338 1406
1339 // $ANTLR start "ruleSymbol" 1407 // $ANTLR start "ruleSymbol"
1340 // InternalSolverLanguage.g:474:1: ruleSymbol returns [EObject current=null] : (this_ModelSymbol_0= ruleModelSymbol | this_PartialitySymbol_1= rulePartialitySymbol | this_DataSymbol_2= ruleDataSymbol ) ; 1408 // InternalSolverLanguage.g:503:1: ruleSymbol returns [EObject current=null] : (this_ModelSymbol_0= ruleModelSymbol | this_PartialitySymbol_1= rulePartialitySymbol | this_DataSymbol_2= ruleDataSymbol ) ;
1341 public final EObject ruleSymbol() throws RecognitionException { 1409 public final EObject ruleSymbol() throws RecognitionException {
1342 EObject current = null; 1410 EObject current = null;
1343 1411
@@ -1352,41 +1420,41 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1352 enterRule(); 1420 enterRule();
1353 1421
1354 try { 1422 try {
1355 // InternalSolverLanguage.g:480:2: ( (this_ModelSymbol_0= ruleModelSymbol | this_PartialitySymbol_1= rulePartialitySymbol | this_DataSymbol_2= ruleDataSymbol ) ) 1423 // InternalSolverLanguage.g:509:2: ( (this_ModelSymbol_0= ruleModelSymbol | this_PartialitySymbol_1= rulePartialitySymbol | this_DataSymbol_2= ruleDataSymbol ) )
1356 // InternalSolverLanguage.g:481:2: (this_ModelSymbol_0= ruleModelSymbol | this_PartialitySymbol_1= rulePartialitySymbol | this_DataSymbol_2= ruleDataSymbol ) 1424 // InternalSolverLanguage.g:510:2: (this_ModelSymbol_0= ruleModelSymbol | this_PartialitySymbol_1= rulePartialitySymbol | this_DataSymbol_2= ruleDataSymbol )
1357 { 1425 {
1358 // InternalSolverLanguage.g:481:2: (this_ModelSymbol_0= ruleModelSymbol | this_PartialitySymbol_1= rulePartialitySymbol | this_DataSymbol_2= ruleDataSymbol ) 1426 // InternalSolverLanguage.g:510:2: (this_ModelSymbol_0= ruleModelSymbol | this_PartialitySymbol_1= rulePartialitySymbol | this_DataSymbol_2= ruleDataSymbol )
1359 int alt9=3; 1427 int alt11=3;
1360 switch ( input.LA(1) ) { 1428 switch ( input.LA(1) ) {
1361 case RULE_ID: 1429 case RULE_ID:
1362 { 1430 {
1363 alt9=1; 1431 alt11=1;
1364 } 1432 }
1365 break; 1433 break;
1366 case 20:
1367 case 21: 1434 case 21:
1435 case 22:
1368 { 1436 {
1369 alt9=2; 1437 alt11=2;
1370 } 1438 }
1371 break; 1439 break;
1372 case 22:
1373 case 23: 1440 case 23:
1374 case 24: 1441 case 24:
1375 case 25: 1442 case 25:
1443 case 26:
1376 { 1444 {
1377 alt9=3; 1445 alt11=3;
1378 } 1446 }
1379 break; 1447 break;
1380 default: 1448 default:
1381 NoViableAltException nvae = 1449 NoViableAltException nvae =
1382 new NoViableAltException("", 9, 0, input); 1450 new NoViableAltException("", 11, 0, input);
1383 1451
1384 throw nvae; 1452 throw nvae;
1385 } 1453 }
1386 1454
1387 switch (alt9) { 1455 switch (alt11) {
1388 case 1 : 1456 case 1 :
1389 // InternalSolverLanguage.g:482:3: this_ModelSymbol_0= ruleModelSymbol 1457 // InternalSolverLanguage.g:511:3: this_ModelSymbol_0= ruleModelSymbol
1390 { 1458 {
1391 1459
1392 newCompositeNode(grammarAccess.getSymbolAccess().getModelSymbolParserRuleCall_0()); 1460 newCompositeNode(grammarAccess.getSymbolAccess().getModelSymbolParserRuleCall_0());
@@ -1404,7 +1472,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1404 } 1472 }
1405 break; 1473 break;
1406 case 2 : 1474 case 2 :
1407 // InternalSolverLanguage.g:491:3: this_PartialitySymbol_1= rulePartialitySymbol 1475 // InternalSolverLanguage.g:520:3: this_PartialitySymbol_1= rulePartialitySymbol
1408 { 1476 {
1409 1477
1410 newCompositeNode(grammarAccess.getSymbolAccess().getPartialitySymbolParserRuleCall_1()); 1478 newCompositeNode(grammarAccess.getSymbolAccess().getPartialitySymbolParserRuleCall_1());
@@ -1422,7 +1490,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1422 } 1490 }
1423 break; 1491 break;
1424 case 3 : 1492 case 3 :
1425 // InternalSolverLanguage.g:500:3: this_DataSymbol_2= ruleDataSymbol 1493 // InternalSolverLanguage.g:529:3: this_DataSymbol_2= ruleDataSymbol
1426 { 1494 {
1427 1495
1428 newCompositeNode(grammarAccess.getSymbolAccess().getDataSymbolParserRuleCall_2()); 1496 newCompositeNode(grammarAccess.getSymbolAccess().getDataSymbolParserRuleCall_2());
@@ -1462,7 +1530,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1462 1530
1463 1531
1464 // $ANTLR start "entryRuleModelSymbol" 1532 // $ANTLR start "entryRuleModelSymbol"
1465 // InternalSolverLanguage.g:512:1: entryRuleModelSymbol returns [EObject current=null] : iv_ruleModelSymbol= ruleModelSymbol EOF ; 1533 // InternalSolverLanguage.g:541:1: entryRuleModelSymbol returns [EObject current=null] : iv_ruleModelSymbol= ruleModelSymbol EOF ;
1466 public final EObject entryRuleModelSymbol() throws RecognitionException { 1534 public final EObject entryRuleModelSymbol() throws RecognitionException {
1467 EObject current = null; 1535 EObject current = null;
1468 1536
@@ -1470,8 +1538,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1470 1538
1471 1539
1472 try { 1540 try {
1473 // InternalSolverLanguage.g:512:52: (iv_ruleModelSymbol= ruleModelSymbol EOF ) 1541 // InternalSolverLanguage.g:541:52: (iv_ruleModelSymbol= ruleModelSymbol EOF )
1474 // InternalSolverLanguage.g:513:2: iv_ruleModelSymbol= ruleModelSymbol EOF 1542 // InternalSolverLanguage.g:542:2: iv_ruleModelSymbol= ruleModelSymbol EOF
1475 { 1543 {
1476 newCompositeNode(grammarAccess.getModelSymbolRule()); 1544 newCompositeNode(grammarAccess.getModelSymbolRule());
1477 pushFollow(FOLLOW_1); 1545 pushFollow(FOLLOW_1);
@@ -1498,7 +1566,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1498 1566
1499 1567
1500 // $ANTLR start "ruleModelSymbol" 1568 // $ANTLR start "ruleModelSymbol"
1501 // InternalSolverLanguage.g:519:1: ruleModelSymbol returns [EObject current=null] : ( (lv_name_0_0= RULE_ID ) ) ; 1569 // InternalSolverLanguage.g:548:1: ruleModelSymbol returns [EObject current=null] : ( (lv_name_0_0= RULE_ID ) ) ;
1502 public final EObject ruleModelSymbol() throws RecognitionException { 1570 public final EObject ruleModelSymbol() throws RecognitionException {
1503 EObject current = null; 1571 EObject current = null;
1504 1572
@@ -1508,14 +1576,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1508 enterRule(); 1576 enterRule();
1509 1577
1510 try { 1578 try {
1511 // InternalSolverLanguage.g:525:2: ( ( (lv_name_0_0= RULE_ID ) ) ) 1579 // InternalSolverLanguage.g:554:2: ( ( (lv_name_0_0= RULE_ID ) ) )
1512 // InternalSolverLanguage.g:526:2: ( (lv_name_0_0= RULE_ID ) ) 1580 // InternalSolverLanguage.g:555:2: ( (lv_name_0_0= RULE_ID ) )
1513 { 1581 {
1514 // InternalSolverLanguage.g:526:2: ( (lv_name_0_0= RULE_ID ) ) 1582 // InternalSolverLanguage.g:555:2: ( (lv_name_0_0= RULE_ID ) )
1515 // InternalSolverLanguage.g:527:3: (lv_name_0_0= RULE_ID ) 1583 // InternalSolverLanguage.g:556:3: (lv_name_0_0= RULE_ID )
1516 { 1584 {
1517 // InternalSolverLanguage.g:527:3: (lv_name_0_0= RULE_ID ) 1585 // InternalSolverLanguage.g:556:3: (lv_name_0_0= RULE_ID )
1518 // InternalSolverLanguage.g:528:4: lv_name_0_0= RULE_ID 1586 // InternalSolverLanguage.g:557:4: lv_name_0_0= RULE_ID
1519 { 1587 {
1520 lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_2); 1588 lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_2);
1521 1589
@@ -1557,7 +1625,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1557 1625
1558 1626
1559 // $ANTLR start "entryRulePartialitySymbol" 1627 // $ANTLR start "entryRulePartialitySymbol"
1560 // InternalSolverLanguage.g:547:1: entryRulePartialitySymbol returns [EObject current=null] : iv_rulePartialitySymbol= rulePartialitySymbol EOF ; 1628 // InternalSolverLanguage.g:576:1: entryRulePartialitySymbol returns [EObject current=null] : iv_rulePartialitySymbol= rulePartialitySymbol EOF ;
1561 public final EObject entryRulePartialitySymbol() throws RecognitionException { 1629 public final EObject entryRulePartialitySymbol() throws RecognitionException {
1562 EObject current = null; 1630 EObject current = null;
1563 1631
@@ -1565,8 +1633,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1565 1633
1566 1634
1567 try { 1635 try {
1568 // InternalSolverLanguage.g:547:57: (iv_rulePartialitySymbol= rulePartialitySymbol EOF ) 1636 // InternalSolverLanguage.g:576:57: (iv_rulePartialitySymbol= rulePartialitySymbol EOF )
1569 // InternalSolverLanguage.g:548:2: iv_rulePartialitySymbol= rulePartialitySymbol EOF 1637 // InternalSolverLanguage.g:577:2: iv_rulePartialitySymbol= rulePartialitySymbol EOF
1570 { 1638 {
1571 newCompositeNode(grammarAccess.getPartialitySymbolRule()); 1639 newCompositeNode(grammarAccess.getPartialitySymbolRule());
1572 pushFollow(FOLLOW_1); 1640 pushFollow(FOLLOW_1);
@@ -1593,7 +1661,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1593 1661
1594 1662
1595 // $ANTLR start "rulePartialitySymbol" 1663 // $ANTLR start "rulePartialitySymbol"
1596 // InternalSolverLanguage.g:554:1: rulePartialitySymbol returns [EObject current=null] : (this_ExistSymbol_0= ruleExistSymbol | this_EqualsSymbol_1= ruleEqualsSymbol ) ; 1664 // InternalSolverLanguage.g:583:1: rulePartialitySymbol returns [EObject current=null] : (this_ExistSymbol_0= ruleExistSymbol | this_EqualsSymbol_1= ruleEqualsSymbol ) ;
1597 public final EObject rulePartialitySymbol() throws RecognitionException { 1665 public final EObject rulePartialitySymbol() throws RecognitionException {
1598 EObject current = null; 1666 EObject current = null;
1599 1667
@@ -1606,28 +1674,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1606 enterRule(); 1674 enterRule();
1607 1675
1608 try { 1676 try {
1609 // InternalSolverLanguage.g:560:2: ( (this_ExistSymbol_0= ruleExistSymbol | this_EqualsSymbol_1= ruleEqualsSymbol ) ) 1677 // InternalSolverLanguage.g:589:2: ( (this_ExistSymbol_0= ruleExistSymbol | this_EqualsSymbol_1= ruleEqualsSymbol ) )
1610 // InternalSolverLanguage.g:561:2: (this_ExistSymbol_0= ruleExistSymbol | this_EqualsSymbol_1= ruleEqualsSymbol ) 1678 // InternalSolverLanguage.g:590:2: (this_ExistSymbol_0= ruleExistSymbol | this_EqualsSymbol_1= ruleEqualsSymbol )
1611 { 1679 {
1612 // InternalSolverLanguage.g:561:2: (this_ExistSymbol_0= ruleExistSymbol | this_EqualsSymbol_1= ruleEqualsSymbol ) 1680 // InternalSolverLanguage.g:590:2: (this_ExistSymbol_0= ruleExistSymbol | this_EqualsSymbol_1= ruleEqualsSymbol )
1613 int alt10=2; 1681 int alt12=2;
1614 int LA10_0 = input.LA(1); 1682 int LA12_0 = input.LA(1);
1615 1683
1616 if ( (LA10_0==20) ) { 1684 if ( (LA12_0==21) ) {
1617 alt10=1; 1685 alt12=1;
1618 } 1686 }
1619 else if ( (LA10_0==21) ) { 1687 else if ( (LA12_0==22) ) {
1620 alt10=2; 1688 alt12=2;
1621 } 1689 }
1622 else { 1690 else {
1623 NoViableAltException nvae = 1691 NoViableAltException nvae =
1624 new NoViableAltException("", 10, 0, input); 1692 new NoViableAltException("", 12, 0, input);
1625 1693
1626 throw nvae; 1694 throw nvae;
1627 } 1695 }
1628 switch (alt10) { 1696 switch (alt12) {
1629 case 1 : 1697 case 1 :
1630 // InternalSolverLanguage.g:562:3: this_ExistSymbol_0= ruleExistSymbol 1698 // InternalSolverLanguage.g:591:3: this_ExistSymbol_0= ruleExistSymbol
1631 { 1699 {
1632 1700
1633 newCompositeNode(grammarAccess.getPartialitySymbolAccess().getExistSymbolParserRuleCall_0()); 1701 newCompositeNode(grammarAccess.getPartialitySymbolAccess().getExistSymbolParserRuleCall_0());
@@ -1645,7 +1713,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1645 } 1713 }
1646 break; 1714 break;
1647 case 2 : 1715 case 2 :
1648 // InternalSolverLanguage.g:571:3: this_EqualsSymbol_1= ruleEqualsSymbol 1716 // InternalSolverLanguage.g:600:3: this_EqualsSymbol_1= ruleEqualsSymbol
1649 { 1717 {
1650 1718
1651 newCompositeNode(grammarAccess.getPartialitySymbolAccess().getEqualsSymbolParserRuleCall_1()); 1719 newCompositeNode(grammarAccess.getPartialitySymbolAccess().getEqualsSymbolParserRuleCall_1());
@@ -1685,7 +1753,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1685 1753
1686 1754
1687 // $ANTLR start "entryRuleExistSymbol" 1755 // $ANTLR start "entryRuleExistSymbol"
1688 // InternalSolverLanguage.g:583:1: entryRuleExistSymbol returns [EObject current=null] : iv_ruleExistSymbol= ruleExistSymbol EOF ; 1756 // InternalSolverLanguage.g:612:1: entryRuleExistSymbol returns [EObject current=null] : iv_ruleExistSymbol= ruleExistSymbol EOF ;
1689 public final EObject entryRuleExistSymbol() throws RecognitionException { 1757 public final EObject entryRuleExistSymbol() throws RecognitionException {
1690 EObject current = null; 1758 EObject current = null;
1691 1759
@@ -1693,8 +1761,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1693 1761
1694 1762
1695 try { 1763 try {
1696 // InternalSolverLanguage.g:583:52: (iv_ruleExistSymbol= ruleExistSymbol EOF ) 1764 // InternalSolverLanguage.g:612:52: (iv_ruleExistSymbol= ruleExistSymbol EOF )
1697 // InternalSolverLanguage.g:584:2: iv_ruleExistSymbol= ruleExistSymbol EOF 1765 // InternalSolverLanguage.g:613:2: iv_ruleExistSymbol= ruleExistSymbol EOF
1698 { 1766 {
1699 newCompositeNode(grammarAccess.getExistSymbolRule()); 1767 newCompositeNode(grammarAccess.getExistSymbolRule());
1700 pushFollow(FOLLOW_1); 1768 pushFollow(FOLLOW_1);
@@ -1721,7 +1789,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1721 1789
1722 1790
1723 // $ANTLR start "ruleExistSymbol" 1791 // $ANTLR start "ruleExistSymbol"
1724 // InternalSolverLanguage.g:590:1: ruleExistSymbol returns [EObject current=null] : (otherlv_0= 'exists' () ) ; 1792 // InternalSolverLanguage.g:619:1: ruleExistSymbol returns [EObject current=null] : (otherlv_0= 'exists' () ) ;
1725 public final EObject ruleExistSymbol() throws RecognitionException { 1793 public final EObject ruleExistSymbol() throws RecognitionException {
1726 EObject current = null; 1794 EObject current = null;
1727 1795
@@ -1731,18 +1799,18 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1731 enterRule(); 1799 enterRule();
1732 1800
1733 try { 1801 try {
1734 // InternalSolverLanguage.g:596:2: ( (otherlv_0= 'exists' () ) ) 1802 // InternalSolverLanguage.g:625:2: ( (otherlv_0= 'exists' () ) )
1735 // InternalSolverLanguage.g:597:2: (otherlv_0= 'exists' () ) 1803 // InternalSolverLanguage.g:626:2: (otherlv_0= 'exists' () )
1736 { 1804 {
1737 // InternalSolverLanguage.g:597:2: (otherlv_0= 'exists' () ) 1805 // InternalSolverLanguage.g:626:2: (otherlv_0= 'exists' () )
1738 // InternalSolverLanguage.g:598:3: otherlv_0= 'exists' () 1806 // InternalSolverLanguage.g:627:3: otherlv_0= 'exists' ()
1739 { 1807 {
1740 otherlv_0=(Token)match(input,20,FOLLOW_2); 1808 otherlv_0=(Token)match(input,21,FOLLOW_2);
1741 1809
1742 newLeafNode(otherlv_0, grammarAccess.getExistSymbolAccess().getExistsKeyword_0()); 1810 newLeafNode(otherlv_0, grammarAccess.getExistSymbolAccess().getExistsKeyword_0());
1743 1811
1744 // InternalSolverLanguage.g:602:3: () 1812 // InternalSolverLanguage.g:631:3: ()
1745 // InternalSolverLanguage.g:603:4: 1813 // InternalSolverLanguage.g:632:4:
1746 { 1814 {
1747 1815
1748 current = forceCreateModelElement( 1816 current = forceCreateModelElement(
@@ -1775,7 +1843,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1775 1843
1776 1844
1777 // $ANTLR start "entryRuleEqualsSymbol" 1845 // $ANTLR start "entryRuleEqualsSymbol"
1778 // InternalSolverLanguage.g:613:1: entryRuleEqualsSymbol returns [EObject current=null] : iv_ruleEqualsSymbol= ruleEqualsSymbol EOF ; 1846 // InternalSolverLanguage.g:642:1: entryRuleEqualsSymbol returns [EObject current=null] : iv_ruleEqualsSymbol= ruleEqualsSymbol EOF ;
1779 public final EObject entryRuleEqualsSymbol() throws RecognitionException { 1847 public final EObject entryRuleEqualsSymbol() throws RecognitionException {
1780 EObject current = null; 1848 EObject current = null;
1781 1849
@@ -1783,8 +1851,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1783 1851
1784 1852
1785 try { 1853 try {
1786 // InternalSolverLanguage.g:613:53: (iv_ruleEqualsSymbol= ruleEqualsSymbol EOF ) 1854 // InternalSolverLanguage.g:642:53: (iv_ruleEqualsSymbol= ruleEqualsSymbol EOF )
1787 // InternalSolverLanguage.g:614:2: iv_ruleEqualsSymbol= ruleEqualsSymbol EOF 1855 // InternalSolverLanguage.g:643:2: iv_ruleEqualsSymbol= ruleEqualsSymbol EOF
1788 { 1856 {
1789 newCompositeNode(grammarAccess.getEqualsSymbolRule()); 1857 newCompositeNode(grammarAccess.getEqualsSymbolRule());
1790 pushFollow(FOLLOW_1); 1858 pushFollow(FOLLOW_1);
@@ -1811,7 +1879,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1811 1879
1812 1880
1813 // $ANTLR start "ruleEqualsSymbol" 1881 // $ANTLR start "ruleEqualsSymbol"
1814 // InternalSolverLanguage.g:620:1: ruleEqualsSymbol returns [EObject current=null] : (otherlv_0= 'equals' () ) ; 1882 // InternalSolverLanguage.g:649:1: ruleEqualsSymbol returns [EObject current=null] : (otherlv_0= 'equals' () ) ;
1815 public final EObject ruleEqualsSymbol() throws RecognitionException { 1883 public final EObject ruleEqualsSymbol() throws RecognitionException {
1816 EObject current = null; 1884 EObject current = null;
1817 1885
@@ -1821,18 +1889,18 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1821 enterRule(); 1889 enterRule();
1822 1890
1823 try { 1891 try {
1824 // InternalSolverLanguage.g:626:2: ( (otherlv_0= 'equals' () ) ) 1892 // InternalSolverLanguage.g:655:2: ( (otherlv_0= 'equals' () ) )
1825 // InternalSolverLanguage.g:627:2: (otherlv_0= 'equals' () ) 1893 // InternalSolverLanguage.g:656:2: (otherlv_0= 'equals' () )
1826 { 1894 {
1827 // InternalSolverLanguage.g:627:2: (otherlv_0= 'equals' () ) 1895 // InternalSolverLanguage.g:656:2: (otherlv_0= 'equals' () )
1828 // InternalSolverLanguage.g:628:3: otherlv_0= 'equals' () 1896 // InternalSolverLanguage.g:657:3: otherlv_0= 'equals' ()
1829 { 1897 {
1830 otherlv_0=(Token)match(input,21,FOLLOW_2); 1898 otherlv_0=(Token)match(input,22,FOLLOW_2);
1831 1899
1832 newLeafNode(otherlv_0, grammarAccess.getEqualsSymbolAccess().getEqualsKeyword_0()); 1900 newLeafNode(otherlv_0, grammarAccess.getEqualsSymbolAccess().getEqualsKeyword_0());
1833 1901
1834 // InternalSolverLanguage.g:632:3: () 1902 // InternalSolverLanguage.g:661:3: ()
1835 // InternalSolverLanguage.g:633:4: 1903 // InternalSolverLanguage.g:662:4:
1836 { 1904 {
1837 1905
1838 current = forceCreateModelElement( 1906 current = forceCreateModelElement(
@@ -1865,7 +1933,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1865 1933
1866 1934
1867 // $ANTLR start "entryRuleDataSymbol" 1935 // $ANTLR start "entryRuleDataSymbol"
1868 // InternalSolverLanguage.g:643:1: entryRuleDataSymbol returns [EObject current=null] : iv_ruleDataSymbol= ruleDataSymbol EOF ; 1936 // InternalSolverLanguage.g:672:1: entryRuleDataSymbol returns [EObject current=null] : iv_ruleDataSymbol= ruleDataSymbol EOF ;
1869 public final EObject entryRuleDataSymbol() throws RecognitionException { 1937 public final EObject entryRuleDataSymbol() throws RecognitionException {
1870 EObject current = null; 1938 EObject current = null;
1871 1939
@@ -1873,8 +1941,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1873 1941
1874 1942
1875 try { 1943 try {
1876 // InternalSolverLanguage.g:643:51: (iv_ruleDataSymbol= ruleDataSymbol EOF ) 1944 // InternalSolverLanguage.g:672:51: (iv_ruleDataSymbol= ruleDataSymbol EOF )
1877 // InternalSolverLanguage.g:644:2: iv_ruleDataSymbol= ruleDataSymbol EOF 1945 // InternalSolverLanguage.g:673:2: iv_ruleDataSymbol= ruleDataSymbol EOF
1878 { 1946 {
1879 newCompositeNode(grammarAccess.getDataSymbolRule()); 1947 newCompositeNode(grammarAccess.getDataSymbolRule());
1880 pushFollow(FOLLOW_1); 1948 pushFollow(FOLLOW_1);
@@ -1901,7 +1969,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1901 1969
1902 1970
1903 // $ANTLR start "ruleDataSymbol" 1971 // $ANTLR start "ruleDataSymbol"
1904 // InternalSolverLanguage.g:650:1: ruleDataSymbol returns [EObject current=null] : (this_BooleanSymbol_0= ruleBooleanSymbol | this_IntegerSymbol_1= ruleIntegerSymbol | this_RealSymbol_2= ruleRealSymbol | this_StringSymbol_3= ruleStringSymbol ) ; 1972 // InternalSolverLanguage.g:679:1: ruleDataSymbol returns [EObject current=null] : (this_BooleanSymbol_0= ruleBooleanSymbol | this_IntegerSymbol_1= ruleIntegerSymbol | this_RealSymbol_2= ruleRealSymbol | this_StringSymbol_3= ruleStringSymbol ) ;
1905 public final EObject ruleDataSymbol() throws RecognitionException { 1973 public final EObject ruleDataSymbol() throws RecognitionException {
1906 EObject current = null; 1974 EObject current = null;
1907 1975
@@ -1918,42 +1986,42 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1918 enterRule(); 1986 enterRule();
1919 1987
1920 try { 1988 try {
1921 // InternalSolverLanguage.g:656:2: ( (this_BooleanSymbol_0= ruleBooleanSymbol | this_IntegerSymbol_1= ruleIntegerSymbol | this_RealSymbol_2= ruleRealSymbol | this_StringSymbol_3= ruleStringSymbol ) ) 1989 // InternalSolverLanguage.g:685:2: ( (this_BooleanSymbol_0= ruleBooleanSymbol | this_IntegerSymbol_1= ruleIntegerSymbol | this_RealSymbol_2= ruleRealSymbol | this_StringSymbol_3= ruleStringSymbol ) )
1922 // InternalSolverLanguage.g:657:2: (this_BooleanSymbol_0= ruleBooleanSymbol | this_IntegerSymbol_1= ruleIntegerSymbol | this_RealSymbol_2= ruleRealSymbol | this_StringSymbol_3= ruleStringSymbol ) 1990 // InternalSolverLanguage.g:686:2: (this_BooleanSymbol_0= ruleBooleanSymbol | this_IntegerSymbol_1= ruleIntegerSymbol | this_RealSymbol_2= ruleRealSymbol | this_StringSymbol_3= ruleStringSymbol )
1923 { 1991 {
1924 // InternalSolverLanguage.g:657:2: (this_BooleanSymbol_0= ruleBooleanSymbol | this_IntegerSymbol_1= ruleIntegerSymbol | this_RealSymbol_2= ruleRealSymbol | this_StringSymbol_3= ruleStringSymbol ) 1992 // InternalSolverLanguage.g:686:2: (this_BooleanSymbol_0= ruleBooleanSymbol | this_IntegerSymbol_1= ruleIntegerSymbol | this_RealSymbol_2= ruleRealSymbol | this_StringSymbol_3= ruleStringSymbol )
1925 int alt11=4; 1993 int alt13=4;
1926 switch ( input.LA(1) ) { 1994 switch ( input.LA(1) ) {
1927 case 22:
1928 {
1929 alt11=1;
1930 }
1931 break;
1932 case 23: 1995 case 23:
1933 { 1996 {
1934 alt11=2; 1997 alt13=1;
1935 } 1998 }
1936 break; 1999 break;
1937 case 24: 2000 case 24:
1938 { 2001 {
1939 alt11=3; 2002 alt13=2;
1940 } 2003 }
1941 break; 2004 break;
1942 case 25: 2005 case 25:
1943 { 2006 {
1944 alt11=4; 2007 alt13=3;
2008 }
2009 break;
2010 case 26:
2011 {
2012 alt13=4;
1945 } 2013 }
1946 break; 2014 break;
1947 default: 2015 default:
1948 NoViableAltException nvae = 2016 NoViableAltException nvae =
1949 new NoViableAltException("", 11, 0, input); 2017 new NoViableAltException("", 13, 0, input);
1950 2018
1951 throw nvae; 2019 throw nvae;
1952 } 2020 }
1953 2021
1954 switch (alt11) { 2022 switch (alt13) {
1955 case 1 : 2023 case 1 :
1956 // InternalSolverLanguage.g:658:3: this_BooleanSymbol_0= ruleBooleanSymbol 2024 // InternalSolverLanguage.g:687:3: this_BooleanSymbol_0= ruleBooleanSymbol
1957 { 2025 {
1958 2026
1959 newCompositeNode(grammarAccess.getDataSymbolAccess().getBooleanSymbolParserRuleCall_0()); 2027 newCompositeNode(grammarAccess.getDataSymbolAccess().getBooleanSymbolParserRuleCall_0());
@@ -1971,7 +2039,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1971 } 2039 }
1972 break; 2040 break;
1973 case 2 : 2041 case 2 :
1974 // InternalSolverLanguage.g:667:3: this_IntegerSymbol_1= ruleIntegerSymbol 2042 // InternalSolverLanguage.g:696:3: this_IntegerSymbol_1= ruleIntegerSymbol
1975 { 2043 {
1976 2044
1977 newCompositeNode(grammarAccess.getDataSymbolAccess().getIntegerSymbolParserRuleCall_1()); 2045 newCompositeNode(grammarAccess.getDataSymbolAccess().getIntegerSymbolParserRuleCall_1());
@@ -1989,7 +2057,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1989 } 2057 }
1990 break; 2058 break;
1991 case 3 : 2059 case 3 :
1992 // InternalSolverLanguage.g:676:3: this_RealSymbol_2= ruleRealSymbol 2060 // InternalSolverLanguage.g:705:3: this_RealSymbol_2= ruleRealSymbol
1993 { 2061 {
1994 2062
1995 newCompositeNode(grammarAccess.getDataSymbolAccess().getRealSymbolParserRuleCall_2()); 2063 newCompositeNode(grammarAccess.getDataSymbolAccess().getRealSymbolParserRuleCall_2());
@@ -2007,7 +2075,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2007 } 2075 }
2008 break; 2076 break;
2009 case 4 : 2077 case 4 :
2010 // InternalSolverLanguage.g:685:3: this_StringSymbol_3= ruleStringSymbol 2078 // InternalSolverLanguage.g:714:3: this_StringSymbol_3= ruleStringSymbol
2011 { 2079 {
2012 2080
2013 newCompositeNode(grammarAccess.getDataSymbolAccess().getStringSymbolParserRuleCall_3()); 2081 newCompositeNode(grammarAccess.getDataSymbolAccess().getStringSymbolParserRuleCall_3());
@@ -2047,7 +2115,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2047 2115
2048 2116
2049 // $ANTLR start "entryRuleBooleanSymbol" 2117 // $ANTLR start "entryRuleBooleanSymbol"
2050 // InternalSolverLanguage.g:697:1: entryRuleBooleanSymbol returns [EObject current=null] : iv_ruleBooleanSymbol= ruleBooleanSymbol EOF ; 2118 // InternalSolverLanguage.g:726:1: entryRuleBooleanSymbol returns [EObject current=null] : iv_ruleBooleanSymbol= ruleBooleanSymbol EOF ;
2051 public final EObject entryRuleBooleanSymbol() throws RecognitionException { 2119 public final EObject entryRuleBooleanSymbol() throws RecognitionException {
2052 EObject current = null; 2120 EObject current = null;
2053 2121
@@ -2055,8 +2123,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2055 2123
2056 2124
2057 try { 2125 try {
2058 // InternalSolverLanguage.g:697:54: (iv_ruleBooleanSymbol= ruleBooleanSymbol EOF ) 2126 // InternalSolverLanguage.g:726:54: (iv_ruleBooleanSymbol= ruleBooleanSymbol EOF )
2059 // InternalSolverLanguage.g:698:2: iv_ruleBooleanSymbol= ruleBooleanSymbol EOF 2127 // InternalSolverLanguage.g:727:2: iv_ruleBooleanSymbol= ruleBooleanSymbol EOF
2060 { 2128 {
2061 newCompositeNode(grammarAccess.getBooleanSymbolRule()); 2129 newCompositeNode(grammarAccess.getBooleanSymbolRule());
2062 pushFollow(FOLLOW_1); 2130 pushFollow(FOLLOW_1);
@@ -2083,7 +2151,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2083 2151
2084 2152
2085 // $ANTLR start "ruleBooleanSymbol" 2153 // $ANTLR start "ruleBooleanSymbol"
2086 // InternalSolverLanguage.g:704:1: ruleBooleanSymbol returns [EObject current=null] : (otherlv_0= 'bool' () ) ; 2154 // InternalSolverLanguage.g:733:1: ruleBooleanSymbol returns [EObject current=null] : (otherlv_0= 'bool' () ) ;
2087 public final EObject ruleBooleanSymbol() throws RecognitionException { 2155 public final EObject ruleBooleanSymbol() throws RecognitionException {
2088 EObject current = null; 2156 EObject current = null;
2089 2157
@@ -2093,18 +2161,18 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2093 enterRule(); 2161 enterRule();
2094 2162
2095 try { 2163 try {
2096 // InternalSolverLanguage.g:710:2: ( (otherlv_0= 'bool' () ) ) 2164 // InternalSolverLanguage.g:739:2: ( (otherlv_0= 'bool' () ) )
2097 // InternalSolverLanguage.g:711:2: (otherlv_0= 'bool' () ) 2165 // InternalSolverLanguage.g:740:2: (otherlv_0= 'bool' () )
2098 { 2166 {
2099 // InternalSolverLanguage.g:711:2: (otherlv_0= 'bool' () ) 2167 // InternalSolverLanguage.g:740:2: (otherlv_0= 'bool' () )
2100 // InternalSolverLanguage.g:712:3: otherlv_0= 'bool' () 2168 // InternalSolverLanguage.g:741:3: otherlv_0= 'bool' ()
2101 { 2169 {
2102 otherlv_0=(Token)match(input,22,FOLLOW_2); 2170 otherlv_0=(Token)match(input,23,FOLLOW_2);
2103 2171
2104 newLeafNode(otherlv_0, grammarAccess.getBooleanSymbolAccess().getBoolKeyword_0()); 2172 newLeafNode(otherlv_0, grammarAccess.getBooleanSymbolAccess().getBoolKeyword_0());
2105 2173
2106 // InternalSolverLanguage.g:716:3: () 2174 // InternalSolverLanguage.g:745:3: ()
2107 // InternalSolverLanguage.g:717:4: 2175 // InternalSolverLanguage.g:746:4:
2108 { 2176 {
2109 2177
2110 current = forceCreateModelElement( 2178 current = forceCreateModelElement(
@@ -2137,7 +2205,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2137 2205
2138 2206
2139 // $ANTLR start "entryRuleIntegerSymbol" 2207 // $ANTLR start "entryRuleIntegerSymbol"
2140 // InternalSolverLanguage.g:727:1: entryRuleIntegerSymbol returns [EObject current=null] : iv_ruleIntegerSymbol= ruleIntegerSymbol EOF ; 2208 // InternalSolverLanguage.g:756:1: entryRuleIntegerSymbol returns [EObject current=null] : iv_ruleIntegerSymbol= ruleIntegerSymbol EOF ;
2141 public final EObject entryRuleIntegerSymbol() throws RecognitionException { 2209 public final EObject entryRuleIntegerSymbol() throws RecognitionException {
2142 EObject current = null; 2210 EObject current = null;
2143 2211
@@ -2145,8 +2213,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2145 2213
2146 2214
2147 try { 2215 try {
2148 // InternalSolverLanguage.g:727:54: (iv_ruleIntegerSymbol= ruleIntegerSymbol EOF ) 2216 // InternalSolverLanguage.g:756:54: (iv_ruleIntegerSymbol= ruleIntegerSymbol EOF )
2149 // InternalSolverLanguage.g:728:2: iv_ruleIntegerSymbol= ruleIntegerSymbol EOF 2217 // InternalSolverLanguage.g:757:2: iv_ruleIntegerSymbol= ruleIntegerSymbol EOF
2150 { 2218 {
2151 newCompositeNode(grammarAccess.getIntegerSymbolRule()); 2219 newCompositeNode(grammarAccess.getIntegerSymbolRule());
2152 pushFollow(FOLLOW_1); 2220 pushFollow(FOLLOW_1);
@@ -2173,7 +2241,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2173 2241
2174 2242
2175 // $ANTLR start "ruleIntegerSymbol" 2243 // $ANTLR start "ruleIntegerSymbol"
2176 // InternalSolverLanguage.g:734:1: ruleIntegerSymbol returns [EObject current=null] : (otherlv_0= 'int' () ) ; 2244 // InternalSolverLanguage.g:763:1: ruleIntegerSymbol returns [EObject current=null] : (otherlv_0= 'int' () ) ;
2177 public final EObject ruleIntegerSymbol() throws RecognitionException { 2245 public final EObject ruleIntegerSymbol() throws RecognitionException {
2178 EObject current = null; 2246 EObject current = null;
2179 2247
@@ -2183,18 +2251,18 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2183 enterRule(); 2251 enterRule();
2184 2252
2185 try { 2253 try {
2186 // InternalSolverLanguage.g:740:2: ( (otherlv_0= 'int' () ) ) 2254 // InternalSolverLanguage.g:769:2: ( (otherlv_0= 'int' () ) )
2187 // InternalSolverLanguage.g:741:2: (otherlv_0= 'int' () ) 2255 // InternalSolverLanguage.g:770:2: (otherlv_0= 'int' () )
2188 { 2256 {
2189 // InternalSolverLanguage.g:741:2: (otherlv_0= 'int' () ) 2257 // InternalSolverLanguage.g:770:2: (otherlv_0= 'int' () )
2190 // InternalSolverLanguage.g:742:3: otherlv_0= 'int' () 2258 // InternalSolverLanguage.g:771:3: otherlv_0= 'int' ()
2191 { 2259 {
2192 otherlv_0=(Token)match(input,23,FOLLOW_2); 2260 otherlv_0=(Token)match(input,24,FOLLOW_2);
2193 2261
2194 newLeafNode(otherlv_0, grammarAccess.getIntegerSymbolAccess().getIntKeyword_0()); 2262 newLeafNode(otherlv_0, grammarAccess.getIntegerSymbolAccess().getIntKeyword_0());
2195 2263
2196 // InternalSolverLanguage.g:746:3: () 2264 // InternalSolverLanguage.g:775:3: ()
2197 // InternalSolverLanguage.g:747:4: 2265 // InternalSolverLanguage.g:776:4:
2198 { 2266 {
2199 2267
2200 current = forceCreateModelElement( 2268 current = forceCreateModelElement(
@@ -2227,7 +2295,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2227 2295
2228 2296
2229 // $ANTLR start "entryRuleRealSymbol" 2297 // $ANTLR start "entryRuleRealSymbol"
2230 // InternalSolverLanguage.g:757:1: entryRuleRealSymbol returns [EObject current=null] : iv_ruleRealSymbol= ruleRealSymbol EOF ; 2298 // InternalSolverLanguage.g:786:1: entryRuleRealSymbol returns [EObject current=null] : iv_ruleRealSymbol= ruleRealSymbol EOF ;
2231 public final EObject entryRuleRealSymbol() throws RecognitionException { 2299 public final EObject entryRuleRealSymbol() throws RecognitionException {
2232 EObject current = null; 2300 EObject current = null;
2233 2301
@@ -2235,8 +2303,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2235 2303
2236 2304
2237 try { 2305 try {
2238 // InternalSolverLanguage.g:757:51: (iv_ruleRealSymbol= ruleRealSymbol EOF ) 2306 // InternalSolverLanguage.g:786:51: (iv_ruleRealSymbol= ruleRealSymbol EOF )
2239 // InternalSolverLanguage.g:758:2: iv_ruleRealSymbol= ruleRealSymbol EOF 2307 // InternalSolverLanguage.g:787:2: iv_ruleRealSymbol= ruleRealSymbol EOF
2240 { 2308 {
2241 newCompositeNode(grammarAccess.getRealSymbolRule()); 2309 newCompositeNode(grammarAccess.getRealSymbolRule());
2242 pushFollow(FOLLOW_1); 2310 pushFollow(FOLLOW_1);
@@ -2263,7 +2331,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2263 2331
2264 2332
2265 // $ANTLR start "ruleRealSymbol" 2333 // $ANTLR start "ruleRealSymbol"
2266 // InternalSolverLanguage.g:764:1: ruleRealSymbol returns [EObject current=null] : (otherlv_0= 'real' () ) ; 2334 // InternalSolverLanguage.g:793:1: ruleRealSymbol returns [EObject current=null] : (otherlv_0= 'real' () ) ;
2267 public final EObject ruleRealSymbol() throws RecognitionException { 2335 public final EObject ruleRealSymbol() throws RecognitionException {
2268 EObject current = null; 2336 EObject current = null;
2269 2337
@@ -2273,18 +2341,18 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2273 enterRule(); 2341 enterRule();
2274 2342
2275 try { 2343 try {
2276 // InternalSolverLanguage.g:770:2: ( (otherlv_0= 'real' () ) ) 2344 // InternalSolverLanguage.g:799:2: ( (otherlv_0= 'real' () ) )
2277 // InternalSolverLanguage.g:771:2: (otherlv_0= 'real' () ) 2345 // InternalSolverLanguage.g:800:2: (otherlv_0= 'real' () )
2278 { 2346 {
2279 // InternalSolverLanguage.g:771:2: (otherlv_0= 'real' () ) 2347 // InternalSolverLanguage.g:800:2: (otherlv_0= 'real' () )
2280 // InternalSolverLanguage.g:772:3: otherlv_0= 'real' () 2348 // InternalSolverLanguage.g:801:3: otherlv_0= 'real' ()
2281 { 2349 {
2282 otherlv_0=(Token)match(input,24,FOLLOW_2); 2350 otherlv_0=(Token)match(input,25,FOLLOW_2);
2283 2351
2284 newLeafNode(otherlv_0, grammarAccess.getRealSymbolAccess().getRealKeyword_0()); 2352 newLeafNode(otherlv_0, grammarAccess.getRealSymbolAccess().getRealKeyword_0());
2285 2353
2286 // InternalSolverLanguage.g:776:3: () 2354 // InternalSolverLanguage.g:805:3: ()
2287 // InternalSolverLanguage.g:777:4: 2355 // InternalSolverLanguage.g:806:4:
2288 { 2356 {
2289 2357
2290 current = forceCreateModelElement( 2358 current = forceCreateModelElement(
@@ -2317,7 +2385,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2317 2385
2318 2386
2319 // $ANTLR start "entryRuleStringSymbol" 2387 // $ANTLR start "entryRuleStringSymbol"
2320 // InternalSolverLanguage.g:787:1: entryRuleStringSymbol returns [EObject current=null] : iv_ruleStringSymbol= ruleStringSymbol EOF ; 2388 // InternalSolverLanguage.g:816:1: entryRuleStringSymbol returns [EObject current=null] : iv_ruleStringSymbol= ruleStringSymbol EOF ;
2321 public final EObject entryRuleStringSymbol() throws RecognitionException { 2389 public final EObject entryRuleStringSymbol() throws RecognitionException {
2322 EObject current = null; 2390 EObject current = null;
2323 2391
@@ -2325,8 +2393,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2325 2393
2326 2394
2327 try { 2395 try {
2328 // InternalSolverLanguage.g:787:53: (iv_ruleStringSymbol= ruleStringSymbol EOF ) 2396 // InternalSolverLanguage.g:816:53: (iv_ruleStringSymbol= ruleStringSymbol EOF )
2329 // InternalSolverLanguage.g:788:2: iv_ruleStringSymbol= ruleStringSymbol EOF 2397 // InternalSolverLanguage.g:817:2: iv_ruleStringSymbol= ruleStringSymbol EOF
2330 { 2398 {
2331 newCompositeNode(grammarAccess.getStringSymbolRule()); 2399 newCompositeNode(grammarAccess.getStringSymbolRule());
2332 pushFollow(FOLLOW_1); 2400 pushFollow(FOLLOW_1);
@@ -2353,7 +2421,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2353 2421
2354 2422
2355 // $ANTLR start "ruleStringSymbol" 2423 // $ANTLR start "ruleStringSymbol"
2356 // InternalSolverLanguage.g:794:1: ruleStringSymbol returns [EObject current=null] : (otherlv_0= 'string' () ) ; 2424 // InternalSolverLanguage.g:823:1: ruleStringSymbol returns [EObject current=null] : (otherlv_0= 'string' () ) ;
2357 public final EObject ruleStringSymbol() throws RecognitionException { 2425 public final EObject ruleStringSymbol() throws RecognitionException {
2358 EObject current = null; 2426 EObject current = null;
2359 2427
@@ -2363,18 +2431,18 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2363 enterRule(); 2431 enterRule();
2364 2432
2365 try { 2433 try {
2366 // InternalSolverLanguage.g:800:2: ( (otherlv_0= 'string' () ) ) 2434 // InternalSolverLanguage.g:829:2: ( (otherlv_0= 'string' () ) )
2367 // InternalSolverLanguage.g:801:2: (otherlv_0= 'string' () ) 2435 // InternalSolverLanguage.g:830:2: (otherlv_0= 'string' () )
2368 { 2436 {
2369 // InternalSolverLanguage.g:801:2: (otherlv_0= 'string' () ) 2437 // InternalSolverLanguage.g:830:2: (otherlv_0= 'string' () )
2370 // InternalSolverLanguage.g:802:3: otherlv_0= 'string' () 2438 // InternalSolverLanguage.g:831:3: otherlv_0= 'string' ()
2371 { 2439 {
2372 otherlv_0=(Token)match(input,25,FOLLOW_2); 2440 otherlv_0=(Token)match(input,26,FOLLOW_2);
2373 2441
2374 newLeafNode(otherlv_0, grammarAccess.getStringSymbolAccess().getStringKeyword_0()); 2442 newLeafNode(otherlv_0, grammarAccess.getStringSymbolAccess().getStringKeyword_0());
2375 2443
2376 // InternalSolverLanguage.g:806:3: () 2444 // InternalSolverLanguage.g:835:3: ()
2377 // InternalSolverLanguage.g:807:4: 2445 // InternalSolverLanguage.g:836:4:
2378 { 2446 {
2379 2447
2380 current = forceCreateModelElement( 2448 current = forceCreateModelElement(
@@ -2407,7 +2475,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2407 2475
2408 2476
2409 // $ANTLR start "entryRuleComplexObject" 2477 // $ANTLR start "entryRuleComplexObject"
2410 // InternalSolverLanguage.g:817:1: entryRuleComplexObject returns [EObject current=null] : iv_ruleComplexObject= ruleComplexObject EOF ; 2478 // InternalSolverLanguage.g:846:1: entryRuleComplexObject returns [EObject current=null] : iv_ruleComplexObject= ruleComplexObject EOF ;
2411 public final EObject entryRuleComplexObject() throws RecognitionException { 2479 public final EObject entryRuleComplexObject() throws RecognitionException {
2412 EObject current = null; 2480 EObject current = null;
2413 2481
@@ -2415,8 +2483,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2415 2483
2416 2484
2417 try { 2485 try {
2418 // InternalSolverLanguage.g:817:54: (iv_ruleComplexObject= ruleComplexObject EOF ) 2486 // InternalSolverLanguage.g:846:54: (iv_ruleComplexObject= ruleComplexObject EOF )
2419 // InternalSolverLanguage.g:818:2: iv_ruleComplexObject= ruleComplexObject EOF 2487 // InternalSolverLanguage.g:847:2: iv_ruleComplexObject= ruleComplexObject EOF
2420 { 2488 {
2421 newCompositeNode(grammarAccess.getComplexObjectRule()); 2489 newCompositeNode(grammarAccess.getComplexObjectRule());
2422 pushFollow(FOLLOW_1); 2490 pushFollow(FOLLOW_1);
@@ -2443,7 +2511,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2443 2511
2444 2512
2445 // $ANTLR start "ruleComplexObject" 2513 // $ANTLR start "ruleComplexObject"
2446 // InternalSolverLanguage.g:824:1: ruleComplexObject returns [EObject current=null] : (this_Object_0= ruleObject | this_AllInstances_1= ruleAllInstances | this_AllObjects_2= ruleAllObjects ) ; 2514 // InternalSolverLanguage.g:853:1: ruleComplexObject returns [EObject current=null] : (this_Object_0= ruleObject | this_AllInstances_1= ruleAllInstances | this_AllObjects_2= ruleAllObjects ) ;
2447 public final EObject ruleComplexObject() throws RecognitionException { 2515 public final EObject ruleComplexObject() throws RecognitionException {
2448 EObject current = null; 2516 EObject current = null;
2449 2517
@@ -2458,11 +2526,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2458 enterRule(); 2526 enterRule();
2459 2527
2460 try { 2528 try {
2461 // InternalSolverLanguage.g:830:2: ( (this_Object_0= ruleObject | this_AllInstances_1= ruleAllInstances | this_AllObjects_2= ruleAllObjects ) ) 2529 // InternalSolverLanguage.g:859:2: ( (this_Object_0= ruleObject | this_AllInstances_1= ruleAllInstances | this_AllObjects_2= ruleAllObjects ) )
2462 // InternalSolverLanguage.g:831:2: (this_Object_0= ruleObject | this_AllInstances_1= ruleAllInstances | this_AllObjects_2= ruleAllObjects ) 2530 // InternalSolverLanguage.g:860:2: (this_Object_0= ruleObject | this_AllInstances_1= ruleAllInstances | this_AllObjects_2= ruleAllObjects )
2463 { 2531 {
2464 // InternalSolverLanguage.g:831:2: (this_Object_0= ruleObject | this_AllInstances_1= ruleAllInstances | this_AllObjects_2= ruleAllObjects ) 2532 // InternalSolverLanguage.g:860:2: (this_Object_0= ruleObject | this_AllInstances_1= ruleAllInstances | this_AllObjects_2= ruleAllObjects )
2465 int alt12=3; 2533 int alt14=3;
2466 switch ( input.LA(1) ) { 2534 switch ( input.LA(1) ) {
2467 case RULE_INT: 2535 case RULE_INT:
2468 case RULE_ID: 2536 case RULE_ID:
@@ -2470,31 +2538,31 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2470 case 11: 2538 case 11:
2471 case 13: 2539 case 13:
2472 case 14: 2540 case 14:
2473 case 26: 2541 case 27:
2474 { 2542 {
2475 alt12=1; 2543 alt14=1;
2476 } 2544 }
2477 break; 2545 break;
2478 case 19: 2546 case 20:
2479 { 2547 {
2480 alt12=2; 2548 alt14=2;
2481 } 2549 }
2482 break; 2550 break;
2483 case 30: 2551 case 31:
2484 { 2552 {
2485 alt12=3; 2553 alt14=3;
2486 } 2554 }
2487 break; 2555 break;
2488 default: 2556 default:
2489 NoViableAltException nvae = 2557 NoViableAltException nvae =
2490 new NoViableAltException("", 12, 0, input); 2558 new NoViableAltException("", 14, 0, input);
2491 2559
2492 throw nvae; 2560 throw nvae;
2493 } 2561 }
2494 2562
2495 switch (alt12) { 2563 switch (alt14) {
2496 case 1 : 2564 case 1 :
2497 // InternalSolverLanguage.g:832:3: this_Object_0= ruleObject 2565 // InternalSolverLanguage.g:861:3: this_Object_0= ruleObject
2498 { 2566 {
2499 2567
2500 newCompositeNode(grammarAccess.getComplexObjectAccess().getObjectParserRuleCall_0()); 2568 newCompositeNode(grammarAccess.getComplexObjectAccess().getObjectParserRuleCall_0());
@@ -2512,7 +2580,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2512 } 2580 }
2513 break; 2581 break;
2514 case 2 : 2582 case 2 :
2515 // InternalSolverLanguage.g:841:3: this_AllInstances_1= ruleAllInstances 2583 // InternalSolverLanguage.g:870:3: this_AllInstances_1= ruleAllInstances
2516 { 2584 {
2517 2585
2518 newCompositeNode(grammarAccess.getComplexObjectAccess().getAllInstancesParserRuleCall_1()); 2586 newCompositeNode(grammarAccess.getComplexObjectAccess().getAllInstancesParserRuleCall_1());
@@ -2530,7 +2598,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2530 } 2598 }
2531 break; 2599 break;
2532 case 3 : 2600 case 3 :
2533 // InternalSolverLanguage.g:850:3: this_AllObjects_2= ruleAllObjects 2601 // InternalSolverLanguage.g:879:3: this_AllObjects_2= ruleAllObjects
2534 { 2602 {
2535 2603
2536 newCompositeNode(grammarAccess.getComplexObjectAccess().getAllObjectsParserRuleCall_2()); 2604 newCompositeNode(grammarAccess.getComplexObjectAccess().getAllObjectsParserRuleCall_2());
@@ -2570,7 +2638,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2570 2638
2571 2639
2572 // $ANTLR start "entryRuleObject" 2640 // $ANTLR start "entryRuleObject"
2573 // InternalSolverLanguage.g:862:1: entryRuleObject returns [EObject current=null] : iv_ruleObject= ruleObject EOF ; 2641 // InternalSolverLanguage.g:891:1: entryRuleObject returns [EObject current=null] : iv_ruleObject= ruleObject EOF ;
2574 public final EObject entryRuleObject() throws RecognitionException { 2642 public final EObject entryRuleObject() throws RecognitionException {
2575 EObject current = null; 2643 EObject current = null;
2576 2644
@@ -2578,8 +2646,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2578 2646
2579 2647
2580 try { 2648 try {
2581 // InternalSolverLanguage.g:862:47: (iv_ruleObject= ruleObject EOF ) 2649 // InternalSolverLanguage.g:891:47: (iv_ruleObject= ruleObject EOF )
2582 // InternalSolverLanguage.g:863:2: iv_ruleObject= ruleObject EOF 2650 // InternalSolverLanguage.g:892:2: iv_ruleObject= ruleObject EOF
2583 { 2651 {
2584 newCompositeNode(grammarAccess.getObjectRule()); 2652 newCompositeNode(grammarAccess.getObjectRule());
2585 pushFollow(FOLLOW_1); 2653 pushFollow(FOLLOW_1);
@@ -2606,7 +2674,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2606 2674
2607 2675
2608 // $ANTLR start "ruleObject" 2676 // $ANTLR start "ruleObject"
2609 // InternalSolverLanguage.g:869:1: ruleObject returns [EObject current=null] : (this_NamedObject_0= ruleNamedObject | this_UnnamedObject_1= ruleUnnamedObject | this_DataObject_2= ruleDataObject ) ; 2677 // InternalSolverLanguage.g:898:1: ruleObject returns [EObject current=null] : (this_NamedObject_0= ruleNamedObject | this_UnnamedObject_1= ruleUnnamedObject | this_DataObject_2= ruleDataObject ) ;
2610 public final EObject ruleObject() throws RecognitionException { 2678 public final EObject ruleObject() throws RecognitionException {
2611 EObject current = null; 2679 EObject current = null;
2612 2680
@@ -2621,20 +2689,20 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2621 enterRule(); 2689 enterRule();
2622 2690
2623 try { 2691 try {
2624 // InternalSolverLanguage.g:875:2: ( (this_NamedObject_0= ruleNamedObject | this_UnnamedObject_1= ruleUnnamedObject | this_DataObject_2= ruleDataObject ) ) 2692 // InternalSolverLanguage.g:904:2: ( (this_NamedObject_0= ruleNamedObject | this_UnnamedObject_1= ruleUnnamedObject | this_DataObject_2= ruleDataObject ) )
2625 // InternalSolverLanguage.g:876:2: (this_NamedObject_0= ruleNamedObject | this_UnnamedObject_1= ruleUnnamedObject | this_DataObject_2= ruleDataObject ) 2693 // InternalSolverLanguage.g:905:2: (this_NamedObject_0= ruleNamedObject | this_UnnamedObject_1= ruleUnnamedObject | this_DataObject_2= ruleDataObject )
2626 { 2694 {
2627 // InternalSolverLanguage.g:876:2: (this_NamedObject_0= ruleNamedObject | this_UnnamedObject_1= ruleUnnamedObject | this_DataObject_2= ruleDataObject ) 2695 // InternalSolverLanguage.g:905:2: (this_NamedObject_0= ruleNamedObject | this_UnnamedObject_1= ruleUnnamedObject | this_DataObject_2= ruleDataObject )
2628 int alt13=3; 2696 int alt15=3;
2629 switch ( input.LA(1) ) { 2697 switch ( input.LA(1) ) {
2630 case 26: 2698 case 27:
2631 { 2699 {
2632 alt13=1; 2700 alt15=1;
2633 } 2701 }
2634 break; 2702 break;
2635 case RULE_ID: 2703 case RULE_ID:
2636 { 2704 {
2637 alt13=2; 2705 alt15=2;
2638 } 2706 }
2639 break; 2707 break;
2640 case RULE_INT: 2708 case RULE_INT:
@@ -2643,19 +2711,19 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2643 case 13: 2711 case 13:
2644 case 14: 2712 case 14:
2645 { 2713 {
2646 alt13=3; 2714 alt15=3;
2647 } 2715 }
2648 break; 2716 break;
2649 default: 2717 default:
2650 NoViableAltException nvae = 2718 NoViableAltException nvae =
2651 new NoViableAltException("", 13, 0, input); 2719 new NoViableAltException("", 15, 0, input);
2652 2720
2653 throw nvae; 2721 throw nvae;
2654 } 2722 }
2655 2723
2656 switch (alt13) { 2724 switch (alt15) {
2657 case 1 : 2725 case 1 :
2658 // InternalSolverLanguage.g:877:3: this_NamedObject_0= ruleNamedObject 2726 // InternalSolverLanguage.g:906:3: this_NamedObject_0= ruleNamedObject
2659 { 2727 {
2660 2728
2661 newCompositeNode(grammarAccess.getObjectAccess().getNamedObjectParserRuleCall_0()); 2729 newCompositeNode(grammarAccess.getObjectAccess().getNamedObjectParserRuleCall_0());
@@ -2673,7 +2741,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2673 } 2741 }
2674 break; 2742 break;
2675 case 2 : 2743 case 2 :
2676 // InternalSolverLanguage.g:886:3: this_UnnamedObject_1= ruleUnnamedObject 2744 // InternalSolverLanguage.g:915:3: this_UnnamedObject_1= ruleUnnamedObject
2677 { 2745 {
2678 2746
2679 newCompositeNode(grammarAccess.getObjectAccess().getUnnamedObjectParserRuleCall_1()); 2747 newCompositeNode(grammarAccess.getObjectAccess().getUnnamedObjectParserRuleCall_1());
@@ -2691,7 +2759,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2691 } 2759 }
2692 break; 2760 break;
2693 case 3 : 2761 case 3 :
2694 // InternalSolverLanguage.g:895:3: this_DataObject_2= ruleDataObject 2762 // InternalSolverLanguage.g:924:3: this_DataObject_2= ruleDataObject
2695 { 2763 {
2696 2764
2697 newCompositeNode(grammarAccess.getObjectAccess().getDataObjectParserRuleCall_2()); 2765 newCompositeNode(grammarAccess.getObjectAccess().getDataObjectParserRuleCall_2());
@@ -2731,7 +2799,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2731 2799
2732 2800
2733 // $ANTLR start "entryRuleNamedObject" 2801 // $ANTLR start "entryRuleNamedObject"
2734 // InternalSolverLanguage.g:907:1: entryRuleNamedObject returns [EObject current=null] : iv_ruleNamedObject= ruleNamedObject EOF ; 2802 // InternalSolverLanguage.g:936:1: entryRuleNamedObject returns [EObject current=null] : iv_ruleNamedObject= ruleNamedObject EOF ;
2735 public final EObject entryRuleNamedObject() throws RecognitionException { 2803 public final EObject entryRuleNamedObject() throws RecognitionException {
2736 EObject current = null; 2804 EObject current = null;
2737 2805
@@ -2739,8 +2807,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2739 2807
2740 2808
2741 try { 2809 try {
2742 // InternalSolverLanguage.g:907:52: (iv_ruleNamedObject= ruleNamedObject EOF ) 2810 // InternalSolverLanguage.g:936:52: (iv_ruleNamedObject= ruleNamedObject EOF )
2743 // InternalSolverLanguage.g:908:2: iv_ruleNamedObject= ruleNamedObject EOF 2811 // InternalSolverLanguage.g:937:2: iv_ruleNamedObject= ruleNamedObject EOF
2744 { 2812 {
2745 newCompositeNode(grammarAccess.getNamedObjectRule()); 2813 newCompositeNode(grammarAccess.getNamedObjectRule());
2746 pushFollow(FOLLOW_1); 2814 pushFollow(FOLLOW_1);
@@ -2767,7 +2835,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2767 2835
2768 2836
2769 // $ANTLR start "ruleNamedObject" 2837 // $ANTLR start "ruleNamedObject"
2770 // InternalSolverLanguage.g:914:1: ruleNamedObject returns [EObject current=null] : (otherlv_0= '\\'' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '\\'' ) ; 2838 // InternalSolverLanguage.g:943:1: ruleNamedObject returns [EObject current=null] : (otherlv_0= '\\'' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '\\'' ) ;
2771 public final EObject ruleNamedObject() throws RecognitionException { 2839 public final EObject ruleNamedObject() throws RecognitionException {
2772 EObject current = null; 2840 EObject current = null;
2773 2841
@@ -2779,23 +2847,23 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2779 enterRule(); 2847 enterRule();
2780 2848
2781 try { 2849 try {
2782 // InternalSolverLanguage.g:920:2: ( (otherlv_0= '\\'' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '\\'' ) ) 2850 // InternalSolverLanguage.g:949:2: ( (otherlv_0= '\\'' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '\\'' ) )
2783 // InternalSolverLanguage.g:921:2: (otherlv_0= '\\'' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '\\'' ) 2851 // InternalSolverLanguage.g:950:2: (otherlv_0= '\\'' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '\\'' )
2784 { 2852 {
2785 // InternalSolverLanguage.g:921:2: (otherlv_0= '\\'' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '\\'' ) 2853 // InternalSolverLanguage.g:950:2: (otherlv_0= '\\'' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '\\'' )
2786 // InternalSolverLanguage.g:922:3: otherlv_0= '\\'' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '\\'' 2854 // InternalSolverLanguage.g:951:3: otherlv_0= '\\'' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '\\''
2787 { 2855 {
2788 otherlv_0=(Token)match(input,26,FOLLOW_10); 2856 otherlv_0=(Token)match(input,27,FOLLOW_12);
2789 2857
2790 newLeafNode(otherlv_0, grammarAccess.getNamedObjectAccess().getApostropheKeyword_0()); 2858 newLeafNode(otherlv_0, grammarAccess.getNamedObjectAccess().getApostropheKeyword_0());
2791 2859
2792 // InternalSolverLanguage.g:926:3: ( (lv_name_1_0= RULE_ID ) ) 2860 // InternalSolverLanguage.g:955:3: ( (lv_name_1_0= RULE_ID ) )
2793 // InternalSolverLanguage.g:927:4: (lv_name_1_0= RULE_ID ) 2861 // InternalSolverLanguage.g:956:4: (lv_name_1_0= RULE_ID )
2794 { 2862 {
2795 // InternalSolverLanguage.g:927:4: (lv_name_1_0= RULE_ID ) 2863 // InternalSolverLanguage.g:956:4: (lv_name_1_0= RULE_ID )
2796 // InternalSolverLanguage.g:928:5: lv_name_1_0= RULE_ID 2864 // InternalSolverLanguage.g:957:5: lv_name_1_0= RULE_ID
2797 { 2865 {
2798 lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_11); 2866 lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_13);
2799 2867
2800 newLeafNode(lv_name_1_0, grammarAccess.getNamedObjectAccess().getNameIDTerminalRuleCall_1_0()); 2868 newLeafNode(lv_name_1_0, grammarAccess.getNamedObjectAccess().getNameIDTerminalRuleCall_1_0());
2801 2869
@@ -2815,7 +2883,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2815 2883
2816 } 2884 }
2817 2885
2818 otherlv_2=(Token)match(input,26,FOLLOW_2); 2886 otherlv_2=(Token)match(input,27,FOLLOW_2);
2819 2887
2820 newLeafNode(otherlv_2, grammarAccess.getNamedObjectAccess().getApostropheKeyword_2()); 2888 newLeafNode(otherlv_2, grammarAccess.getNamedObjectAccess().getApostropheKeyword_2());
2821 2889
@@ -2842,7 +2910,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2842 2910
2843 2911
2844 // $ANTLR start "entryRuleUnnamedObject" 2912 // $ANTLR start "entryRuleUnnamedObject"
2845 // InternalSolverLanguage.g:952:1: entryRuleUnnamedObject returns [EObject current=null] : iv_ruleUnnamedObject= ruleUnnamedObject EOF ; 2913 // InternalSolverLanguage.g:981:1: entryRuleUnnamedObject returns [EObject current=null] : iv_ruleUnnamedObject= ruleUnnamedObject EOF ;
2846 public final EObject entryRuleUnnamedObject() throws RecognitionException { 2914 public final EObject entryRuleUnnamedObject() throws RecognitionException {
2847 EObject current = null; 2915 EObject current = null;
2848 2916
@@ -2850,8 +2918,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2850 2918
2851 2919
2852 try { 2920 try {
2853 // InternalSolverLanguage.g:952:54: (iv_ruleUnnamedObject= ruleUnnamedObject EOF ) 2921 // InternalSolverLanguage.g:981:54: (iv_ruleUnnamedObject= ruleUnnamedObject EOF )
2854 // InternalSolverLanguage.g:953:2: iv_ruleUnnamedObject= ruleUnnamedObject EOF 2922 // InternalSolverLanguage.g:982:2: iv_ruleUnnamedObject= ruleUnnamedObject EOF
2855 { 2923 {
2856 newCompositeNode(grammarAccess.getUnnamedObjectRule()); 2924 newCompositeNode(grammarAccess.getUnnamedObjectRule());
2857 pushFollow(FOLLOW_1); 2925 pushFollow(FOLLOW_1);
@@ -2878,7 +2946,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2878 2946
2879 2947
2880 // $ANTLR start "ruleUnnamedObject" 2948 // $ANTLR start "ruleUnnamedObject"
2881 // InternalSolverLanguage.g:959:1: ruleUnnamedObject returns [EObject current=null] : ( (lv_name_0_0= RULE_ID ) ) ; 2949 // InternalSolverLanguage.g:988:1: ruleUnnamedObject returns [EObject current=null] : ( (lv_name_0_0= RULE_ID ) ) ;
2882 public final EObject ruleUnnamedObject() throws RecognitionException { 2950 public final EObject ruleUnnamedObject() throws RecognitionException {
2883 EObject current = null; 2951 EObject current = null;
2884 2952
@@ -2888,14 +2956,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2888 enterRule(); 2956 enterRule();
2889 2957
2890 try { 2958 try {
2891 // InternalSolverLanguage.g:965:2: ( ( (lv_name_0_0= RULE_ID ) ) ) 2959 // InternalSolverLanguage.g:994:2: ( ( (lv_name_0_0= RULE_ID ) ) )
2892 // InternalSolverLanguage.g:966:2: ( (lv_name_0_0= RULE_ID ) ) 2960 // InternalSolverLanguage.g:995:2: ( (lv_name_0_0= RULE_ID ) )
2893 { 2961 {
2894 // InternalSolverLanguage.g:966:2: ( (lv_name_0_0= RULE_ID ) ) 2962 // InternalSolverLanguage.g:995:2: ( (lv_name_0_0= RULE_ID ) )
2895 // InternalSolverLanguage.g:967:3: (lv_name_0_0= RULE_ID ) 2963 // InternalSolverLanguage.g:996:3: (lv_name_0_0= RULE_ID )
2896 { 2964 {
2897 // InternalSolverLanguage.g:967:3: (lv_name_0_0= RULE_ID ) 2965 // InternalSolverLanguage.g:996:3: (lv_name_0_0= RULE_ID )
2898 // InternalSolverLanguage.g:968:4: lv_name_0_0= RULE_ID 2966 // InternalSolverLanguage.g:997:4: lv_name_0_0= RULE_ID
2899 { 2967 {
2900 lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_2); 2968 lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_2);
2901 2969
@@ -2937,7 +3005,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2937 3005
2938 3006
2939 // $ANTLR start "entryRuleDataObject" 3007 // $ANTLR start "entryRuleDataObject"
2940 // InternalSolverLanguage.g:987:1: entryRuleDataObject returns [EObject current=null] : iv_ruleDataObject= ruleDataObject EOF ; 3008 // InternalSolverLanguage.g:1016:1: entryRuleDataObject returns [EObject current=null] : iv_ruleDataObject= ruleDataObject EOF ;
2941 public final EObject entryRuleDataObject() throws RecognitionException { 3009 public final EObject entryRuleDataObject() throws RecognitionException {
2942 EObject current = null; 3010 EObject current = null;
2943 3011
@@ -2945,8 +3013,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2945 3013
2946 3014
2947 try { 3015 try {
2948 // InternalSolverLanguage.g:987:51: (iv_ruleDataObject= ruleDataObject EOF ) 3016 // InternalSolverLanguage.g:1016:51: (iv_ruleDataObject= ruleDataObject EOF )
2949 // InternalSolverLanguage.g:988:2: iv_ruleDataObject= ruleDataObject EOF 3017 // InternalSolverLanguage.g:1017:2: iv_ruleDataObject= ruleDataObject EOF
2950 { 3018 {
2951 newCompositeNode(grammarAccess.getDataObjectRule()); 3019 newCompositeNode(grammarAccess.getDataObjectRule());
2952 pushFollow(FOLLOW_1); 3020 pushFollow(FOLLOW_1);
@@ -2973,7 +3041,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2973 3041
2974 3042
2975 // $ANTLR start "ruleDataObject" 3043 // $ANTLR start "ruleDataObject"
2976 // InternalSolverLanguage.g:994:1: ruleDataObject returns [EObject current=null] : (this_BooleanObject_0= ruleBooleanObject | this_IntObject_1= ruleIntObject | this_RealObject_2= ruleRealObject | this_StringObject_3= ruleStringObject ) ; 3044 // InternalSolverLanguage.g:1023:1: ruleDataObject returns [EObject current=null] : (this_BooleanObject_0= ruleBooleanObject | this_IntObject_1= ruleIntObject | this_RealObject_2= ruleRealObject | this_StringObject_3= ruleStringObject ) ;
2977 public final EObject ruleDataObject() throws RecognitionException { 3045 public final EObject ruleDataObject() throws RecognitionException {
2978 EObject current = null; 3046 EObject current = null;
2979 3047
@@ -2990,41 +3058,41 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2990 enterRule(); 3058 enterRule();
2991 3059
2992 try { 3060 try {
2993 // InternalSolverLanguage.g:1000:2: ( (this_BooleanObject_0= ruleBooleanObject | this_IntObject_1= ruleIntObject | this_RealObject_2= ruleRealObject | this_StringObject_3= ruleStringObject ) ) 3061 // InternalSolverLanguage.g:1029:2: ( (this_BooleanObject_0= ruleBooleanObject | this_IntObject_1= ruleIntObject | this_RealObject_2= ruleRealObject | this_StringObject_3= ruleStringObject ) )
2994 // InternalSolverLanguage.g:1001:2: (this_BooleanObject_0= ruleBooleanObject | this_IntObject_1= ruleIntObject | this_RealObject_2= ruleRealObject | this_StringObject_3= ruleStringObject ) 3062 // InternalSolverLanguage.g:1030:2: (this_BooleanObject_0= ruleBooleanObject | this_IntObject_1= ruleIntObject | this_RealObject_2= ruleRealObject | this_StringObject_3= ruleStringObject )
2995 { 3063 {
2996 // InternalSolverLanguage.g:1001:2: (this_BooleanObject_0= ruleBooleanObject | this_IntObject_1= ruleIntObject | this_RealObject_2= ruleRealObject | this_StringObject_3= ruleStringObject ) 3064 // InternalSolverLanguage.g:1030:2: (this_BooleanObject_0= ruleBooleanObject | this_IntObject_1= ruleIntObject | this_RealObject_2= ruleRealObject | this_StringObject_3= ruleStringObject )
2997 int alt14=4; 3065 int alt16=4;
2998 switch ( input.LA(1) ) { 3066 switch ( input.LA(1) ) {
2999 case 13: 3067 case 13:
3000 case 14: 3068 case 14:
3001 { 3069 {
3002 alt14=1; 3070 alt16=1;
3003 } 3071 }
3004 break; 3072 break;
3005 case 11: 3073 case 11:
3006 { 3074 {
3007 int LA14_2 = input.LA(2); 3075 int LA16_2 = input.LA(2);
3008 3076
3009 if ( (LA14_2==RULE_INT) ) { 3077 if ( (LA16_2==RULE_INT) ) {
3010 int LA14_3 = input.LA(3); 3078 int LA16_3 = input.LA(3);
3011 3079
3012 if ( (LA14_3==12) ) { 3080 if ( (LA16_3==12) ) {
3013 alt14=3; 3081 alt16=3;
3014 } 3082 }
3015 else if ( (LA14_3==EOF||(LA14_3>=RULE_INT && LA14_3<=RULE_STRING)||LA14_3==11||(LA14_3>=13 && LA14_3<=14)||(LA14_3>=18 && LA14_3<=19)||LA14_3==26||LA14_3==30) ) { 3083 else if ( (LA16_3==EOF||(LA16_3>=18 && LA16_3<=19)) ) {
3016 alt14=2; 3084 alt16=2;
3017 } 3085 }
3018 else { 3086 else {
3019 NoViableAltException nvae = 3087 NoViableAltException nvae =
3020 new NoViableAltException("", 14, 3, input); 3088 new NoViableAltException("", 16, 3, input);
3021 3089
3022 throw nvae; 3090 throw nvae;
3023 } 3091 }
3024 } 3092 }
3025 else { 3093 else {
3026 NoViableAltException nvae = 3094 NoViableAltException nvae =
3027 new NoViableAltException("", 14, 2, input); 3095 new NoViableAltException("", 16, 2, input);
3028 3096
3029 throw nvae; 3097 throw nvae;
3030 } 3098 }
@@ -3032,17 +3100,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3032 break; 3100 break;
3033 case RULE_INT: 3101 case RULE_INT:
3034 { 3102 {
3035 int LA14_3 = input.LA(2); 3103 int LA16_3 = input.LA(2);
3036 3104
3037 if ( (LA14_3==12) ) { 3105 if ( (LA16_3==12) ) {
3038 alt14=3; 3106 alt16=3;
3039 } 3107 }
3040 else if ( (LA14_3==EOF||(LA14_3>=RULE_INT && LA14_3<=RULE_STRING)||LA14_3==11||(LA14_3>=13 && LA14_3<=14)||(LA14_3>=18 && LA14_3<=19)||LA14_3==26||LA14_3==30) ) { 3108 else if ( (LA16_3==EOF||(LA16_3>=18 && LA16_3<=19)) ) {
3041 alt14=2; 3109 alt16=2;
3042 } 3110 }
3043 else { 3111 else {
3044 NoViableAltException nvae = 3112 NoViableAltException nvae =
3045 new NoViableAltException("", 14, 3, input); 3113 new NoViableAltException("", 16, 3, input);
3046 3114
3047 throw nvae; 3115 throw nvae;
3048 } 3116 }
@@ -3050,19 +3118,19 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3050 break; 3118 break;
3051 case RULE_STRING: 3119 case RULE_STRING:
3052 { 3120 {
3053 alt14=4; 3121 alt16=4;
3054 } 3122 }
3055 break; 3123 break;
3056 default: 3124 default:
3057 NoViableAltException nvae = 3125 NoViableAltException nvae =
3058 new NoViableAltException("", 14, 0, input); 3126 new NoViableAltException("", 16, 0, input);
3059 3127
3060 throw nvae; 3128 throw nvae;
3061 } 3129 }
3062 3130
3063 switch (alt14) { 3131 switch (alt16) {
3064 case 1 : 3132 case 1 :
3065 // InternalSolverLanguage.g:1002:3: this_BooleanObject_0= ruleBooleanObject 3133 // InternalSolverLanguage.g:1031:3: this_BooleanObject_0= ruleBooleanObject
3066 { 3134 {
3067 3135
3068 newCompositeNode(grammarAccess.getDataObjectAccess().getBooleanObjectParserRuleCall_0()); 3136 newCompositeNode(grammarAccess.getDataObjectAccess().getBooleanObjectParserRuleCall_0());
@@ -3080,7 +3148,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3080 } 3148 }
3081 break; 3149 break;
3082 case 2 : 3150 case 2 :
3083 // InternalSolverLanguage.g:1011:3: this_IntObject_1= ruleIntObject 3151 // InternalSolverLanguage.g:1040:3: this_IntObject_1= ruleIntObject
3084 { 3152 {
3085 3153
3086 newCompositeNode(grammarAccess.getDataObjectAccess().getIntObjectParserRuleCall_1()); 3154 newCompositeNode(grammarAccess.getDataObjectAccess().getIntObjectParserRuleCall_1());
@@ -3098,7 +3166,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3098 } 3166 }
3099 break; 3167 break;
3100 case 3 : 3168 case 3 :
3101 // InternalSolverLanguage.g:1020:3: this_RealObject_2= ruleRealObject 3169 // InternalSolverLanguage.g:1049:3: this_RealObject_2= ruleRealObject
3102 { 3170 {
3103 3171
3104 newCompositeNode(grammarAccess.getDataObjectAccess().getRealObjectParserRuleCall_2()); 3172 newCompositeNode(grammarAccess.getDataObjectAccess().getRealObjectParserRuleCall_2());
@@ -3116,7 +3184,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3116 } 3184 }
3117 break; 3185 break;
3118 case 4 : 3186 case 4 :
3119 // InternalSolverLanguage.g:1029:3: this_StringObject_3= ruleStringObject 3187 // InternalSolverLanguage.g:1058:3: this_StringObject_3= ruleStringObject
3120 { 3188 {
3121 3189
3122 newCompositeNode(grammarAccess.getDataObjectAccess().getStringObjectParserRuleCall_3()); 3190 newCompositeNode(grammarAccess.getDataObjectAccess().getStringObjectParserRuleCall_3());
@@ -3156,7 +3224,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3156 3224
3157 3225
3158 // $ANTLR start "entryRuleBooleanObject" 3226 // $ANTLR start "entryRuleBooleanObject"
3159 // InternalSolverLanguage.g:1041:1: entryRuleBooleanObject returns [EObject current=null] : iv_ruleBooleanObject= ruleBooleanObject EOF ; 3227 // InternalSolverLanguage.g:1070:1: entryRuleBooleanObject returns [EObject current=null] : iv_ruleBooleanObject= ruleBooleanObject EOF ;
3160 public final EObject entryRuleBooleanObject() throws RecognitionException { 3228 public final EObject entryRuleBooleanObject() throws RecognitionException {
3161 EObject current = null; 3229 EObject current = null;
3162 3230
@@ -3164,8 +3232,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3164 3232
3165 3233
3166 try { 3234 try {
3167 // InternalSolverLanguage.g:1041:54: (iv_ruleBooleanObject= ruleBooleanObject EOF ) 3235 // InternalSolverLanguage.g:1070:54: (iv_ruleBooleanObject= ruleBooleanObject EOF )
3168 // InternalSolverLanguage.g:1042:2: iv_ruleBooleanObject= ruleBooleanObject EOF 3236 // InternalSolverLanguage.g:1071:2: iv_ruleBooleanObject= ruleBooleanObject EOF
3169 { 3237 {
3170 newCompositeNode(grammarAccess.getBooleanObjectRule()); 3238 newCompositeNode(grammarAccess.getBooleanObjectRule());
3171 pushFollow(FOLLOW_1); 3239 pushFollow(FOLLOW_1);
@@ -3192,7 +3260,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3192 3260
3193 3261
3194 // $ANTLR start "ruleBooleanObject" 3262 // $ANTLR start "ruleBooleanObject"
3195 // InternalSolverLanguage.g:1048:1: ruleBooleanObject returns [EObject current=null] : ( (lv_value_0_0= ruleBooleanValue ) ) ; 3263 // InternalSolverLanguage.g:1077:1: ruleBooleanObject returns [EObject current=null] : ( (lv_value_0_0= ruleBooleanValue ) ) ;
3196 public final EObject ruleBooleanObject() throws RecognitionException { 3264 public final EObject ruleBooleanObject() throws RecognitionException {
3197 EObject current = null; 3265 EObject current = null;
3198 3266
@@ -3203,14 +3271,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3203 enterRule(); 3271 enterRule();
3204 3272
3205 try { 3273 try {
3206 // InternalSolverLanguage.g:1054:2: ( ( (lv_value_0_0= ruleBooleanValue ) ) ) 3274 // InternalSolverLanguage.g:1083:2: ( ( (lv_value_0_0= ruleBooleanValue ) ) )
3207 // InternalSolverLanguage.g:1055:2: ( (lv_value_0_0= ruleBooleanValue ) ) 3275 // InternalSolverLanguage.g:1084:2: ( (lv_value_0_0= ruleBooleanValue ) )
3208 { 3276 {
3209 // InternalSolverLanguage.g:1055:2: ( (lv_value_0_0= ruleBooleanValue ) ) 3277 // InternalSolverLanguage.g:1084:2: ( (lv_value_0_0= ruleBooleanValue ) )
3210 // InternalSolverLanguage.g:1056:3: (lv_value_0_0= ruleBooleanValue ) 3278 // InternalSolverLanguage.g:1085:3: (lv_value_0_0= ruleBooleanValue )
3211 { 3279 {
3212 // InternalSolverLanguage.g:1056:3: (lv_value_0_0= ruleBooleanValue ) 3280 // InternalSolverLanguage.g:1085:3: (lv_value_0_0= ruleBooleanValue )
3213 // InternalSolverLanguage.g:1057:4: lv_value_0_0= ruleBooleanValue 3281 // InternalSolverLanguage.g:1086:4: lv_value_0_0= ruleBooleanValue
3214 { 3282 {
3215 3283
3216 newCompositeNode(grammarAccess.getBooleanObjectAccess().getValueBooleanValueParserRuleCall_0()); 3284 newCompositeNode(grammarAccess.getBooleanObjectAccess().getValueBooleanValueParserRuleCall_0());
@@ -3257,7 +3325,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3257 3325
3258 3326
3259 // $ANTLR start "entryRuleIntObject" 3327 // $ANTLR start "entryRuleIntObject"
3260 // InternalSolverLanguage.g:1077:1: entryRuleIntObject returns [EObject current=null] : iv_ruleIntObject= ruleIntObject EOF ; 3328 // InternalSolverLanguage.g:1106:1: entryRuleIntObject returns [EObject current=null] : iv_ruleIntObject= ruleIntObject EOF ;
3261 public final EObject entryRuleIntObject() throws RecognitionException { 3329 public final EObject entryRuleIntObject() throws RecognitionException {
3262 EObject current = null; 3330 EObject current = null;
3263 3331
@@ -3265,8 +3333,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3265 3333
3266 3334
3267 try { 3335 try {
3268 // InternalSolverLanguage.g:1077:50: (iv_ruleIntObject= ruleIntObject EOF ) 3336 // InternalSolverLanguage.g:1106:50: (iv_ruleIntObject= ruleIntObject EOF )
3269 // InternalSolverLanguage.g:1078:2: iv_ruleIntObject= ruleIntObject EOF 3337 // InternalSolverLanguage.g:1107:2: iv_ruleIntObject= ruleIntObject EOF
3270 { 3338 {
3271 newCompositeNode(grammarAccess.getIntObjectRule()); 3339 newCompositeNode(grammarAccess.getIntObjectRule());
3272 pushFollow(FOLLOW_1); 3340 pushFollow(FOLLOW_1);
@@ -3293,7 +3361,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3293 3361
3294 3362
3295 // $ANTLR start "ruleIntObject" 3363 // $ANTLR start "ruleIntObject"
3296 // InternalSolverLanguage.g:1084:1: ruleIntObject returns [EObject current=null] : ( (lv_value_0_0= ruleINTLiteral ) ) ; 3364 // InternalSolverLanguage.g:1113:1: ruleIntObject returns [EObject current=null] : ( (lv_value_0_0= ruleINTLiteral ) ) ;
3297 public final EObject ruleIntObject() throws RecognitionException { 3365 public final EObject ruleIntObject() throws RecognitionException {
3298 EObject current = null; 3366 EObject current = null;
3299 3367
@@ -3304,14 +3372,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3304 enterRule(); 3372 enterRule();
3305 3373
3306 try { 3374 try {
3307 // InternalSolverLanguage.g:1090:2: ( ( (lv_value_0_0= ruleINTLiteral ) ) ) 3375 // InternalSolverLanguage.g:1119:2: ( ( (lv_value_0_0= ruleINTLiteral ) ) )
3308 // InternalSolverLanguage.g:1091:2: ( (lv_value_0_0= ruleINTLiteral ) ) 3376 // InternalSolverLanguage.g:1120:2: ( (lv_value_0_0= ruleINTLiteral ) )
3309 { 3377 {
3310 // InternalSolverLanguage.g:1091:2: ( (lv_value_0_0= ruleINTLiteral ) ) 3378 // InternalSolverLanguage.g:1120:2: ( (lv_value_0_0= ruleINTLiteral ) )
3311 // InternalSolverLanguage.g:1092:3: (lv_value_0_0= ruleINTLiteral ) 3379 // InternalSolverLanguage.g:1121:3: (lv_value_0_0= ruleINTLiteral )
3312 { 3380 {
3313 // InternalSolverLanguage.g:1092:3: (lv_value_0_0= ruleINTLiteral ) 3381 // InternalSolverLanguage.g:1121:3: (lv_value_0_0= ruleINTLiteral )
3314 // InternalSolverLanguage.g:1093:4: lv_value_0_0= ruleINTLiteral 3382 // InternalSolverLanguage.g:1122:4: lv_value_0_0= ruleINTLiteral
3315 { 3383 {
3316 3384
3317 newCompositeNode(grammarAccess.getIntObjectAccess().getValueINTLiteralParserRuleCall_0()); 3385 newCompositeNode(grammarAccess.getIntObjectAccess().getValueINTLiteralParserRuleCall_0());
@@ -3358,7 +3426,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3358 3426
3359 3427
3360 // $ANTLR start "entryRuleRealObject" 3428 // $ANTLR start "entryRuleRealObject"
3361 // InternalSolverLanguage.g:1113:1: entryRuleRealObject returns [EObject current=null] : iv_ruleRealObject= ruleRealObject EOF ; 3429 // InternalSolverLanguage.g:1142:1: entryRuleRealObject returns [EObject current=null] : iv_ruleRealObject= ruleRealObject EOF ;
3362 public final EObject entryRuleRealObject() throws RecognitionException { 3430 public final EObject entryRuleRealObject() throws RecognitionException {
3363 EObject current = null; 3431 EObject current = null;
3364 3432
@@ -3366,8 +3434,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3366 3434
3367 3435
3368 try { 3436 try {
3369 // InternalSolverLanguage.g:1113:51: (iv_ruleRealObject= ruleRealObject EOF ) 3437 // InternalSolverLanguage.g:1142:51: (iv_ruleRealObject= ruleRealObject EOF )
3370 // InternalSolverLanguage.g:1114:2: iv_ruleRealObject= ruleRealObject EOF 3438 // InternalSolverLanguage.g:1143:2: iv_ruleRealObject= ruleRealObject EOF
3371 { 3439 {
3372 newCompositeNode(grammarAccess.getRealObjectRule()); 3440 newCompositeNode(grammarAccess.getRealObjectRule());
3373 pushFollow(FOLLOW_1); 3441 pushFollow(FOLLOW_1);
@@ -3394,7 +3462,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3394 3462
3395 3463
3396 // $ANTLR start "ruleRealObject" 3464 // $ANTLR start "ruleRealObject"
3397 // InternalSolverLanguage.g:1120:1: ruleRealObject returns [EObject current=null] : ( (lv_value_0_0= ruleREALLiteral ) ) ; 3465 // InternalSolverLanguage.g:1149:1: ruleRealObject returns [EObject current=null] : ( (lv_value_0_0= ruleREALLiteral ) ) ;
3398 public final EObject ruleRealObject() throws RecognitionException { 3466 public final EObject ruleRealObject() throws RecognitionException {
3399 EObject current = null; 3467 EObject current = null;
3400 3468
@@ -3405,14 +3473,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3405 enterRule(); 3473 enterRule();
3406 3474
3407 try { 3475 try {
3408 // InternalSolverLanguage.g:1126:2: ( ( (lv_value_0_0= ruleREALLiteral ) ) ) 3476 // InternalSolverLanguage.g:1155:2: ( ( (lv_value_0_0= ruleREALLiteral ) ) )
3409 // InternalSolverLanguage.g:1127:2: ( (lv_value_0_0= ruleREALLiteral ) ) 3477 // InternalSolverLanguage.g:1156:2: ( (lv_value_0_0= ruleREALLiteral ) )
3410 { 3478 {
3411 // InternalSolverLanguage.g:1127:2: ( (lv_value_0_0= ruleREALLiteral ) ) 3479 // InternalSolverLanguage.g:1156:2: ( (lv_value_0_0= ruleREALLiteral ) )
3412 // InternalSolverLanguage.g:1128:3: (lv_value_0_0= ruleREALLiteral ) 3480 // InternalSolverLanguage.g:1157:3: (lv_value_0_0= ruleREALLiteral )
3413 { 3481 {
3414 // InternalSolverLanguage.g:1128:3: (lv_value_0_0= ruleREALLiteral ) 3482 // InternalSolverLanguage.g:1157:3: (lv_value_0_0= ruleREALLiteral )
3415 // InternalSolverLanguage.g:1129:4: lv_value_0_0= ruleREALLiteral 3483 // InternalSolverLanguage.g:1158:4: lv_value_0_0= ruleREALLiteral
3416 { 3484 {
3417 3485
3418 newCompositeNode(grammarAccess.getRealObjectAccess().getValueREALLiteralParserRuleCall_0()); 3486 newCompositeNode(grammarAccess.getRealObjectAccess().getValueREALLiteralParserRuleCall_0());
@@ -3459,7 +3527,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3459 3527
3460 3528
3461 // $ANTLR start "entryRuleStringObject" 3529 // $ANTLR start "entryRuleStringObject"
3462 // InternalSolverLanguage.g:1149:1: entryRuleStringObject returns [EObject current=null] : iv_ruleStringObject= ruleStringObject EOF ; 3530 // InternalSolverLanguage.g:1178:1: entryRuleStringObject returns [EObject current=null] : iv_ruleStringObject= ruleStringObject EOF ;
3463 public final EObject entryRuleStringObject() throws RecognitionException { 3531 public final EObject entryRuleStringObject() throws RecognitionException {
3464 EObject current = null; 3532 EObject current = null;
3465 3533
@@ -3467,8 +3535,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3467 3535
3468 3536
3469 try { 3537 try {
3470 // InternalSolverLanguage.g:1149:53: (iv_ruleStringObject= ruleStringObject EOF ) 3538 // InternalSolverLanguage.g:1178:53: (iv_ruleStringObject= ruleStringObject EOF )
3471 // InternalSolverLanguage.g:1150:2: iv_ruleStringObject= ruleStringObject EOF 3539 // InternalSolverLanguage.g:1179:2: iv_ruleStringObject= ruleStringObject EOF
3472 { 3540 {
3473 newCompositeNode(grammarAccess.getStringObjectRule()); 3541 newCompositeNode(grammarAccess.getStringObjectRule());
3474 pushFollow(FOLLOW_1); 3542 pushFollow(FOLLOW_1);
@@ -3495,7 +3563,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3495 3563
3496 3564
3497 // $ANTLR start "ruleStringObject" 3565 // $ANTLR start "ruleStringObject"
3498 // InternalSolverLanguage.g:1156:1: ruleStringObject returns [EObject current=null] : ( (lv_value_0_0= RULE_STRING ) ) ; 3566 // InternalSolverLanguage.g:1185:1: ruleStringObject returns [EObject current=null] : ( (lv_value_0_0= RULE_STRING ) ) ;
3499 public final EObject ruleStringObject() throws RecognitionException { 3567 public final EObject ruleStringObject() throws RecognitionException {
3500 EObject current = null; 3568 EObject current = null;
3501 3569
@@ -3505,14 +3573,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3505 enterRule(); 3573 enterRule();
3506 3574
3507 try { 3575 try {
3508 // InternalSolverLanguage.g:1162:2: ( ( (lv_value_0_0= RULE_STRING ) ) ) 3576 // InternalSolverLanguage.g:1191:2: ( ( (lv_value_0_0= RULE_STRING ) ) )
3509 // InternalSolverLanguage.g:1163:2: ( (lv_value_0_0= RULE_STRING ) ) 3577 // InternalSolverLanguage.g:1192:2: ( (lv_value_0_0= RULE_STRING ) )
3510 { 3578 {
3511 // InternalSolverLanguage.g:1163:2: ( (lv_value_0_0= RULE_STRING ) ) 3579 // InternalSolverLanguage.g:1192:2: ( (lv_value_0_0= RULE_STRING ) )
3512 // InternalSolverLanguage.g:1164:3: (lv_value_0_0= RULE_STRING ) 3580 // InternalSolverLanguage.g:1193:3: (lv_value_0_0= RULE_STRING )
3513 { 3581 {
3514 // InternalSolverLanguage.g:1164:3: (lv_value_0_0= RULE_STRING ) 3582 // InternalSolverLanguage.g:1193:3: (lv_value_0_0= RULE_STRING )
3515 // InternalSolverLanguage.g:1165:4: lv_value_0_0= RULE_STRING 3583 // InternalSolverLanguage.g:1194:4: lv_value_0_0= RULE_STRING
3516 { 3584 {
3517 lv_value_0_0=(Token)match(input,RULE_STRING,FOLLOW_2); 3585 lv_value_0_0=(Token)match(input,RULE_STRING,FOLLOW_2);
3518 3586
@@ -3554,7 +3622,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3554 3622
3555 3623
3556 // $ANTLR start "entryRulePredicate" 3624 // $ANTLR start "entryRulePredicate"
3557 // InternalSolverLanguage.g:1184:1: entryRulePredicate returns [EObject current=null] : iv_rulePredicate= rulePredicate EOF ; 3625 // InternalSolverLanguage.g:1213:1: entryRulePredicate returns [EObject current=null] : iv_rulePredicate= rulePredicate EOF ;
3558 public final EObject entryRulePredicate() throws RecognitionException { 3626 public final EObject entryRulePredicate() throws RecognitionException {
3559 EObject current = null; 3627 EObject current = null;
3560 3628
@@ -3562,8 +3630,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3562 3630
3563 3631
3564 try { 3632 try {
3565 // InternalSolverLanguage.g:1184:50: (iv_rulePredicate= rulePredicate EOF ) 3633 // InternalSolverLanguage.g:1213:50: (iv_rulePredicate= rulePredicate EOF )
3566 // InternalSolverLanguage.g:1185:2: iv_rulePredicate= rulePredicate EOF 3634 // InternalSolverLanguage.g:1214:2: iv_rulePredicate= rulePredicate EOF
3567 { 3635 {
3568 newCompositeNode(grammarAccess.getPredicateRule()); 3636 newCompositeNode(grammarAccess.getPredicateRule());
3569 pushFollow(FOLLOW_1); 3637 pushFollow(FOLLOW_1);
@@ -3590,185 +3658,89 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3590 3658
3591 3659
3592 // $ANTLR start "rulePredicate" 3660 // $ANTLR start "rulePredicate"
3593 // InternalSolverLanguage.g:1191:1: rulePredicate returns [EObject current=null] : (this_PredicateSymbol_0= rulePredicateSymbol | this_ErrorPredicate_1= ruleErrorPredicate ) ; 3661 // InternalSolverLanguage.g:1220:1: rulePredicate returns [EObject current=null] : ( ( (lv_isError_0_0= 'error' ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( ( (lv_parameters_3_0= ruleParameter ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) )* )? otherlv_6= ')' )? otherlv_7= ':-' (otherlv_8= 'false' | ( ( (lv_bodies_9_0= rulePatternBody ) ) (otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) )* ) ) otherlv_12= '.' ) ;
3594 public final EObject rulePredicate() throws RecognitionException { 3662 public final EObject rulePredicate() throws RecognitionException {
3595 EObject current = null; 3663 EObject current = null;
3596 3664
3597 EObject this_PredicateSymbol_0 = null; 3665 Token lv_isError_0_0=null;
3666 Token otherlv_2=null;
3667 Token otherlv_4=null;
3668 Token otherlv_6=null;
3669 Token otherlv_7=null;
3670 Token otherlv_8=null;
3671 Token otherlv_10=null;
3672 Token otherlv_12=null;
3673 EObject lv_symbol_1_0 = null;
3674
3675 EObject lv_parameters_3_0 = null;
3676
3677 EObject lv_parameters_5_0 = null;
3598 3678
3599 EObject this_ErrorPredicate_1 = null; 3679 EObject lv_bodies_9_0 = null;
3680
3681 EObject lv_bodies_11_0 = null;
3600 3682
3601 3683
3602 3684
3603 enterRule(); 3685 enterRule();
3604 3686
3605 try { 3687 try {
3606 // InternalSolverLanguage.g:1197:2: ( (this_PredicateSymbol_0= rulePredicateSymbol | this_ErrorPredicate_1= ruleErrorPredicate ) ) 3688 // InternalSolverLanguage.g:1226:2: ( ( ( (lv_isError_0_0= 'error' ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( ( (lv_parameters_3_0= ruleParameter ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) )* )? otherlv_6= ')' )? otherlv_7= ':-' (otherlv_8= 'false' | ( ( (lv_bodies_9_0= rulePatternBody ) ) (otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) )* ) ) otherlv_12= '.' ) )
3607 // InternalSolverLanguage.g:1198:2: (this_PredicateSymbol_0= rulePredicateSymbol | this_ErrorPredicate_1= ruleErrorPredicate ) 3689 // InternalSolverLanguage.g:1227:2: ( ( (lv_isError_0_0= 'error' ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( ( (lv_parameters_3_0= ruleParameter ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) )* )? otherlv_6= ')' )? otherlv_7= ':-' (otherlv_8= 'false' | ( ( (lv_bodies_9_0= rulePatternBody ) ) (otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) )* ) ) otherlv_12= '.' )
3608 { 3690 {
3609 // InternalSolverLanguage.g:1198:2: (this_PredicateSymbol_0= rulePredicateSymbol | this_ErrorPredicate_1= ruleErrorPredicate ) 3691 // InternalSolverLanguage.g:1227:2: ( ( (lv_isError_0_0= 'error' ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( ( (lv_parameters_3_0= ruleParameter ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) )* )? otherlv_6= ')' )? otherlv_7= ':-' (otherlv_8= 'false' | ( ( (lv_bodies_9_0= rulePatternBody ) ) (otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) )* ) ) otherlv_12= '.' )
3610 int alt15=2; 3692 // InternalSolverLanguage.g:1228:3: ( (lv_isError_0_0= 'error' ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( ( (lv_parameters_3_0= ruleParameter ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) )* )? otherlv_6= ')' )? otherlv_7= ':-' (otherlv_8= 'false' | ( ( (lv_bodies_9_0= rulePatternBody ) ) (otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) )* ) ) otherlv_12= '.'
3611 int LA15_0 = input.LA(1); 3693 {
3612 3694 // InternalSolverLanguage.g:1228:3: ( (lv_isError_0_0= 'error' ) )?
3613 if ( (LA15_0==27) ) { 3695 int alt17=2;
3614 alt15=1; 3696 int LA17_0 = input.LA(1);
3615 }
3616 else if ( (LA15_0==16) ) {
3617 alt15=2;
3618 }
3619 else {
3620 NoViableAltException nvae =
3621 new NoViableAltException("", 15, 0, input);
3622 3697
3623 throw nvae; 3698 if ( (LA17_0==16) ) {
3699 alt17=1;
3624 } 3700 }
3625 switch (alt15) { 3701 switch (alt17) {
3626 case 1 : 3702 case 1 :
3627 // InternalSolverLanguage.g:1199:3: this_PredicateSymbol_0= rulePredicateSymbol 3703 // InternalSolverLanguage.g:1229:4: (lv_isError_0_0= 'error' )
3628 { 3704 {
3629 3705 // InternalSolverLanguage.g:1229:4: (lv_isError_0_0= 'error' )
3630 newCompositeNode(grammarAccess.getPredicateAccess().getPredicateSymbolParserRuleCall_0()); 3706 // InternalSolverLanguage.g:1230:5: lv_isError_0_0= 'error'
3631
3632 pushFollow(FOLLOW_2);
3633 this_PredicateSymbol_0=rulePredicateSymbol();
3634
3635 state._fsp--;
3636
3637
3638 current = this_PredicateSymbol_0;
3639 afterParserOrEnumRuleCall();
3640
3641
3642 }
3643 break;
3644 case 2 :
3645 // InternalSolverLanguage.g:1208:3: this_ErrorPredicate_1= ruleErrorPredicate
3646 { 3707 {
3708 lv_isError_0_0=(Token)match(input,16,FOLLOW_12);
3647 3709
3648 newCompositeNode(grammarAccess.getPredicateAccess().getErrorPredicateParserRuleCall_1()); 3710 newLeafNode(lv_isError_0_0, grammarAccess.getPredicateAccess().getIsErrorErrorKeyword_0_0());
3649 3711
3650 pushFollow(FOLLOW_2);
3651 this_ErrorPredicate_1=ruleErrorPredicate();
3652 3712
3653 state._fsp--; 3713 if (current==null) {
3714 current = createModelElement(grammarAccess.getPredicateRule());
3715 }
3716 setWithLastConsumed(current, "isError", true, "error");
3717
3654 3718
3719 }
3655 3720
3656 current = this_ErrorPredicate_1;
3657 afterParserOrEnumRuleCall();
3658
3659 3721
3660 } 3722 }
3661 break; 3723 break;
3662 3724
3663 } 3725 }
3664 3726
3665 3727 // InternalSolverLanguage.g:1242:3: ( (lv_symbol_1_0= ruleModelSymbol ) )
3666 } 3728 // InternalSolverLanguage.g:1243:4: (lv_symbol_1_0= ruleModelSymbol )
3667
3668
3669 leaveRule();
3670
3671 }
3672
3673 catch (RecognitionException re) {
3674 recover(input,re);
3675 appendSkippedTokens();
3676 }
3677 finally {
3678 }
3679 return current;
3680 }
3681 // $ANTLR end "rulePredicate"
3682
3683
3684 // $ANTLR start "entryRulePredicateSymbol"
3685 // InternalSolverLanguage.g:1220:1: entryRulePredicateSymbol returns [EObject current=null] : iv_rulePredicateSymbol= rulePredicateSymbol EOF ;
3686 public final EObject entryRulePredicateSymbol() throws RecognitionException {
3687 EObject current = null;
3688
3689 EObject iv_rulePredicateSymbol = null;
3690
3691
3692 try {
3693 // InternalSolverLanguage.g:1220:56: (iv_rulePredicateSymbol= rulePredicateSymbol EOF )
3694 // InternalSolverLanguage.g:1221:2: iv_rulePredicateSymbol= rulePredicateSymbol EOF
3695 {
3696 newCompositeNode(grammarAccess.getPredicateSymbolRule());
3697 pushFollow(FOLLOW_1);
3698 iv_rulePredicateSymbol=rulePredicateSymbol();
3699
3700 state._fsp--;
3701
3702 current =iv_rulePredicateSymbol;
3703 match(input,EOF,FOLLOW_2);
3704
3705 }
3706
3707 }
3708
3709 catch (RecognitionException re) {
3710 recover(input,re);
3711 appendSkippedTokens();
3712 }
3713 finally {
3714 }
3715 return current;
3716 }
3717 // $ANTLR end "entryRulePredicateSymbol"
3718
3719
3720 // $ANTLR start "rulePredicateSymbol"
3721 // InternalSolverLanguage.g:1227:1: rulePredicateSymbol returns [EObject current=null] : (otherlv_0= 'predicate' ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= '(' ( (lv_parameters_3_0= ruleParameter ) )* otherlv_4= ')' otherlv_5= ':' (otherlv_6= 'false' | ( ( (lv_bodies_7_0= rulePatternBody ) ) (otherlv_8= '|' ( (lv_bodies_9_0= rulePatternBody ) ) )* ) ) otherlv_10= '.' ) ;
3722 public final EObject rulePredicateSymbol() throws RecognitionException {
3723 EObject current = null;
3724
3725 Token otherlv_0=null;
3726 Token otherlv_2=null;
3727 Token otherlv_4=null;
3728 Token otherlv_5=null;
3729 Token otherlv_6=null;
3730 Token otherlv_8=null;
3731 Token otherlv_10=null;
3732 EObject lv_symbol_1_0 = null;
3733
3734 EObject lv_parameters_3_0 = null;
3735
3736 EObject lv_bodies_7_0 = null;
3737
3738 EObject lv_bodies_9_0 = null;
3739
3740
3741
3742 enterRule();
3743
3744 try {
3745 // InternalSolverLanguage.g:1233:2: ( (otherlv_0= 'predicate' ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= '(' ( (lv_parameters_3_0= ruleParameter ) )* otherlv_4= ')' otherlv_5= ':' (otherlv_6= 'false' | ( ( (lv_bodies_7_0= rulePatternBody ) ) (otherlv_8= '|' ( (lv_bodies_9_0= rulePatternBody ) ) )* ) ) otherlv_10= '.' ) )
3746 // InternalSolverLanguage.g:1234:2: (otherlv_0= 'predicate' ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= '(' ( (lv_parameters_3_0= ruleParameter ) )* otherlv_4= ')' otherlv_5= ':' (otherlv_6= 'false' | ( ( (lv_bodies_7_0= rulePatternBody ) ) (otherlv_8= '|' ( (lv_bodies_9_0= rulePatternBody ) ) )* ) ) otherlv_10= '.' )
3747 { 3729 {
3748 // InternalSolverLanguage.g:1234:2: (otherlv_0= 'predicate' ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= '(' ( (lv_parameters_3_0= ruleParameter ) )* otherlv_4= ')' otherlv_5= ':' (otherlv_6= 'false' | ( ( (lv_bodies_7_0= rulePatternBody ) ) (otherlv_8= '|' ( (lv_bodies_9_0= rulePatternBody ) ) )* ) ) otherlv_10= '.' ) 3730 // InternalSolverLanguage.g:1243:4: (lv_symbol_1_0= ruleModelSymbol )
3749 // InternalSolverLanguage.g:1235:3: otherlv_0= 'predicate' ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= '(' ( (lv_parameters_3_0= ruleParameter ) )* otherlv_4= ')' otherlv_5= ':' (otherlv_6= 'false' | ( ( (lv_bodies_7_0= rulePatternBody ) ) (otherlv_8= '|' ( (lv_bodies_9_0= rulePatternBody ) ) )* ) ) otherlv_10= '.' 3731 // InternalSolverLanguage.g:1244:5: lv_symbol_1_0= ruleModelSymbol
3750 { 3732 {
3751 otherlv_0=(Token)match(input,27,FOLLOW_10);
3752 3733
3753 newLeafNode(otherlv_0, grammarAccess.getPredicateSymbolAccess().getPredicateKeyword_0()); 3734 newCompositeNode(grammarAccess.getPredicateAccess().getSymbolModelSymbolParserRuleCall_1_0());
3754
3755 // InternalSolverLanguage.g:1239:3: ( (lv_symbol_1_0= ruleModelSymbol ) )
3756 // InternalSolverLanguage.g:1240:4: (lv_symbol_1_0= ruleModelSymbol )
3757 {
3758 // InternalSolverLanguage.g:1240:4: (lv_symbol_1_0= ruleModelSymbol )
3759 // InternalSolverLanguage.g:1241:5: lv_symbol_1_0= ruleModelSymbol
3760 {
3761
3762 newCompositeNode(grammarAccess.getPredicateSymbolAccess().getSymbolModelSymbolParserRuleCall_1_0());
3763 3735
3764 pushFollow(FOLLOW_6); 3736 pushFollow(FOLLOW_14);
3765 lv_symbol_1_0=ruleModelSymbol(); 3737 lv_symbol_1_0=ruleModelSymbol();
3766 3738
3767 state._fsp--; 3739 state._fsp--;
3768 3740
3769 3741
3770 if (current==null) { 3742 if (current==null) {
3771 current = createModelElementForParent(grammarAccess.getPredicateSymbolRule()); 3743 current = createModelElementForParent(grammarAccess.getPredicateRule());
3772 } 3744 }
3773 set( 3745 set(
3774 current, 3746 current,
@@ -3783,418 +3755,150 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3783 3755
3784 } 3756 }
3785 3757
3786 otherlv_2=(Token)match(input,17,FOLLOW_12); 3758 // InternalSolverLanguage.g:1261:3: (otherlv_2= '(' ( ( (lv_parameters_3_0= ruleParameter ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) )* )? otherlv_6= ')' )?
3787 3759 int alt20=2;
3788 newLeafNode(otherlv_2, grammarAccess.getPredicateSymbolAccess().getLeftParenthesisKeyword_2()); 3760 int LA20_0 = input.LA(1);
3789
3790 // InternalSolverLanguage.g:1262:3: ( (lv_parameters_3_0= ruleParameter ) )*
3791 loop16:
3792 do {
3793 int alt16=2;
3794 int LA16_0 = input.LA(1);
3795
3796 if ( (LA16_0==RULE_ID) ) {
3797 alt16=1;
3798 }
3799
3800
3801 switch (alt16) {
3802 case 1 :
3803 // InternalSolverLanguage.g:1263:4: (lv_parameters_3_0= ruleParameter )
3804 {
3805 // InternalSolverLanguage.g:1263:4: (lv_parameters_3_0= ruleParameter )
3806 // InternalSolverLanguage.g:1264:5: lv_parameters_3_0= ruleParameter
3807 {
3808
3809 newCompositeNode(grammarAccess.getPredicateSymbolAccess().getParametersParameterParserRuleCall_3_0());
3810
3811 pushFollow(FOLLOW_12);
3812 lv_parameters_3_0=ruleParameter();
3813
3814 state._fsp--;
3815
3816
3817 if (current==null) {
3818 current = createModelElementForParent(grammarAccess.getPredicateSymbolRule());
3819 }
3820 add(
3821 current,
3822 "parameters",
3823 lv_parameters_3_0,
3824 "org.eclipse.viatra.solver.language.SolverLanguage.Parameter");
3825 afterParserOrEnumRuleCall();
3826
3827
3828 }
3829
3830
3831 }
3832 break;
3833
3834 default :
3835 break loop16;
3836 }
3837 } while (true);
3838 3761
3839 otherlv_4=(Token)match(input,18,FOLLOW_8); 3762 if ( (LA20_0==17) ) {
3840 3763 alt20=1;
3841 newLeafNode(otherlv_4, grammarAccess.getPredicateSymbolAccess().getRightParenthesisKeyword_4());
3842
3843 otherlv_5=(Token)match(input,19,FOLLOW_13);
3844
3845 newLeafNode(otherlv_5, grammarAccess.getPredicateSymbolAccess().getColonKeyword_5());
3846
3847 // InternalSolverLanguage.g:1289:3: (otherlv_6= 'false' | ( ( (lv_bodies_7_0= rulePatternBody ) ) (otherlv_8= '|' ( (lv_bodies_9_0= rulePatternBody ) ) )* ) )
3848 int alt18=2;
3849 int LA18_0 = input.LA(1);
3850
3851 if ( (LA18_0==14) ) {
3852 alt18=1;
3853 }
3854 else if ( (LA18_0==EOF||LA18_0==RULE_ID||(LA18_0>=11 && LA18_0<=13)||(LA18_0>=28 && LA18_0<=29)) ) {
3855 alt18=2;
3856 } 3764 }
3857 else { 3765 switch (alt20) {
3858 NoViableAltException nvae =
3859 new NoViableAltException("", 18, 0, input);
3860
3861 throw nvae;
3862 }
3863 switch (alt18) {
3864 case 1 : 3766 case 1 :
3865 // InternalSolverLanguage.g:1290:4: otherlv_6= 'false' 3767 // InternalSolverLanguage.g:1262:4: otherlv_2= '(' ( ( (lv_parameters_3_0= ruleParameter ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) )* )? otherlv_6= ')'
3866 { 3768 {
3867 otherlv_6=(Token)match(input,14,FOLLOW_5); 3769 otherlv_2=(Token)match(input,17,FOLLOW_15);
3868 3770
3869 newLeafNode(otherlv_6, grammarAccess.getPredicateSymbolAccess().getFalseKeyword_6_0()); 3771 newLeafNode(otherlv_2, grammarAccess.getPredicateAccess().getLeftParenthesisKeyword_2_0());
3870 3772
3773 // InternalSolverLanguage.g:1266:4: ( ( (lv_parameters_3_0= ruleParameter ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) )* )?
3774 int alt19=2;
3775 int LA19_0 = input.LA(1);
3871 3776
3777 if ( (LA19_0==RULE_ID) ) {
3778 alt19=1;
3872 } 3779 }
3873 break; 3780 switch (alt19) {
3874 case 2 : 3781 case 1 :
3875 // InternalSolverLanguage.g:1295:4: ( ( (lv_bodies_7_0= rulePatternBody ) ) (otherlv_8= '|' ( (lv_bodies_9_0= rulePatternBody ) ) )* ) 3782 // InternalSolverLanguage.g:1267:5: ( (lv_parameters_3_0= ruleParameter ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) )*
3876 { 3783 {
3877 // InternalSolverLanguage.g:1295:4: ( ( (lv_bodies_7_0= rulePatternBody ) ) (otherlv_8= '|' ( (lv_bodies_9_0= rulePatternBody ) ) )* ) 3784 // InternalSolverLanguage.g:1267:5: ( (lv_parameters_3_0= ruleParameter ) )
3878 // InternalSolverLanguage.g:1296:5: ( (lv_bodies_7_0= rulePatternBody ) ) (otherlv_8= '|' ( (lv_bodies_9_0= rulePatternBody ) ) )* 3785 // InternalSolverLanguage.g:1268:6: (lv_parameters_3_0= ruleParameter )
3879 { 3786 {
3880 // InternalSolverLanguage.g:1296:5: ( (lv_bodies_7_0= rulePatternBody ) ) 3787 // InternalSolverLanguage.g:1268:6: (lv_parameters_3_0= ruleParameter )
3881 // InternalSolverLanguage.g:1297:6: (lv_bodies_7_0= rulePatternBody ) 3788 // InternalSolverLanguage.g:1269:7: lv_parameters_3_0= ruleParameter
3882 { 3789 {
3883 // InternalSolverLanguage.g:1297:6: (lv_bodies_7_0= rulePatternBody )
3884 // InternalSolverLanguage.g:1298:7: lv_bodies_7_0= rulePatternBody
3885 {
3886 3790
3887 newCompositeNode(grammarAccess.getPredicateSymbolAccess().getBodiesPatternBodyParserRuleCall_6_1_0_0()); 3791 newCompositeNode(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_0_0());
3888 3792
3889 pushFollow(FOLLOW_14); 3793 pushFollow(FOLLOW_8);
3890 lv_bodies_7_0=rulePatternBody(); 3794 lv_parameters_3_0=ruleParameter();
3891 3795
3892 state._fsp--; 3796 state._fsp--;
3893 3797
3894 3798
3895 if (current==null) { 3799 if (current==null) {
3896 current = createModelElementForParent(grammarAccess.getPredicateSymbolRule()); 3800 current = createModelElementForParent(grammarAccess.getPredicateRule());
3897 } 3801 }
3898 add( 3802 add(
3899 current, 3803 current,
3900 "bodies", 3804 "parameters",
3901 lv_bodies_7_0, 3805 lv_parameters_3_0,
3902 "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody"); 3806 "org.eclipse.viatra.solver.language.SolverLanguage.Parameter");
3903 afterParserOrEnumRuleCall(); 3807 afterParserOrEnumRuleCall();
3904 3808
3905
3906 }
3907 3809
3810 }
3908 3811
3909 }
3910 3812
3911 // InternalSolverLanguage.g:1315:5: (otherlv_8= '|' ( (lv_bodies_9_0= rulePatternBody ) ) )* 3813 }
3912 loop17:
3913 do {
3914 int alt17=2;
3915 int LA17_0 = input.LA(1);
3916 3814
3917 if ( (LA17_0==28) ) { 3815 // InternalSolverLanguage.g:1286:5: (otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) ) )*
3918 alt17=1; 3816 loop18:
3919 } 3817 do {
3818 int alt18=2;
3819 int LA18_0 = input.LA(1);
3920 3820
3821 if ( (LA18_0==18) ) {
3822 alt18=1;
3823 }
3921 3824
3922 switch (alt17) {
3923 case 1 :
3924 // InternalSolverLanguage.g:1316:6: otherlv_8= '|' ( (lv_bodies_9_0= rulePatternBody ) )
3925 {
3926 otherlv_8=(Token)match(input,28,FOLLOW_15);
3927 3825
3928 newLeafNode(otherlv_8, grammarAccess.getPredicateSymbolAccess().getVerticalLineKeyword_6_1_1_0()); 3826 switch (alt18) {
3929 3827 case 1 :
3930 // InternalSolverLanguage.g:1320:6: ( (lv_bodies_9_0= rulePatternBody ) ) 3828 // InternalSolverLanguage.g:1287:6: otherlv_4= ',' ( (lv_parameters_5_0= ruleParameter ) )
3931 // InternalSolverLanguage.g:1321:7: (lv_bodies_9_0= rulePatternBody ) 3829 {
3932 { 3830 otherlv_4=(Token)match(input,18,FOLLOW_12);
3933 // InternalSolverLanguage.g:1321:7: (lv_bodies_9_0= rulePatternBody )
3934 // InternalSolverLanguage.g:1322:8: lv_bodies_9_0= rulePatternBody
3935 {
3936 3831
3937 newCompositeNode(grammarAccess.getPredicateSymbolAccess().getBodiesPatternBodyParserRuleCall_6_1_1_1_0()); 3832 newLeafNode(otherlv_4, grammarAccess.getPredicateAccess().getCommaKeyword_2_1_1_0());
3938 3833
3939 pushFollow(FOLLOW_14); 3834 // InternalSolverLanguage.g:1291:6: ( (lv_parameters_5_0= ruleParameter ) )
3940 lv_bodies_9_0=rulePatternBody(); 3835 // InternalSolverLanguage.g:1292:7: (lv_parameters_5_0= ruleParameter )
3836 {
3837 // InternalSolverLanguage.g:1292:7: (lv_parameters_5_0= ruleParameter )
3838 // InternalSolverLanguage.g:1293:8: lv_parameters_5_0= ruleParameter
3839 {
3941 3840
3942 state._fsp--; 3841 newCompositeNode(grammarAccess.getPredicateAccess().getParametersParameterParserRuleCall_2_1_1_1_0());
3842
3843 pushFollow(FOLLOW_8);
3844 lv_parameters_5_0=ruleParameter();
3943 3845
3846 state._fsp--;
3944 3847
3945 if (current==null) {
3946 current = createModelElementForParent(grammarAccess.getPredicateSymbolRule());
3947 }
3948 add(
3949 current,
3950 "bodies",
3951 lv_bodies_9_0,
3952 "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody");
3953 afterParserOrEnumRuleCall();
3954
3955 3848
3956 } 3849 if (current==null) {
3850 current = createModelElementForParent(grammarAccess.getPredicateRule());
3851 }
3852 add(
3853 current,
3854 "parameters",
3855 lv_parameters_5_0,
3856 "org.eclipse.viatra.solver.language.SolverLanguage.Parameter");
3857 afterParserOrEnumRuleCall();
3858
3957 3859
3860 }
3958 3861
3959 }
3960 3862
3863 }
3961 3864
3962 }
3963 break;
3964 3865
3965 default : 3866 }
3966 break loop17; 3867 break;
3967 }
3968 } while (true);
3969 3868
3869 default :
3870 break loop18;
3871 }
3872 } while (true);
3970 3873
3971 }
3972 3874
3875 }
3876 break;
3973 3877
3974 } 3878 }
3975 break;
3976
3977 }
3978
3979 otherlv_10=(Token)match(input,12,FOLLOW_2);
3980
3981 newLeafNode(otherlv_10, grammarAccess.getPredicateSymbolAccess().getFullStopKeyword_7());
3982
3983
3984 }
3985
3986
3987 }
3988
3989
3990 leaveRule();
3991
3992 }
3993
3994 catch (RecognitionException re) {
3995 recover(input,re);
3996 appendSkippedTokens();
3997 }
3998 finally {
3999 }
4000 return current;
4001 }
4002 // $ANTLR end "rulePredicateSymbol"
4003
4004
4005 // $ANTLR start "entryRuleErrorPredicate"
4006 // InternalSolverLanguage.g:1350:1: entryRuleErrorPredicate returns [EObject current=null] : iv_ruleErrorPredicate= ruleErrorPredicate EOF ;
4007 public final EObject entryRuleErrorPredicate() throws RecognitionException {
4008 EObject current = null;
4009
4010 EObject iv_ruleErrorPredicate = null;
4011
4012
4013 try {
4014 // InternalSolverLanguage.g:1350:55: (iv_ruleErrorPredicate= ruleErrorPredicate EOF )
4015 // InternalSolverLanguage.g:1351:2: iv_ruleErrorPredicate= ruleErrorPredicate EOF
4016 {
4017 newCompositeNode(grammarAccess.getErrorPredicateRule());
4018 pushFollow(FOLLOW_1);
4019 iv_ruleErrorPredicate=ruleErrorPredicate();
4020
4021 state._fsp--;
4022
4023 current =iv_ruleErrorPredicate;
4024 match(input,EOF,FOLLOW_2);
4025
4026 }
4027
4028 }
4029
4030 catch (RecognitionException re) {
4031 recover(input,re);
4032 appendSkippedTokens();
4033 }
4034 finally {
4035 }
4036 return current;
4037 }
4038 // $ANTLR end "entryRuleErrorPredicate"
4039
4040
4041 // $ANTLR start "ruleErrorPredicate"
4042 // InternalSolverLanguage.g:1357:1: ruleErrorPredicate returns [EObject current=null] : ( () otherlv_1= 'error' ( (lv_name_2_0= RULE_ID ) )? (otherlv_3= '(' ( (lv_parameters_4_0= ruleParameter ) )* otherlv_5= ')' ) otherlv_6= ':' (otherlv_7= 'false' | ( ( (lv_bodies_8_0= rulePatternBody ) ) (otherlv_9= '|' ( (lv_bodies_10_0= rulePatternBody ) ) )* ) ) otherlv_11= '.' ) ;
4043 public final EObject ruleErrorPredicate() throws RecognitionException {
4044 EObject current = null;
4045
4046 Token otherlv_1=null;
4047 Token lv_name_2_0=null;
4048 Token otherlv_3=null;
4049 Token otherlv_5=null;
4050 Token otherlv_6=null;
4051 Token otherlv_7=null;
4052 Token otherlv_9=null;
4053 Token otherlv_11=null;
4054 EObject lv_parameters_4_0 = null;
4055
4056 EObject lv_bodies_8_0 = null;
4057
4058 EObject lv_bodies_10_0 = null;
4059
4060
4061
4062 enterRule();
4063
4064 try {
4065 // InternalSolverLanguage.g:1363:2: ( ( () otherlv_1= 'error' ( (lv_name_2_0= RULE_ID ) )? (otherlv_3= '(' ( (lv_parameters_4_0= ruleParameter ) )* otherlv_5= ')' ) otherlv_6= ':' (otherlv_7= 'false' | ( ( (lv_bodies_8_0= rulePatternBody ) ) (otherlv_9= '|' ( (lv_bodies_10_0= rulePatternBody ) ) )* ) ) otherlv_11= '.' ) )
4066 // InternalSolverLanguage.g:1364:2: ( () otherlv_1= 'error' ( (lv_name_2_0= RULE_ID ) )? (otherlv_3= '(' ( (lv_parameters_4_0= ruleParameter ) )* otherlv_5= ')' ) otherlv_6= ':' (otherlv_7= 'false' | ( ( (lv_bodies_8_0= rulePatternBody ) ) (otherlv_9= '|' ( (lv_bodies_10_0= rulePatternBody ) ) )* ) ) otherlv_11= '.' )
4067 {
4068 // InternalSolverLanguage.g:1364:2: ( () otherlv_1= 'error' ( (lv_name_2_0= RULE_ID ) )? (otherlv_3= '(' ( (lv_parameters_4_0= ruleParameter ) )* otherlv_5= ')' ) otherlv_6= ':' (otherlv_7= 'false' | ( ( (lv_bodies_8_0= rulePatternBody ) ) (otherlv_9= '|' ( (lv_bodies_10_0= rulePatternBody ) ) )* ) ) otherlv_11= '.' )
4069 // InternalSolverLanguage.g:1365:3: () otherlv_1= 'error' ( (lv_name_2_0= RULE_ID ) )? (otherlv_3= '(' ( (lv_parameters_4_0= ruleParameter ) )* otherlv_5= ')' ) otherlv_6= ':' (otherlv_7= 'false' | ( ( (lv_bodies_8_0= rulePatternBody ) ) (otherlv_9= '|' ( (lv_bodies_10_0= rulePatternBody ) ) )* ) ) otherlv_11= '.'
4070 {
4071 // InternalSolverLanguage.g:1365:3: ()
4072 // InternalSolverLanguage.g:1366:4:
4073 {
4074
4075 current = forceCreateModelElement(
4076 grammarAccess.getErrorPredicateAccess().getErrorPredicateAction_0(),
4077 current);
4078
4079
4080 }
4081 3879
4082 otherlv_1=(Token)match(input,16,FOLLOW_16); 3880 otherlv_6=(Token)match(input,19,FOLLOW_16);
4083
4084 newLeafNode(otherlv_1, grammarAccess.getErrorPredicateAccess().getErrorKeyword_1());
4085
4086 // InternalSolverLanguage.g:1376:3: ( (lv_name_2_0= RULE_ID ) )?
4087 int alt19=2;
4088 int LA19_0 = input.LA(1);
4089
4090 if ( (LA19_0==RULE_ID) ) {
4091 alt19=1;
4092 }
4093 switch (alt19) {
4094 case 1 :
4095 // InternalSolverLanguage.g:1377:4: (lv_name_2_0= RULE_ID )
4096 {
4097 // InternalSolverLanguage.g:1377:4: (lv_name_2_0= RULE_ID )
4098 // InternalSolverLanguage.g:1378:5: lv_name_2_0= RULE_ID
4099 {
4100 lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_6);
4101
4102 newLeafNode(lv_name_2_0, grammarAccess.getErrorPredicateAccess().getNameIDTerminalRuleCall_2_0());
4103
4104
4105 if (current==null) {
4106 current = createModelElement(grammarAccess.getErrorPredicateRule());
4107 }
4108 setWithLastConsumed(
4109 current,
4110 "name",
4111 lv_name_2_0,
4112 "org.eclipse.xtext.common.Terminals.ID");
4113
4114
4115 }
4116 3881
3882 newLeafNode(otherlv_6, grammarAccess.getPredicateAccess().getRightParenthesisKeyword_2_2());
3883
4117 3884
4118 } 3885 }
4119 break; 3886 break;
4120 3887
4121 } 3888 }
4122 3889
4123 // InternalSolverLanguage.g:1394:3: (otherlv_3= '(' ( (lv_parameters_4_0= ruleParameter ) )* otherlv_5= ')' ) 3890 otherlv_7=(Token)match(input,28,FOLLOW_17);
4124 // InternalSolverLanguage.g:1395:4: otherlv_3= '(' ( (lv_parameters_4_0= ruleParameter ) )* otherlv_5= ')'
4125 {
4126 otherlv_3=(Token)match(input,17,FOLLOW_12);
4127
4128 newLeafNode(otherlv_3, grammarAccess.getErrorPredicateAccess().getLeftParenthesisKeyword_3_0());
4129
4130 // InternalSolverLanguage.g:1399:4: ( (lv_parameters_4_0= ruleParameter ) )*
4131 loop20:
4132 do {
4133 int alt20=2;
4134 int LA20_0 = input.LA(1);
4135
4136 if ( (LA20_0==RULE_ID) ) {
4137 alt20=1;
4138 }
4139
4140
4141 switch (alt20) {
4142 case 1 :
4143 // InternalSolverLanguage.g:1400:5: (lv_parameters_4_0= ruleParameter )
4144 {
4145 // InternalSolverLanguage.g:1400:5: (lv_parameters_4_0= ruleParameter )
4146 // InternalSolverLanguage.g:1401:6: lv_parameters_4_0= ruleParameter
4147 {
4148
4149 newCompositeNode(grammarAccess.getErrorPredicateAccess().getParametersParameterParserRuleCall_3_1_0());
4150
4151 pushFollow(FOLLOW_12);
4152 lv_parameters_4_0=ruleParameter();
4153
4154 state._fsp--;
4155 3891
4156 3892 newLeafNode(otherlv_7, grammarAccess.getPredicateAccess().getColonHyphenMinusKeyword_3());
4157 if (current==null) {
4158 current = createModelElementForParent(grammarAccess.getErrorPredicateRule());
4159 }
4160 add(
4161 current,
4162 "parameters",
4163 lv_parameters_4_0,
4164 "org.eclipse.viatra.solver.language.SolverLanguage.Parameter");
4165 afterParserOrEnumRuleCall();
4166
4167
4168 }
4169
4170
4171 }
4172 break;
4173
4174 default :
4175 break loop20;
4176 }
4177 } while (true);
4178
4179 otherlv_5=(Token)match(input,18,FOLLOW_8);
4180
4181 newLeafNode(otherlv_5, grammarAccess.getErrorPredicateAccess().getRightParenthesisKeyword_3_2());
4182
4183
4184 }
4185
4186 otherlv_6=(Token)match(input,19,FOLLOW_13);
4187
4188 newLeafNode(otherlv_6, grammarAccess.getErrorPredicateAccess().getColonKeyword_4());
4189 3893
4190 // InternalSolverLanguage.g:1427:3: (otherlv_7= 'false' | ( ( (lv_bodies_8_0= rulePatternBody ) ) (otherlv_9= '|' ( (lv_bodies_10_0= rulePatternBody ) ) )* ) ) 3894 // InternalSolverLanguage.g:1321:3: (otherlv_8= 'false' | ( ( (lv_bodies_9_0= rulePatternBody ) ) (otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) )* ) )
4191 int alt22=2; 3895 int alt22=2;
4192 int LA22_0 = input.LA(1); 3896 int LA22_0 = input.LA(1);
4193 3897
4194 if ( (LA22_0==14) ) { 3898 if ( (LA22_0==14) ) {
4195 alt22=1; 3899 alt22=1;
4196 } 3900 }
4197 else if ( (LA22_0==EOF||LA22_0==RULE_ID||(LA22_0>=11 && LA22_0<=13)||(LA22_0>=28 && LA22_0<=29)) ) { 3901 else if ( (LA22_0==EOF||LA22_0==RULE_ID||(LA22_0>=11 && LA22_0<=13)||(LA22_0>=29 && LA22_0<=31)) ) {
4198 alt22=2; 3902 alt22=2;
4199 } 3903 }
4200 else { 3904 else {
@@ -4205,43 +3909,43 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4205 } 3909 }
4206 switch (alt22) { 3910 switch (alt22) {
4207 case 1 : 3911 case 1 :
4208 // InternalSolverLanguage.g:1428:4: otherlv_7= 'false' 3912 // InternalSolverLanguage.g:1322:4: otherlv_8= 'false'
4209 { 3913 {
4210 otherlv_7=(Token)match(input,14,FOLLOW_5); 3914 otherlv_8=(Token)match(input,14,FOLLOW_5);
4211 3915
4212 newLeafNode(otherlv_7, grammarAccess.getErrorPredicateAccess().getFalseKeyword_5_0()); 3916 newLeafNode(otherlv_8, grammarAccess.getPredicateAccess().getFalseKeyword_4_0());
4213 3917
4214 3918
4215 } 3919 }
4216 break; 3920 break;
4217 case 2 : 3921 case 2 :
4218 // InternalSolverLanguage.g:1433:4: ( ( (lv_bodies_8_0= rulePatternBody ) ) (otherlv_9= '|' ( (lv_bodies_10_0= rulePatternBody ) ) )* ) 3922 // InternalSolverLanguage.g:1327:4: ( ( (lv_bodies_9_0= rulePatternBody ) ) (otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) )* )
4219 { 3923 {
4220 // InternalSolverLanguage.g:1433:4: ( ( (lv_bodies_8_0= rulePatternBody ) ) (otherlv_9= '|' ( (lv_bodies_10_0= rulePatternBody ) ) )* ) 3924 // InternalSolverLanguage.g:1327:4: ( ( (lv_bodies_9_0= rulePatternBody ) ) (otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) )* )
4221 // InternalSolverLanguage.g:1434:5: ( (lv_bodies_8_0= rulePatternBody ) ) (otherlv_9= '|' ( (lv_bodies_10_0= rulePatternBody ) ) )* 3925 // InternalSolverLanguage.g:1328:5: ( (lv_bodies_9_0= rulePatternBody ) ) (otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) )*
4222 { 3926 {
4223 // InternalSolverLanguage.g:1434:5: ( (lv_bodies_8_0= rulePatternBody ) ) 3927 // InternalSolverLanguage.g:1328:5: ( (lv_bodies_9_0= rulePatternBody ) )
4224 // InternalSolverLanguage.g:1435:6: (lv_bodies_8_0= rulePatternBody ) 3928 // InternalSolverLanguage.g:1329:6: (lv_bodies_9_0= rulePatternBody )
4225 { 3929 {
4226 // InternalSolverLanguage.g:1435:6: (lv_bodies_8_0= rulePatternBody ) 3930 // InternalSolverLanguage.g:1329:6: (lv_bodies_9_0= rulePatternBody )
4227 // InternalSolverLanguage.g:1436:7: lv_bodies_8_0= rulePatternBody 3931 // InternalSolverLanguage.g:1330:7: lv_bodies_9_0= rulePatternBody
4228 { 3932 {
4229 3933
4230 newCompositeNode(grammarAccess.getErrorPredicateAccess().getBodiesPatternBodyParserRuleCall_5_1_0_0()); 3934 newCompositeNode(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_0_0());
4231 3935
4232 pushFollow(FOLLOW_14); 3936 pushFollow(FOLLOW_18);
4233 lv_bodies_8_0=rulePatternBody(); 3937 lv_bodies_9_0=rulePatternBody();
4234 3938
4235 state._fsp--; 3939 state._fsp--;
4236 3940
4237 3941
4238 if (current==null) { 3942 if (current==null) {
4239 current = createModelElementForParent(grammarAccess.getErrorPredicateRule()); 3943 current = createModelElementForParent(grammarAccess.getPredicateRule());
4240 } 3944 }
4241 add( 3945 add(
4242 current, 3946 current,
4243 "bodies", 3947 "bodies",
4244 lv_bodies_8_0, 3948 lv_bodies_9_0,
4245 "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody"); 3949 "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody");
4246 afterParserOrEnumRuleCall(); 3950 afterParserOrEnumRuleCall();
4247 3951
@@ -4251,47 +3955,47 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4251 3955
4252 } 3956 }
4253 3957
4254 // InternalSolverLanguage.g:1453:5: (otherlv_9= '|' ( (lv_bodies_10_0= rulePatternBody ) ) )* 3958 // InternalSolverLanguage.g:1347:5: (otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) ) )*
4255 loop21: 3959 loop21:
4256 do { 3960 do {
4257 int alt21=2; 3961 int alt21=2;
4258 int LA21_0 = input.LA(1); 3962 int LA21_0 = input.LA(1);
4259 3963
4260 if ( (LA21_0==28) ) { 3964 if ( (LA21_0==29) ) {
4261 alt21=1; 3965 alt21=1;
4262 } 3966 }
4263 3967
4264 3968
4265 switch (alt21) { 3969 switch (alt21) {
4266 case 1 : 3970 case 1 :
4267 // InternalSolverLanguage.g:1454:6: otherlv_9= '|' ( (lv_bodies_10_0= rulePatternBody ) ) 3971 // InternalSolverLanguage.g:1348:6: otherlv_10= '|' ( (lv_bodies_11_0= rulePatternBody ) )
4268 { 3972 {
4269 otherlv_9=(Token)match(input,28,FOLLOW_15); 3973 otherlv_10=(Token)match(input,29,FOLLOW_19);
4270 3974
4271 newLeafNode(otherlv_9, grammarAccess.getErrorPredicateAccess().getVerticalLineKeyword_5_1_1_0()); 3975 newLeafNode(otherlv_10, grammarAccess.getPredicateAccess().getVerticalLineKeyword_4_1_1_0());
4272 3976
4273 // InternalSolverLanguage.g:1458:6: ( (lv_bodies_10_0= rulePatternBody ) ) 3977 // InternalSolverLanguage.g:1352:6: ( (lv_bodies_11_0= rulePatternBody ) )
4274 // InternalSolverLanguage.g:1459:7: (lv_bodies_10_0= rulePatternBody ) 3978 // InternalSolverLanguage.g:1353:7: (lv_bodies_11_0= rulePatternBody )
4275 { 3979 {
4276 // InternalSolverLanguage.g:1459:7: (lv_bodies_10_0= rulePatternBody ) 3980 // InternalSolverLanguage.g:1353:7: (lv_bodies_11_0= rulePatternBody )
4277 // InternalSolverLanguage.g:1460:8: lv_bodies_10_0= rulePatternBody 3981 // InternalSolverLanguage.g:1354:8: lv_bodies_11_0= rulePatternBody
4278 { 3982 {
4279 3983
4280 newCompositeNode(grammarAccess.getErrorPredicateAccess().getBodiesPatternBodyParserRuleCall_5_1_1_1_0()); 3984 newCompositeNode(grammarAccess.getPredicateAccess().getBodiesPatternBodyParserRuleCall_4_1_1_1_0());
4281 3985
4282 pushFollow(FOLLOW_14); 3986 pushFollow(FOLLOW_18);
4283 lv_bodies_10_0=rulePatternBody(); 3987 lv_bodies_11_0=rulePatternBody();
4284 3988
4285 state._fsp--; 3989 state._fsp--;
4286 3990
4287 3991
4288 if (current==null) { 3992 if (current==null) {
4289 current = createModelElementForParent(grammarAccess.getErrorPredicateRule()); 3993 current = createModelElementForParent(grammarAccess.getPredicateRule());
4290 } 3994 }
4291 add( 3995 add(
4292 current, 3996 current,
4293 "bodies", 3997 "bodies",
4294 lv_bodies_10_0, 3998 lv_bodies_11_0,
4295 "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody"); 3999 "org.eclipse.viatra.solver.language.SolverLanguage.PatternBody");
4296 afterParserOrEnumRuleCall(); 4000 afterParserOrEnumRuleCall();
4297 4001
@@ -4319,9 +4023,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4319 4023
4320 } 4024 }
4321 4025
4322 otherlv_11=(Token)match(input,12,FOLLOW_2); 4026 otherlv_12=(Token)match(input,12,FOLLOW_2);
4323 4027
4324 newLeafNode(otherlv_11, grammarAccess.getErrorPredicateAccess().getFullStopKeyword_6()); 4028 newLeafNode(otherlv_12, grammarAccess.getPredicateAccess().getFullStopKeyword_5());
4325 4029
4326 4030
4327 } 4031 }
@@ -4342,11 +4046,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4342 } 4046 }
4343 return current; 4047 return current;
4344 } 4048 }
4345 // $ANTLR end "ruleErrorPredicate" 4049 // $ANTLR end "rulePredicate"
4346 4050
4347 4051
4348 // $ANTLR start "entryRuleParameter" 4052 // $ANTLR start "entryRuleParameter"
4349 // InternalSolverLanguage.g:1488:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ; 4053 // InternalSolverLanguage.g:1382:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ;
4350 public final EObject entryRuleParameter() throws RecognitionException { 4054 public final EObject entryRuleParameter() throws RecognitionException {
4351 EObject current = null; 4055 EObject current = null;
4352 4056
@@ -4354,8 +4058,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4354 4058
4355 4059
4356 try { 4060 try {
4357 // InternalSolverLanguage.g:1488:50: (iv_ruleParameter= ruleParameter EOF ) 4061 // InternalSolverLanguage.g:1382:50: (iv_ruleParameter= ruleParameter EOF )
4358 // InternalSolverLanguage.g:1489:2: iv_ruleParameter= ruleParameter EOF 4062 // InternalSolverLanguage.g:1383:2: iv_ruleParameter= ruleParameter EOF
4359 { 4063 {
4360 newCompositeNode(grammarAccess.getParameterRule()); 4064 newCompositeNode(grammarAccess.getParameterRule());
4361 pushFollow(FOLLOW_1); 4065 pushFollow(FOLLOW_1);
@@ -4382,7 +4086,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4382 4086
4383 4087
4384 // $ANTLR start "ruleParameter" 4088 // $ANTLR start "ruleParameter"
4385 // InternalSolverLanguage.g:1495:1: ruleParameter returns [EObject current=null] : ( ( (lv_variable_0_0= ruleVariable ) ) (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? ) ; 4089 // InternalSolverLanguage.g:1389:1: ruleParameter returns [EObject current=null] : ( ( (lv_variable_0_0= ruleVariable ) ) (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? ) ;
4386 public final EObject ruleParameter() throws RecognitionException { 4090 public final EObject ruleParameter() throws RecognitionException {
4387 EObject current = null; 4091 EObject current = null;
4388 4092
@@ -4396,22 +4100,22 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4396 enterRule(); 4100 enterRule();
4397 4101
4398 try { 4102 try {
4399 // InternalSolverLanguage.g:1501:2: ( ( ( (lv_variable_0_0= ruleVariable ) ) (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? ) ) 4103 // InternalSolverLanguage.g:1395:2: ( ( ( (lv_variable_0_0= ruleVariable ) ) (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? ) )
4400 // InternalSolverLanguage.g:1502:2: ( ( (lv_variable_0_0= ruleVariable ) ) (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? ) 4104 // InternalSolverLanguage.g:1396:2: ( ( (lv_variable_0_0= ruleVariable ) ) (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? )
4401 { 4105 {
4402 // InternalSolverLanguage.g:1502:2: ( ( (lv_variable_0_0= ruleVariable ) ) (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? ) 4106 // InternalSolverLanguage.g:1396:2: ( ( (lv_variable_0_0= ruleVariable ) ) (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? )
4403 // InternalSolverLanguage.g:1503:3: ( (lv_variable_0_0= ruleVariable ) ) (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? 4107 // InternalSolverLanguage.g:1397:3: ( (lv_variable_0_0= ruleVariable ) ) (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )?
4404 { 4108 {
4405 // InternalSolverLanguage.g:1503:3: ( (lv_variable_0_0= ruleVariable ) ) 4109 // InternalSolverLanguage.g:1397:3: ( (lv_variable_0_0= ruleVariable ) )
4406 // InternalSolverLanguage.g:1504:4: (lv_variable_0_0= ruleVariable ) 4110 // InternalSolverLanguage.g:1398:4: (lv_variable_0_0= ruleVariable )
4407 { 4111 {
4408 // InternalSolverLanguage.g:1504:4: (lv_variable_0_0= ruleVariable ) 4112 // InternalSolverLanguage.g:1398:4: (lv_variable_0_0= ruleVariable )
4409 // InternalSolverLanguage.g:1505:5: lv_variable_0_0= ruleVariable 4113 // InternalSolverLanguage.g:1399:5: lv_variable_0_0= ruleVariable
4410 { 4114 {
4411 4115
4412 newCompositeNode(grammarAccess.getParameterAccess().getVariableVariableParserRuleCall_0_0()); 4116 newCompositeNode(grammarAccess.getParameterAccess().getVariableVariableParserRuleCall_0_0());
4413 4117
4414 pushFollow(FOLLOW_17); 4118 pushFollow(FOLLOW_20);
4415 lv_variable_0_0=ruleVariable(); 4119 lv_variable_0_0=ruleVariable();
4416 4120
4417 state._fsp--; 4121 state._fsp--;
@@ -4433,26 +4137,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4433 4137
4434 } 4138 }
4435 4139
4436 // InternalSolverLanguage.g:1522:3: (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )? 4140 // InternalSolverLanguage.g:1416:3: (otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) )?
4437 int alt23=2; 4141 int alt23=2;
4438 int LA23_0 = input.LA(1); 4142 int LA23_0 = input.LA(1);
4439 4143
4440 if ( (LA23_0==19) ) { 4144 if ( (LA23_0==20) ) {
4441 alt23=1; 4145 alt23=1;
4442 } 4146 }
4443 switch (alt23) { 4147 switch (alt23) {
4444 case 1 : 4148 case 1 :
4445 // InternalSolverLanguage.g:1523:4: otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) ) 4149 // InternalSolverLanguage.g:1417:4: otherlv_1= ':' ( (lv_type_2_0= ruleSymbol ) )
4446 { 4150 {
4447 otherlv_1=(Token)match(input,19,FOLLOW_18); 4151 otherlv_1=(Token)match(input,20,FOLLOW_21);
4448 4152
4449 newLeafNode(otherlv_1, grammarAccess.getParameterAccess().getColonKeyword_1_0()); 4153 newLeafNode(otherlv_1, grammarAccess.getParameterAccess().getColonKeyword_1_0());
4450 4154
4451 // InternalSolverLanguage.g:1527:4: ( (lv_type_2_0= ruleSymbol ) ) 4155 // InternalSolverLanguage.g:1421:4: ( (lv_type_2_0= ruleSymbol ) )
4452 // InternalSolverLanguage.g:1528:5: (lv_type_2_0= ruleSymbol ) 4156 // InternalSolverLanguage.g:1422:5: (lv_type_2_0= ruleSymbol )
4453 { 4157 {
4454 // InternalSolverLanguage.g:1528:5: (lv_type_2_0= ruleSymbol ) 4158 // InternalSolverLanguage.g:1422:5: (lv_type_2_0= ruleSymbol )
4455 // InternalSolverLanguage.g:1529:6: lv_type_2_0= ruleSymbol 4159 // InternalSolverLanguage.g:1423:6: lv_type_2_0= ruleSymbol
4456 { 4160 {
4457 4161
4458 newCompositeNode(grammarAccess.getParameterAccess().getTypeSymbolParserRuleCall_1_1_0()); 4162 newCompositeNode(grammarAccess.getParameterAccess().getTypeSymbolParserRuleCall_1_1_0());
@@ -4508,7 +4212,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4508 4212
4509 4213
4510 // $ANTLR start "entryRulePatternBody" 4214 // $ANTLR start "entryRulePatternBody"
4511 // InternalSolverLanguage.g:1551:1: entryRulePatternBody returns [EObject current=null] : iv_rulePatternBody= rulePatternBody EOF ; 4215 // InternalSolverLanguage.g:1445:1: entryRulePatternBody returns [EObject current=null] : iv_rulePatternBody= rulePatternBody EOF ;
4512 public final EObject entryRulePatternBody() throws RecognitionException { 4216 public final EObject entryRulePatternBody() throws RecognitionException {
4513 EObject current = null; 4217 EObject current = null;
4514 4218
@@ -4516,8 +4220,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4516 4220
4517 4221
4518 try { 4222 try {
4519 // InternalSolverLanguage.g:1551:52: (iv_rulePatternBody= rulePatternBody EOF ) 4223 // InternalSolverLanguage.g:1445:52: (iv_rulePatternBody= rulePatternBody EOF )
4520 // InternalSolverLanguage.g:1552:2: iv_rulePatternBody= rulePatternBody EOF 4224 // InternalSolverLanguage.g:1446:2: iv_rulePatternBody= rulePatternBody EOF
4521 { 4225 {
4522 newCompositeNode(grammarAccess.getPatternBodyRule()); 4226 newCompositeNode(grammarAccess.getPatternBodyRule());
4523 pushFollow(FOLLOW_1); 4227 pushFollow(FOLLOW_1);
@@ -4544,7 +4248,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4544 4248
4545 4249
4546 // $ANTLR start "rulePatternBody" 4250 // $ANTLR start "rulePatternBody"
4547 // InternalSolverLanguage.g:1558:1: rulePatternBody returns [EObject current=null] : ( () (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) ) ; 4251 // InternalSolverLanguage.g:1452:1: rulePatternBody returns [EObject current=null] : ( () (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) ) ;
4548 public final EObject rulePatternBody() throws RecognitionException { 4252 public final EObject rulePatternBody() throws RecognitionException {
4549 EObject current = null; 4253 EObject current = null;
4550 4254
@@ -4556,14 +4260,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4556 enterRule(); 4260 enterRule();
4557 4261
4558 try { 4262 try {
4559 // InternalSolverLanguage.g:1564:2: ( ( () (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) ) ) 4263 // InternalSolverLanguage.g:1458:2: ( ( () (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) ) )
4560 // InternalSolverLanguage.g:1565:2: ( () (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) ) 4264 // InternalSolverLanguage.g:1459:2: ( () (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) )
4561 { 4265 {
4562 // InternalSolverLanguage.g:1565:2: ( () (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) ) 4266 // InternalSolverLanguage.g:1459:2: ( () (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) )
4563 // InternalSolverLanguage.g:1566:3: () (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) 4267 // InternalSolverLanguage.g:1460:3: () (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* )
4564 { 4268 {
4565 // InternalSolverLanguage.g:1566:3: () 4269 // InternalSolverLanguage.g:1460:3: ()
4566 // InternalSolverLanguage.g:1567:4: 4270 // InternalSolverLanguage.g:1461:4:
4567 { 4271 {
4568 4272
4569 current = forceCreateModelElement( 4273 current = forceCreateModelElement(
@@ -4573,14 +4277,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4573 4277
4574 } 4278 }
4575 4279
4576 // InternalSolverLanguage.g:1573:3: (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* ) 4280 // InternalSolverLanguage.g:1467:3: (otherlv_1= 'true' | ( (lv_constraints_2_0= ruleConstraint ) )* )
4577 int alt25=2; 4281 int alt25=2;
4578 int LA25_0 = input.LA(1); 4282 int LA25_0 = input.LA(1);
4579 4283
4580 if ( (LA25_0==13) ) { 4284 if ( (LA25_0==13) ) {
4581 alt25=1; 4285 alt25=1;
4582 } 4286 }
4583 else if ( (LA25_0==EOF||LA25_0==RULE_ID||(LA25_0>=11 && LA25_0<=12)||(LA25_0>=28 && LA25_0<=29)) ) { 4287 else if ( (LA25_0==EOF||LA25_0==RULE_ID||(LA25_0>=11 && LA25_0<=12)||(LA25_0>=29 && LA25_0<=31)) ) {
4584 alt25=2; 4288 alt25=2;
4585 } 4289 }
4586 else { 4290 else {
@@ -4591,7 +4295,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4591 } 4295 }
4592 switch (alt25) { 4296 switch (alt25) {
4593 case 1 : 4297 case 1 :
4594 // InternalSolverLanguage.g:1574:4: otherlv_1= 'true' 4298 // InternalSolverLanguage.g:1468:4: otherlv_1= 'true'
4595 { 4299 {
4596 otherlv_1=(Token)match(input,13,FOLLOW_2); 4300 otherlv_1=(Token)match(input,13,FOLLOW_2);
4597 4301
@@ -4601,30 +4305,30 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4601 } 4305 }
4602 break; 4306 break;
4603 case 2 : 4307 case 2 :
4604 // InternalSolverLanguage.g:1579:4: ( (lv_constraints_2_0= ruleConstraint ) )* 4308 // InternalSolverLanguage.g:1473:4: ( (lv_constraints_2_0= ruleConstraint ) )*
4605 { 4309 {
4606 // InternalSolverLanguage.g:1579:4: ( (lv_constraints_2_0= ruleConstraint ) )* 4310 // InternalSolverLanguage.g:1473:4: ( (lv_constraints_2_0= ruleConstraint ) )*
4607 loop24: 4311 loop24:
4608 do { 4312 do {
4609 int alt24=2; 4313 int alt24=2;
4610 int LA24_0 = input.LA(1); 4314 int LA24_0 = input.LA(1);
4611 4315
4612 if ( (LA24_0==RULE_ID||LA24_0==11||LA24_0==29) ) { 4316 if ( (LA24_0==RULE_ID||LA24_0==11||(LA24_0>=30 && LA24_0<=31)) ) {
4613 alt24=1; 4317 alt24=1;
4614 } 4318 }
4615 4319
4616 4320
4617 switch (alt24) { 4321 switch (alt24) {
4618 case 1 : 4322 case 1 :
4619 // InternalSolverLanguage.g:1580:5: (lv_constraints_2_0= ruleConstraint ) 4323 // InternalSolverLanguage.g:1474:5: (lv_constraints_2_0= ruleConstraint )
4620 { 4324 {
4621 // InternalSolverLanguage.g:1580:5: (lv_constraints_2_0= ruleConstraint ) 4325 // InternalSolverLanguage.g:1474:5: (lv_constraints_2_0= ruleConstraint )
4622 // InternalSolverLanguage.g:1581:6: lv_constraints_2_0= ruleConstraint 4326 // InternalSolverLanguage.g:1475:6: lv_constraints_2_0= ruleConstraint
4623 { 4327 {
4624 4328
4625 newCompositeNode(grammarAccess.getPatternBodyAccess().getConstraintsConstraintParserRuleCall_1_1_0()); 4329 newCompositeNode(grammarAccess.getPatternBodyAccess().getConstraintsConstraintParserRuleCall_1_1_0());
4626 4330
4627 pushFollow(FOLLOW_19); 4331 pushFollow(FOLLOW_22);
4628 lv_constraints_2_0=ruleConstraint(); 4332 lv_constraints_2_0=ruleConstraint();
4629 4333
4630 state._fsp--; 4334 state._fsp--;
@@ -4681,7 +4385,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4681 4385
4682 4386
4683 // $ANTLR start "entryRulePolarity" 4387 // $ANTLR start "entryRulePolarity"
4684 // InternalSolverLanguage.g:1603:1: entryRulePolarity returns [EObject current=null] : iv_rulePolarity= rulePolarity EOF ; 4388 // InternalSolverLanguage.g:1497:1: entryRulePolarity returns [EObject current=null] : iv_rulePolarity= rulePolarity EOF ;
4685 public final EObject entryRulePolarity() throws RecognitionException { 4389 public final EObject entryRulePolarity() throws RecognitionException {
4686 EObject current = null; 4390 EObject current = null;
4687 4391
@@ -4689,8 +4393,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4689 4393
4690 4394
4691 try { 4395 try {
4692 // InternalSolverLanguage.g:1603:49: (iv_rulePolarity= rulePolarity EOF ) 4396 // InternalSolverLanguage.g:1497:49: (iv_rulePolarity= rulePolarity EOF )
4693 // InternalSolverLanguage.g:1604:2: iv_rulePolarity= rulePolarity EOF 4397 // InternalSolverLanguage.g:1498:2: iv_rulePolarity= rulePolarity EOF
4694 { 4398 {
4695 newCompositeNode(grammarAccess.getPolarityRule()); 4399 newCompositeNode(grammarAccess.getPolarityRule());
4696 pushFollow(FOLLOW_1); 4400 pushFollow(FOLLOW_1);
@@ -4717,7 +4421,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4717 4421
4718 4422
4719 // $ANTLR start "rulePolarity" 4423 // $ANTLR start "rulePolarity"
4720 // InternalSolverLanguage.g:1610:1: rulePolarity returns [EObject current=null] : ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) ) ; 4424 // InternalSolverLanguage.g:1504:1: rulePolarity returns [EObject current=null] : ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) ) ;
4721 public final EObject rulePolarity() throws RecognitionException { 4425 public final EObject rulePolarity() throws RecognitionException {
4722 EObject current = null; 4426 EObject current = null;
4723 4427
@@ -4728,14 +4432,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4728 enterRule(); 4432 enterRule();
4729 4433
4730 try { 4434 try {
4731 // InternalSolverLanguage.g:1616:2: ( ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) ) ) 4435 // InternalSolverLanguage.g:1510:2: ( ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) ) )
4732 // InternalSolverLanguage.g:1617:2: ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) ) 4436 // InternalSolverLanguage.g:1511:2: ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) )
4733 { 4437 {
4734 // InternalSolverLanguage.g:1617:2: ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) ) 4438 // InternalSolverLanguage.g:1511:2: ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) )
4735 int alt26=2; 4439 int alt26=2;
4736 int LA26_0 = input.LA(1); 4440 int LA26_0 = input.LA(1);
4737 4441
4738 if ( (LA26_0==29) ) { 4442 if ( (LA26_0==30) ) {
4739 alt26=1; 4443 alt26=1;
4740 } 4444 }
4741 else if ( (LA26_0==11) ) { 4445 else if ( (LA26_0==11) ) {
@@ -4749,13 +4453,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4749 } 4453 }
4750 switch (alt26) { 4454 switch (alt26) {
4751 case 1 : 4455 case 1 :
4752 // InternalSolverLanguage.g:1618:3: ( () otherlv_1= '+' ) 4456 // InternalSolverLanguage.g:1512:3: ( () otherlv_1= '+' )
4753 { 4457 {
4754 // InternalSolverLanguage.g:1618:3: ( () otherlv_1= '+' ) 4458 // InternalSolverLanguage.g:1512:3: ( () otherlv_1= '+' )
4755 // InternalSolverLanguage.g:1619:4: () otherlv_1= '+' 4459 // InternalSolverLanguage.g:1513:4: () otherlv_1= '+'
4756 { 4460 {
4757 // InternalSolverLanguage.g:1619:4: () 4461 // InternalSolverLanguage.g:1513:4: ()
4758 // InternalSolverLanguage.g:1620:5: 4462 // InternalSolverLanguage.g:1514:5:
4759 { 4463 {
4760 4464
4761 current = forceCreateModelElement( 4465 current = forceCreateModelElement(
@@ -4765,7 +4469,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4765 4469
4766 } 4470 }
4767 4471
4768 otherlv_1=(Token)match(input,29,FOLLOW_2); 4472 otherlv_1=(Token)match(input,30,FOLLOW_2);
4769 4473
4770 newLeafNode(otherlv_1, grammarAccess.getPolarityAccess().getPlusSignKeyword_0_1()); 4474 newLeafNode(otherlv_1, grammarAccess.getPolarityAccess().getPlusSignKeyword_0_1());
4771 4475
@@ -4776,13 +4480,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4776 } 4480 }
4777 break; 4481 break;
4778 case 2 : 4482 case 2 :
4779 // InternalSolverLanguage.g:1632:3: ( () otherlv_3= '-' ) 4483 // InternalSolverLanguage.g:1526:3: ( () otherlv_3= '-' )
4780 { 4484 {
4781 // InternalSolverLanguage.g:1632:3: ( () otherlv_3= '-' ) 4485 // InternalSolverLanguage.g:1526:3: ( () otherlv_3= '-' )
4782 // InternalSolverLanguage.g:1633:4: () otherlv_3= '-' 4486 // InternalSolverLanguage.g:1527:4: () otherlv_3= '-'
4783 { 4487 {
4784 // InternalSolverLanguage.g:1633:4: () 4488 // InternalSolverLanguage.g:1527:4: ()
4785 // InternalSolverLanguage.g:1634:5: 4489 // InternalSolverLanguage.g:1528:5:
4786 { 4490 {
4787 4491
4788 current = forceCreateModelElement( 4492 current = forceCreateModelElement(
@@ -4825,7 +4529,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4825 4529
4826 4530
4827 // $ANTLR start "entryRuleConstraint" 4531 // $ANTLR start "entryRuleConstraint"
4828 // InternalSolverLanguage.g:1649:1: entryRuleConstraint returns [EObject current=null] : iv_ruleConstraint= ruleConstraint EOF ; 4532 // InternalSolverLanguage.g:1543:1: entryRuleConstraint returns [EObject current=null] : iv_ruleConstraint= ruleConstraint EOF ;
4829 public final EObject entryRuleConstraint() throws RecognitionException { 4533 public final EObject entryRuleConstraint() throws RecognitionException {
4830 EObject current = null; 4534 EObject current = null;
4831 4535
@@ -4833,8 +4537,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4833 4537
4834 4538
4835 try { 4539 try {
4836 // InternalSolverLanguage.g:1649:51: (iv_ruleConstraint= ruleConstraint EOF ) 4540 // InternalSolverLanguage.g:1543:51: (iv_ruleConstraint= ruleConstraint EOF )
4837 // InternalSolverLanguage.g:1650:2: iv_ruleConstraint= ruleConstraint EOF 4541 // InternalSolverLanguage.g:1544:2: iv_ruleConstraint= ruleConstraint EOF
4838 { 4542 {
4839 newCompositeNode(grammarAccess.getConstraintRule()); 4543 newCompositeNode(grammarAccess.getConstraintRule());
4840 pushFollow(FOLLOW_1); 4544 pushFollow(FOLLOW_1);
@@ -4861,190 +4565,283 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4861 4565
4862 4566
4863 // $ANTLR start "ruleConstraint" 4567 // $ANTLR start "ruleConstraint"
4864 // InternalSolverLanguage.g:1656:1: ruleConstraint returns [EObject current=null] : ( ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) ( (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )* otherlv_4= ')' ) | ( ( (lv_closureType_5_0= ruleClosureType ) ) otherlv_6= '(' ( (lv_params_7_0= ruleLiteral ) ) ( (lv_params_8_0= ruleLiteral ) ) otherlv_9= ')' ) ) ) ; 4568 // InternalSolverLanguage.g:1550:1: ruleConstraint returns [EObject current=null] : ( ( ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )? (otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) ) )* otherlv_6= ')' )? ) | ( ( (lv_closureType_7_0= ruleClosureType ) ) otherlv_8= '(' ( (lv_params_9_0= ruleLiteral ) )? (otherlv_10= ',' ( (lv_params_11_0= ruleLiteral ) ) )* otherlv_12= ')' ) ) ;
4865 public final EObject ruleConstraint() throws RecognitionException { 4569 public final EObject ruleConstraint() throws RecognitionException {
4866 EObject current = null; 4570 EObject current = null;
4867 4571
4868 Token otherlv_2=null; 4572 Token otherlv_2=null;
4869 Token otherlv_4=null; 4573 Token otherlv_4=null;
4870 Token otherlv_6=null; 4574 Token otherlv_6=null;
4871 Token otherlv_9=null; 4575 Token otherlv_8=null;
4576 Token otherlv_10=null;
4577 Token otherlv_12=null;
4872 EObject lv_polarity_0_0 = null; 4578 EObject lv_polarity_0_0 = null;
4873 4579
4874 EObject lv_symbol_1_0 = null; 4580 EObject lv_symbol_1_0 = null;
4875 4581
4876 EObject lv_params_3_0 = null; 4582 EObject lv_params_3_0 = null;
4877 4583
4878 EObject lv_closureType_5_0 = null; 4584 EObject lv_params_5_0 = null;
4585
4586 EObject lv_closureType_7_0 = null;
4879 4587
4880 EObject lv_params_7_0 = null; 4588 EObject lv_params_9_0 = null;
4881 4589
4882 EObject lv_params_8_0 = null; 4590 EObject lv_params_11_0 = null;
4883 4591
4884 4592
4885 4593
4886 enterRule(); 4594 enterRule();
4887 4595
4888 try { 4596 try {
4889 // InternalSolverLanguage.g:1662:2: ( ( ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) ( (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )* otherlv_4= ')' ) | ( ( (lv_closureType_5_0= ruleClosureType ) ) otherlv_6= '(' ( (lv_params_7_0= ruleLiteral ) ) ( (lv_params_8_0= ruleLiteral ) ) otherlv_9= ')' ) ) ) ) 4597 // InternalSolverLanguage.g:1556:2: ( ( ( ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )? (otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) ) )* otherlv_6= ')' )? ) | ( ( (lv_closureType_7_0= ruleClosureType ) ) otherlv_8= '(' ( (lv_params_9_0= ruleLiteral ) )? (otherlv_10= ',' ( (lv_params_11_0= ruleLiteral ) ) )* otherlv_12= ')' ) ) )
4890 // InternalSolverLanguage.g:1663:2: ( ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) ( (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )* otherlv_4= ')' ) | ( ( (lv_closureType_5_0= ruleClosureType ) ) otherlv_6= '(' ( (lv_params_7_0= ruleLiteral ) ) ( (lv_params_8_0= ruleLiteral ) ) otherlv_9= ')' ) ) ) 4598 // InternalSolverLanguage.g:1557:2: ( ( ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )? (otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) ) )* otherlv_6= ')' )? ) | ( ( (lv_closureType_7_0= ruleClosureType ) ) otherlv_8= '(' ( (lv_params_9_0= ruleLiteral ) )? (otherlv_10= ',' ( (lv_params_11_0= ruleLiteral ) ) )* otherlv_12= ')' ) )
4891 { 4599 {
4892 // InternalSolverLanguage.g:1663:2: ( ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) ( (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )* otherlv_4= ')' ) | ( ( (lv_closureType_5_0= ruleClosureType ) ) otherlv_6= '(' ( (lv_params_7_0= ruleLiteral ) ) ( (lv_params_8_0= ruleLiteral ) ) otherlv_9= ')' ) ) ) 4600 // InternalSolverLanguage.g:1557:2: ( ( ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )? (otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) ) )* otherlv_6= ')' )? ) | ( ( (lv_closureType_7_0= ruleClosureType ) ) otherlv_8= '(' ( (lv_params_9_0= ruleLiteral ) )? (otherlv_10= ',' ( (lv_params_11_0= ruleLiteral ) ) )* otherlv_12= ')' ) )
4893 // InternalSolverLanguage.g:1664:3: ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) ( (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )* otherlv_4= ')' ) | ( ( (lv_closureType_5_0= ruleClosureType ) ) otherlv_6= '(' ( (lv_params_7_0= ruleLiteral ) ) ( (lv_params_8_0= ruleLiteral ) ) otherlv_9= ')' ) ) 4601 int alt33=2;
4894 { 4602 switch ( input.LA(1) ) {
4895 // InternalSolverLanguage.g:1664:3: ( (lv_polarity_0_0= rulePolarity ) )? 4603 case 30:
4896 int alt27=2; 4604 {
4897 int LA27_0 = input.LA(1); 4605 int LA33_1 = input.LA(2);
4606
4607 if ( (LA33_1==17) ) {
4608 alt33=2;
4609 }
4610 else if ( (LA33_1==RULE_ID) ) {
4611 alt33=1;
4612 }
4613 else {
4614 NoViableAltException nvae =
4615 new NoViableAltException("", 33, 1, input);
4616
4617 throw nvae;
4618 }
4619 }
4620 break;
4621 case RULE_ID:
4622 case 11:
4623 {
4624 alt33=1;
4625 }
4626 break;
4627 case 31:
4628 {
4629 alt33=2;
4630 }
4631 break;
4632 default:
4633 NoViableAltException nvae =
4634 new NoViableAltException("", 33, 0, input);
4898 4635
4899 if ( (LA27_0==11||LA27_0==29) ) { 4636 throw nvae;
4900 alt27=1;
4901 } 4637 }
4902 switch (alt27) { 4638
4639 switch (alt33) {
4903 case 1 : 4640 case 1 :
4904 // InternalSolverLanguage.g:1665:4: (lv_polarity_0_0= rulePolarity ) 4641 // InternalSolverLanguage.g:1558:3: ( ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )? (otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) ) )* otherlv_6= ')' )? )
4905 { 4642 {
4906 // InternalSolverLanguage.g:1665:4: (lv_polarity_0_0= rulePolarity ) 4643 // InternalSolverLanguage.g:1558:3: ( ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )? (otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) ) )* otherlv_6= ')' )? )
4907 // InternalSolverLanguage.g:1666:5: lv_polarity_0_0= rulePolarity 4644 // InternalSolverLanguage.g:1559:4: ( (lv_polarity_0_0= rulePolarity ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )? (otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) ) )* otherlv_6= ')' )?
4908 { 4645 {
4646 // InternalSolverLanguage.g:1559:4: ( (lv_polarity_0_0= rulePolarity ) )?
4647 int alt27=2;
4648 int LA27_0 = input.LA(1);
4909 4649
4910 newCompositeNode(grammarAccess.getConstraintAccess().getPolarityPolarityParserRuleCall_0_0()); 4650 if ( (LA27_0==11||LA27_0==30) ) {
4911 4651 alt27=1;
4912 pushFollow(FOLLOW_10); 4652 }
4913 lv_polarity_0_0=rulePolarity(); 4653 switch (alt27) {
4654 case 1 :
4655 // InternalSolverLanguage.g:1560:5: (lv_polarity_0_0= rulePolarity )
4656 {
4657 // InternalSolverLanguage.g:1560:5: (lv_polarity_0_0= rulePolarity )
4658 // InternalSolverLanguage.g:1561:6: lv_polarity_0_0= rulePolarity
4659 {
4660
4661 newCompositeNode(grammarAccess.getConstraintAccess().getPolarityPolarityParserRuleCall_0_0_0());
4662
4663 pushFollow(FOLLOW_12);
4664 lv_polarity_0_0=rulePolarity();
4665
4666 state._fsp--;
4667
4668
4669 if (current==null) {
4670 current = createModelElementForParent(grammarAccess.getConstraintRule());
4671 }
4672 set(
4673 current,
4674 "polarity",
4675 lv_polarity_0_0,
4676 "org.eclipse.viatra.solver.language.SolverLanguage.Polarity");
4677 afterParserOrEnumRuleCall();
4678
4679
4680 }
4681
4682
4683 }
4684 break;
4685
4686 }
4687
4688 // InternalSolverLanguage.g:1578:4: ( (lv_symbol_1_0= ruleModelSymbol ) )
4689 // InternalSolverLanguage.g:1579:5: (lv_symbol_1_0= ruleModelSymbol )
4690 {
4691 // InternalSolverLanguage.g:1579:5: (lv_symbol_1_0= ruleModelSymbol )
4692 // InternalSolverLanguage.g:1580:6: lv_symbol_1_0= ruleModelSymbol
4693 {
4694
4695 newCompositeNode(grammarAccess.getConstraintAccess().getSymbolModelSymbolParserRuleCall_0_1_0());
4696
4697 pushFollow(FOLLOW_23);
4698 lv_symbol_1_0=ruleModelSymbol();
4914 4699
4915 state._fsp--; 4700 state._fsp--;
4916 4701
4917 4702
4918 if (current==null) { 4703 if (current==null) {
4919 current = createModelElementForParent(grammarAccess.getConstraintRule()); 4704 current = createModelElementForParent(grammarAccess.getConstraintRule());
4920 } 4705 }
4921 set( 4706 set(
4922 current, 4707 current,
4923 "polarity", 4708 "symbol",
4924 lv_polarity_0_0, 4709 lv_symbol_1_0,
4925 "org.eclipse.viatra.solver.language.SolverLanguage.Polarity"); 4710 "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol");
4926 afterParserOrEnumRuleCall(); 4711 afterParserOrEnumRuleCall();
4927 4712
4928 4713
4929 } 4714 }
4930 4715
4931 4716
4932 } 4717 }
4933 break;
4934 4718
4935 } 4719 // InternalSolverLanguage.g:1597:4: (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )? (otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) ) )* otherlv_6= ')' )?
4720 int alt30=2;
4721 int LA30_0 = input.LA(1);
4936 4722
4937 // InternalSolverLanguage.g:1683:3: ( (lv_symbol_1_0= ruleModelSymbol ) ) 4723 if ( (LA30_0==17) ) {
4938 // InternalSolverLanguage.g:1684:4: (lv_symbol_1_0= ruleModelSymbol ) 4724 alt30=1;
4939 { 4725 }
4940 // InternalSolverLanguage.g:1684:4: (lv_symbol_1_0= ruleModelSymbol ) 4726 switch (alt30) {
4941 // InternalSolverLanguage.g:1685:5: lv_symbol_1_0= ruleModelSymbol 4727 case 1 :
4942 { 4728 // InternalSolverLanguage.g:1598:5: otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )? (otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) ) )* otherlv_6= ')'
4729 {
4730 otherlv_2=(Token)match(input,17,FOLLOW_24);
4731
4732 newLeafNode(otherlv_2, grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_0_2_0());
4733
4734 // InternalSolverLanguage.g:1602:5: ( (lv_params_3_0= ruleLiteral ) )?
4735 int alt28=2;
4736 int LA28_0 = input.LA(1);
4737
4738 if ( ((LA28_0>=RULE_INT && LA28_0<=RULE_STRING)||LA28_0==11||(LA28_0>=13 && LA28_0<=14)||LA28_0==27) ) {
4739 alt28=1;
4740 }
4741 switch (alt28) {
4742 case 1 :
4743 // InternalSolverLanguage.g:1603:6: (lv_params_3_0= ruleLiteral )
4744 {
4745 // InternalSolverLanguage.g:1603:6: (lv_params_3_0= ruleLiteral )
4746 // InternalSolverLanguage.g:1604:7: lv_params_3_0= ruleLiteral
4747 {
4943 4748
4944 newCompositeNode(grammarAccess.getConstraintAccess().getSymbolModelSymbolParserRuleCall_1_0()); 4749 newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_1_0());
4945 4750
4946 pushFollow(FOLLOW_20); 4751 pushFollow(FOLLOW_8);
4947 lv_symbol_1_0=ruleModelSymbol(); 4752 lv_params_3_0=ruleLiteral();
4948 4753
4949 state._fsp--; 4754 state._fsp--;
4950 4755
4951 4756
4952 if (current==null) { 4757 if (current==null) {
4953 current = createModelElementForParent(grammarAccess.getConstraintRule()); 4758 current = createModelElementForParent(grammarAccess.getConstraintRule());
4954 } 4759 }
4955 set( 4760 add(
4956 current, 4761 current,
4957 "symbol", 4762 "params",
4958 lv_symbol_1_0, 4763 lv_params_3_0,
4959 "org.eclipse.viatra.solver.language.SolverLanguage.ModelSymbol"); 4764 "org.eclipse.viatra.solver.language.SolverLanguage.Literal");
4960 afterParserOrEnumRuleCall(); 4765 afterParserOrEnumRuleCall();
4961 4766
4962 4767
4963 } 4768 }
4964 4769
4965 4770
4966 } 4771 }
4772 break;
4967 4773
4968 // InternalSolverLanguage.g:1702:3: ( (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )* otherlv_4= ')' ) | ( ( (lv_closureType_5_0= ruleClosureType ) ) otherlv_6= '(' ( (lv_params_7_0= ruleLiteral ) ) ( (lv_params_8_0= ruleLiteral ) ) otherlv_9= ')' ) ) 4774 }
4969 int alt29=2;
4970 int LA29_0 = input.LA(1);
4971 4775
4972 if ( (LA29_0==17) ) { 4776 // InternalSolverLanguage.g:1621:5: (otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) ) )*
4973 alt29=1; 4777 loop29:
4974 } 4778 do {
4975 else if ( ((LA29_0>=29 && LA29_0<=30)) ) { 4779 int alt29=2;
4976 alt29=2; 4780 int LA29_0 = input.LA(1);
4977 }
4978 else {
4979 NoViableAltException nvae =
4980 new NoViableAltException("", 29, 0, input);
4981 4781
4982 throw nvae; 4782 if ( (LA29_0==18) ) {
4983 } 4783 alt29=1;
4984 switch (alt29) { 4784 }
4985 case 1 :
4986 // InternalSolverLanguage.g:1703:4: (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )* otherlv_4= ')' )
4987 {
4988 // InternalSolverLanguage.g:1703:4: (otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )* otherlv_4= ')' )
4989 // InternalSolverLanguage.g:1704:5: otherlv_2= '(' ( (lv_params_3_0= ruleLiteral ) )* otherlv_4= ')'
4990 {
4991 otherlv_2=(Token)match(input,17,FOLLOW_21);
4992 4785
4993 newLeafNode(otherlv_2, grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_2_0_0());
4994
4995 // InternalSolverLanguage.g:1708:5: ( (lv_params_3_0= ruleLiteral ) )*
4996 loop28:
4997 do {
4998 int alt28=2;
4999 int LA28_0 = input.LA(1);
5000 4786
5001 if ( ((LA28_0>=RULE_INT && LA28_0<=RULE_STRING)||LA28_0==11||(LA28_0>=13 && LA28_0<=14)) ) { 4787 switch (alt29) {
5002 alt28=1; 4788 case 1 :
5003 } 4789 // InternalSolverLanguage.g:1622:6: otherlv_4= ',' ( (lv_params_5_0= ruleLiteral ) )
4790 {
4791 otherlv_4=(Token)match(input,18,FOLLOW_25);
5004 4792
4793 newLeafNode(otherlv_4, grammarAccess.getConstraintAccess().getCommaKeyword_0_2_2_0());
4794
4795 // InternalSolverLanguage.g:1626:6: ( (lv_params_5_0= ruleLiteral ) )
4796 // InternalSolverLanguage.g:1627:7: (lv_params_5_0= ruleLiteral )
4797 {
4798 // InternalSolverLanguage.g:1627:7: (lv_params_5_0= ruleLiteral )
4799 // InternalSolverLanguage.g:1628:8: lv_params_5_0= ruleLiteral
4800 {
5005 4801
5006 switch (alt28) { 4802 newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_0_2_2_1_0());
5007 case 1 : 4803
5008 // InternalSolverLanguage.g:1709:6: (lv_params_3_0= ruleLiteral ) 4804 pushFollow(FOLLOW_8);
5009 { 4805 lv_params_5_0=ruleLiteral();
5010 // InternalSolverLanguage.g:1709:6: (lv_params_3_0= ruleLiteral )
5011 // InternalSolverLanguage.g:1710:7: lv_params_3_0= ruleLiteral
5012 {
5013 4806
5014 newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_2_0_1_0()); 4807 state._fsp--;
5015
5016 pushFollow(FOLLOW_21);
5017 lv_params_3_0=ruleLiteral();
5018 4808
5019 state._fsp--;
5020 4809
4810 if (current==null) {
4811 current = createModelElementForParent(grammarAccess.getConstraintRule());
4812 }
4813 add(
4814 current,
4815 "params",
4816 lv_params_5_0,
4817 "org.eclipse.viatra.solver.language.SolverLanguage.Literal");
4818 afterParserOrEnumRuleCall();
4819
5021 4820
5022 if (current==null) { 4821 }
5023 current = createModelElementForParent(grammarAccess.getConstraintRule());
5024 }
5025 add(
5026 current,
5027 "params",
5028 lv_params_3_0,
5029 "org.eclipse.viatra.solver.language.SolverLanguage.Literal");
5030 afterParserOrEnumRuleCall();
5031
5032 4822
5033 }
5034 4823
4824 }
5035 4825
5036 }
5037 break;
5038 4826
5039 default : 4827 }
5040 break loop28; 4828 break;
5041 }
5042 } while (true);
5043 4829
5044 otherlv_4=(Token)match(input,18,FOLLOW_2); 4830 default :
4831 break loop29;
4832 }
4833 } while (true);
4834
4835 otherlv_6=(Token)match(input,19,FOLLOW_2);
4836
4837 newLeafNode(otherlv_6, grammarAccess.getConstraintAccess().getRightParenthesisKeyword_0_2_3());
4838
4839
4840 }
4841 break;
4842
4843 }
5045 4844
5046 newLeafNode(otherlv_4, grammarAccess.getConstraintAccess().getRightParenthesisKeyword_2_0_2());
5047
5048 4845
5049 } 4846 }
5050 4847
@@ -5052,121 +4849,157 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5052 } 4849 }
5053 break; 4850 break;
5054 case 2 : 4851 case 2 :
5055 // InternalSolverLanguage.g:1733:4: ( ( (lv_closureType_5_0= ruleClosureType ) ) otherlv_6= '(' ( (lv_params_7_0= ruleLiteral ) ) ( (lv_params_8_0= ruleLiteral ) ) otherlv_9= ')' ) 4852 // InternalSolverLanguage.g:1653:3: ( ( (lv_closureType_7_0= ruleClosureType ) ) otherlv_8= '(' ( (lv_params_9_0= ruleLiteral ) )? (otherlv_10= ',' ( (lv_params_11_0= ruleLiteral ) ) )* otherlv_12= ')' )
5056 { 4853 {
5057 // InternalSolverLanguage.g:1733:4: ( ( (lv_closureType_5_0= ruleClosureType ) ) otherlv_6= '(' ( (lv_params_7_0= ruleLiteral ) ) ( (lv_params_8_0= ruleLiteral ) ) otherlv_9= ')' ) 4854 // InternalSolverLanguage.g:1653:3: ( ( (lv_closureType_7_0= ruleClosureType ) ) otherlv_8= '(' ( (lv_params_9_0= ruleLiteral ) )? (otherlv_10= ',' ( (lv_params_11_0= ruleLiteral ) ) )* otherlv_12= ')' )
5058 // InternalSolverLanguage.g:1734:5: ( (lv_closureType_5_0= ruleClosureType ) ) otherlv_6= '(' ( (lv_params_7_0= ruleLiteral ) ) ( (lv_params_8_0= ruleLiteral ) ) otherlv_9= ')' 4855 // InternalSolverLanguage.g:1654:4: ( (lv_closureType_7_0= ruleClosureType ) ) otherlv_8= '(' ( (lv_params_9_0= ruleLiteral ) )? (otherlv_10= ',' ( (lv_params_11_0= ruleLiteral ) ) )* otherlv_12= ')'
5059 { 4856 {
5060 // InternalSolverLanguage.g:1734:5: ( (lv_closureType_5_0= ruleClosureType ) ) 4857 // InternalSolverLanguage.g:1654:4: ( (lv_closureType_7_0= ruleClosureType ) )
5061 // InternalSolverLanguage.g:1735:6: (lv_closureType_5_0= ruleClosureType ) 4858 // InternalSolverLanguage.g:1655:5: (lv_closureType_7_0= ruleClosureType )
5062 { 4859 {
5063 // InternalSolverLanguage.g:1735:6: (lv_closureType_5_0= ruleClosureType ) 4860 // InternalSolverLanguage.g:1655:5: (lv_closureType_7_0= ruleClosureType )
5064 // InternalSolverLanguage.g:1736:7: lv_closureType_5_0= ruleClosureType 4861 // InternalSolverLanguage.g:1656:6: lv_closureType_7_0= ruleClosureType
5065 { 4862 {
5066 4863
5067 newCompositeNode(grammarAccess.getConstraintAccess().getClosureTypeClosureTypeParserRuleCall_2_1_0_0()); 4864 newCompositeNode(grammarAccess.getConstraintAccess().getClosureTypeClosureTypeParserRuleCall_1_0_0());
5068 4865
5069 pushFollow(FOLLOW_6); 4866 pushFollow(FOLLOW_26);
5070 lv_closureType_5_0=ruleClosureType(); 4867 lv_closureType_7_0=ruleClosureType();
5071 4868
5072 state._fsp--; 4869 state._fsp--;
5073 4870
5074 4871
5075 if (current==null) { 4872 if (current==null) {
5076 current = createModelElementForParent(grammarAccess.getConstraintRule()); 4873 current = createModelElementForParent(grammarAccess.getConstraintRule());
5077 } 4874 }
5078 set( 4875 set(
5079 current, 4876 current,
5080 "closureType", 4877 "closureType",
5081 lv_closureType_5_0, 4878 lv_closureType_7_0,
5082 "org.eclipse.viatra.solver.language.SolverLanguage.ClosureType"); 4879 "org.eclipse.viatra.solver.language.SolverLanguage.ClosureType");
5083 afterParserOrEnumRuleCall(); 4880 afterParserOrEnumRuleCall();
5084 4881
5085 4882
5086 } 4883 }
5087 4884
5088 4885
5089 } 4886 }
5090 4887
5091 otherlv_6=(Token)match(input,17,FOLLOW_22); 4888 otherlv_8=(Token)match(input,17,FOLLOW_24);
5092 4889
5093 newLeafNode(otherlv_6, grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_2_1_1()); 4890 newLeafNode(otherlv_8, grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_1_1());
5094 4891
5095 // InternalSolverLanguage.g:1757:5: ( (lv_params_7_0= ruleLiteral ) ) 4892 // InternalSolverLanguage.g:1677:4: ( (lv_params_9_0= ruleLiteral ) )?
5096 // InternalSolverLanguage.g:1758:6: (lv_params_7_0= ruleLiteral ) 4893 int alt31=2;
5097 { 4894 int LA31_0 = input.LA(1);
5098 // InternalSolverLanguage.g:1758:6: (lv_params_7_0= ruleLiteral )
5099 // InternalSolverLanguage.g:1759:7: lv_params_7_0= ruleLiteral
5100 {
5101 4895
5102 newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_2_1_2_0()); 4896 if ( ((LA31_0>=RULE_INT && LA31_0<=RULE_STRING)||LA31_0==11||(LA31_0>=13 && LA31_0<=14)||LA31_0==27) ) {
5103 4897 alt31=1;
5104 pushFollow(FOLLOW_22); 4898 }
5105 lv_params_7_0=ruleLiteral(); 4899 switch (alt31) {
4900 case 1 :
4901 // InternalSolverLanguage.g:1678:5: (lv_params_9_0= ruleLiteral )
4902 {
4903 // InternalSolverLanguage.g:1678:5: (lv_params_9_0= ruleLiteral )
4904 // InternalSolverLanguage.g:1679:6: lv_params_9_0= ruleLiteral
4905 {
5106 4906
5107 state._fsp--; 4907 newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_2_0());
4908
4909 pushFollow(FOLLOW_8);
4910 lv_params_9_0=ruleLiteral();
5108 4911
4912 state._fsp--;
5109 4913
5110 if (current==null) {
5111 current = createModelElementForParent(grammarAccess.getConstraintRule());
5112 }
5113 add(
5114 current,
5115 "params",
5116 lv_params_7_0,
5117 "org.eclipse.viatra.solver.language.SolverLanguage.Literal");
5118 afterParserOrEnumRuleCall();
5119
5120 4914
5121 } 4915 if (current==null) {
4916 current = createModelElementForParent(grammarAccess.getConstraintRule());
4917 }
4918 add(
4919 current,
4920 "params",
4921 lv_params_9_0,
4922 "org.eclipse.viatra.solver.language.SolverLanguage.Literal");
4923 afterParserOrEnumRuleCall();
4924
4925
4926 }
5122 4927
5123 4928
4929 }
4930 break;
4931
5124 } 4932 }
5125 4933
5126 // InternalSolverLanguage.g:1776:5: ( (lv_params_8_0= ruleLiteral ) ) 4934 // InternalSolverLanguage.g:1696:4: (otherlv_10= ',' ( (lv_params_11_0= ruleLiteral ) ) )*
5127 // InternalSolverLanguage.g:1777:6: (lv_params_8_0= ruleLiteral ) 4935 loop32:
5128 { 4936 do {
5129 // InternalSolverLanguage.g:1777:6: (lv_params_8_0= ruleLiteral ) 4937 int alt32=2;
5130 // InternalSolverLanguage.g:1778:7: lv_params_8_0= ruleLiteral 4938 int LA32_0 = input.LA(1);
5131 {
5132 4939
5133 newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_2_1_3_0()); 4940 if ( (LA32_0==18) ) {
5134 4941 alt32=1;
5135 pushFollow(FOLLOW_23); 4942 }
5136 lv_params_8_0=ruleLiteral();
5137 4943
5138 state._fsp--;
5139 4944
4945 switch (alt32) {
4946 case 1 :
4947 // InternalSolverLanguage.g:1697:5: otherlv_10= ',' ( (lv_params_11_0= ruleLiteral ) )
4948 {
4949 otherlv_10=(Token)match(input,18,FOLLOW_25);
5140 4950
5141 if (current==null) { 4951 newLeafNode(otherlv_10, grammarAccess.getConstraintAccess().getCommaKeyword_1_3_0());
5142 current = createModelElementForParent(grammarAccess.getConstraintRule()); 4952
5143 } 4953 // InternalSolverLanguage.g:1701:5: ( (lv_params_11_0= ruleLiteral ) )
5144 add( 4954 // InternalSolverLanguage.g:1702:6: (lv_params_11_0= ruleLiteral )
5145 current, 4955 {
5146 "params", 4956 // InternalSolverLanguage.g:1702:6: (lv_params_11_0= ruleLiteral )
5147 lv_params_8_0, 4957 // InternalSolverLanguage.g:1703:7: lv_params_11_0= ruleLiteral
5148 "org.eclipse.viatra.solver.language.SolverLanguage.Literal"); 4958 {
5149 afterParserOrEnumRuleCall();
5150
5151 4959
5152 } 4960 newCompositeNode(grammarAccess.getConstraintAccess().getParamsLiteralParserRuleCall_1_3_1_0());
4961
4962 pushFollow(FOLLOW_8);
4963 lv_params_11_0=ruleLiteral();
5153 4964
4965 state._fsp--;
5154 4966
5155 }
5156 4967
5157 otherlv_9=(Token)match(input,18,FOLLOW_2); 4968 if (current==null) {
4969 current = createModelElementForParent(grammarAccess.getConstraintRule());
4970 }
4971 add(
4972 current,
4973 "params",
4974 lv_params_11_0,
4975 "org.eclipse.viatra.solver.language.SolverLanguage.Literal");
4976 afterParserOrEnumRuleCall();
4977
5158 4978
5159 newLeafNode(otherlv_9, grammarAccess.getConstraintAccess().getRightParenthesisKeyword_2_1_4()); 4979 }
5160
5161 4980
5162 } 4981
4982 }
5163 4983
5164 4984
4985 }
4986 break;
4987
4988 default :
4989 break loop32;
4990 }
4991 } while (true);
4992
4993 otherlv_12=(Token)match(input,19,FOLLOW_2);
4994
4995 newLeafNode(otherlv_12, grammarAccess.getConstraintAccess().getRightParenthesisKeyword_1_4());
4996
4997
5165 } 4998 }
5166 break;
5167 4999
5168 }
5169 5000
5001 }
5002 break;
5170 5003
5171 } 5004 }
5172 5005
@@ -5190,7 +5023,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5190 5023
5191 5024
5192 // $ANTLR start "entryRuleClosureType" 5025 // $ANTLR start "entryRuleClosureType"
5193 // InternalSolverLanguage.g:1805:1: entryRuleClosureType returns [EObject current=null] : iv_ruleClosureType= ruleClosureType EOF ; 5026 // InternalSolverLanguage.g:1730:1: entryRuleClosureType returns [EObject current=null] : iv_ruleClosureType= ruleClosureType EOF ;
5194 public final EObject entryRuleClosureType() throws RecognitionException { 5027 public final EObject entryRuleClosureType() throws RecognitionException {
5195 EObject current = null; 5028 EObject current = null;
5196 5029
@@ -5198,8 +5031,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5198 5031
5199 5032
5200 try { 5033 try {
5201 // InternalSolverLanguage.g:1805:52: (iv_ruleClosureType= ruleClosureType EOF ) 5034 // InternalSolverLanguage.g:1730:52: (iv_ruleClosureType= ruleClosureType EOF )
5202 // InternalSolverLanguage.g:1806:2: iv_ruleClosureType= ruleClosureType EOF 5035 // InternalSolverLanguage.g:1731:2: iv_ruleClosureType= ruleClosureType EOF
5203 { 5036 {
5204 newCompositeNode(grammarAccess.getClosureTypeRule()); 5037 newCompositeNode(grammarAccess.getClosureTypeRule());
5205 pushFollow(FOLLOW_1); 5038 pushFollow(FOLLOW_1);
@@ -5226,7 +5059,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5226 5059
5227 5060
5228 // $ANTLR start "ruleClosureType" 5061 // $ANTLR start "ruleClosureType"
5229 // InternalSolverLanguage.g:1812:1: ruleClosureType returns [EObject current=null] : ( ( () otherlv_1= '*' ) | ( () otherlv_3= '+' ) ) ; 5062 // InternalSolverLanguage.g:1737:1: ruleClosureType returns [EObject current=null] : ( ( () otherlv_1= '*' ) | ( () otherlv_3= '+' ) ) ;
5230 public final EObject ruleClosureType() throws RecognitionException { 5063 public final EObject ruleClosureType() throws RecognitionException {
5231 EObject current = null; 5064 EObject current = null;
5232 5065
@@ -5237,34 +5070,34 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5237 enterRule(); 5070 enterRule();
5238 5071
5239 try { 5072 try {
5240 // InternalSolverLanguage.g:1818:2: ( ( ( () otherlv_1= '*' ) | ( () otherlv_3= '+' ) ) ) 5073 // InternalSolverLanguage.g:1743:2: ( ( ( () otherlv_1= '*' ) | ( () otherlv_3= '+' ) ) )
5241 // InternalSolverLanguage.g:1819:2: ( ( () otherlv_1= '*' ) | ( () otherlv_3= '+' ) ) 5074 // InternalSolverLanguage.g:1744:2: ( ( () otherlv_1= '*' ) | ( () otherlv_3= '+' ) )
5242 { 5075 {
5243 // InternalSolverLanguage.g:1819:2: ( ( () otherlv_1= '*' ) | ( () otherlv_3= '+' ) ) 5076 // InternalSolverLanguage.g:1744:2: ( ( () otherlv_1= '*' ) | ( () otherlv_3= '+' ) )
5244 int alt30=2; 5077 int alt34=2;
5245 int LA30_0 = input.LA(1); 5078 int LA34_0 = input.LA(1);
5246 5079
5247 if ( (LA30_0==30) ) { 5080 if ( (LA34_0==31) ) {
5248 alt30=1; 5081 alt34=1;
5249 } 5082 }
5250 else if ( (LA30_0==29) ) { 5083 else if ( (LA34_0==30) ) {
5251 alt30=2; 5084 alt34=2;
5252 } 5085 }
5253 else { 5086 else {
5254 NoViableAltException nvae = 5087 NoViableAltException nvae =
5255 new NoViableAltException("", 30, 0, input); 5088 new NoViableAltException("", 34, 0, input);
5256 5089
5257 throw nvae; 5090 throw nvae;
5258 } 5091 }
5259 switch (alt30) { 5092 switch (alt34) {
5260 case 1 : 5093 case 1 :
5261 // InternalSolverLanguage.g:1820:3: ( () otherlv_1= '*' ) 5094 // InternalSolverLanguage.g:1745:3: ( () otherlv_1= '*' )
5262 { 5095 {
5263 // InternalSolverLanguage.g:1820:3: ( () otherlv_1= '*' ) 5096 // InternalSolverLanguage.g:1745:3: ( () otherlv_1= '*' )
5264 // InternalSolverLanguage.g:1821:4: () otherlv_1= '*' 5097 // InternalSolverLanguage.g:1746:4: () otherlv_1= '*'
5265 { 5098 {
5266 // InternalSolverLanguage.g:1821:4: () 5099 // InternalSolverLanguage.g:1746:4: ()
5267 // InternalSolverLanguage.g:1822:5: 5100 // InternalSolverLanguage.g:1747:5:
5268 { 5101 {
5269 5102
5270 current = forceCreateModelElement( 5103 current = forceCreateModelElement(
@@ -5274,7 +5107,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5274 5107
5275 } 5108 }
5276 5109
5277 otherlv_1=(Token)match(input,30,FOLLOW_2); 5110 otherlv_1=(Token)match(input,31,FOLLOW_2);
5278 5111
5279 newLeafNode(otherlv_1, grammarAccess.getClosureTypeAccess().getAsteriskKeyword_0_1()); 5112 newLeafNode(otherlv_1, grammarAccess.getClosureTypeAccess().getAsteriskKeyword_0_1());
5280 5113
@@ -5285,13 +5118,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5285 } 5118 }
5286 break; 5119 break;
5287 case 2 : 5120 case 2 :
5288 // InternalSolverLanguage.g:1834:3: ( () otherlv_3= '+' ) 5121 // InternalSolverLanguage.g:1759:3: ( () otherlv_3= '+' )
5289 { 5122 {
5290 // InternalSolverLanguage.g:1834:3: ( () otherlv_3= '+' ) 5123 // InternalSolverLanguage.g:1759:3: ( () otherlv_3= '+' )
5291 // InternalSolverLanguage.g:1835:4: () otherlv_3= '+' 5124 // InternalSolverLanguage.g:1760:4: () otherlv_3= '+'
5292 { 5125 {
5293 // InternalSolverLanguage.g:1835:4: () 5126 // InternalSolverLanguage.g:1760:4: ()
5294 // InternalSolverLanguage.g:1836:5: 5127 // InternalSolverLanguage.g:1761:5:
5295 { 5128 {
5296 5129
5297 current = forceCreateModelElement( 5130 current = forceCreateModelElement(
@@ -5301,7 +5134,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5301 5134
5302 } 5135 }
5303 5136
5304 otherlv_3=(Token)match(input,29,FOLLOW_2); 5137 otherlv_3=(Token)match(input,30,FOLLOW_2);
5305 5138
5306 newLeafNode(otherlv_3, grammarAccess.getClosureTypeAccess().getPlusSignKeyword_1_1()); 5139 newLeafNode(otherlv_3, grammarAccess.getClosureTypeAccess().getPlusSignKeyword_1_1());
5307 5140
@@ -5334,7 +5167,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5334 5167
5335 5168
5336 // $ANTLR start "entryRuleLiteral" 5169 // $ANTLR start "entryRuleLiteral"
5337 // InternalSolverLanguage.g:1851:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ; 5170 // InternalSolverLanguage.g:1776:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ;
5338 public final EObject entryRuleLiteral() throws RecognitionException { 5171 public final EObject entryRuleLiteral() throws RecognitionException {
5339 EObject current = null; 5172 EObject current = null;
5340 5173
@@ -5342,8 +5175,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5342 5175
5343 5176
5344 try { 5177 try {
5345 // InternalSolverLanguage.g:1851:48: (iv_ruleLiteral= ruleLiteral EOF ) 5178 // InternalSolverLanguage.g:1776:48: (iv_ruleLiteral= ruleLiteral EOF )
5346 // InternalSolverLanguage.g:1852:2: iv_ruleLiteral= ruleLiteral EOF 5179 // InternalSolverLanguage.g:1777:2: iv_ruleLiteral= ruleLiteral EOF
5347 { 5180 {
5348 newCompositeNode(grammarAccess.getLiteralRule()); 5181 newCompositeNode(grammarAccess.getLiteralRule());
5349 pushFollow(FOLLOW_1); 5182 pushFollow(FOLLOW_1);
@@ -5370,7 +5203,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5370 5203
5371 5204
5372 // $ANTLR start "ruleLiteral" 5205 // $ANTLR start "ruleLiteral"
5373 // InternalSolverLanguage.g:1858:1: ruleLiteral returns [EObject current=null] : (this_Variable_0= ruleVariable | this_DataObject_1= ruleDataObject ) ; 5206 // InternalSolverLanguage.g:1783:1: ruleLiteral returns [EObject current=null] : (this_Variable_0= ruleVariable | this_DataObject_1= ruleDataObject | this_NamedObject_2= ruleNamedObject ) ;
5374 public final EObject ruleLiteral() throws RecognitionException { 5207 public final EObject ruleLiteral() throws RecognitionException {
5375 EObject current = null; 5208 EObject current = null;
5376 5209
@@ -5378,33 +5211,48 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5378 5211
5379 EObject this_DataObject_1 = null; 5212 EObject this_DataObject_1 = null;
5380 5213
5214 EObject this_NamedObject_2 = null;
5215
5381 5216
5382 5217
5383 enterRule(); 5218 enterRule();
5384 5219
5385 try { 5220 try {
5386 // InternalSolverLanguage.g:1864:2: ( (this_Variable_0= ruleVariable | this_DataObject_1= ruleDataObject ) ) 5221 // InternalSolverLanguage.g:1789:2: ( (this_Variable_0= ruleVariable | this_DataObject_1= ruleDataObject | this_NamedObject_2= ruleNamedObject ) )
5387 // InternalSolverLanguage.g:1865:2: (this_Variable_0= ruleVariable | this_DataObject_1= ruleDataObject ) 5222 // InternalSolverLanguage.g:1790:2: (this_Variable_0= ruleVariable | this_DataObject_1= ruleDataObject | this_NamedObject_2= ruleNamedObject )
5388 { 5223 {
5389 // InternalSolverLanguage.g:1865:2: (this_Variable_0= ruleVariable | this_DataObject_1= ruleDataObject ) 5224 // InternalSolverLanguage.g:1790:2: (this_Variable_0= ruleVariable | this_DataObject_1= ruleDataObject | this_NamedObject_2= ruleNamedObject )
5390 int alt31=2; 5225 int alt35=3;
5391 int LA31_0 = input.LA(1); 5226 switch ( input.LA(1) ) {
5392 5227 case RULE_ID:
5393 if ( (LA31_0==RULE_ID) ) { 5228 {
5394 alt31=1; 5229 alt35=1;
5395 } 5230 }
5396 else if ( (LA31_0==RULE_INT||LA31_0==RULE_STRING||LA31_0==11||(LA31_0>=13 && LA31_0<=14)) ) { 5231 break;
5397 alt31=2; 5232 case RULE_INT:
5398 } 5233 case RULE_STRING:
5399 else { 5234 case 11:
5235 case 13:
5236 case 14:
5237 {
5238 alt35=2;
5239 }
5240 break;
5241 case 27:
5242 {
5243 alt35=3;
5244 }
5245 break;
5246 default:
5400 NoViableAltException nvae = 5247 NoViableAltException nvae =
5401 new NoViableAltException("", 31, 0, input); 5248 new NoViableAltException("", 35, 0, input);
5402 5249
5403 throw nvae; 5250 throw nvae;
5404 } 5251 }
5405 switch (alt31) { 5252
5253 switch (alt35) {
5406 case 1 : 5254 case 1 :
5407 // InternalSolverLanguage.g:1866:3: this_Variable_0= ruleVariable 5255 // InternalSolverLanguage.g:1791:3: this_Variable_0= ruleVariable
5408 { 5256 {
5409 5257
5410 newCompositeNode(grammarAccess.getLiteralAccess().getVariableParserRuleCall_0()); 5258 newCompositeNode(grammarAccess.getLiteralAccess().getVariableParserRuleCall_0());
@@ -5422,7 +5270,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5422 } 5270 }
5423 break; 5271 break;
5424 case 2 : 5272 case 2 :
5425 // InternalSolverLanguage.g:1875:3: this_DataObject_1= ruleDataObject 5273 // InternalSolverLanguage.g:1800:3: this_DataObject_1= ruleDataObject
5426 { 5274 {
5427 5275
5428 newCompositeNode(grammarAccess.getLiteralAccess().getDataObjectParserRuleCall_1()); 5276 newCompositeNode(grammarAccess.getLiteralAccess().getDataObjectParserRuleCall_1());
@@ -5439,6 +5287,24 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5439 5287
5440 } 5288 }
5441 break; 5289 break;
5290 case 3 :
5291 // InternalSolverLanguage.g:1809:3: this_NamedObject_2= ruleNamedObject
5292 {
5293
5294 newCompositeNode(grammarAccess.getLiteralAccess().getNamedObjectParserRuleCall_2());
5295
5296 pushFollow(FOLLOW_2);
5297 this_NamedObject_2=ruleNamedObject();
5298
5299 state._fsp--;
5300
5301
5302 current = this_NamedObject_2;
5303 afterParserOrEnumRuleCall();
5304
5305
5306 }
5307 break;
5442 5308
5443 } 5309 }
5444 5310
@@ -5462,7 +5328,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5462 5328
5463 5329
5464 // $ANTLR start "entryRuleVariable" 5330 // $ANTLR start "entryRuleVariable"
5465 // InternalSolverLanguage.g:1887:1: entryRuleVariable returns [EObject current=null] : iv_ruleVariable= ruleVariable EOF ; 5331 // InternalSolverLanguage.g:1821:1: entryRuleVariable returns [EObject current=null] : iv_ruleVariable= ruleVariable EOF ;
5466 public final EObject entryRuleVariable() throws RecognitionException { 5332 public final EObject entryRuleVariable() throws RecognitionException {
5467 EObject current = null; 5333 EObject current = null;
5468 5334
@@ -5470,8 +5336,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5470 5336
5471 5337
5472 try { 5338 try {
5473 // InternalSolverLanguage.g:1887:49: (iv_ruleVariable= ruleVariable EOF ) 5339 // InternalSolverLanguage.g:1821:49: (iv_ruleVariable= ruleVariable EOF )
5474 // InternalSolverLanguage.g:1888:2: iv_ruleVariable= ruleVariable EOF 5340 // InternalSolverLanguage.g:1822:2: iv_ruleVariable= ruleVariable EOF
5475 { 5341 {
5476 newCompositeNode(grammarAccess.getVariableRule()); 5342 newCompositeNode(grammarAccess.getVariableRule());
5477 pushFollow(FOLLOW_1); 5343 pushFollow(FOLLOW_1);
@@ -5498,7 +5364,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5498 5364
5499 5365
5500 // $ANTLR start "ruleVariable" 5366 // $ANTLR start "ruleVariable"
5501 // InternalSolverLanguage.g:1894:1: ruleVariable returns [EObject current=null] : ( (lv_name_0_0= RULE_ID ) ) ; 5367 // InternalSolverLanguage.g:1828:1: ruleVariable returns [EObject current=null] : ( (lv_name_0_0= RULE_ID ) ) ;
5502 public final EObject ruleVariable() throws RecognitionException { 5368 public final EObject ruleVariable() throws RecognitionException {
5503 EObject current = null; 5369 EObject current = null;
5504 5370
@@ -5508,14 +5374,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5508 enterRule(); 5374 enterRule();
5509 5375
5510 try { 5376 try {
5511 // InternalSolverLanguage.g:1900:2: ( ( (lv_name_0_0= RULE_ID ) ) ) 5377 // InternalSolverLanguage.g:1834:2: ( ( (lv_name_0_0= RULE_ID ) ) )
5512 // InternalSolverLanguage.g:1901:2: ( (lv_name_0_0= RULE_ID ) ) 5378 // InternalSolverLanguage.g:1835:2: ( (lv_name_0_0= RULE_ID ) )
5513 { 5379 {
5514 // InternalSolverLanguage.g:1901:2: ( (lv_name_0_0= RULE_ID ) ) 5380 // InternalSolverLanguage.g:1835:2: ( (lv_name_0_0= RULE_ID ) )
5515 // InternalSolverLanguage.g:1902:3: (lv_name_0_0= RULE_ID ) 5381 // InternalSolverLanguage.g:1836:3: (lv_name_0_0= RULE_ID )
5516 { 5382 {
5517 // InternalSolverLanguage.g:1902:3: (lv_name_0_0= RULE_ID ) 5383 // InternalSolverLanguage.g:1836:3: (lv_name_0_0= RULE_ID )
5518 // InternalSolverLanguage.g:1903:4: lv_name_0_0= RULE_ID 5384 // InternalSolverLanguage.g:1837:4: lv_name_0_0= RULE_ID
5519 { 5385 {
5520 lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_2); 5386 lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_2);
5521 5387
@@ -5557,7 +5423,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5557 5423
5558 5424
5559 // $ANTLR start "entryRuleAllInstances" 5425 // $ANTLR start "entryRuleAllInstances"
5560 // InternalSolverLanguage.g:1922:1: entryRuleAllInstances returns [EObject current=null] : iv_ruleAllInstances= ruleAllInstances EOF ; 5426 // InternalSolverLanguage.g:1856:1: entryRuleAllInstances returns [EObject current=null] : iv_ruleAllInstances= ruleAllInstances EOF ;
5561 public final EObject entryRuleAllInstances() throws RecognitionException { 5427 public final EObject entryRuleAllInstances() throws RecognitionException {
5562 EObject current = null; 5428 EObject current = null;
5563 5429
@@ -5565,8 +5431,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5565 5431
5566 5432
5567 try { 5433 try {
5568 // InternalSolverLanguage.g:1922:53: (iv_ruleAllInstances= ruleAllInstances EOF ) 5434 // InternalSolverLanguage.g:1856:53: (iv_ruleAllInstances= ruleAllInstances EOF )
5569 // InternalSolverLanguage.g:1923:2: iv_ruleAllInstances= ruleAllInstances EOF 5435 // InternalSolverLanguage.g:1857:2: iv_ruleAllInstances= ruleAllInstances EOF
5570 { 5436 {
5571 newCompositeNode(grammarAccess.getAllInstancesRule()); 5437 newCompositeNode(grammarAccess.getAllInstancesRule());
5572 pushFollow(FOLLOW_1); 5438 pushFollow(FOLLOW_1);
@@ -5593,7 +5459,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5593 5459
5594 5460
5595 // $ANTLR start "ruleAllInstances" 5461 // $ANTLR start "ruleAllInstances"
5596 // InternalSolverLanguage.g:1929:1: ruleAllInstances returns [EObject current=null] : (otherlv_0= ':' ( (lv_symbol_1_0= ruleSymbol ) ) ) ; 5462 // InternalSolverLanguage.g:1863:1: ruleAllInstances returns [EObject current=null] : (otherlv_0= ':' ( (lv_symbol_1_0= ruleSymbol ) ) ) ;
5597 public final EObject ruleAllInstances() throws RecognitionException { 5463 public final EObject ruleAllInstances() throws RecognitionException {
5598 EObject current = null; 5464 EObject current = null;
5599 5465
@@ -5605,21 +5471,21 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5605 enterRule(); 5471 enterRule();
5606 5472
5607 try { 5473 try {
5608 // InternalSolverLanguage.g:1935:2: ( (otherlv_0= ':' ( (lv_symbol_1_0= ruleSymbol ) ) ) ) 5474 // InternalSolverLanguage.g:1869:2: ( (otherlv_0= ':' ( (lv_symbol_1_0= ruleSymbol ) ) ) )
5609 // InternalSolverLanguage.g:1936:2: (otherlv_0= ':' ( (lv_symbol_1_0= ruleSymbol ) ) ) 5475 // InternalSolverLanguage.g:1870:2: (otherlv_0= ':' ( (lv_symbol_1_0= ruleSymbol ) ) )
5610 { 5476 {
5611 // InternalSolverLanguage.g:1936:2: (otherlv_0= ':' ( (lv_symbol_1_0= ruleSymbol ) ) ) 5477 // InternalSolverLanguage.g:1870:2: (otherlv_0= ':' ( (lv_symbol_1_0= ruleSymbol ) ) )
5612 // InternalSolverLanguage.g:1937:3: otherlv_0= ':' ( (lv_symbol_1_0= ruleSymbol ) ) 5478 // InternalSolverLanguage.g:1871:3: otherlv_0= ':' ( (lv_symbol_1_0= ruleSymbol ) )
5613 { 5479 {
5614 otherlv_0=(Token)match(input,19,FOLLOW_18); 5480 otherlv_0=(Token)match(input,20,FOLLOW_21);
5615 5481
5616 newLeafNode(otherlv_0, grammarAccess.getAllInstancesAccess().getColonKeyword_0()); 5482 newLeafNode(otherlv_0, grammarAccess.getAllInstancesAccess().getColonKeyword_0());
5617 5483
5618 // InternalSolverLanguage.g:1941:3: ( (lv_symbol_1_0= ruleSymbol ) ) 5484 // InternalSolverLanguage.g:1875:3: ( (lv_symbol_1_0= ruleSymbol ) )
5619 // InternalSolverLanguage.g:1942:4: (lv_symbol_1_0= ruleSymbol ) 5485 // InternalSolverLanguage.g:1876:4: (lv_symbol_1_0= ruleSymbol )
5620 { 5486 {
5621 // InternalSolverLanguage.g:1942:4: (lv_symbol_1_0= ruleSymbol ) 5487 // InternalSolverLanguage.g:1876:4: (lv_symbol_1_0= ruleSymbol )
5622 // InternalSolverLanguage.g:1943:5: lv_symbol_1_0= ruleSymbol 5488 // InternalSolverLanguage.g:1877:5: lv_symbol_1_0= ruleSymbol
5623 { 5489 {
5624 5490
5625 newCompositeNode(grammarAccess.getAllInstancesAccess().getSymbolSymbolParserRuleCall_1_0()); 5491 newCompositeNode(grammarAccess.getAllInstancesAccess().getSymbolSymbolParserRuleCall_1_0());
@@ -5669,7 +5535,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5669 5535
5670 5536
5671 // $ANTLR start "entryRuleAllObjects" 5537 // $ANTLR start "entryRuleAllObjects"
5672 // InternalSolverLanguage.g:1964:1: entryRuleAllObjects returns [EObject current=null] : iv_ruleAllObjects= ruleAllObjects EOF ; 5538 // InternalSolverLanguage.g:1898:1: entryRuleAllObjects returns [EObject current=null] : iv_ruleAllObjects= ruleAllObjects EOF ;
5673 public final EObject entryRuleAllObjects() throws RecognitionException { 5539 public final EObject entryRuleAllObjects() throws RecognitionException {
5674 EObject current = null; 5540 EObject current = null;
5675 5541
@@ -5677,8 +5543,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5677 5543
5678 5544
5679 try { 5545 try {
5680 // InternalSolverLanguage.g:1964:51: (iv_ruleAllObjects= ruleAllObjects EOF ) 5546 // InternalSolverLanguage.g:1898:51: (iv_ruleAllObjects= ruleAllObjects EOF )
5681 // InternalSolverLanguage.g:1965:2: iv_ruleAllObjects= ruleAllObjects EOF 5547 // InternalSolverLanguage.g:1899:2: iv_ruleAllObjects= ruleAllObjects EOF
5682 { 5548 {
5683 newCompositeNode(grammarAccess.getAllObjectsRule()); 5549 newCompositeNode(grammarAccess.getAllObjectsRule());
5684 pushFollow(FOLLOW_1); 5550 pushFollow(FOLLOW_1);
@@ -5705,7 +5571,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5705 5571
5706 5572
5707 // $ANTLR start "ruleAllObjects" 5573 // $ANTLR start "ruleAllObjects"
5708 // InternalSolverLanguage.g:1971:1: ruleAllObjects returns [EObject current=null] : ( () otherlv_1= '*' ) ; 5574 // InternalSolverLanguage.g:1905:1: ruleAllObjects returns [EObject current=null] : ( () otherlv_1= '*' ) ;
5709 public final EObject ruleAllObjects() throws RecognitionException { 5575 public final EObject ruleAllObjects() throws RecognitionException {
5710 EObject current = null; 5576 EObject current = null;
5711 5577
@@ -5715,14 +5581,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5715 enterRule(); 5581 enterRule();
5716 5582
5717 try { 5583 try {
5718 // InternalSolverLanguage.g:1977:2: ( ( () otherlv_1= '*' ) ) 5584 // InternalSolverLanguage.g:1911:2: ( ( () otherlv_1= '*' ) )
5719 // InternalSolverLanguage.g:1978:2: ( () otherlv_1= '*' ) 5585 // InternalSolverLanguage.g:1912:2: ( () otherlv_1= '*' )
5720 { 5586 {
5721 // InternalSolverLanguage.g:1978:2: ( () otherlv_1= '*' ) 5587 // InternalSolverLanguage.g:1912:2: ( () otherlv_1= '*' )
5722 // InternalSolverLanguage.g:1979:3: () otherlv_1= '*' 5588 // InternalSolverLanguage.g:1913:3: () otherlv_1= '*'
5723 { 5589 {
5724 // InternalSolverLanguage.g:1979:3: () 5590 // InternalSolverLanguage.g:1913:3: ()
5725 // InternalSolverLanguage.g:1980:4: 5591 // InternalSolverLanguage.g:1914:4:
5726 { 5592 {
5727 5593
5728 current = forceCreateModelElement( 5594 current = forceCreateModelElement(
@@ -5732,7 +5598,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5732 5598
5733 } 5599 }
5734 5600
5735 otherlv_1=(Token)match(input,30,FOLLOW_2); 5601 otherlv_1=(Token)match(input,31,FOLLOW_2);
5736 5602
5737 newLeafNode(otherlv_1, grammarAccess.getAllObjectsAccess().getAsteriskKeyword_1()); 5603 newLeafNode(otherlv_1, grammarAccess.getAllObjectsAccess().getAsteriskKeyword_1());
5738 5604
@@ -5759,7 +5625,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5759 5625
5760 5626
5761 // $ANTLR start "entryRuleDefaultInterpretation" 5627 // $ANTLR start "entryRuleDefaultInterpretation"
5762 // InternalSolverLanguage.g:1994:1: entryRuleDefaultInterpretation returns [EObject current=null] : iv_ruleDefaultInterpretation= ruleDefaultInterpretation EOF ; 5628 // InternalSolverLanguage.g:1928:1: entryRuleDefaultInterpretation returns [EObject current=null] : iv_ruleDefaultInterpretation= ruleDefaultInterpretation EOF ;
5763 public final EObject entryRuleDefaultInterpretation() throws RecognitionException { 5629 public final EObject entryRuleDefaultInterpretation() throws RecognitionException {
5764 EObject current = null; 5630 EObject current = null;
5765 5631
@@ -5767,8 +5633,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5767 5633
5768 5634
5769 try { 5635 try {
5770 // InternalSolverLanguage.g:1994:62: (iv_ruleDefaultInterpretation= ruleDefaultInterpretation EOF ) 5636 // InternalSolverLanguage.g:1928:62: (iv_ruleDefaultInterpretation= ruleDefaultInterpretation EOF )
5771 // InternalSolverLanguage.g:1995:2: iv_ruleDefaultInterpretation= ruleDefaultInterpretation EOF 5637 // InternalSolverLanguage.g:1929:2: iv_ruleDefaultInterpretation= ruleDefaultInterpretation EOF
5772 { 5638 {
5773 newCompositeNode(grammarAccess.getDefaultInterpretationRule()); 5639 newCompositeNode(grammarAccess.getDefaultInterpretationRule());
5774 pushFollow(FOLLOW_1); 5640 pushFollow(FOLLOW_1);
@@ -5795,7 +5661,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5795 5661
5796 5662
5797 // $ANTLR start "ruleDefaultInterpretation" 5663 // $ANTLR start "ruleDefaultInterpretation"
5798 // InternalSolverLanguage.g:2001:1: ruleDefaultInterpretation returns [EObject current=null] : (otherlv_0= 'default' ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) ) ; 5664 // InternalSolverLanguage.g:1935:1: ruleDefaultInterpretation returns [EObject current=null] : (otherlv_0= 'default' ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) ) ;
5799 public final EObject ruleDefaultInterpretation() throws RecognitionException { 5665 public final EObject ruleDefaultInterpretation() throws RecognitionException {
5800 EObject current = null; 5666 EObject current = null;
5801 5667
@@ -5807,21 +5673,21 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5807 enterRule(); 5673 enterRule();
5808 5674
5809 try { 5675 try {
5810 // InternalSolverLanguage.g:2007:2: ( (otherlv_0= 'default' ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) ) ) 5676 // InternalSolverLanguage.g:1941:2: ( (otherlv_0= 'default' ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) ) )
5811 // InternalSolverLanguage.g:2008:2: (otherlv_0= 'default' ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) ) 5677 // InternalSolverLanguage.g:1942:2: (otherlv_0= 'default' ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) )
5812 { 5678 {
5813 // InternalSolverLanguage.g:2008:2: (otherlv_0= 'default' ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) ) 5679 // InternalSolverLanguage.g:1942:2: (otherlv_0= 'default' ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) )
5814 // InternalSolverLanguage.g:2009:3: otherlv_0= 'default' ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) 5680 // InternalSolverLanguage.g:1943:3: otherlv_0= 'default' ( (lv_interpretation_1_0= ruleBasicInterpretation ) )
5815 { 5681 {
5816 otherlv_0=(Token)match(input,31,FOLLOW_18); 5682 otherlv_0=(Token)match(input,32,FOLLOW_21);
5817 5683
5818 newLeafNode(otherlv_0, grammarAccess.getDefaultInterpretationAccess().getDefaultKeyword_0()); 5684 newLeafNode(otherlv_0, grammarAccess.getDefaultInterpretationAccess().getDefaultKeyword_0());
5819 5685
5820 // InternalSolverLanguage.g:2013:3: ( (lv_interpretation_1_0= ruleBasicInterpretation ) ) 5686 // InternalSolverLanguage.g:1947:3: ( (lv_interpretation_1_0= ruleBasicInterpretation ) )
5821 // InternalSolverLanguage.g:2014:4: (lv_interpretation_1_0= ruleBasicInterpretation ) 5687 // InternalSolverLanguage.g:1948:4: (lv_interpretation_1_0= ruleBasicInterpretation )
5822 { 5688 {
5823 // InternalSolverLanguage.g:2014:4: (lv_interpretation_1_0= ruleBasicInterpretation ) 5689 // InternalSolverLanguage.g:1948:4: (lv_interpretation_1_0= ruleBasicInterpretation )
5824 // InternalSolverLanguage.g:2015:5: lv_interpretation_1_0= ruleBasicInterpretation 5690 // InternalSolverLanguage.g:1949:5: lv_interpretation_1_0= ruleBasicInterpretation
5825 { 5691 {
5826 5692
5827 newCompositeNode(grammarAccess.getDefaultInterpretationAccess().getInterpretationBasicInterpretationParserRuleCall_1_0()); 5693 newCompositeNode(grammarAccess.getDefaultInterpretationAccess().getInterpretationBasicInterpretationParserRuleCall_1_0());
@@ -5871,7 +5737,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5871 5737
5872 5738
5873 // $ANTLR start "entryRuleCDInterpretation" 5739 // $ANTLR start "entryRuleCDInterpretation"
5874 // InternalSolverLanguage.g:2036:1: entryRuleCDInterpretation returns [EObject current=null] : iv_ruleCDInterpretation= ruleCDInterpretation EOF ; 5740 // InternalSolverLanguage.g:1970:1: entryRuleCDInterpretation returns [EObject current=null] : iv_ruleCDInterpretation= ruleCDInterpretation EOF ;
5875 public final EObject entryRuleCDInterpretation() throws RecognitionException { 5741 public final EObject entryRuleCDInterpretation() throws RecognitionException {
5876 EObject current = null; 5742 EObject current = null;
5877 5743
@@ -5879,8 +5745,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5879 5745
5880 5746
5881 try { 5747 try {
5882 // InternalSolverLanguage.g:2036:57: (iv_ruleCDInterpretation= ruleCDInterpretation EOF ) 5748 // InternalSolverLanguage.g:1970:57: (iv_ruleCDInterpretation= ruleCDInterpretation EOF )
5883 // InternalSolverLanguage.g:2037:2: iv_ruleCDInterpretation= ruleCDInterpretation EOF 5749 // InternalSolverLanguage.g:1971:2: iv_ruleCDInterpretation= ruleCDInterpretation EOF
5884 { 5750 {
5885 newCompositeNode(grammarAccess.getCDInterpretationRule()); 5751 newCompositeNode(grammarAccess.getCDInterpretationRule());
5886 pushFollow(FOLLOW_1); 5752 pushFollow(FOLLOW_1);
@@ -5907,7 +5773,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5907 5773
5908 5774
5909 // $ANTLR start "ruleCDInterpretation" 5775 // $ANTLR start "ruleCDInterpretation"
5910 // InternalSolverLanguage.g:2043:1: ruleCDInterpretation returns [EObject current=null] : (this_ClassInterpretation_0= ruleClassInterpretation | this_EnumInterpretation_1= ruleEnumInterpretation | this_GlobalRelationInterpretation_2= ruleGlobalRelationInterpretation ) ; 5776 // InternalSolverLanguage.g:1977:1: ruleCDInterpretation returns [EObject current=null] : (this_ClassInterpretation_0= ruleClassInterpretation | this_EnumInterpretation_1= ruleEnumInterpretation | this_GlobalRelationInterpretation_2= ruleGlobalRelationInterpretation ) ;
5911 public final EObject ruleCDInterpretation() throws RecognitionException { 5777 public final EObject ruleCDInterpretation() throws RecognitionException {
5912 EObject current = null; 5778 EObject current = null;
5913 5779
@@ -5922,37 +5788,39 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5922 enterRule(); 5788 enterRule();
5923 5789
5924 try { 5790 try {
5925 // InternalSolverLanguage.g:2049:2: ( (this_ClassInterpretation_0= ruleClassInterpretation | this_EnumInterpretation_1= ruleEnumInterpretation | this_GlobalRelationInterpretation_2= ruleGlobalRelationInterpretation ) ) 5791 // InternalSolverLanguage.g:1983:2: ( (this_ClassInterpretation_0= ruleClassInterpretation | this_EnumInterpretation_1= ruleEnumInterpretation | this_GlobalRelationInterpretation_2= ruleGlobalRelationInterpretation ) )
5926 // InternalSolverLanguage.g:2050:2: (this_ClassInterpretation_0= ruleClassInterpretation | this_EnumInterpretation_1= ruleEnumInterpretation | this_GlobalRelationInterpretation_2= ruleGlobalRelationInterpretation ) 5792 // InternalSolverLanguage.g:1984:2: (this_ClassInterpretation_0= ruleClassInterpretation | this_EnumInterpretation_1= ruleEnumInterpretation | this_GlobalRelationInterpretation_2= ruleGlobalRelationInterpretation )
5927 { 5793 {
5928 // InternalSolverLanguage.g:2050:2: (this_ClassInterpretation_0= ruleClassInterpretation | this_EnumInterpretation_1= ruleEnumInterpretation | this_GlobalRelationInterpretation_2= ruleGlobalRelationInterpretation ) 5794 // InternalSolverLanguage.g:1984:2: (this_ClassInterpretation_0= ruleClassInterpretation | this_EnumInterpretation_1= ruleEnumInterpretation | this_GlobalRelationInterpretation_2= ruleGlobalRelationInterpretation )
5929 int alt32=3; 5795 int alt36=3;
5930 switch ( input.LA(1) ) { 5796 switch ( input.LA(1) ) {
5931 case 32: 5797 case 33:
5798 case 34:
5932 { 5799 {
5933 alt32=1; 5800 alt36=1;
5934 } 5801 }
5935 break; 5802 break;
5936 case 37: 5803 case 38:
5937 { 5804 {
5938 alt32=2; 5805 alt36=2;
5939 } 5806 }
5940 break; 5807 break;
5941 case 38: 5808 case 39:
5809 case 40:
5942 { 5810 {
5943 alt32=3; 5811 alt36=3;
5944 } 5812 }
5945 break; 5813 break;
5946 default: 5814 default:
5947 NoViableAltException nvae = 5815 NoViableAltException nvae =
5948 new NoViableAltException("", 32, 0, input); 5816 new NoViableAltException("", 36, 0, input);
5949 5817
5950 throw nvae; 5818 throw nvae;
5951 } 5819 }
5952 5820
5953 switch (alt32) { 5821 switch (alt36) {
5954 case 1 : 5822 case 1 :
5955 // InternalSolverLanguage.g:2051:3: this_ClassInterpretation_0= ruleClassInterpretation 5823 // InternalSolverLanguage.g:1985:3: this_ClassInterpretation_0= ruleClassInterpretation
5956 { 5824 {
5957 5825
5958 newCompositeNode(grammarAccess.getCDInterpretationAccess().getClassInterpretationParserRuleCall_0()); 5826 newCompositeNode(grammarAccess.getCDInterpretationAccess().getClassInterpretationParserRuleCall_0());
@@ -5970,7 +5838,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5970 } 5838 }
5971 break; 5839 break;
5972 case 2 : 5840 case 2 :
5973 // InternalSolverLanguage.g:2060:3: this_EnumInterpretation_1= ruleEnumInterpretation 5841 // InternalSolverLanguage.g:1994:3: this_EnumInterpretation_1= ruleEnumInterpretation
5974 { 5842 {
5975 5843
5976 newCompositeNode(grammarAccess.getCDInterpretationAccess().getEnumInterpretationParserRuleCall_1()); 5844 newCompositeNode(grammarAccess.getCDInterpretationAccess().getEnumInterpretationParserRuleCall_1());
@@ -5988,7 +5856,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5988 } 5856 }
5989 break; 5857 break;
5990 case 3 : 5858 case 3 :
5991 // InternalSolverLanguage.g:2069:3: this_GlobalRelationInterpretation_2= ruleGlobalRelationInterpretation 5859 // InternalSolverLanguage.g:2003:3: this_GlobalRelationInterpretation_2= ruleGlobalRelationInterpretation
5992 { 5860 {
5993 5861
5994 newCompositeNode(grammarAccess.getCDInterpretationAccess().getGlobalRelationInterpretationParserRuleCall_2()); 5862 newCompositeNode(grammarAccess.getCDInterpretationAccess().getGlobalRelationInterpretationParserRuleCall_2());
@@ -6028,7 +5896,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6028 5896
6029 5897
6030 // $ANTLR start "entryRuleClassInterpretation" 5898 // $ANTLR start "entryRuleClassInterpretation"
6031 // InternalSolverLanguage.g:2081:1: entryRuleClassInterpretation returns [EObject current=null] : iv_ruleClassInterpretation= ruleClassInterpretation EOF ; 5899 // InternalSolverLanguage.g:2015:1: entryRuleClassInterpretation returns [EObject current=null] : iv_ruleClassInterpretation= ruleClassInterpretation EOF ;
6032 public final EObject entryRuleClassInterpretation() throws RecognitionException { 5900 public final EObject entryRuleClassInterpretation() throws RecognitionException {
6033 EObject current = null; 5901 EObject current = null;
6034 5902
@@ -6036,8 +5904,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6036 5904
6037 5905
6038 try { 5906 try {
6039 // InternalSolverLanguage.g:2081:60: (iv_ruleClassInterpretation= ruleClassInterpretation EOF ) 5907 // InternalSolverLanguage.g:2015:60: (iv_ruleClassInterpretation= ruleClassInterpretation EOF )
6040 // InternalSolverLanguage.g:2082:2: iv_ruleClassInterpretation= ruleClassInterpretation EOF 5908 // InternalSolverLanguage.g:2016:2: iv_ruleClassInterpretation= ruleClassInterpretation EOF
6041 { 5909 {
6042 newCompositeNode(grammarAccess.getClassInterpretationRule()); 5910 newCompositeNode(grammarAccess.getClassInterpretationRule());
6043 pushFollow(FOLLOW_1); 5911 pushFollow(FOLLOW_1);
@@ -6064,7 +5932,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6064 5932
6065 5933
6066 // $ANTLR start "ruleClassInterpretation" 5934 // $ANTLR start "ruleClassInterpretation"
6067 // InternalSolverLanguage.g:2088:1: ruleClassInterpretation returns [EObject current=null] : ( ( (lv_abstract_0_0= 'abstract' ) ) otherlv_1= 'class' ( (lv_symbol_2_0= ruleModelSymbol ) ) (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )? otherlv_5= '{' ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )* otherlv_7= '}' ) ; 5935 // InternalSolverLanguage.g:2022:1: ruleClassInterpretation returns [EObject current=null] : ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_symbol_2_0= ruleModelSymbol ) ) (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )? otherlv_5= '{' ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )* otherlv_7= '}' ) ;
6068 public final EObject ruleClassInterpretation() throws RecognitionException { 5936 public final EObject ruleClassInterpretation() throws RecognitionException {
6069 EObject current = null; 5937 EObject current = null;
6070 5938
@@ -6084,48 +5952,59 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6084 enterRule(); 5952 enterRule();
6085 5953
6086 try { 5954 try {
6087 // InternalSolverLanguage.g:2094:2: ( ( ( (lv_abstract_0_0= 'abstract' ) ) otherlv_1= 'class' ( (lv_symbol_2_0= ruleModelSymbol ) ) (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )? otherlv_5= '{' ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )* otherlv_7= '}' ) ) 5955 // InternalSolverLanguage.g:2028:2: ( ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_symbol_2_0= ruleModelSymbol ) ) (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )? otherlv_5= '{' ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )* otherlv_7= '}' ) )
6088 // InternalSolverLanguage.g:2095:2: ( ( (lv_abstract_0_0= 'abstract' ) ) otherlv_1= 'class' ( (lv_symbol_2_0= ruleModelSymbol ) ) (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )? otherlv_5= '{' ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )* otherlv_7= '}' ) 5956 // InternalSolverLanguage.g:2029:2: ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_symbol_2_0= ruleModelSymbol ) ) (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )? otherlv_5= '{' ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )* otherlv_7= '}' )
6089 {
6090 // InternalSolverLanguage.g:2095:2: ( ( (lv_abstract_0_0= 'abstract' ) ) otherlv_1= 'class' ( (lv_symbol_2_0= ruleModelSymbol ) ) (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )? otherlv_5= '{' ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )* otherlv_7= '}' )
6091 // InternalSolverLanguage.g:2096:3: ( (lv_abstract_0_0= 'abstract' ) ) otherlv_1= 'class' ( (lv_symbol_2_0= ruleModelSymbol ) ) (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )? otherlv_5= '{' ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )* otherlv_7= '}'
6092 {
6093 // InternalSolverLanguage.g:2096:3: ( (lv_abstract_0_0= 'abstract' ) )
6094 // InternalSolverLanguage.g:2097:4: (lv_abstract_0_0= 'abstract' )
6095 { 5957 {
6096 // InternalSolverLanguage.g:2097:4: (lv_abstract_0_0= 'abstract' ) 5958 // InternalSolverLanguage.g:2029:2: ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_symbol_2_0= ruleModelSymbol ) ) (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )? otherlv_5= '{' ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )* otherlv_7= '}' )
6097 // InternalSolverLanguage.g:2098:5: lv_abstract_0_0= 'abstract' 5959 // InternalSolverLanguage.g:2030:3: ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_symbol_2_0= ruleModelSymbol ) ) (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )? otherlv_5= '{' ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )* otherlv_7= '}'
6098 { 5960 {
6099 lv_abstract_0_0=(Token)match(input,32,FOLLOW_24); 5961 // InternalSolverLanguage.g:2030:3: ( (lv_abstract_0_0= 'abstract' ) )?
5962 int alt37=2;
5963 int LA37_0 = input.LA(1);
6100 5964
6101 newLeafNode(lv_abstract_0_0, grammarAccess.getClassInterpretationAccess().getAbstractAbstractKeyword_0_0()); 5965 if ( (LA37_0==33) ) {
6102 5966 alt37=1;
5967 }
5968 switch (alt37) {
5969 case 1 :
5970 // InternalSolverLanguage.g:2031:4: (lv_abstract_0_0= 'abstract' )
5971 {
5972 // InternalSolverLanguage.g:2031:4: (lv_abstract_0_0= 'abstract' )
5973 // InternalSolverLanguage.g:2032:5: lv_abstract_0_0= 'abstract'
5974 {
5975 lv_abstract_0_0=(Token)match(input,33,FOLLOW_27);
6103 5976
6104 if (current==null) { 5977 newLeafNode(lv_abstract_0_0, grammarAccess.getClassInterpretationAccess().getAbstractAbstractKeyword_0_0());
6105 current = createModelElement(grammarAccess.getClassInterpretationRule()); 5978
6106 }
6107 setWithLastConsumed(current, "abstract", true, "abstract");
6108
6109 5979
6110 } 5980 if (current==null) {
5981 current = createModelElement(grammarAccess.getClassInterpretationRule());
5982 }
5983 setWithLastConsumed(current, "abstract", true, "abstract");
5984
5985
5986 }
6111 5987
6112 5988
5989 }
5990 break;
5991
6113 } 5992 }
6114 5993
6115 otherlv_1=(Token)match(input,33,FOLLOW_10); 5994 otherlv_1=(Token)match(input,34,FOLLOW_12);
6116 5995
6117 newLeafNode(otherlv_1, grammarAccess.getClassInterpretationAccess().getClassKeyword_1()); 5996 newLeafNode(otherlv_1, grammarAccess.getClassInterpretationAccess().getClassKeyword_1());
6118 5997
6119 // InternalSolverLanguage.g:2114:3: ( (lv_symbol_2_0= ruleModelSymbol ) ) 5998 // InternalSolverLanguage.g:2048:3: ( (lv_symbol_2_0= ruleModelSymbol ) )
6120 // InternalSolverLanguage.g:2115:4: (lv_symbol_2_0= ruleModelSymbol ) 5999 // InternalSolverLanguage.g:2049:4: (lv_symbol_2_0= ruleModelSymbol )
6121 { 6000 {
6122 // InternalSolverLanguage.g:2115:4: (lv_symbol_2_0= ruleModelSymbol ) 6001 // InternalSolverLanguage.g:2049:4: (lv_symbol_2_0= ruleModelSymbol )
6123 // InternalSolverLanguage.g:2116:5: lv_symbol_2_0= ruleModelSymbol 6002 // InternalSolverLanguage.g:2050:5: lv_symbol_2_0= ruleModelSymbol
6124 { 6003 {
6125 6004
6126 newCompositeNode(grammarAccess.getClassInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0()); 6005 newCompositeNode(grammarAccess.getClassInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0());
6127 6006
6128 pushFollow(FOLLOW_25); 6007 pushFollow(FOLLOW_28);
6129 lv_symbol_2_0=ruleModelSymbol(); 6008 lv_symbol_2_0=ruleModelSymbol();
6130 6009
6131 state._fsp--; 6010 state._fsp--;
@@ -6147,44 +6026,44 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6147 6026
6148 } 6027 }
6149 6028
6150 // InternalSolverLanguage.g:2133:3: (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )? 6029 // InternalSolverLanguage.g:2067:3: (otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ )?
6151 int alt34=2; 6030 int alt39=2;
6152 int LA34_0 = input.LA(1); 6031 int LA39_0 = input.LA(1);
6153 6032
6154 if ( (LA34_0==34) ) { 6033 if ( (LA39_0==35) ) {
6155 alt34=1; 6034 alt39=1;
6156 } 6035 }
6157 switch (alt34) { 6036 switch (alt39) {
6158 case 1 : 6037 case 1 :
6159 // InternalSolverLanguage.g:2134:4: otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+ 6038 // InternalSolverLanguage.g:2068:4: otherlv_3= 'extends' ( (lv_supertypes_4_0= ruleModelSymbol ) )+
6160 { 6039 {
6161 otherlv_3=(Token)match(input,34,FOLLOW_10); 6040 otherlv_3=(Token)match(input,35,FOLLOW_12);
6162 6041
6163 newLeafNode(otherlv_3, grammarAccess.getClassInterpretationAccess().getExtendsKeyword_3_0()); 6042 newLeafNode(otherlv_3, grammarAccess.getClassInterpretationAccess().getExtendsKeyword_3_0());
6164 6043
6165 // InternalSolverLanguage.g:2138:4: ( (lv_supertypes_4_0= ruleModelSymbol ) )+ 6044 // InternalSolverLanguage.g:2072:4: ( (lv_supertypes_4_0= ruleModelSymbol ) )+
6166 int cnt33=0; 6045 int cnt38=0;
6167 loop33: 6046 loop38:
6168 do { 6047 do {
6169 int alt33=2; 6048 int alt38=2;
6170 int LA33_0 = input.LA(1); 6049 int LA38_0 = input.LA(1);
6171 6050
6172 if ( (LA33_0==RULE_ID) ) { 6051 if ( (LA38_0==RULE_ID) ) {
6173 alt33=1; 6052 alt38=1;
6174 } 6053 }
6175 6054
6176 6055
6177 switch (alt33) { 6056 switch (alt38) {
6178 case 1 : 6057 case 1 :
6179 // InternalSolverLanguage.g:2139:5: (lv_supertypes_4_0= ruleModelSymbol ) 6058 // InternalSolverLanguage.g:2073:5: (lv_supertypes_4_0= ruleModelSymbol )
6180 { 6059 {
6181 // InternalSolverLanguage.g:2139:5: (lv_supertypes_4_0= ruleModelSymbol ) 6060 // InternalSolverLanguage.g:2073:5: (lv_supertypes_4_0= ruleModelSymbol )
6182 // InternalSolverLanguage.g:2140:6: lv_supertypes_4_0= ruleModelSymbol 6061 // InternalSolverLanguage.g:2074:6: lv_supertypes_4_0= ruleModelSymbol
6183 { 6062 {
6184 6063
6185 newCompositeNode(grammarAccess.getClassInterpretationAccess().getSupertypesModelSymbolParserRuleCall_3_1_0()); 6064 newCompositeNode(grammarAccess.getClassInterpretationAccess().getSupertypesModelSymbolParserRuleCall_3_1_0());
6186 6065
6187 pushFollow(FOLLOW_26); 6066 pushFollow(FOLLOW_29);
6188 lv_supertypes_4_0=ruleModelSymbol(); 6067 lv_supertypes_4_0=ruleModelSymbol();
6189 6068
6190 state._fsp--; 6069 state._fsp--;
@@ -6208,12 +6087,12 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6208 break; 6087 break;
6209 6088
6210 default : 6089 default :
6211 if ( cnt33 >= 1 ) break loop33; 6090 if ( cnt38 >= 1 ) break loop38;
6212 EarlyExitException eee = 6091 EarlyExitException eee =
6213 new EarlyExitException(33, input); 6092 new EarlyExitException(38, input);
6214 throw eee; 6093 throw eee;
6215 } 6094 }
6216 cnt33++; 6095 cnt38++;
6217 } while (true); 6096 } while (true);
6218 6097
6219 6098
@@ -6222,32 +6101,32 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6222 6101
6223 } 6102 }
6224 6103
6225 otherlv_5=(Token)match(input,35,FOLLOW_27); 6104 otherlv_5=(Token)match(input,36,FOLLOW_30);
6226 6105
6227 newLeafNode(otherlv_5, grammarAccess.getClassInterpretationAccess().getLeftCurlyBracketKeyword_4()); 6106 newLeafNode(otherlv_5, grammarAccess.getClassInterpretationAccess().getLeftCurlyBracketKeyword_4());
6228 6107
6229 // InternalSolverLanguage.g:2162:3: ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )* 6108 // InternalSolverLanguage.g:2096:3: ( (lv_fielt_6_0= ruleFieldRelationInterpretation ) )*
6230 loop35: 6109 loop40:
6231 do { 6110 do {
6232 int alt35=2; 6111 int alt40=2;
6233 int LA35_0 = input.LA(1); 6112 int LA40_0 = input.LA(1);
6234 6113
6235 if ( (LA35_0==38) ) { 6114 if ( (LA40_0==RULE_ID||LA40_0==39) ) {
6236 alt35=1; 6115 alt40=1;
6237 } 6116 }
6238 6117
6239 6118
6240 switch (alt35) { 6119 switch (alt40) {
6241 case 1 : 6120 case 1 :
6242 // InternalSolverLanguage.g:2163:4: (lv_fielt_6_0= ruleFieldRelationInterpretation ) 6121 // InternalSolverLanguage.g:2097:4: (lv_fielt_6_0= ruleFieldRelationInterpretation )
6243 { 6122 {
6244 // InternalSolverLanguage.g:2163:4: (lv_fielt_6_0= ruleFieldRelationInterpretation ) 6123 // InternalSolverLanguage.g:2097:4: (lv_fielt_6_0= ruleFieldRelationInterpretation )
6245 // InternalSolverLanguage.g:2164:5: lv_fielt_6_0= ruleFieldRelationInterpretation 6124 // InternalSolverLanguage.g:2098:5: lv_fielt_6_0= ruleFieldRelationInterpretation
6246 { 6125 {
6247 6126
6248 newCompositeNode(grammarAccess.getClassInterpretationAccess().getFieltFieldRelationInterpretationParserRuleCall_5_0()); 6127 newCompositeNode(grammarAccess.getClassInterpretationAccess().getFieltFieldRelationInterpretationParserRuleCall_5_0());
6249 6128
6250 pushFollow(FOLLOW_27); 6129 pushFollow(FOLLOW_30);
6251 lv_fielt_6_0=ruleFieldRelationInterpretation(); 6130 lv_fielt_6_0=ruleFieldRelationInterpretation();
6252 6131
6253 state._fsp--; 6132 state._fsp--;
@@ -6271,11 +6150,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6271 break; 6150 break;
6272 6151
6273 default : 6152 default :
6274 break loop35; 6153 break loop40;
6275 } 6154 }
6276 } while (true); 6155 } while (true);
6277 6156
6278 otherlv_7=(Token)match(input,36,FOLLOW_2); 6157 otherlv_7=(Token)match(input,37,FOLLOW_2);
6279 6158
6280 newLeafNode(otherlv_7, grammarAccess.getClassInterpretationAccess().getRightCurlyBracketKeyword_6()); 6159 newLeafNode(otherlv_7, grammarAccess.getClassInterpretationAccess().getRightCurlyBracketKeyword_6());
6281 6160
@@ -6302,7 +6181,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6302 6181
6303 6182
6304 // $ANTLR start "entryRuleEnumInterpretation" 6183 // $ANTLR start "entryRuleEnumInterpretation"
6305 // InternalSolverLanguage.g:2189:1: entryRuleEnumInterpretation returns [EObject current=null] : iv_ruleEnumInterpretation= ruleEnumInterpretation EOF ; 6184 // InternalSolverLanguage.g:2123:1: entryRuleEnumInterpretation returns [EObject current=null] : iv_ruleEnumInterpretation= ruleEnumInterpretation EOF ;
6306 public final EObject entryRuleEnumInterpretation() throws RecognitionException { 6185 public final EObject entryRuleEnumInterpretation() throws RecognitionException {
6307 EObject current = null; 6186 EObject current = null;
6308 6187
@@ -6310,8 +6189,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6310 6189
6311 6190
6312 try { 6191 try {
6313 // InternalSolverLanguage.g:2189:59: (iv_ruleEnumInterpretation= ruleEnumInterpretation EOF ) 6192 // InternalSolverLanguage.g:2123:59: (iv_ruleEnumInterpretation= ruleEnumInterpretation EOF )
6314 // InternalSolverLanguage.g:2190:2: iv_ruleEnumInterpretation= ruleEnumInterpretation EOF 6193 // InternalSolverLanguage.g:2124:2: iv_ruleEnumInterpretation= ruleEnumInterpretation EOF
6315 { 6194 {
6316 newCompositeNode(grammarAccess.getEnumInterpretationRule()); 6195 newCompositeNode(grammarAccess.getEnumInterpretationRule());
6317 pushFollow(FOLLOW_1); 6196 pushFollow(FOLLOW_1);
@@ -6338,7 +6217,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6338 6217
6339 6218
6340 // $ANTLR start "ruleEnumInterpretation" 6219 // $ANTLR start "ruleEnumInterpretation"
6341 // InternalSolverLanguage.g:2196:1: ruleEnumInterpretation returns [EObject current=null] : (otherlv_0= 'enum' ( (lv_Symbol_1_0= ruleModelSymbol ) ) otherlv_2= '{' ( (lv_objects_3_0= ruleNamedObject ) )+ otherlv_4= '}' ) ; 6220 // InternalSolverLanguage.g:2130:1: ruleEnumInterpretation returns [EObject current=null] : (otherlv_0= 'enum' ( (lv_Symbol_1_0= ruleModelSymbol ) ) otherlv_2= '{' ( (lv_objects_3_0= ruleNamedObject ) )+ otherlv_4= '}' ) ;
6342 public final EObject ruleEnumInterpretation() throws RecognitionException { 6221 public final EObject ruleEnumInterpretation() throws RecognitionException {
6343 EObject current = null; 6222 EObject current = null;
6344 6223
@@ -6354,26 +6233,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6354 enterRule(); 6233 enterRule();
6355 6234
6356 try { 6235 try {
6357 // InternalSolverLanguage.g:2202:2: ( (otherlv_0= 'enum' ( (lv_Symbol_1_0= ruleModelSymbol ) ) otherlv_2= '{' ( (lv_objects_3_0= ruleNamedObject ) )+ otherlv_4= '}' ) ) 6236 // InternalSolverLanguage.g:2136:2: ( (otherlv_0= 'enum' ( (lv_Symbol_1_0= ruleModelSymbol ) ) otherlv_2= '{' ( (lv_objects_3_0= ruleNamedObject ) )+ otherlv_4= '}' ) )
6358 // InternalSolverLanguage.g:2203:2: (otherlv_0= 'enum' ( (lv_Symbol_1_0= ruleModelSymbol ) ) otherlv_2= '{' ( (lv_objects_3_0= ruleNamedObject ) )+ otherlv_4= '}' ) 6237 // InternalSolverLanguage.g:2137:2: (otherlv_0= 'enum' ( (lv_Symbol_1_0= ruleModelSymbol ) ) otherlv_2= '{' ( (lv_objects_3_0= ruleNamedObject ) )+ otherlv_4= '}' )
6359 { 6238 {
6360 // InternalSolverLanguage.g:2203:2: (otherlv_0= 'enum' ( (lv_Symbol_1_0= ruleModelSymbol ) ) otherlv_2= '{' ( (lv_objects_3_0= ruleNamedObject ) )+ otherlv_4= '}' ) 6239 // InternalSolverLanguage.g:2137:2: (otherlv_0= 'enum' ( (lv_Symbol_1_0= ruleModelSymbol ) ) otherlv_2= '{' ( (lv_objects_3_0= ruleNamedObject ) )+ otherlv_4= '}' )
6361 // InternalSolverLanguage.g:2204:3: otherlv_0= 'enum' ( (lv_Symbol_1_0= ruleModelSymbol ) ) otherlv_2= '{' ( (lv_objects_3_0= ruleNamedObject ) )+ otherlv_4= '}' 6240 // InternalSolverLanguage.g:2138:3: otherlv_0= 'enum' ( (lv_Symbol_1_0= ruleModelSymbol ) ) otherlv_2= '{' ( (lv_objects_3_0= ruleNamedObject ) )+ otherlv_4= '}'
6362 { 6241 {
6363 otherlv_0=(Token)match(input,37,FOLLOW_10); 6242 otherlv_0=(Token)match(input,38,FOLLOW_12);
6364 6243
6365 newLeafNode(otherlv_0, grammarAccess.getEnumInterpretationAccess().getEnumKeyword_0()); 6244 newLeafNode(otherlv_0, grammarAccess.getEnumInterpretationAccess().getEnumKeyword_0());
6366 6245
6367 // InternalSolverLanguage.g:2208:3: ( (lv_Symbol_1_0= ruleModelSymbol ) ) 6246 // InternalSolverLanguage.g:2142:3: ( (lv_Symbol_1_0= ruleModelSymbol ) )
6368 // InternalSolverLanguage.g:2209:4: (lv_Symbol_1_0= ruleModelSymbol ) 6247 // InternalSolverLanguage.g:2143:4: (lv_Symbol_1_0= ruleModelSymbol )
6369 { 6248 {
6370 // InternalSolverLanguage.g:2209:4: (lv_Symbol_1_0= ruleModelSymbol ) 6249 // InternalSolverLanguage.g:2143:4: (lv_Symbol_1_0= ruleModelSymbol )
6371 // InternalSolverLanguage.g:2210:5: lv_Symbol_1_0= ruleModelSymbol 6250 // InternalSolverLanguage.g:2144:5: lv_Symbol_1_0= ruleModelSymbol
6372 { 6251 {
6373 6252
6374 newCompositeNode(grammarAccess.getEnumInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0()); 6253 newCompositeNode(grammarAccess.getEnumInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0());
6375 6254
6376 pushFollow(FOLLOW_28); 6255 pushFollow(FOLLOW_31);
6377 lv_Symbol_1_0=ruleModelSymbol(); 6256 lv_Symbol_1_0=ruleModelSymbol();
6378 6257
6379 state._fsp--; 6258 state._fsp--;
@@ -6395,33 +6274,33 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6395 6274
6396 } 6275 }
6397 6276
6398 otherlv_2=(Token)match(input,35,FOLLOW_11); 6277 otherlv_2=(Token)match(input,36,FOLLOW_13);
6399 6278
6400 newLeafNode(otherlv_2, grammarAccess.getEnumInterpretationAccess().getLeftCurlyBracketKeyword_2()); 6279 newLeafNode(otherlv_2, grammarAccess.getEnumInterpretationAccess().getLeftCurlyBracketKeyword_2());
6401 6280
6402 // InternalSolverLanguage.g:2231:3: ( (lv_objects_3_0= ruleNamedObject ) )+ 6281 // InternalSolverLanguage.g:2165:3: ( (lv_objects_3_0= ruleNamedObject ) )+
6403 int cnt36=0; 6282 int cnt41=0;
6404 loop36: 6283 loop41:
6405 do { 6284 do {
6406 int alt36=2; 6285 int alt41=2;
6407 int LA36_0 = input.LA(1); 6286 int LA41_0 = input.LA(1);
6408 6287
6409 if ( (LA36_0==26) ) { 6288 if ( (LA41_0==27) ) {
6410 alt36=1; 6289 alt41=1;
6411 } 6290 }
6412 6291
6413 6292
6414 switch (alt36) { 6293 switch (alt41) {
6415 case 1 : 6294 case 1 :
6416 // InternalSolverLanguage.g:2232:4: (lv_objects_3_0= ruleNamedObject ) 6295 // InternalSolverLanguage.g:2166:4: (lv_objects_3_0= ruleNamedObject )
6417 { 6296 {
6418 // InternalSolverLanguage.g:2232:4: (lv_objects_3_0= ruleNamedObject ) 6297 // InternalSolverLanguage.g:2166:4: (lv_objects_3_0= ruleNamedObject )
6419 // InternalSolverLanguage.g:2233:5: lv_objects_3_0= ruleNamedObject 6298 // InternalSolverLanguage.g:2167:5: lv_objects_3_0= ruleNamedObject
6420 { 6299 {
6421 6300
6422 newCompositeNode(grammarAccess.getEnumInterpretationAccess().getObjectsNamedObjectParserRuleCall_3_0()); 6301 newCompositeNode(grammarAccess.getEnumInterpretationAccess().getObjectsNamedObjectParserRuleCall_3_0());
6423 6302
6424 pushFollow(FOLLOW_29); 6303 pushFollow(FOLLOW_32);
6425 lv_objects_3_0=ruleNamedObject(); 6304 lv_objects_3_0=ruleNamedObject();
6426 6305
6427 state._fsp--; 6306 state._fsp--;
@@ -6445,15 +6324,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6445 break; 6324 break;
6446 6325
6447 default : 6326 default :
6448 if ( cnt36 >= 1 ) break loop36; 6327 if ( cnt41 >= 1 ) break loop41;
6449 EarlyExitException eee = 6328 EarlyExitException eee =
6450 new EarlyExitException(36, input); 6329 new EarlyExitException(41, input);
6451 throw eee; 6330 throw eee;
6452 } 6331 }
6453 cnt36++; 6332 cnt41++;
6454 } while (true); 6333 } while (true);
6455 6334
6456 otherlv_4=(Token)match(input,36,FOLLOW_2); 6335 otherlv_4=(Token)match(input,37,FOLLOW_2);
6457 6336
6458 newLeafNode(otherlv_4, grammarAccess.getEnumInterpretationAccess().getRightCurlyBracketKeyword_4()); 6337 newLeafNode(otherlv_4, grammarAccess.getEnumInterpretationAccess().getRightCurlyBracketKeyword_4());
6459 6338
@@ -6480,7 +6359,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6480 6359
6481 6360
6482 // $ANTLR start "entryRuleFieldRelationInterpretation" 6361 // $ANTLR start "entryRuleFieldRelationInterpretation"
6483 // InternalSolverLanguage.g:2258:1: entryRuleFieldRelationInterpretation returns [EObject current=null] : iv_ruleFieldRelationInterpretation= ruleFieldRelationInterpretation EOF ; 6362 // InternalSolverLanguage.g:2192:1: entryRuleFieldRelationInterpretation returns [EObject current=null] : iv_ruleFieldRelationInterpretation= ruleFieldRelationInterpretation EOF ;
6484 public final EObject entryRuleFieldRelationInterpretation() throws RecognitionException { 6363 public final EObject entryRuleFieldRelationInterpretation() throws RecognitionException {
6485 EObject current = null; 6364 EObject current = null;
6486 6365
@@ -6488,8 +6367,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6488 6367
6489 6368
6490 try { 6369 try {
6491 // InternalSolverLanguage.g:2258:68: (iv_ruleFieldRelationInterpretation= ruleFieldRelationInterpretation EOF ) 6370 // InternalSolverLanguage.g:2192:68: (iv_ruleFieldRelationInterpretation= ruleFieldRelationInterpretation EOF )
6492 // InternalSolverLanguage.g:2259:2: iv_ruleFieldRelationInterpretation= ruleFieldRelationInterpretation EOF 6371 // InternalSolverLanguage.g:2193:2: iv_ruleFieldRelationInterpretation= ruleFieldRelationInterpretation EOF
6493 { 6372 {
6494 newCompositeNode(grammarAccess.getFieldRelationInterpretationRule()); 6373 newCompositeNode(grammarAccess.getFieldRelationInterpretationRule());
6495 pushFollow(FOLLOW_1); 6374 pushFollow(FOLLOW_1);
@@ -6516,7 +6395,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6516 6395
6517 6396
6518 // $ANTLR start "ruleFieldRelationInterpretation" 6397 // $ANTLR start "ruleFieldRelationInterpretation"
6519 // InternalSolverLanguage.g:2265:1: ruleFieldRelationInterpretation returns [EObject current=null] : ( ( (lv_containment_0_0= 'containment' ) ) ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= ':' ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )? ( (lv_target_4_0= ruleSymbol ) ) ) ; 6398 // InternalSolverLanguage.g:2199:1: ruleFieldRelationInterpretation returns [EObject current=null] : ( ( (lv_containment_0_0= 'containment' ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= ':' ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )? ( (lv_target_4_0= ruleSymbol ) ) ) ;
6520 public final EObject ruleFieldRelationInterpretation() throws RecognitionException { 6399 public final EObject ruleFieldRelationInterpretation() throws RecognitionException {
6521 EObject current = null; 6400 EObject current = null;
6522 6401
@@ -6533,44 +6412,55 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6533 enterRule(); 6412 enterRule();
6534 6413
6535 try { 6414 try {
6536 // InternalSolverLanguage.g:2271:2: ( ( ( (lv_containment_0_0= 'containment' ) ) ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= ':' ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )? ( (lv_target_4_0= ruleSymbol ) ) ) ) 6415 // InternalSolverLanguage.g:2205:2: ( ( ( (lv_containment_0_0= 'containment' ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= ':' ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )? ( (lv_target_4_0= ruleSymbol ) ) ) )
6537 // InternalSolverLanguage.g:2272:2: ( ( (lv_containment_0_0= 'containment' ) ) ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= ':' ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )? ( (lv_target_4_0= ruleSymbol ) ) ) 6416 // InternalSolverLanguage.g:2206:2: ( ( (lv_containment_0_0= 'containment' ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= ':' ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )? ( (lv_target_4_0= ruleSymbol ) ) )
6538 {
6539 // InternalSolverLanguage.g:2272:2: ( ( (lv_containment_0_0= 'containment' ) ) ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= ':' ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )? ( (lv_target_4_0= ruleSymbol ) ) )
6540 // InternalSolverLanguage.g:2273:3: ( (lv_containment_0_0= 'containment' ) ) ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= ':' ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )? ( (lv_target_4_0= ruleSymbol ) )
6541 {
6542 // InternalSolverLanguage.g:2273:3: ( (lv_containment_0_0= 'containment' ) )
6543 // InternalSolverLanguage.g:2274:4: (lv_containment_0_0= 'containment' )
6544 { 6417 {
6545 // InternalSolverLanguage.g:2274:4: (lv_containment_0_0= 'containment' ) 6418 // InternalSolverLanguage.g:2206:2: ( ( (lv_containment_0_0= 'containment' ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= ':' ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )? ( (lv_target_4_0= ruleSymbol ) ) )
6546 // InternalSolverLanguage.g:2275:5: lv_containment_0_0= 'containment' 6419 // InternalSolverLanguage.g:2207:3: ( (lv_containment_0_0= 'containment' ) )? ( (lv_symbol_1_0= ruleModelSymbol ) ) otherlv_2= ':' ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )? ( (lv_target_4_0= ruleSymbol ) )
6547 { 6420 {
6548 lv_containment_0_0=(Token)match(input,38,FOLLOW_10); 6421 // InternalSolverLanguage.g:2207:3: ( (lv_containment_0_0= 'containment' ) )?
6422 int alt42=2;
6423 int LA42_0 = input.LA(1);
6549 6424
6550 newLeafNode(lv_containment_0_0, grammarAccess.getFieldRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); 6425 if ( (LA42_0==39) ) {
6551 6426 alt42=1;
6427 }
6428 switch (alt42) {
6429 case 1 :
6430 // InternalSolverLanguage.g:2208:4: (lv_containment_0_0= 'containment' )
6431 {
6432 // InternalSolverLanguage.g:2208:4: (lv_containment_0_0= 'containment' )
6433 // InternalSolverLanguage.g:2209:5: lv_containment_0_0= 'containment'
6434 {
6435 lv_containment_0_0=(Token)match(input,39,FOLLOW_12);
6552 6436
6553 if (current==null) { 6437 newLeafNode(lv_containment_0_0, grammarAccess.getFieldRelationInterpretationAccess().getContainmentContainmentKeyword_0_0());
6554 current = createModelElement(grammarAccess.getFieldRelationInterpretationRule()); 6438
6555 }
6556 setWithLastConsumed(current, "containment", true, "containment");
6557
6558 6439
6559 } 6440 if (current==null) {
6441 current = createModelElement(grammarAccess.getFieldRelationInterpretationRule());
6442 }
6443 setWithLastConsumed(current, "containment", true, "containment");
6444
6445
6446 }
6560 6447
6561 6448
6449 }
6450 break;
6451
6562 } 6452 }
6563 6453
6564 // InternalSolverLanguage.g:2287:3: ( (lv_symbol_1_0= ruleModelSymbol ) ) 6454 // InternalSolverLanguage.g:2221:3: ( (lv_symbol_1_0= ruleModelSymbol ) )
6565 // InternalSolverLanguage.g:2288:4: (lv_symbol_1_0= ruleModelSymbol ) 6455 // InternalSolverLanguage.g:2222:4: (lv_symbol_1_0= ruleModelSymbol )
6566 { 6456 {
6567 // InternalSolverLanguage.g:2288:4: (lv_symbol_1_0= ruleModelSymbol ) 6457 // InternalSolverLanguage.g:2222:4: (lv_symbol_1_0= ruleModelSymbol )
6568 // InternalSolverLanguage.g:2289:5: lv_symbol_1_0= ruleModelSymbol 6458 // InternalSolverLanguage.g:2223:5: lv_symbol_1_0= ruleModelSymbol
6569 { 6459 {
6570 6460
6571 newCompositeNode(grammarAccess.getFieldRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0()); 6461 newCompositeNode(grammarAccess.getFieldRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_1_0());
6572 6462
6573 pushFollow(FOLLOW_8); 6463 pushFollow(FOLLOW_10);
6574 lv_symbol_1_0=ruleModelSymbol(); 6464 lv_symbol_1_0=ruleModelSymbol();
6575 6465
6576 state._fsp--; 6466 state._fsp--;
@@ -6592,28 +6482,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6592 6482
6593 } 6483 }
6594 6484
6595 otherlv_2=(Token)match(input,19,FOLLOW_30); 6485 otherlv_2=(Token)match(input,20,FOLLOW_33);
6596 6486
6597 newLeafNode(otherlv_2, grammarAccess.getFieldRelationInterpretationAccess().getColonKeyword_2()); 6487 newLeafNode(otherlv_2, grammarAccess.getFieldRelationInterpretationAccess().getColonKeyword_2());
6598 6488
6599 // InternalSolverLanguage.g:2310:3: ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )? 6489 // InternalSolverLanguage.g:2244:3: ( (lv_multiplicity_3_0= ruleMultiplicityDefinition ) )?
6600 int alt37=2; 6490 int alt43=2;
6601 int LA37_0 = input.LA(1); 6491 int LA43_0 = input.LA(1);
6602 6492
6603 if ( (LA37_0==RULE_INT) ) { 6493 if ( (LA43_0==RULE_INT) ) {
6604 alt37=1; 6494 alt43=1;
6605 } 6495 }
6606 switch (alt37) { 6496 switch (alt43) {
6607 case 1 : 6497 case 1 :
6608 // InternalSolverLanguage.g:2311:4: (lv_multiplicity_3_0= ruleMultiplicityDefinition ) 6498 // InternalSolverLanguage.g:2245:4: (lv_multiplicity_3_0= ruleMultiplicityDefinition )
6609 { 6499 {
6610 // InternalSolverLanguage.g:2311:4: (lv_multiplicity_3_0= ruleMultiplicityDefinition ) 6500 // InternalSolverLanguage.g:2245:4: (lv_multiplicity_3_0= ruleMultiplicityDefinition )
6611 // InternalSolverLanguage.g:2312:5: lv_multiplicity_3_0= ruleMultiplicityDefinition 6501 // InternalSolverLanguage.g:2246:5: lv_multiplicity_3_0= ruleMultiplicityDefinition
6612 { 6502 {
6613 6503
6614 newCompositeNode(grammarAccess.getFieldRelationInterpretationAccess().getMultiplicityMultiplicityDefinitionParserRuleCall_3_0()); 6504 newCompositeNode(grammarAccess.getFieldRelationInterpretationAccess().getMultiplicityMultiplicityDefinitionParserRuleCall_3_0());
6615 6505
6616 pushFollow(FOLLOW_18); 6506 pushFollow(FOLLOW_21);
6617 lv_multiplicity_3_0=ruleMultiplicityDefinition(); 6507 lv_multiplicity_3_0=ruleMultiplicityDefinition();
6618 6508
6619 state._fsp--; 6509 state._fsp--;
@@ -6638,11 +6528,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6638 6528
6639 } 6529 }
6640 6530
6641 // InternalSolverLanguage.g:2329:3: ( (lv_target_4_0= ruleSymbol ) ) 6531 // InternalSolverLanguage.g:2263:3: ( (lv_target_4_0= ruleSymbol ) )
6642 // InternalSolverLanguage.g:2330:4: (lv_target_4_0= ruleSymbol ) 6532 // InternalSolverLanguage.g:2264:4: (lv_target_4_0= ruleSymbol )
6643 { 6533 {
6644 // InternalSolverLanguage.g:2330:4: (lv_target_4_0= ruleSymbol ) 6534 // InternalSolverLanguage.g:2264:4: (lv_target_4_0= ruleSymbol )
6645 // InternalSolverLanguage.g:2331:5: lv_target_4_0= ruleSymbol 6535 // InternalSolverLanguage.g:2265:5: lv_target_4_0= ruleSymbol
6646 { 6536 {
6647 6537
6648 newCompositeNode(grammarAccess.getFieldRelationInterpretationAccess().getTargetSymbolParserRuleCall_4_0()); 6538 newCompositeNode(grammarAccess.getFieldRelationInterpretationAccess().getTargetSymbolParserRuleCall_4_0());
@@ -6692,7 +6582,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6692 6582
6693 6583
6694 // $ANTLR start "entryRuleGlobalRelationInterpretation" 6584 // $ANTLR start "entryRuleGlobalRelationInterpretation"
6695 // InternalSolverLanguage.g:2352:1: entryRuleGlobalRelationInterpretation returns [EObject current=null] : iv_ruleGlobalRelationInterpretation= ruleGlobalRelationInterpretation EOF ; 6585 // InternalSolverLanguage.g:2286:1: entryRuleGlobalRelationInterpretation returns [EObject current=null] : iv_ruleGlobalRelationInterpretation= ruleGlobalRelationInterpretation EOF ;
6696 public final EObject entryRuleGlobalRelationInterpretation() throws RecognitionException { 6586 public final EObject entryRuleGlobalRelationInterpretation() throws RecognitionException {
6697 EObject current = null; 6587 EObject current = null;
6698 6588
@@ -6700,8 +6590,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6700 6590
6701 6591
6702 try { 6592 try {
6703 // InternalSolverLanguage.g:2352:69: (iv_ruleGlobalRelationInterpretation= ruleGlobalRelationInterpretation EOF ) 6593 // InternalSolverLanguage.g:2286:69: (iv_ruleGlobalRelationInterpretation= ruleGlobalRelationInterpretation EOF )
6704 // InternalSolverLanguage.g:2353:2: iv_ruleGlobalRelationInterpretation= ruleGlobalRelationInterpretation EOF 6594 // InternalSolverLanguage.g:2287:2: iv_ruleGlobalRelationInterpretation= ruleGlobalRelationInterpretation EOF
6705 { 6595 {
6706 newCompositeNode(grammarAccess.getGlobalRelationInterpretationRule()); 6596 newCompositeNode(grammarAccess.getGlobalRelationInterpretationRule());
6707 pushFollow(FOLLOW_1); 6597 pushFollow(FOLLOW_1);
@@ -6728,7 +6618,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6728 6618
6729 6619
6730 // $ANTLR start "ruleGlobalRelationInterpretation" 6620 // $ANTLR start "ruleGlobalRelationInterpretation"
6731 // InternalSolverLanguage.g:2359:1: ruleGlobalRelationInterpretation returns [EObject current=null] : ( ( (lv_containment_0_0= 'containment' ) ) otherlv_1= 'relation' ( (lv_symbol_2_0= ruleModelSymbol ) ) otherlv_3= ':' ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )? ( (lv_source_5_0= ruleSymbol ) ) ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )? ( (lv_target_7_0= ruleSymbol ) ) ) ; 6621 // InternalSolverLanguage.g:2293:1: ruleGlobalRelationInterpretation returns [EObject current=null] : ( ( (lv_containment_0_0= 'containment' ) )? otherlv_1= 'relation' ( (lv_symbol_2_0= ruleModelSymbol ) ) otherlv_3= ':' ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )? ( (lv_source_5_0= ruleSymbol ) ) ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )? ( (lv_target_7_0= ruleSymbol ) ) ) ;
6732 public final EObject ruleGlobalRelationInterpretation() throws RecognitionException { 6622 public final EObject ruleGlobalRelationInterpretation() throws RecognitionException {
6733 EObject current = null; 6623 EObject current = null;
6734 6624
@@ -6750,48 +6640,59 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6750 enterRule(); 6640 enterRule();
6751 6641
6752 try { 6642 try {
6753 // InternalSolverLanguage.g:2365:2: ( ( ( (lv_containment_0_0= 'containment' ) ) otherlv_1= 'relation' ( (lv_symbol_2_0= ruleModelSymbol ) ) otherlv_3= ':' ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )? ( (lv_source_5_0= ruleSymbol ) ) ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )? ( (lv_target_7_0= ruleSymbol ) ) ) ) 6643 // InternalSolverLanguage.g:2299:2: ( ( ( (lv_containment_0_0= 'containment' ) )? otherlv_1= 'relation' ( (lv_symbol_2_0= ruleModelSymbol ) ) otherlv_3= ':' ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )? ( (lv_source_5_0= ruleSymbol ) ) ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )? ( (lv_target_7_0= ruleSymbol ) ) ) )
6754 // InternalSolverLanguage.g:2366:2: ( ( (lv_containment_0_0= 'containment' ) ) otherlv_1= 'relation' ( (lv_symbol_2_0= ruleModelSymbol ) ) otherlv_3= ':' ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )? ( (lv_source_5_0= ruleSymbol ) ) ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )? ( (lv_target_7_0= ruleSymbol ) ) ) 6644 // InternalSolverLanguage.g:2300:2: ( ( (lv_containment_0_0= 'containment' ) )? otherlv_1= 'relation' ( (lv_symbol_2_0= ruleModelSymbol ) ) otherlv_3= ':' ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )? ( (lv_source_5_0= ruleSymbol ) ) ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )? ( (lv_target_7_0= ruleSymbol ) ) )
6755 {
6756 // InternalSolverLanguage.g:2366:2: ( ( (lv_containment_0_0= 'containment' ) ) otherlv_1= 'relation' ( (lv_symbol_2_0= ruleModelSymbol ) ) otherlv_3= ':' ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )? ( (lv_source_5_0= ruleSymbol ) ) ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )? ( (lv_target_7_0= ruleSymbol ) ) )
6757 // InternalSolverLanguage.g:2367:3: ( (lv_containment_0_0= 'containment' ) ) otherlv_1= 'relation' ( (lv_symbol_2_0= ruleModelSymbol ) ) otherlv_3= ':' ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )? ( (lv_source_5_0= ruleSymbol ) ) ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )? ( (lv_target_7_0= ruleSymbol ) )
6758 {
6759 // InternalSolverLanguage.g:2367:3: ( (lv_containment_0_0= 'containment' ) )
6760 // InternalSolverLanguage.g:2368:4: (lv_containment_0_0= 'containment' )
6761 { 6645 {
6762 // InternalSolverLanguage.g:2368:4: (lv_containment_0_0= 'containment' ) 6646 // InternalSolverLanguage.g:2300:2: ( ( (lv_containment_0_0= 'containment' ) )? otherlv_1= 'relation' ( (lv_symbol_2_0= ruleModelSymbol ) ) otherlv_3= ':' ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )? ( (lv_source_5_0= ruleSymbol ) ) ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )? ( (lv_target_7_0= ruleSymbol ) ) )
6763 // InternalSolverLanguage.g:2369:5: lv_containment_0_0= 'containment' 6647 // InternalSolverLanguage.g:2301:3: ( (lv_containment_0_0= 'containment' ) )? otherlv_1= 'relation' ( (lv_symbol_2_0= ruleModelSymbol ) ) otherlv_3= ':' ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )? ( (lv_source_5_0= ruleSymbol ) ) ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )? ( (lv_target_7_0= ruleSymbol ) )
6764 { 6648 {
6765 lv_containment_0_0=(Token)match(input,38,FOLLOW_31); 6649 // InternalSolverLanguage.g:2301:3: ( (lv_containment_0_0= 'containment' ) )?
6650 int alt44=2;
6651 int LA44_0 = input.LA(1);
6766 6652
6767 newLeafNode(lv_containment_0_0, grammarAccess.getGlobalRelationInterpretationAccess().getContainmentContainmentKeyword_0_0()); 6653 if ( (LA44_0==39) ) {
6768 6654 alt44=1;
6655 }
6656 switch (alt44) {
6657 case 1 :
6658 // InternalSolverLanguage.g:2302:4: (lv_containment_0_0= 'containment' )
6659 {
6660 // InternalSolverLanguage.g:2302:4: (lv_containment_0_0= 'containment' )
6661 // InternalSolverLanguage.g:2303:5: lv_containment_0_0= 'containment'
6662 {
6663 lv_containment_0_0=(Token)match(input,39,FOLLOW_34);
6769 6664
6770 if (current==null) { 6665 newLeafNode(lv_containment_0_0, grammarAccess.getGlobalRelationInterpretationAccess().getContainmentContainmentKeyword_0_0());
6771 current = createModelElement(grammarAccess.getGlobalRelationInterpretationRule()); 6666
6772 }
6773 setWithLastConsumed(current, "containment", true, "containment");
6774
6775 6667
6776 } 6668 if (current==null) {
6669 current = createModelElement(grammarAccess.getGlobalRelationInterpretationRule());
6670 }
6671 setWithLastConsumed(current, "containment", true, "containment");
6672
6673
6674 }
6777 6675
6778 6676
6677 }
6678 break;
6679
6779 } 6680 }
6780 6681
6781 otherlv_1=(Token)match(input,39,FOLLOW_10); 6682 otherlv_1=(Token)match(input,40,FOLLOW_12);
6782 6683
6783 newLeafNode(otherlv_1, grammarAccess.getGlobalRelationInterpretationAccess().getRelationKeyword_1()); 6684 newLeafNode(otherlv_1, grammarAccess.getGlobalRelationInterpretationAccess().getRelationKeyword_1());
6784 6685
6785 // InternalSolverLanguage.g:2385:3: ( (lv_symbol_2_0= ruleModelSymbol ) ) 6686 // InternalSolverLanguage.g:2319:3: ( (lv_symbol_2_0= ruleModelSymbol ) )
6786 // InternalSolverLanguage.g:2386:4: (lv_symbol_2_0= ruleModelSymbol ) 6687 // InternalSolverLanguage.g:2320:4: (lv_symbol_2_0= ruleModelSymbol )
6787 { 6688 {
6788 // InternalSolverLanguage.g:2386:4: (lv_symbol_2_0= ruleModelSymbol ) 6689 // InternalSolverLanguage.g:2320:4: (lv_symbol_2_0= ruleModelSymbol )
6789 // InternalSolverLanguage.g:2387:5: lv_symbol_2_0= ruleModelSymbol 6690 // InternalSolverLanguage.g:2321:5: lv_symbol_2_0= ruleModelSymbol
6790 { 6691 {
6791 6692
6792 newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0()); 6693 newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getSymbolModelSymbolParserRuleCall_2_0());
6793 6694
6794 pushFollow(FOLLOW_8); 6695 pushFollow(FOLLOW_10);
6795 lv_symbol_2_0=ruleModelSymbol(); 6696 lv_symbol_2_0=ruleModelSymbol();
6796 6697
6797 state._fsp--; 6698 state._fsp--;
@@ -6813,28 +6714,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6813 6714
6814 } 6715 }
6815 6716
6816 otherlv_3=(Token)match(input,19,FOLLOW_30); 6717 otherlv_3=(Token)match(input,20,FOLLOW_33);
6817 6718
6818 newLeafNode(otherlv_3, grammarAccess.getGlobalRelationInterpretationAccess().getColonKeyword_3()); 6719 newLeafNode(otherlv_3, grammarAccess.getGlobalRelationInterpretationAccess().getColonKeyword_3());
6819 6720
6820 // InternalSolverLanguage.g:2408:3: ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )? 6721 // InternalSolverLanguage.g:2342:3: ( (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) )?
6821 int alt38=2; 6722 int alt45=2;
6822 int LA38_0 = input.LA(1); 6723 int LA45_0 = input.LA(1);
6823 6724
6824 if ( (LA38_0==RULE_INT) ) { 6725 if ( (LA45_0==RULE_INT) ) {
6825 alt38=1; 6726 alt45=1;
6826 } 6727 }
6827 switch (alt38) { 6728 switch (alt45) {
6828 case 1 : 6729 case 1 :
6829 // InternalSolverLanguage.g:2409:4: (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) 6730 // InternalSolverLanguage.g:2343:4: (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition )
6830 { 6731 {
6831 // InternalSolverLanguage.g:2409:4: (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition ) 6732 // InternalSolverLanguage.g:2343:4: (lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition )
6832 // InternalSolverLanguage.g:2410:5: lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition 6733 // InternalSolverLanguage.g:2344:5: lv_sourceMultiplicity_4_0= ruleMultiplicityDefinition
6833 { 6734 {
6834 6735
6835 newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getSourceMultiplicityMultiplicityDefinitionParserRuleCall_4_0()); 6736 newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getSourceMultiplicityMultiplicityDefinitionParserRuleCall_4_0());
6836 6737
6837 pushFollow(FOLLOW_18); 6738 pushFollow(FOLLOW_21);
6838 lv_sourceMultiplicity_4_0=ruleMultiplicityDefinition(); 6739 lv_sourceMultiplicity_4_0=ruleMultiplicityDefinition();
6839 6740
6840 state._fsp--; 6741 state._fsp--;
@@ -6859,16 +6760,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6859 6760
6860 } 6761 }
6861 6762
6862 // InternalSolverLanguage.g:2427:3: ( (lv_source_5_0= ruleSymbol ) ) 6763 // InternalSolverLanguage.g:2361:3: ( (lv_source_5_0= ruleSymbol ) )
6863 // InternalSolverLanguage.g:2428:4: (lv_source_5_0= ruleSymbol ) 6764 // InternalSolverLanguage.g:2362:4: (lv_source_5_0= ruleSymbol )
6864 { 6765 {
6865 // InternalSolverLanguage.g:2428:4: (lv_source_5_0= ruleSymbol ) 6766 // InternalSolverLanguage.g:2362:4: (lv_source_5_0= ruleSymbol )
6866 // InternalSolverLanguage.g:2429:5: lv_source_5_0= ruleSymbol 6767 // InternalSolverLanguage.g:2363:5: lv_source_5_0= ruleSymbol
6867 { 6768 {
6868 6769
6869 newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getSourceSymbolParserRuleCall_5_0()); 6770 newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getSourceSymbolParserRuleCall_5_0());
6870 6771
6871 pushFollow(FOLLOW_30); 6772 pushFollow(FOLLOW_33);
6872 lv_source_5_0=ruleSymbol(); 6773 lv_source_5_0=ruleSymbol();
6873 6774
6874 state._fsp--; 6775 state._fsp--;
@@ -6890,24 +6791,24 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6890 6791
6891 } 6792 }
6892 6793
6893 // InternalSolverLanguage.g:2446:3: ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )? 6794 // InternalSolverLanguage.g:2380:3: ( (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) )?
6894 int alt39=2; 6795 int alt46=2;
6895 int LA39_0 = input.LA(1); 6796 int LA46_0 = input.LA(1);
6896 6797
6897 if ( (LA39_0==RULE_INT) ) { 6798 if ( (LA46_0==RULE_INT) ) {
6898 alt39=1; 6799 alt46=1;
6899 } 6800 }
6900 switch (alt39) { 6801 switch (alt46) {
6901 case 1 : 6802 case 1 :
6902 // InternalSolverLanguage.g:2447:4: (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) 6803 // InternalSolverLanguage.g:2381:4: (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition )
6903 { 6804 {
6904 // InternalSolverLanguage.g:2447:4: (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition ) 6805 // InternalSolverLanguage.g:2381:4: (lv_targetMultiplicity_6_0= ruleMultiplicityDefinition )
6905 // InternalSolverLanguage.g:2448:5: lv_targetMultiplicity_6_0= ruleMultiplicityDefinition 6806 // InternalSolverLanguage.g:2382:5: lv_targetMultiplicity_6_0= ruleMultiplicityDefinition
6906 { 6807 {
6907 6808
6908 newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getTargetMultiplicityMultiplicityDefinitionParserRuleCall_6_0()); 6809 newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getTargetMultiplicityMultiplicityDefinitionParserRuleCall_6_0());
6909 6810
6910 pushFollow(FOLLOW_18); 6811 pushFollow(FOLLOW_21);
6911 lv_targetMultiplicity_6_0=ruleMultiplicityDefinition(); 6812 lv_targetMultiplicity_6_0=ruleMultiplicityDefinition();
6912 6813
6913 state._fsp--; 6814 state._fsp--;
@@ -6932,11 +6833,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6932 6833
6933 } 6834 }
6934 6835
6935 // InternalSolverLanguage.g:2465:3: ( (lv_target_7_0= ruleSymbol ) ) 6836 // InternalSolverLanguage.g:2399:3: ( (lv_target_7_0= ruleSymbol ) )
6936 // InternalSolverLanguage.g:2466:4: (lv_target_7_0= ruleSymbol ) 6837 // InternalSolverLanguage.g:2400:4: (lv_target_7_0= ruleSymbol )
6937 { 6838 {
6938 // InternalSolverLanguage.g:2466:4: (lv_target_7_0= ruleSymbol ) 6839 // InternalSolverLanguage.g:2400:4: (lv_target_7_0= ruleSymbol )
6939 // InternalSolverLanguage.g:2467:5: lv_target_7_0= ruleSymbol 6840 // InternalSolverLanguage.g:2401:5: lv_target_7_0= ruleSymbol
6940 { 6841 {
6941 6842
6942 newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getTargetSymbolParserRuleCall_7_0()); 6843 newCompositeNode(grammarAccess.getGlobalRelationInterpretationAccess().getTargetSymbolParserRuleCall_7_0());
@@ -6986,7 +6887,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6986 6887
6987 6888
6988 // $ANTLR start "entryRuleMultiplicityDefinition" 6889 // $ANTLR start "entryRuleMultiplicityDefinition"
6989 // InternalSolverLanguage.g:2488:1: entryRuleMultiplicityDefinition returns [EObject current=null] : iv_ruleMultiplicityDefinition= ruleMultiplicityDefinition EOF ; 6890 // InternalSolverLanguage.g:2422:1: entryRuleMultiplicityDefinition returns [EObject current=null] : iv_ruleMultiplicityDefinition= ruleMultiplicityDefinition EOF ;
6990 public final EObject entryRuleMultiplicityDefinition() throws RecognitionException { 6891 public final EObject entryRuleMultiplicityDefinition() throws RecognitionException {
6991 EObject current = null; 6892 EObject current = null;
6992 6893
@@ -6994,8 +6895,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6994 6895
6995 6896
6996 try { 6897 try {
6997 // InternalSolverLanguage.g:2488:63: (iv_ruleMultiplicityDefinition= ruleMultiplicityDefinition EOF ) 6898 // InternalSolverLanguage.g:2422:63: (iv_ruleMultiplicityDefinition= ruleMultiplicityDefinition EOF )
6998 // InternalSolverLanguage.g:2489:2: iv_ruleMultiplicityDefinition= ruleMultiplicityDefinition EOF 6899 // InternalSolverLanguage.g:2423:2: iv_ruleMultiplicityDefinition= ruleMultiplicityDefinition EOF
6999 { 6900 {
7000 newCompositeNode(grammarAccess.getMultiplicityDefinitionRule()); 6901 newCompositeNode(grammarAccess.getMultiplicityDefinitionRule());
7001 pushFollow(FOLLOW_1); 6902 pushFollow(FOLLOW_1);
@@ -7022,7 +6923,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7022 6923
7023 6924
7024 // $ANTLR start "ruleMultiplicityDefinition" 6925 // $ANTLR start "ruleMultiplicityDefinition"
7025 // InternalSolverLanguage.g:2495:1: ruleMultiplicityDefinition returns [EObject current=null] : ( ( (lv_lower_0_0= RULE_INT ) ) otherlv_1= '..' ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) ) ) ; 6926 // InternalSolverLanguage.g:2429:1: ruleMultiplicityDefinition returns [EObject current=null] : ( ( (lv_lower_0_0= RULE_INT ) ) otherlv_1= '..' ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) ) ) ;
7026 public final EObject ruleMultiplicityDefinition() throws RecognitionException { 6927 public final EObject ruleMultiplicityDefinition() throws RecognitionException {
7027 EObject current = null; 6928 EObject current = null;
7028 6929
@@ -7035,19 +6936,19 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7035 enterRule(); 6936 enterRule();
7036 6937
7037 try { 6938 try {
7038 // InternalSolverLanguage.g:2501:2: ( ( ( (lv_lower_0_0= RULE_INT ) ) otherlv_1= '..' ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) ) ) ) 6939 // InternalSolverLanguage.g:2435:2: ( ( ( (lv_lower_0_0= RULE_INT ) ) otherlv_1= '..' ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) ) ) )
7039 // InternalSolverLanguage.g:2502:2: ( ( (lv_lower_0_0= RULE_INT ) ) otherlv_1= '..' ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) ) ) 6940 // InternalSolverLanguage.g:2436:2: ( ( (lv_lower_0_0= RULE_INT ) ) otherlv_1= '..' ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) ) )
7040 { 6941 {
7041 // InternalSolverLanguage.g:2502:2: ( ( (lv_lower_0_0= RULE_INT ) ) otherlv_1= '..' ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) ) ) 6942 // InternalSolverLanguage.g:2436:2: ( ( (lv_lower_0_0= RULE_INT ) ) otherlv_1= '..' ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) ) )
7042 // InternalSolverLanguage.g:2503:3: ( (lv_lower_0_0= RULE_INT ) ) otherlv_1= '..' ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) ) 6943 // InternalSolverLanguage.g:2437:3: ( (lv_lower_0_0= RULE_INT ) ) otherlv_1= '..' ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) )
7043 { 6944 {
7044 // InternalSolverLanguage.g:2503:3: ( (lv_lower_0_0= RULE_INT ) ) 6945 // InternalSolverLanguage.g:2437:3: ( (lv_lower_0_0= RULE_INT ) )
7045 // InternalSolverLanguage.g:2504:4: (lv_lower_0_0= RULE_INT ) 6946 // InternalSolverLanguage.g:2438:4: (lv_lower_0_0= RULE_INT )
7046 { 6947 {
7047 // InternalSolverLanguage.g:2504:4: (lv_lower_0_0= RULE_INT ) 6948 // InternalSolverLanguage.g:2438:4: (lv_lower_0_0= RULE_INT )
7048 // InternalSolverLanguage.g:2505:5: lv_lower_0_0= RULE_INT 6949 // InternalSolverLanguage.g:2439:5: lv_lower_0_0= RULE_INT
7049 { 6950 {
7050 lv_lower_0_0=(Token)match(input,RULE_INT,FOLLOW_32); 6951 lv_lower_0_0=(Token)match(input,RULE_INT,FOLLOW_35);
7051 6952
7052 newLeafNode(lv_lower_0_0, grammarAccess.getMultiplicityDefinitionAccess().getLowerINTTerminalRuleCall_0_0()); 6953 newLeafNode(lv_lower_0_0, grammarAccess.getMultiplicityDefinitionAccess().getLowerINTTerminalRuleCall_0_0());
7053 6954
@@ -7067,35 +6968,35 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7067 6968
7068 } 6969 }
7069 6970
7070 otherlv_1=(Token)match(input,40,FOLLOW_33); 6971 otherlv_1=(Token)match(input,41,FOLLOW_36);
7071 6972
7072 newLeafNode(otherlv_1, grammarAccess.getMultiplicityDefinitionAccess().getFullStopFullStopKeyword_1()); 6973 newLeafNode(otherlv_1, grammarAccess.getMultiplicityDefinitionAccess().getFullStopFullStopKeyword_1());
7073 6974
7074 // InternalSolverLanguage.g:2525:3: ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) ) 6975 // InternalSolverLanguage.g:2459:3: ( ( (lv_upper_2_0= RULE_INT ) ) | ( (lv_unlimitedUpper_3_0= '*' ) ) )
7075 int alt40=2; 6976 int alt47=2;
7076 int LA40_0 = input.LA(1); 6977 int LA47_0 = input.LA(1);
7077 6978
7078 if ( (LA40_0==RULE_INT) ) { 6979 if ( (LA47_0==RULE_INT) ) {
7079 alt40=1; 6980 alt47=1;
7080 } 6981 }
7081 else if ( (LA40_0==30) ) { 6982 else if ( (LA47_0==31) ) {
7082 alt40=2; 6983 alt47=2;
7083 } 6984 }
7084 else { 6985 else {
7085 NoViableAltException nvae = 6986 NoViableAltException nvae =
7086 new NoViableAltException("", 40, 0, input); 6987 new NoViableAltException("", 47, 0, input);
7087 6988
7088 throw nvae; 6989 throw nvae;
7089 } 6990 }
7090 switch (alt40) { 6991 switch (alt47) {
7091 case 1 : 6992 case 1 :
7092 // InternalSolverLanguage.g:2526:4: ( (lv_upper_2_0= RULE_INT ) ) 6993 // InternalSolverLanguage.g:2460:4: ( (lv_upper_2_0= RULE_INT ) )
7093 { 6994 {
7094 // InternalSolverLanguage.g:2526:4: ( (lv_upper_2_0= RULE_INT ) ) 6995 // InternalSolverLanguage.g:2460:4: ( (lv_upper_2_0= RULE_INT ) )
7095 // InternalSolverLanguage.g:2527:5: (lv_upper_2_0= RULE_INT ) 6996 // InternalSolverLanguage.g:2461:5: (lv_upper_2_0= RULE_INT )
7096 { 6997 {
7097 // InternalSolverLanguage.g:2527:5: (lv_upper_2_0= RULE_INT ) 6998 // InternalSolverLanguage.g:2461:5: (lv_upper_2_0= RULE_INT )
7098 // InternalSolverLanguage.g:2528:6: lv_upper_2_0= RULE_INT 6999 // InternalSolverLanguage.g:2462:6: lv_upper_2_0= RULE_INT
7099 { 7000 {
7100 lv_upper_2_0=(Token)match(input,RULE_INT,FOLLOW_2); 7001 lv_upper_2_0=(Token)match(input,RULE_INT,FOLLOW_2);
7101 7002
@@ -7121,15 +7022,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7121 } 7022 }
7122 break; 7023 break;
7123 case 2 : 7024 case 2 :
7124 // InternalSolverLanguage.g:2545:4: ( (lv_unlimitedUpper_3_0= '*' ) ) 7025 // InternalSolverLanguage.g:2479:4: ( (lv_unlimitedUpper_3_0= '*' ) )
7125 { 7026 {
7126 // InternalSolverLanguage.g:2545:4: ( (lv_unlimitedUpper_3_0= '*' ) ) 7027 // InternalSolverLanguage.g:2479:4: ( (lv_unlimitedUpper_3_0= '*' ) )
7127 // InternalSolverLanguage.g:2546:5: (lv_unlimitedUpper_3_0= '*' ) 7028 // InternalSolverLanguage.g:2480:5: (lv_unlimitedUpper_3_0= '*' )
7128 { 7029 {
7129 // InternalSolverLanguage.g:2546:5: (lv_unlimitedUpper_3_0= '*' ) 7030 // InternalSolverLanguage.g:2480:5: (lv_unlimitedUpper_3_0= '*' )
7130 // InternalSolverLanguage.g:2547:6: lv_unlimitedUpper_3_0= '*' 7031 // InternalSolverLanguage.g:2481:6: lv_unlimitedUpper_3_0= '*'
7131 { 7032 {
7132 lv_unlimitedUpper_3_0=(Token)match(input,30,FOLLOW_2); 7033 lv_unlimitedUpper_3_0=(Token)match(input,31,FOLLOW_2);
7133 7034
7134 newLeafNode(lv_unlimitedUpper_3_0, grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAsteriskKeyword_2_1_0()); 7035 newLeafNode(lv_unlimitedUpper_3_0, grammarAccess.getMultiplicityDefinitionAccess().getUnlimitedUpperAsteriskKeyword_2_1_0());
7135 7036
@@ -7175,40 +7076,85 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7175 // Delegated rules 7076 // Delegated rules
7176 7077
7177 7078
7079 protected DFA2 dfa2 = new DFA2(this);
7080 static final String dfa_1s = "\11\uffff";
7081 static final String dfa_2s = "\1\5\1\21\2\uffff\1\4\1\22\1\24\1\4\1\22";
7082 static final String dfa_3s = "\1\50\1\34\2\uffff\1\37\1\24\1\34\1\37\1\24";
7083 static final String dfa_4s = "\2\uffff\1\1\1\2\5\uffff";
7084 static final String dfa_5s = "\11\uffff}>";
7085 static final String[] dfa_6s = {
7086 "\1\1\12\uffff\1\3\4\uffff\6\2\5\uffff\3\2\3\uffff\3\2",
7087 "\1\4\2\uffff\1\2\7\uffff\1\3",
7088 "",
7089 "",
7090 "\1\2\1\5\1\2\4\uffff\1\2\1\uffff\2\2\4\uffff\1\6\1\2\6\uffff\1\2\3\uffff\1\2",
7091 "\1\7\1\6\1\3",
7092 "\1\2\7\uffff\1\3",
7093 "\1\2\1\10\1\2\4\uffff\1\2\1\uffff\2\2\5\uffff\1\2\6\uffff\1\2\3\uffff\1\2",
7094 "\1\7\1\6\1\3"
7095 };
7096
7097 static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s);
7098 static final char[] dfa_2 = DFA.unpackEncodedStringToUnsignedChars(dfa_2s);
7099 static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s);
7100 static final short[] dfa_4 = DFA.unpackEncodedString(dfa_4s);
7101 static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s);
7102 static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s);
7103
7104 class DFA2 extends DFA {
7105
7106 public DFA2(BaseRecognizer recognizer) {
7107 this.recognizer = recognizer;
7108 this.decisionNumber = 2;
7109 this.eot = dfa_1;
7110 this.eof = dfa_1;
7111 this.min = dfa_2;
7112 this.max = dfa_3;
7113 this.accept = dfa_4;
7114 this.special = dfa_5;
7115 this.transition = dfa_6;
7116 }
7117 public String getDescription() {
7118 return "114:2: (this_Interpretation_0= ruleInterpretation | this_Predicate_1= rulePredicate )";
7119 }
7120 }
7178 7121
7179 7122
7180 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); 7123 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L});
7181 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); 7124 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
7182 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x000000618BF10022L}); 7125 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x000001C707E10022L});
7183 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000010L}); 7126 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000010L});
7184 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000001000L}); 7127 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000001000L});
7185 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000020000L}); 7128 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000120000L});
7186 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x00000000440C6870L}); 7129 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000088186870L});
7187 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000080000L}); 7130 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x00000000000C0000L});
7188 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x000000000001E000L}); 7131 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000088106870L});
7189 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000000020L}); 7132 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000100000L});
7190 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000004000000L}); 7133 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x000000000001E000L});
7191 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000040020L}); 7134 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000000020L});
7192 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000030007820L}); 7135 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000008000000L});
7193 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000010001000L}); 7136 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000010020000L});
7194 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000030003820L}); 7137 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000080020L});
7195 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000000020020L}); 7138 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000010000000L});
7196 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000080002L}); 7139 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x00000000E0007820L});
7197 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000003F00020L}); 7140 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000020001000L});
7198 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000020000822L}); 7141 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x00000000E0003820L});
7199 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000060020000L}); 7142 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000000100002L});
7200 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000004046870L}); 7143 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000007E00020L});
7201 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000004006870L}); 7144 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x00000000C0000822L});
7202 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000000040000L}); 7145 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000000020002L});
7203 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000200000000L}); 7146 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x00000000080C6870L});
7204 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000C00000000L}); 7147 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000008006870L});
7205 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000800000020L}); 7148 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000020000L});
7206 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000005000000000L}); 7149 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000400000000L});
7207 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000800000000L}); 7150 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000001800000000L});
7208 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000001004000000L}); 7151 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000001000000020L});
7209 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000003F00030L}); 7152 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x000000A000000020L});
7210 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000008000000000L}); 7153 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000001000000000L});
7211 public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000010000000000L}); 7154 public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000002008000000L});
7212 public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000040000010L}); 7155 public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000007E00030L});
7156 public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000010000000000L});
7157 public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000020000000000L});
7158 public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000080000010L});
7213 7159
7214} \ No newline at end of file 7160} \ No newline at end of file
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSemanticSequencer.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSemanticSequencer.java
index 80f9a02e..1ad39fd7 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSemanticSequencer.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSemanticSequencer.java
@@ -20,7 +20,6 @@ import org.eclipse.viatra.solver.language.solverLanguage.Constraint;
20import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation; 20import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation;
21import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation; 21import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation;
22import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol; 22import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol;
23import org.eclipse.viatra.solver.language.solverLanguage.ErrorPredicate;
24import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol; 23import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol;
25import org.eclipse.viatra.solver.language.solverLanguage.False; 24import org.eclipse.viatra.solver.language.solverLanguage.False;
26import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation; 25import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation;
@@ -34,7 +33,7 @@ import org.eclipse.viatra.solver.language.solverLanguage.NamedObject;
34import org.eclipse.viatra.solver.language.solverLanguage.Negative; 33import org.eclipse.viatra.solver.language.solverLanguage.Negative;
35import org.eclipse.viatra.solver.language.solverLanguage.PatternBody; 34import org.eclipse.viatra.solver.language.solverLanguage.PatternBody;
36import org.eclipse.viatra.solver.language.solverLanguage.Positive; 35import org.eclipse.viatra.solver.language.solverLanguage.Positive;
37import org.eclipse.viatra.solver.language.solverLanguage.PredicateSymbol; 36import org.eclipse.viatra.solver.language.solverLanguage.Predicate;
38import org.eclipse.viatra.solver.language.solverLanguage.Problem; 37import org.eclipse.viatra.solver.language.solverLanguage.Problem;
39import org.eclipse.viatra.solver.language.solverLanguage.RealObject; 38import org.eclipse.viatra.solver.language.solverLanguage.RealObject;
40import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol; 39import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol;
@@ -107,9 +106,6 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
107 case SolverLanguagePackage.ERROR: 106 case SolverLanguagePackage.ERROR:
108 sequence_TruthValue(context, (org.eclipse.viatra.solver.language.solverLanguage.Error) semanticObject); 107 sequence_TruthValue(context, (org.eclipse.viatra.solver.language.solverLanguage.Error) semanticObject);
109 return; 108 return;
110 case SolverLanguagePackage.ERROR_PREDICATE:
111 sequence_ErrorPredicate(context, (ErrorPredicate) semanticObject);
112 return;
113 case SolverLanguagePackage.EXIST_SYMBOL: 109 case SolverLanguagePackage.EXIST_SYMBOL:
114 sequence_ExistSymbol(context, (ExistSymbol) semanticObject); 110 sequence_ExistSymbol(context, (ExistSymbol) semanticObject);
115 return; 111 return;
@@ -152,8 +148,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
152 case SolverLanguagePackage.POSITIVE: 148 case SolverLanguagePackage.POSITIVE:
153 sequence_Polarity(context, (Positive) semanticObject); 149 sequence_Polarity(context, (Positive) semanticObject);
154 return; 150 return;
155 case SolverLanguagePackage.PREDICATE_SYMBOL: 151 case SolverLanguagePackage.PREDICATE:
156 sequence_PredicateSymbol(context, (PredicateSymbol) semanticObject); 152 sequence_Predicate(context, (Predicate) semanticObject);
157 return; 153 return;
158 case SolverLanguagePackage.PROBLEM: 154 case SolverLanguagePackage.PROBLEM:
159 sequence_Problem(context, (Problem) semanticObject); 155 sequence_Problem(context, (Problem) semanticObject);
@@ -229,7 +225,7 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
229 * BasicInterpretation returns BasicInterpretation 225 * BasicInterpretation returns BasicInterpretation
230 * 226 *
231 * Constraint: 227 * Constraint:
232 * (symbol=Symbol objects+=ComplexObject* value=TruthValue) 228 * (symbol=Symbol (objects+=ComplexObject objects+=ComplexObject*)? value=TruthValue)
233 */ 229 */
234 protected void sequence_BasicInterpretation(ISerializationContext context, BasicInterpretation semanticObject) { 230 protected void sequence_BasicInterpretation(ISerializationContext context, BasicInterpretation semanticObject) {
235 genericSequencer.createSequence(context, semanticObject); 231 genericSequencer.createSequence(context, semanticObject);
@@ -304,7 +300,7 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
304 * ClassInterpretation returns ClassInterpretation 300 * ClassInterpretation returns ClassInterpretation
305 * 301 *
306 * Constraint: 302 * Constraint:
307 * (abstract?='abstract' symbol=ModelSymbol supertypes+=ModelSymbol* fielt+=FieldRelationInterpretation*) 303 * (abstract?='abstract'? symbol=ModelSymbol supertypes+=ModelSymbol* fielt+=FieldRelationInterpretation*)
308 */ 304 */
309 protected void sequence_ClassInterpretation(ISerializationContext context, ClassInterpretation semanticObject) { 305 protected void sequence_ClassInterpretation(ISerializationContext context, ClassInterpretation semanticObject) {
310 genericSequencer.createSequence(context, semanticObject); 306 genericSequencer.createSequence(context, semanticObject);
@@ -340,7 +336,7 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
340 * Constraint returns Constraint 336 * Constraint returns Constraint
341 * 337 *
342 * Constraint: 338 * Constraint:
343 * (polarity=Polarity? symbol=ModelSymbol (params+=Literal+ | (closureType=ClosureType params+=Literal params+=Literal))?) 339 * ((polarity=Polarity? symbol=ModelSymbol params+=Literal? params+=Literal*) | (closureType=ClosureType params+=Literal? params+=Literal*))
344 */ 340 */
345 protected void sequence_Constraint(ISerializationContext context, Constraint semanticObject) { 341 protected void sequence_Constraint(ISerializationContext context, Constraint semanticObject) {
346 genericSequencer.createSequence(context, semanticObject); 342 genericSequencer.createSequence(context, semanticObject);
@@ -398,20 +394,6 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
398 394
399 /** 395 /**
400 * Contexts: 396 * Contexts:
401 * Statement returns ErrorPredicate
402 * Predicate returns ErrorPredicate
403 * ErrorPredicate returns ErrorPredicate
404 *
405 * Constraint:
406 * (name=ID? parameters+=Parameter* (bodies+=PatternBody bodies+=PatternBody*)?)
407 */
408 protected void sequence_ErrorPredicate(ISerializationContext context, ErrorPredicate semanticObject) {
409 genericSequencer.createSequence(context, semanticObject);
410 }
411
412
413 /**
414 * Contexts:
415 * Symbol returns ExistSymbol 397 * Symbol returns ExistSymbol
416 * PartialitySymbol returns ExistSymbol 398 * PartialitySymbol returns ExistSymbol
417 * ExistSymbol returns ExistSymbol 399 * ExistSymbol returns ExistSymbol
@@ -429,7 +411,7 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
429 * FieldRelationInterpretation returns FieldRelationInterpretation 411 * FieldRelationInterpretation returns FieldRelationInterpretation
430 * 412 *
431 * Constraint: 413 * Constraint:
432 * (containment?='containment' symbol=ModelSymbol multiplicity=MultiplicityDefinition? target=Symbol) 414 * (containment?='containment'? symbol=ModelSymbol multiplicity=MultiplicityDefinition? target=Symbol)
433 */ 415 */
434 protected void sequence_FieldRelationInterpretation(ISerializationContext context, FieldRelationInterpretation semanticObject) { 416 protected void sequence_FieldRelationInterpretation(ISerializationContext context, FieldRelationInterpretation semanticObject) {
435 genericSequencer.createSequence(context, semanticObject); 417 genericSequencer.createSequence(context, semanticObject);
@@ -445,7 +427,7 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
445 * 427 *
446 * Constraint: 428 * Constraint:
447 * ( 429 * (
448 * containment?='containment' 430 * containment?='containment'?
449 * symbol=ModelSymbol 431 * symbol=ModelSymbol
450 * sourceMultiplicity=MultiplicityDefinition? 432 * sourceMultiplicity=MultiplicityDefinition?
451 * source=Symbol 433 * source=Symbol
@@ -530,6 +512,7 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
530 * ComplexObject returns NamedObject 512 * ComplexObject returns NamedObject
531 * Object returns NamedObject 513 * Object returns NamedObject
532 * NamedObject returns NamedObject 514 * NamedObject returns NamedObject
515 * Literal returns NamedObject
533 * 516 *
534 * Constraint: 517 * Constraint:
535 * name=ID 518 * name=ID
@@ -595,14 +578,13 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
595 578
596 /** 579 /**
597 * Contexts: 580 * Contexts:
598 * Statement returns PredicateSymbol 581 * Statement returns Predicate
599 * Predicate returns PredicateSymbol 582 * Predicate returns Predicate
600 * PredicateSymbol returns PredicateSymbol
601 * 583 *
602 * Constraint: 584 * Constraint:
603 * (symbol=ModelSymbol parameters+=Parameter* (bodies+=PatternBody bodies+=PatternBody*)?) 585 * (isError?='error'? symbol=ModelSymbol (parameters+=Parameter parameters+=Parameter*)? (bodies+=PatternBody bodies+=PatternBody*)?)
604 */ 586 */
605 protected void sequence_PredicateSymbol(ISerializationContext context, PredicateSymbol semanticObject) { 587 protected void sequence_Predicate(ISerializationContext context, Predicate semanticObject) {
606 genericSequencer.createSequence(context, semanticObject); 588 genericSequencer.createSequence(context, semanticObject);
607 } 589 }
608 590
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSyntacticSequencer.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSyntacticSequencer.java
index 5145bfac..8a2d6f62 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSyntacticSequencer.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSyntacticSequencer.java
@@ -11,6 +11,7 @@ import org.eclipse.xtext.IGrammarAccess;
11import org.eclipse.xtext.RuleCall; 11import org.eclipse.xtext.RuleCall;
12import org.eclipse.xtext.nodemodel.INode; 12import org.eclipse.xtext.nodemodel.INode;
13import org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias; 13import org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias;
14import org.eclipse.xtext.serializer.analysis.GrammarAlias.GroupAlias;
14import org.eclipse.xtext.serializer.analysis.GrammarAlias.TokenAlias; 15import org.eclipse.xtext.serializer.analysis.GrammarAlias.TokenAlias;
15import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable; 16import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable;
16import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition; 17import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition;
@@ -20,12 +21,18 @@ import org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer;
20public class SolverLanguageSyntacticSequencer extends AbstractSyntacticSequencer { 21public class SolverLanguageSyntacticSequencer extends AbstractSyntacticSequencer {
21 22
22 protected SolverLanguageGrammarAccess grammarAccess; 23 protected SolverLanguageGrammarAccess grammarAccess;
24 protected AbstractElementAlias match_BasicInterpretation___LeftParenthesisKeyword_1_0_RightParenthesisKeyword_1_2__q;
25 protected AbstractElementAlias match_Constraint___LeftParenthesisKeyword_0_2_0_RightParenthesisKeyword_0_2_3__q;
23 protected AbstractElementAlias match_PatternBody_TrueKeyword_1_0_q; 26 protected AbstractElementAlias match_PatternBody_TrueKeyword_1_0_q;
27 protected AbstractElementAlias match_Predicate___LeftParenthesisKeyword_2_0_RightParenthesisKeyword_2_2__q;
24 28
25 @Inject 29 @Inject
26 protected void init(IGrammarAccess access) { 30 protected void init(IGrammarAccess access) {
27 grammarAccess = (SolverLanguageGrammarAccess) access; 31 grammarAccess = (SolverLanguageGrammarAccess) access;
32 match_BasicInterpretation___LeftParenthesisKeyword_1_0_RightParenthesisKeyword_1_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getBasicInterpretationAccess().getLeftParenthesisKeyword_1_0()), new TokenAlias(false, false, grammarAccess.getBasicInterpretationAccess().getRightParenthesisKeyword_1_2()));
33 match_Constraint___LeftParenthesisKeyword_0_2_0_RightParenthesisKeyword_0_2_3__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getConstraintAccess().getLeftParenthesisKeyword_0_2_0()), new TokenAlias(false, false, grammarAccess.getConstraintAccess().getRightParenthesisKeyword_0_2_3()));
28 match_PatternBody_TrueKeyword_1_0_q = new TokenAlias(false, true, grammarAccess.getPatternBodyAccess().getTrueKeyword_1_0()); 34 match_PatternBody_TrueKeyword_1_0_q = new TokenAlias(false, true, grammarAccess.getPatternBodyAccess().getTrueKeyword_1_0());
35 match_Predicate___LeftParenthesisKeyword_2_0_RightParenthesisKeyword_2_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getPredicateAccess().getLeftParenthesisKeyword_2_0()), new TokenAlias(false, false, grammarAccess.getPredicateAccess().getRightParenthesisKeyword_2_2()));
29 } 36 }
30 37
31 @Override 38 @Override
@@ -40,14 +47,42 @@ public class SolverLanguageSyntacticSequencer extends AbstractSyntacticSequencer
40 List<INode> transitionNodes = collectNodes(fromNode, toNode); 47 List<INode> transitionNodes = collectNodes(fromNode, toNode);
41 for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) { 48 for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) {
42 List<INode> syntaxNodes = getNodesFor(transitionNodes, syntax); 49 List<INode> syntaxNodes = getNodesFor(transitionNodes, syntax);
43 if (match_PatternBody_TrueKeyword_1_0_q.equals(syntax)) 50 if (match_BasicInterpretation___LeftParenthesisKeyword_1_0_RightParenthesisKeyword_1_2__q.equals(syntax))
51 emit_BasicInterpretation___LeftParenthesisKeyword_1_0_RightParenthesisKeyword_1_2__q(semanticObject, getLastNavigableState(), syntaxNodes);
52 else if (match_Constraint___LeftParenthesisKeyword_0_2_0_RightParenthesisKeyword_0_2_3__q.equals(syntax))
53 emit_Constraint___LeftParenthesisKeyword_0_2_0_RightParenthesisKeyword_0_2_3__q(semanticObject, getLastNavigableState(), syntaxNodes);
54 else if (match_PatternBody_TrueKeyword_1_0_q.equals(syntax))
44 emit_PatternBody_TrueKeyword_1_0_q(semanticObject, getLastNavigableState(), syntaxNodes); 55 emit_PatternBody_TrueKeyword_1_0_q(semanticObject, getLastNavigableState(), syntaxNodes);
56 else if (match_Predicate___LeftParenthesisKeyword_2_0_RightParenthesisKeyword_2_2__q.equals(syntax))
57 emit_Predicate___LeftParenthesisKeyword_2_0_RightParenthesisKeyword_2_2__q(semanticObject, getLastNavigableState(), syntaxNodes);
45 else acceptNodes(getLastNavigableState(), syntaxNodes); 58 else acceptNodes(getLastNavigableState(), syntaxNodes);
46 } 59 }
47 } 60 }
48 61
49 /** 62 /**
50 * Ambiguous syntax: 63 * Ambiguous syntax:
64 * ('(' ')')?
65 *
66 * This ambiguous syntax occurs at:
67 * symbol=Symbol (ambiguity) ':' value=TruthValue
68 */
69 protected void emit_BasicInterpretation___LeftParenthesisKeyword_1_0_RightParenthesisKeyword_1_2__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
70 acceptNodes(transition, nodes);
71 }
72
73 /**
74 * Ambiguous syntax:
75 * ('(' ')')?
76 *
77 * This ambiguous syntax occurs at:
78 * symbol=ModelSymbol (ambiguity) (rule end)
79 */
80 protected void emit_Constraint___LeftParenthesisKeyword_0_2_0_RightParenthesisKeyword_0_2_3__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
81 acceptNodes(transition, nodes);
82 }
83
84 /**
85 * Ambiguous syntax:
51 * 'true'? 86 * 'true'?
52 * 87 *
53 * This ambiguous syntax occurs at: 88 * This ambiguous syntax occurs at:
@@ -57,4 +92,16 @@ public class SolverLanguageSyntacticSequencer extends AbstractSyntacticSequencer
57 acceptNodes(transition, nodes); 92 acceptNodes(transition, nodes);
58 } 93 }
59 94
95 /**
96 * Ambiguous syntax:
97 * ('(' ')')?
98 *
99 * This ambiguous syntax occurs at:
100 * symbol=ModelSymbol (ambiguity) ':-' 'false' '.' (rule end)
101 * symbol=ModelSymbol (ambiguity) ':-' bodies+=PatternBody
102 */
103 protected void emit_Predicate___LeftParenthesisKeyword_2_0_RightParenthesisKeyword_2_2__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
104 acceptNodes(transition, nodes);
105 }
106
60} 107}
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java
index fb5ea124..e6a8f1d9 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java
@@ -228,19 +228,25 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
228 private final Group cGroup = (Group)rule.eContents().get(1); 228 private final Group cGroup = (Group)rule.eContents().get(1);
229 private final Assignment cSymbolAssignment_0 = (Assignment)cGroup.eContents().get(0); 229 private final Assignment cSymbolAssignment_0 = (Assignment)cGroup.eContents().get(0);
230 private final RuleCall cSymbolSymbolParserRuleCall_0_0 = (RuleCall)cSymbolAssignment_0.eContents().get(0); 230 private final RuleCall cSymbolSymbolParserRuleCall_0_0 = (RuleCall)cSymbolAssignment_0.eContents().get(0);
231 private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1); 231 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
232 private final Assignment cObjectsAssignment_2 = (Assignment)cGroup.eContents().get(2); 232 private final Keyword cLeftParenthesisKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
233 private final RuleCall cObjectsComplexObjectParserRuleCall_2_0 = (RuleCall)cObjectsAssignment_2.eContents().get(0); 233 private final Group cGroup_1_1 = (Group)cGroup_1.eContents().get(1);
234 private final Keyword cRightParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3); 234 private final Assignment cObjectsAssignment_1_1_0 = (Assignment)cGroup_1_1.eContents().get(0);
235 private final Keyword cColonKeyword_4 = (Keyword)cGroup.eContents().get(4); 235 private final RuleCall cObjectsComplexObjectParserRuleCall_1_1_0_0 = (RuleCall)cObjectsAssignment_1_1_0.eContents().get(0);
236 private final Assignment cValueAssignment_5 = (Assignment)cGroup.eContents().get(5); 236 private final Group cGroup_1_1_1 = (Group)cGroup_1_1.eContents().get(1);
237 private final RuleCall cValueTruthValueParserRuleCall_5_0 = (RuleCall)cValueAssignment_5.eContents().get(0); 237 private final Keyword cCommaKeyword_1_1_1_0 = (Keyword)cGroup_1_1_1.eContents().get(0);
238 private final Assignment cObjectsAssignment_1_1_1_1 = (Assignment)cGroup_1_1_1.eContents().get(1);
239 private final RuleCall cObjectsComplexObjectParserRuleCall_1_1_1_1_0 = (RuleCall)cObjectsAssignment_1_1_1_1.eContents().get(0);
240 private final Keyword cRightParenthesisKeyword_1_2 = (Keyword)cGroup_1.eContents().get(2);
241 private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2);
242 private final Assignment cValueAssignment_3 = (Assignment)cGroup.eContents().get(3);
243 private final RuleCall cValueTruthValueParserRuleCall_3_0 = (RuleCall)cValueAssignment_3.eContents().get(0);
238 244
239 //BasicInterpretation: 245 //BasicInterpretation:
240 // symbol=Symbol '(' objects+=ComplexObject* ')' ':' value=TruthValue; 246 // symbol=Symbol ('(' (objects+=ComplexObject (',' objects+=ComplexObject)*)? ')')? ':' value=TruthValue;
241 @Override public ParserRule getRule() { return rule; } 247 @Override public ParserRule getRule() { return rule; }
242 248
243 //symbol=Symbol '(' objects+=ComplexObject* ')' ':' value=TruthValue 249 //symbol=Symbol ('(' (objects+=ComplexObject (',' objects+=ComplexObject)*)? ')')? ':' value=TruthValue
244 public Group getGroup() { return cGroup; } 250 public Group getGroup() { return cGroup; }
245 251
246 //symbol=Symbol 252 //symbol=Symbol
@@ -249,26 +255,44 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
249 //Symbol 255 //Symbol
250 public RuleCall getSymbolSymbolParserRuleCall_0_0() { return cSymbolSymbolParserRuleCall_0_0; } 256 public RuleCall getSymbolSymbolParserRuleCall_0_0() { return cSymbolSymbolParserRuleCall_0_0; }
251 257
258 //('(' (objects+=ComplexObject (',' objects+=ComplexObject)*)? ')')?
259 public Group getGroup_1() { return cGroup_1; }
260
252 //'(' 261 //'('
253 public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; } 262 public Keyword getLeftParenthesisKeyword_1_0() { return cLeftParenthesisKeyword_1_0; }
263
264 //(objects+=ComplexObject (',' objects+=ComplexObject)*)?
265 public Group getGroup_1_1() { return cGroup_1_1; }
266
267 //objects+=ComplexObject
268 public Assignment getObjectsAssignment_1_1_0() { return cObjectsAssignment_1_1_0; }
269
270 //ComplexObject
271 public RuleCall getObjectsComplexObjectParserRuleCall_1_1_0_0() { return cObjectsComplexObjectParserRuleCall_1_1_0_0; }
272
273 //(',' objects+=ComplexObject)*
274 public Group getGroup_1_1_1() { return cGroup_1_1_1; }
254 275
255 //objects+=ComplexObject* 276 //','
256 public Assignment getObjectsAssignment_2() { return cObjectsAssignment_2; } 277 public Keyword getCommaKeyword_1_1_1_0() { return cCommaKeyword_1_1_1_0; }
278
279 //objects+=ComplexObject
280 public Assignment getObjectsAssignment_1_1_1_1() { return cObjectsAssignment_1_1_1_1; }
257 281
258 //ComplexObject 282 //ComplexObject
259 public RuleCall getObjectsComplexObjectParserRuleCall_2_0() { return cObjectsComplexObjectParserRuleCall_2_0; } 283 public RuleCall getObjectsComplexObjectParserRuleCall_1_1_1_1_0() { return cObjectsComplexObjectParserRuleCall_1_1_1_1_0; }
260 284
261 //')' 285 //')'
262 public Keyword getRightParenthesisKeyword_3() { return cRightParenthesisKeyword_3; } 286 public Keyword getRightParenthesisKeyword_1_2() { return cRightParenthesisKeyword_1_2; }
263 287
264 //':' 288 //':'
265 public Keyword getColonKeyword_4() { return cColonKeyword_4; } 289 public Keyword getColonKeyword_2() { return cColonKeyword_2; }
266 290
267 //value=TruthValue 291 //value=TruthValue
268 public Assignment getValueAssignment_5() { return cValueAssignment_5; } 292 public Assignment getValueAssignment_3() { return cValueAssignment_3; }
269 293
270 //TruthValue 294 //TruthValue
271 public RuleCall getValueTruthValueParserRuleCall_5_0() { return cValueTruthValueParserRuleCall_5_0; } 295 public RuleCall getValueTruthValueParserRuleCall_3_0() { return cValueTruthValueParserRuleCall_3_0; }
272 } 296 }
273 public class SymbolElements extends AbstractParserRuleElementFinder { 297 public class SymbolElements extends AbstractParserRuleElementFinder {
274 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Symbol"); 298 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Symbol");
@@ -645,59 +669,50 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
645 } 669 }
646 public class PredicateElements extends AbstractParserRuleElementFinder { 670 public class PredicateElements extends AbstractParserRuleElementFinder {
647 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Predicate"); 671 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Predicate");
648 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 672 private final Group cGroup = (Group)rule.eContents().get(1);
649 private final RuleCall cPredicateSymbolParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 673 private final Assignment cIsErrorAssignment_0 = (Assignment)cGroup.eContents().get(0);
650 private final RuleCall cErrorPredicateParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 674 private final Keyword cIsErrorErrorKeyword_0_0 = (Keyword)cIsErrorAssignment_0.eContents().get(0);
675 private final Assignment cSymbolAssignment_1 = (Assignment)cGroup.eContents().get(1);
676 private final RuleCall cSymbolModelSymbolParserRuleCall_1_0 = (RuleCall)cSymbolAssignment_1.eContents().get(0);
677 private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
678 private final Keyword cLeftParenthesisKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
679 private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1);
680 private final Assignment cParametersAssignment_2_1_0 = (Assignment)cGroup_2_1.eContents().get(0);
681 private final RuleCall cParametersParameterParserRuleCall_2_1_0_0 = (RuleCall)cParametersAssignment_2_1_0.eContents().get(0);
682 private final Group cGroup_2_1_1 = (Group)cGroup_2_1.eContents().get(1);
683 private final Keyword cCommaKeyword_2_1_1_0 = (Keyword)cGroup_2_1_1.eContents().get(0);
684 private final Assignment cParametersAssignment_2_1_1_1 = (Assignment)cGroup_2_1_1.eContents().get(1);
685 private final RuleCall cParametersParameterParserRuleCall_2_1_1_1_0 = (RuleCall)cParametersAssignment_2_1_1_1.eContents().get(0);
686 private final Keyword cRightParenthesisKeyword_2_2 = (Keyword)cGroup_2.eContents().get(2);
687 private final Keyword cColonHyphenMinusKeyword_3 = (Keyword)cGroup.eContents().get(3);
688 private final Alternatives cAlternatives_4 = (Alternatives)cGroup.eContents().get(4);
689 private final Keyword cFalseKeyword_4_0 = (Keyword)cAlternatives_4.eContents().get(0);
690 private final Group cGroup_4_1 = (Group)cAlternatives_4.eContents().get(1);
691 private final Assignment cBodiesAssignment_4_1_0 = (Assignment)cGroup_4_1.eContents().get(0);
692 private final RuleCall cBodiesPatternBodyParserRuleCall_4_1_0_0 = (RuleCall)cBodiesAssignment_4_1_0.eContents().get(0);
693 private final Group cGroup_4_1_1 = (Group)cGroup_4_1.eContents().get(1);
694 private final Keyword cVerticalLineKeyword_4_1_1_0 = (Keyword)cGroup_4_1_1.eContents().get(0);
695 private final Assignment cBodiesAssignment_4_1_1_1 = (Assignment)cGroup_4_1_1.eContents().get(1);
696 private final RuleCall cBodiesPatternBodyParserRuleCall_4_1_1_1_0 = (RuleCall)cBodiesAssignment_4_1_1_1.eContents().get(0);
697 private final Keyword cFullStopKeyword_5 = (Keyword)cGroup.eContents().get(5);
651 698
652 ///////////////////// 699 /////////////////////
653 //// Predicte grammar 700 //// Predicte grammar
654 ///////////////////// 701 /////////////////////
655 //Predicate: 702 //Predicate:
656 // PredicateSymbol | ErrorPredicate; 703 // isError?='error'? symbol=ModelSymbol ('(' (parameters+=Parameter (',' parameters+=Parameter)*)? ')')? ':-' ('false' |
704 // bodies+=PatternBody ('|' bodies+=PatternBody)*) '.';
657 @Override public ParserRule getRule() { return rule; } 705 @Override public ParserRule getRule() { return rule; }
658 706
659 //PredicateSymbol | ErrorPredicate 707 //isError?='error'? symbol=ModelSymbol ('(' (parameters+=Parameter (',' parameters+=Parameter)*)? ')')? ':-' ('false' |
660 public Alternatives getAlternatives() { return cAlternatives; } 708 //bodies+=PatternBody ('|' bodies+=PatternBody)*) '.'
661
662 //PredicateSymbol
663 public RuleCall getPredicateSymbolParserRuleCall_0() { return cPredicateSymbolParserRuleCall_0; }
664
665 //ErrorPredicate
666 public RuleCall getErrorPredicateParserRuleCall_1() { return cErrorPredicateParserRuleCall_1; }
667 }
668 public class PredicateSymbolElements extends AbstractParserRuleElementFinder {
669 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.PredicateSymbol");
670 private final Group cGroup = (Group)rule.eContents().get(1);
671 private final Keyword cPredicateKeyword_0 = (Keyword)cGroup.eContents().get(0);
672 private final Assignment cSymbolAssignment_1 = (Assignment)cGroup.eContents().get(1);
673 private final RuleCall cSymbolModelSymbolParserRuleCall_1_0 = (RuleCall)cSymbolAssignment_1.eContents().get(0);
674 private final Keyword cLeftParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2);
675 private final Assignment cParametersAssignment_3 = (Assignment)cGroup.eContents().get(3);
676 private final RuleCall cParametersParameterParserRuleCall_3_0 = (RuleCall)cParametersAssignment_3.eContents().get(0);
677 private final Keyword cRightParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4);
678 private final Keyword cColonKeyword_5 = (Keyword)cGroup.eContents().get(5);
679 private final Alternatives cAlternatives_6 = (Alternatives)cGroup.eContents().get(6);
680 private final Keyword cFalseKeyword_6_0 = (Keyword)cAlternatives_6.eContents().get(0);
681 private final Group cGroup_6_1 = (Group)cAlternatives_6.eContents().get(1);
682 private final Assignment cBodiesAssignment_6_1_0 = (Assignment)cGroup_6_1.eContents().get(0);
683 private final RuleCall cBodiesPatternBodyParserRuleCall_6_1_0_0 = (RuleCall)cBodiesAssignment_6_1_0.eContents().get(0);
684 private final Group cGroup_6_1_1 = (Group)cGroup_6_1.eContents().get(1);
685 private final Keyword cVerticalLineKeyword_6_1_1_0 = (Keyword)cGroup_6_1_1.eContents().get(0);
686 private final Assignment cBodiesAssignment_6_1_1_1 = (Assignment)cGroup_6_1_1.eContents().get(1);
687 private final RuleCall cBodiesPatternBodyParserRuleCall_6_1_1_1_0 = (RuleCall)cBodiesAssignment_6_1_1_1.eContents().get(0);
688 private final Keyword cFullStopKeyword_7 = (Keyword)cGroup.eContents().get(7);
689
690 //PredicateSymbol:
691 // 'predicate' symbol=ModelSymbol '(' parameters+=Parameter* ')' ':' ('false' | bodies+=PatternBody ('|'
692 // bodies+=PatternBody)*) '.';
693 @Override public ParserRule getRule() { return rule; }
694
695 //'predicate' symbol=ModelSymbol '(' parameters+=Parameter* ')' ':' ('false' | bodies+=PatternBody ('|'
696 //bodies+=PatternBody)*) '.'
697 public Group getGroup() { return cGroup; } 709 public Group getGroup() { return cGroup; }
698 710
699 //'predicate' 711 //isError?='error'?
700 public Keyword getPredicateKeyword_0() { return cPredicateKeyword_0; } 712 public Assignment getIsErrorAssignment_0() { return cIsErrorAssignment_0; }
713
714 //'error'
715 public Keyword getIsErrorErrorKeyword_0_0() { return cIsErrorErrorKeyword_0_0; }
701 716
702 //symbol=ModelSymbol 717 //symbol=ModelSymbol
703 public Assignment getSymbolAssignment_1() { return cSymbolAssignment_1; } 718 public Assignment getSymbolAssignment_1() { return cSymbolAssignment_1; }
@@ -705,143 +720,68 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
705 //ModelSymbol 720 //ModelSymbol
706 public RuleCall getSymbolModelSymbolParserRuleCall_1_0() { return cSymbolModelSymbolParserRuleCall_1_0; } 721 public RuleCall getSymbolModelSymbolParserRuleCall_1_0() { return cSymbolModelSymbolParserRuleCall_1_0; }
707 722
708 //'(' 723 //('(' (parameters+=Parameter (',' parameters+=Parameter)*)? ')')?
709 public Keyword getLeftParenthesisKeyword_2() { return cLeftParenthesisKeyword_2; } 724 public Group getGroup_2() { return cGroup_2; }
710
711 //parameters+=Parameter*
712 public Assignment getParametersAssignment_3() { return cParametersAssignment_3; }
713
714 //Parameter
715 public RuleCall getParametersParameterParserRuleCall_3_0() { return cParametersParameterParserRuleCall_3_0; }
716
717 //')'
718 public Keyword getRightParenthesisKeyword_4() { return cRightParenthesisKeyword_4; }
719
720 //':'
721 public Keyword getColonKeyword_5() { return cColonKeyword_5; }
722
723 //'false' | bodies+=PatternBody ('|' bodies+=PatternBody)*
724 public Alternatives getAlternatives_6() { return cAlternatives_6; }
725
726 //'false'
727 public Keyword getFalseKeyword_6_0() { return cFalseKeyword_6_0; }
728
729 //bodies+=PatternBody ('|' bodies+=PatternBody)*
730 public Group getGroup_6_1() { return cGroup_6_1; }
731
732 //bodies+=PatternBody
733 public Assignment getBodiesAssignment_6_1_0() { return cBodiesAssignment_6_1_0; }
734
735 //PatternBody
736 public RuleCall getBodiesPatternBodyParserRuleCall_6_1_0_0() { return cBodiesPatternBodyParserRuleCall_6_1_0_0; }
737
738 //('|' bodies+=PatternBody)*
739 public Group getGroup_6_1_1() { return cGroup_6_1_1; }
740
741 //'|'
742 public Keyword getVerticalLineKeyword_6_1_1_0() { return cVerticalLineKeyword_6_1_1_0; }
743
744 //bodies+=PatternBody
745 public Assignment getBodiesAssignment_6_1_1_1() { return cBodiesAssignment_6_1_1_1; }
746
747 //PatternBody
748 public RuleCall getBodiesPatternBodyParserRuleCall_6_1_1_1_0() { return cBodiesPatternBodyParserRuleCall_6_1_1_1_0; }
749
750 //'.'
751 public Keyword getFullStopKeyword_7() { return cFullStopKeyword_7; }
752 }
753 public class ErrorPredicateElements extends AbstractParserRuleElementFinder {
754 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ErrorPredicate");
755 private final Group cGroup = (Group)rule.eContents().get(1);
756 private final Action cErrorPredicateAction_0 = (Action)cGroup.eContents().get(0);
757 private final Keyword cErrorKeyword_1 = (Keyword)cGroup.eContents().get(1);
758 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
759 private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
760 private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
761 private final Keyword cLeftParenthesisKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
762 private final Assignment cParametersAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
763 private final RuleCall cParametersParameterParserRuleCall_3_1_0 = (RuleCall)cParametersAssignment_3_1.eContents().get(0);
764 private final Keyword cRightParenthesisKeyword_3_2 = (Keyword)cGroup_3.eContents().get(2);
765 private final Keyword cColonKeyword_4 = (Keyword)cGroup.eContents().get(4);
766 private final Alternatives cAlternatives_5 = (Alternatives)cGroup.eContents().get(5);
767 private final Keyword cFalseKeyword_5_0 = (Keyword)cAlternatives_5.eContents().get(0);
768 private final Group cGroup_5_1 = (Group)cAlternatives_5.eContents().get(1);
769 private final Assignment cBodiesAssignment_5_1_0 = (Assignment)cGroup_5_1.eContents().get(0);
770 private final RuleCall cBodiesPatternBodyParserRuleCall_5_1_0_0 = (RuleCall)cBodiesAssignment_5_1_0.eContents().get(0);
771 private final Group cGroup_5_1_1 = (Group)cGroup_5_1.eContents().get(1);
772 private final Keyword cVerticalLineKeyword_5_1_1_0 = (Keyword)cGroup_5_1_1.eContents().get(0);
773 private final Assignment cBodiesAssignment_5_1_1_1 = (Assignment)cGroup_5_1_1.eContents().get(1);
774 private final RuleCall cBodiesPatternBodyParserRuleCall_5_1_1_1_0 = (RuleCall)cBodiesAssignment_5_1_1_1.eContents().get(0);
775 private final Keyword cFullStopKeyword_6 = (Keyword)cGroup.eContents().get(6);
776
777 //ErrorPredicate:
778 // {ErrorPredicate} 'error' name=ID? ('(' parameters+=Parameter* ')') ':' ('false' | bodies+=PatternBody ('|'
779 // bodies+=PatternBody)*) '.';
780 @Override public ParserRule getRule() { return rule; }
781
782 //{ErrorPredicate} 'error' name=ID? ('(' parameters+=Parameter* ')') ':' ('false' | bodies+=PatternBody ('|'
783 //bodies+=PatternBody)*) '.'
784 public Group getGroup() { return cGroup; }
785 725
786 //{ErrorPredicate} 726 //'('
787 public Action getErrorPredicateAction_0() { return cErrorPredicateAction_0; } 727 public Keyword getLeftParenthesisKeyword_2_0() { return cLeftParenthesisKeyword_2_0; }
788 728
789 //'error' 729 //(parameters+=Parameter (',' parameters+=Parameter)*)?
790 public Keyword getErrorKeyword_1() { return cErrorKeyword_1; } 730 public Group getGroup_2_1() { return cGroup_2_1; }
791 731
792 //name=ID? 732 //parameters+=Parameter
793 public Assignment getNameAssignment_2() { return cNameAssignment_2; } 733 public Assignment getParametersAssignment_2_1_0() { return cParametersAssignment_2_1_0; }
794 734
795 //ID 735 //Parameter
796 public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; } 736 public RuleCall getParametersParameterParserRuleCall_2_1_0_0() { return cParametersParameterParserRuleCall_2_1_0_0; }
797 737
798 //'(' parameters+=Parameter* ')' 738 //(',' parameters+=Parameter)*
799 public Group getGroup_3() { return cGroup_3; } 739 public Group getGroup_2_1_1() { return cGroup_2_1_1; }
800 740
801 //'(' 741 //','
802 public Keyword getLeftParenthesisKeyword_3_0() { return cLeftParenthesisKeyword_3_0; } 742 public Keyword getCommaKeyword_2_1_1_0() { return cCommaKeyword_2_1_1_0; }
803 743
804 //parameters+=Parameter* 744 //parameters+=Parameter
805 public Assignment getParametersAssignment_3_1() { return cParametersAssignment_3_1; } 745 public Assignment getParametersAssignment_2_1_1_1() { return cParametersAssignment_2_1_1_1; }
806 746
807 //Parameter 747 //Parameter
808 public RuleCall getParametersParameterParserRuleCall_3_1_0() { return cParametersParameterParserRuleCall_3_1_0; } 748 public RuleCall getParametersParameterParserRuleCall_2_1_1_1_0() { return cParametersParameterParserRuleCall_2_1_1_1_0; }
809 749
810 //')' 750 //')'
811 public Keyword getRightParenthesisKeyword_3_2() { return cRightParenthesisKeyword_3_2; } 751 public Keyword getRightParenthesisKeyword_2_2() { return cRightParenthesisKeyword_2_2; }
812 752
813 //':' 753 //':-'
814 public Keyword getColonKeyword_4() { return cColonKeyword_4; } 754 public Keyword getColonHyphenMinusKeyword_3() { return cColonHyphenMinusKeyword_3; }
815 755
816 //'false' | bodies+=PatternBody ('|' bodies+=PatternBody)* 756 //'false' | bodies+=PatternBody ('|' bodies+=PatternBody)*
817 public Alternatives getAlternatives_5() { return cAlternatives_5; } 757 public Alternatives getAlternatives_4() { return cAlternatives_4; }
818 758
819 //'false' 759 //'false'
820 public Keyword getFalseKeyword_5_0() { return cFalseKeyword_5_0; } 760 public Keyword getFalseKeyword_4_0() { return cFalseKeyword_4_0; }
821 761
822 //bodies+=PatternBody ('|' bodies+=PatternBody)* 762 //bodies+=PatternBody ('|' bodies+=PatternBody)*
823 public Group getGroup_5_1() { return cGroup_5_1; } 763 public Group getGroup_4_1() { return cGroup_4_1; }
824 764
825 //bodies+=PatternBody 765 //bodies+=PatternBody
826 public Assignment getBodiesAssignment_5_1_0() { return cBodiesAssignment_5_1_0; } 766 public Assignment getBodiesAssignment_4_1_0() { return cBodiesAssignment_4_1_0; }
827 767
828 //PatternBody 768 //PatternBody
829 public RuleCall getBodiesPatternBodyParserRuleCall_5_1_0_0() { return cBodiesPatternBodyParserRuleCall_5_1_0_0; } 769 public RuleCall getBodiesPatternBodyParserRuleCall_4_1_0_0() { return cBodiesPatternBodyParserRuleCall_4_1_0_0; }
830 770
831 //('|' bodies+=PatternBody)* 771 //('|' bodies+=PatternBody)*
832 public Group getGroup_5_1_1() { return cGroup_5_1_1; } 772 public Group getGroup_4_1_1() { return cGroup_4_1_1; }
833 773
834 //'|' 774 //'|'
835 public Keyword getVerticalLineKeyword_5_1_1_0() { return cVerticalLineKeyword_5_1_1_0; } 775 public Keyword getVerticalLineKeyword_4_1_1_0() { return cVerticalLineKeyword_4_1_1_0; }
836 776
837 //bodies+=PatternBody 777 //bodies+=PatternBody
838 public Assignment getBodiesAssignment_5_1_1_1() { return cBodiesAssignment_5_1_1_1; } 778 public Assignment getBodiesAssignment_4_1_1_1() { return cBodiesAssignment_4_1_1_1; }
839 779
840 //PatternBody 780 //PatternBody
841 public RuleCall getBodiesPatternBodyParserRuleCall_5_1_1_1_0() { return cBodiesPatternBodyParserRuleCall_5_1_1_1_0; } 781 public RuleCall getBodiesPatternBodyParserRuleCall_4_1_1_1_0() { return cBodiesPatternBodyParserRuleCall_4_1_1_1_0; }
842 782
843 //'.' 783 //'.'
844 public Keyword getFullStopKeyword_6() { return cFullStopKeyword_6; } 784 public Keyword getFullStopKeyword_5() { return cFullStopKeyword_5; }
845 } 785 }
846 public class ParameterElements extends AbstractParserRuleElementFinder { 786 public class ParameterElements extends AbstractParserRuleElementFinder {
847 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Parameter"); 787 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Parameter");
@@ -946,92 +886,116 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
946 } 886 }
947 public class ConstraintElements extends AbstractParserRuleElementFinder { 887 public class ConstraintElements extends AbstractParserRuleElementFinder {
948 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Constraint"); 888 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Constraint");
949 private final Group cGroup = (Group)rule.eContents().get(1); 889 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
950 private final Assignment cPolarityAssignment_0 = (Assignment)cGroup.eContents().get(0); 890 private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0);
951 private final RuleCall cPolarityPolarityParserRuleCall_0_0 = (RuleCall)cPolarityAssignment_0.eContents().get(0); 891 private final Assignment cPolarityAssignment_0_0 = (Assignment)cGroup_0.eContents().get(0);
952 private final Assignment cSymbolAssignment_1 = (Assignment)cGroup.eContents().get(1); 892 private final RuleCall cPolarityPolarityParserRuleCall_0_0_0 = (RuleCall)cPolarityAssignment_0_0.eContents().get(0);
953 private final RuleCall cSymbolModelSymbolParserRuleCall_1_0 = (RuleCall)cSymbolAssignment_1.eContents().get(0); 893 private final Assignment cSymbolAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1);
954 private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2); 894 private final RuleCall cSymbolModelSymbolParserRuleCall_0_1_0 = (RuleCall)cSymbolAssignment_0_1.eContents().get(0);
955 private final Group cGroup_2_0 = (Group)cAlternatives_2.eContents().get(0); 895 private final Group cGroup_0_2 = (Group)cGroup_0.eContents().get(2);
956 private final Keyword cLeftParenthesisKeyword_2_0_0 = (Keyword)cGroup_2_0.eContents().get(0); 896 private final Keyword cLeftParenthesisKeyword_0_2_0 = (Keyword)cGroup_0_2.eContents().get(0);
957 private final Assignment cParamsAssignment_2_0_1 = (Assignment)cGroup_2_0.eContents().get(1); 897 private final Assignment cParamsAssignment_0_2_1 = (Assignment)cGroup_0_2.eContents().get(1);
958 private final RuleCall cParamsLiteralParserRuleCall_2_0_1_0 = (RuleCall)cParamsAssignment_2_0_1.eContents().get(0); 898 private final RuleCall cParamsLiteralParserRuleCall_0_2_1_0 = (RuleCall)cParamsAssignment_0_2_1.eContents().get(0);
959 private final Keyword cRightParenthesisKeyword_2_0_2 = (Keyword)cGroup_2_0.eContents().get(2); 899 private final Group cGroup_0_2_2 = (Group)cGroup_0_2.eContents().get(2);
960 private final Group cGroup_2_1 = (Group)cAlternatives_2.eContents().get(1); 900 private final Keyword cCommaKeyword_0_2_2_0 = (Keyword)cGroup_0_2_2.eContents().get(0);
961 private final Assignment cClosureTypeAssignment_2_1_0 = (Assignment)cGroup_2_1.eContents().get(0); 901 private final Assignment cParamsAssignment_0_2_2_1 = (Assignment)cGroup_0_2_2.eContents().get(1);
962 private final RuleCall cClosureTypeClosureTypeParserRuleCall_2_1_0_0 = (RuleCall)cClosureTypeAssignment_2_1_0.eContents().get(0); 902 private final RuleCall cParamsLiteralParserRuleCall_0_2_2_1_0 = (RuleCall)cParamsAssignment_0_2_2_1.eContents().get(0);
963 private final Keyword cLeftParenthesisKeyword_2_1_1 = (Keyword)cGroup_2_1.eContents().get(1); 903 private final Keyword cRightParenthesisKeyword_0_2_3 = (Keyword)cGroup_0_2.eContents().get(3);
964 private final Assignment cParamsAssignment_2_1_2 = (Assignment)cGroup_2_1.eContents().get(2); 904 private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
965 private final RuleCall cParamsLiteralParserRuleCall_2_1_2_0 = (RuleCall)cParamsAssignment_2_1_2.eContents().get(0); 905 private final Assignment cClosureTypeAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0);
966 private final Assignment cParamsAssignment_2_1_3 = (Assignment)cGroup_2_1.eContents().get(3); 906 private final RuleCall cClosureTypeClosureTypeParserRuleCall_1_0_0 = (RuleCall)cClosureTypeAssignment_1_0.eContents().get(0);
967 private final RuleCall cParamsLiteralParserRuleCall_2_1_3_0 = (RuleCall)cParamsAssignment_2_1_3.eContents().get(0); 907 private final Keyword cLeftParenthesisKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1);
968 private final Keyword cRightParenthesisKeyword_2_1_4 = (Keyword)cGroup_2_1.eContents().get(4); 908 private final Assignment cParamsAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
909 private final RuleCall cParamsLiteralParserRuleCall_1_2_0 = (RuleCall)cParamsAssignment_1_2.eContents().get(0);
910 private final Group cGroup_1_3 = (Group)cGroup_1.eContents().get(3);
911 private final Keyword cCommaKeyword_1_3_0 = (Keyword)cGroup_1_3.eContents().get(0);
912 private final Assignment cParamsAssignment_1_3_1 = (Assignment)cGroup_1_3.eContents().get(1);
913 private final RuleCall cParamsLiteralParserRuleCall_1_3_1_0 = (RuleCall)cParamsAssignment_1_3_1.eContents().get(0);
914 private final Keyword cRightParenthesisKeyword_1_4 = (Keyword)cGroup_1.eContents().get(4);
969 915
970 //Constraint: 916 //Constraint:
971 // polarity=Polarity? symbol=ModelSymbol ('(' params+=Literal* ')' | closureType=ClosureType '(' params+=Literal 917 // polarity=Polarity? symbol=ModelSymbol ('(' params+=Literal? (',' params+=Literal)* ')')? | closureType=ClosureType
972 // params+=Literal ')'); 918 // '(' params+=Literal? (',' params+=Literal)* ')';
973 @Override public ParserRule getRule() { return rule; } 919 @Override public ParserRule getRule() { return rule; }
974 920
975 //polarity=Polarity? symbol=ModelSymbol ('(' params+=Literal* ')' | closureType=ClosureType '(' params+=Literal 921 //polarity=Polarity? symbol=ModelSymbol ('(' params+=Literal? (',' params+=Literal)* ')')? | closureType=ClosureType '('
976 //params+=Literal ')') 922 //params+=Literal? (',' params+=Literal)* ')'
977 public Group getGroup() { return cGroup; } 923 public Alternatives getAlternatives() { return cAlternatives; }
924
925 //polarity=Polarity? symbol=ModelSymbol ('(' params+=Literal? (',' params+=Literal)* ')')?
926 public Group getGroup_0() { return cGroup_0; }
978 927
979 //polarity=Polarity? 928 //polarity=Polarity?
980 public Assignment getPolarityAssignment_0() { return cPolarityAssignment_0; } 929 public Assignment getPolarityAssignment_0_0() { return cPolarityAssignment_0_0; }
981 930
982 //Polarity 931 //Polarity
983 public RuleCall getPolarityPolarityParserRuleCall_0_0() { return cPolarityPolarityParserRuleCall_0_0; } 932 public RuleCall getPolarityPolarityParserRuleCall_0_0_0() { return cPolarityPolarityParserRuleCall_0_0_0; }
984 933
985 //symbol=ModelSymbol 934 //symbol=ModelSymbol
986 public Assignment getSymbolAssignment_1() { return cSymbolAssignment_1; } 935 public Assignment getSymbolAssignment_0_1() { return cSymbolAssignment_0_1; }
987 936
988 //ModelSymbol 937 //ModelSymbol
989 public RuleCall getSymbolModelSymbolParserRuleCall_1_0() { return cSymbolModelSymbolParserRuleCall_1_0; } 938 public RuleCall getSymbolModelSymbolParserRuleCall_0_1_0() { return cSymbolModelSymbolParserRuleCall_0_1_0; }
990 939
991 //'(' params+=Literal* ')' | closureType=ClosureType '(' params+=Literal params+=Literal ')' 940 //('(' params+=Literal? (',' params+=Literal)* ')')?
992 public Alternatives getAlternatives_2() { return cAlternatives_2; } 941 public Group getGroup_0_2() { return cGroup_0_2; }
993
994 //'(' params+=Literal* ')'
995 public Group getGroup_2_0() { return cGroup_2_0; }
996 942
997 //'(' 943 //'('
998 public Keyword getLeftParenthesisKeyword_2_0_0() { return cLeftParenthesisKeyword_2_0_0; } 944 public Keyword getLeftParenthesisKeyword_0_2_0() { return cLeftParenthesisKeyword_0_2_0; }
999 945
1000 //params+=Literal* 946 //params+=Literal?
1001 public Assignment getParamsAssignment_2_0_1() { return cParamsAssignment_2_0_1; } 947 public Assignment getParamsAssignment_0_2_1() { return cParamsAssignment_0_2_1; }
1002 948
1003 //Literal 949 //Literal
1004 public RuleCall getParamsLiteralParserRuleCall_2_0_1_0() { return cParamsLiteralParserRuleCall_2_0_1_0; } 950 public RuleCall getParamsLiteralParserRuleCall_0_2_1_0() { return cParamsLiteralParserRuleCall_0_2_1_0; }
951
952 //(',' params+=Literal)*
953 public Group getGroup_0_2_2() { return cGroup_0_2_2; }
954
955 //','
956 public Keyword getCommaKeyword_0_2_2_0() { return cCommaKeyword_0_2_2_0; }
957
958 //params+=Literal
959 public Assignment getParamsAssignment_0_2_2_1() { return cParamsAssignment_0_2_2_1; }
960
961 //Literal
962 public RuleCall getParamsLiteralParserRuleCall_0_2_2_1_0() { return cParamsLiteralParserRuleCall_0_2_2_1_0; }
1005 963
1006 //')' 964 //')'
1007 public Keyword getRightParenthesisKeyword_2_0_2() { return cRightParenthesisKeyword_2_0_2; } 965 public Keyword getRightParenthesisKeyword_0_2_3() { return cRightParenthesisKeyword_0_2_3; }
1008 966
1009 //closureType=ClosureType '(' params+=Literal params+=Literal ')' 967 //closureType=ClosureType '(' params+=Literal? (',' params+=Literal)* ')'
1010 public Group getGroup_2_1() { return cGroup_2_1; } 968 public Group getGroup_1() { return cGroup_1; }
1011 969
1012 //closureType=ClosureType 970 //closureType=ClosureType
1013 public Assignment getClosureTypeAssignment_2_1_0() { return cClosureTypeAssignment_2_1_0; } 971 public Assignment getClosureTypeAssignment_1_0() { return cClosureTypeAssignment_1_0; }
1014 972
1015 //ClosureType 973 //ClosureType
1016 public RuleCall getClosureTypeClosureTypeParserRuleCall_2_1_0_0() { return cClosureTypeClosureTypeParserRuleCall_2_1_0_0; } 974 public RuleCall getClosureTypeClosureTypeParserRuleCall_1_0_0() { return cClosureTypeClosureTypeParserRuleCall_1_0_0; }
1017 975
1018 //'(' 976 //'('
1019 public Keyword getLeftParenthesisKeyword_2_1_1() { return cLeftParenthesisKeyword_2_1_1; } 977 public Keyword getLeftParenthesisKeyword_1_1() { return cLeftParenthesisKeyword_1_1; }
1020 978
1021 //params+=Literal 979 //params+=Literal?
1022 public Assignment getParamsAssignment_2_1_2() { return cParamsAssignment_2_1_2; } 980 public Assignment getParamsAssignment_1_2() { return cParamsAssignment_1_2; }
1023 981
1024 //Literal 982 //Literal
1025 public RuleCall getParamsLiteralParserRuleCall_2_1_2_0() { return cParamsLiteralParserRuleCall_2_1_2_0; } 983 public RuleCall getParamsLiteralParserRuleCall_1_2_0() { return cParamsLiteralParserRuleCall_1_2_0; }
984
985 //(',' params+=Literal)*
986 public Group getGroup_1_3() { return cGroup_1_3; }
987
988 //','
989 public Keyword getCommaKeyword_1_3_0() { return cCommaKeyword_1_3_0; }
1026 990
1027 //params+=Literal 991 //params+=Literal
1028 public Assignment getParamsAssignment_2_1_3() { return cParamsAssignment_2_1_3; } 992 public Assignment getParamsAssignment_1_3_1() { return cParamsAssignment_1_3_1; }
1029 993
1030 //Literal 994 //Literal
1031 public RuleCall getParamsLiteralParserRuleCall_2_1_3_0() { return cParamsLiteralParserRuleCall_2_1_3_0; } 995 public RuleCall getParamsLiteralParserRuleCall_1_3_1_0() { return cParamsLiteralParserRuleCall_1_3_1_0; }
1032 996
1033 //')' 997 //')'
1034 public Keyword getRightParenthesisKeyword_2_1_4() { return cRightParenthesisKeyword_2_1_4; } 998 public Keyword getRightParenthesisKeyword_1_4() { return cRightParenthesisKeyword_1_4; }
1035 } 999 }
1036 public class ClosureTypeElements extends AbstractParserRuleElementFinder { 1000 public class ClosureTypeElements extends AbstractParserRuleElementFinder {
1037 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ClosureType"); 1001 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ClosureType");
@@ -1073,12 +1037,13 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1073 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 1037 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1074 private final RuleCall cVariableParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 1038 private final RuleCall cVariableParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
1075 private final RuleCall cDataObjectParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 1039 private final RuleCall cDataObjectParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
1040 private final RuleCall cNamedObjectParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
1076 1041
1077 //Literal: 1042 //Literal:
1078 // Variable | DataObject; 1043 // Variable | DataObject | NamedObject;
1079 @Override public ParserRule getRule() { return rule; } 1044 @Override public ParserRule getRule() { return rule; }
1080 1045
1081 //Variable | DataObject 1046 //Variable | DataObject | NamedObject
1082 public Alternatives getAlternatives() { return cAlternatives; } 1047 public Alternatives getAlternatives() { return cAlternatives; }
1083 1048
1084 //Variable 1049 //Variable
@@ -1086,6 +1051,9 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1086 1051
1087 //DataObject 1052 //DataObject
1088 public RuleCall getDataObjectParserRuleCall_1() { return cDataObjectParserRuleCall_1; } 1053 public RuleCall getDataObjectParserRuleCall_1() { return cDataObjectParserRuleCall_1; }
1054
1055 //NamedObject
1056 public RuleCall getNamedObjectParserRuleCall_2() { return cNamedObjectParserRuleCall_2; }
1089 } 1057 }
1090 public class VariableElements extends AbstractParserRuleElementFinder { 1058 public class VariableElements extends AbstractParserRuleElementFinder {
1091 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Variable"); 1059 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Variable");
@@ -1217,16 +1185,16 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1217 private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); 1185 private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
1218 1186
1219 //ClassInterpretation: 1187 //ClassInterpretation:
1220 // abstract?='abstract' 'class' symbol=ModelSymbol ('extends' supertypes+=ModelSymbol+)? '{' 1188 // abstract?='abstract'? 'class' symbol=ModelSymbol ('extends' supertypes+=ModelSymbol+)? '{'
1221 // fielt+=FieldRelationInterpretation* 1189 // fielt+=FieldRelationInterpretation*
1222 // '}'; 1190 // '}';
1223 @Override public ParserRule getRule() { return rule; } 1191 @Override public ParserRule getRule() { return rule; }
1224 1192
1225 //abstract?='abstract' 'class' symbol=ModelSymbol ('extends' supertypes+=ModelSymbol+)? '{' 1193 //abstract?='abstract'? 'class' symbol=ModelSymbol ('extends' supertypes+=ModelSymbol+)? '{'
1226 //fielt+=FieldRelationInterpretation* '}' 1194 //fielt+=FieldRelationInterpretation* '}'
1227 public Group getGroup() { return cGroup; } 1195 public Group getGroup() { return cGroup; }
1228 1196
1229 //abstract?='abstract' 1197 //abstract?='abstract'?
1230 public Assignment getAbstractAssignment_0() { return cAbstractAssignment_0; } 1198 public Assignment getAbstractAssignment_0() { return cAbstractAssignment_0; }
1231 1199
1232 //'abstract' 1200 //'abstract'
@@ -1318,13 +1286,13 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1318 private final RuleCall cTargetSymbolParserRuleCall_4_0 = (RuleCall)cTargetAssignment_4.eContents().get(0); 1286 private final RuleCall cTargetSymbolParserRuleCall_4_0 = (RuleCall)cTargetAssignment_4.eContents().get(0);
1319 1287
1320 //FieldRelationInterpretation: 1288 //FieldRelationInterpretation:
1321 // containment?='containment' symbol=ModelSymbol ':' multiplicity=MultiplicityDefinition? target=Symbol; 1289 // containment?='containment'? symbol=ModelSymbol ':' multiplicity=MultiplicityDefinition? target=Symbol;
1322 @Override public ParserRule getRule() { return rule; } 1290 @Override public ParserRule getRule() { return rule; }
1323 1291
1324 //containment?='containment' symbol=ModelSymbol ':' multiplicity=MultiplicityDefinition? target=Symbol 1292 //containment?='containment'? symbol=ModelSymbol ':' multiplicity=MultiplicityDefinition? target=Symbol
1325 public Group getGroup() { return cGroup; } 1293 public Group getGroup() { return cGroup; }
1326 1294
1327 //containment?='containment' 1295 //containment?='containment'?
1328 public Assignment getContainmentAssignment_0() { return cContainmentAssignment_0; } 1296 public Assignment getContainmentAssignment_0() { return cContainmentAssignment_0; }
1329 1297
1330 //'containment' 1298 //'containment'
@@ -1370,15 +1338,15 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1370 private final RuleCall cTargetSymbolParserRuleCall_7_0 = (RuleCall)cTargetAssignment_7.eContents().get(0); 1338 private final RuleCall cTargetSymbolParserRuleCall_7_0 = (RuleCall)cTargetAssignment_7.eContents().get(0);
1371 1339
1372 //GlobalRelationInterpretation: 1340 //GlobalRelationInterpretation:
1373 // containment?='containment' 'relation' symbol=ModelSymbol ':' sourceMultiplicity=MultiplicityDefinition? source=Symbol 1341 // containment?='containment'? 'relation' symbol=ModelSymbol ':' sourceMultiplicity=MultiplicityDefinition?
1374 // targetMultiplicity=MultiplicityDefinition? target=Symbol; 1342 // source=Symbol targetMultiplicity=MultiplicityDefinition? target=Symbol;
1375 @Override public ParserRule getRule() { return rule; } 1343 @Override public ParserRule getRule() { return rule; }
1376 1344
1377 //containment?='containment' 'relation' symbol=ModelSymbol ':' sourceMultiplicity=MultiplicityDefinition? source=Symbol 1345 //containment?='containment'? 'relation' symbol=ModelSymbol ':' sourceMultiplicity=MultiplicityDefinition? source=Symbol
1378 //targetMultiplicity=MultiplicityDefinition? target=Symbol 1346 //targetMultiplicity=MultiplicityDefinition? target=Symbol
1379 public Group getGroup() { return cGroup; } 1347 public Group getGroup() { return cGroup; }
1380 1348
1381 //containment?='containment' 1349 //containment?='containment'?
1382 public Assignment getContainmentAssignment_0() { return cContainmentAssignment_0; } 1350 public Assignment getContainmentAssignment_0() { return cContainmentAssignment_0; }
1383 1351
1384 //'containment' 1352 //'containment'
@@ -1494,8 +1462,6 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1494 private final RealObjectElements pRealObject; 1462 private final RealObjectElements pRealObject;
1495 private final StringObjectElements pStringObject; 1463 private final StringObjectElements pStringObject;
1496 private final PredicateElements pPredicate; 1464 private final PredicateElements pPredicate;
1497 private final PredicateSymbolElements pPredicateSymbol;
1498 private final ErrorPredicateElements pErrorPredicate;
1499 private final ParameterElements pParameter; 1465 private final ParameterElements pParameter;
1500 private final PatternBodyElements pPatternBody; 1466 private final PatternBodyElements pPatternBody;
1501 private final PolarityElements pPolarity; 1467 private final PolarityElements pPolarity;
@@ -1551,8 +1517,6 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1551 this.pRealObject = new RealObjectElements(); 1517 this.pRealObject = new RealObjectElements();
1552 this.pStringObject = new StringObjectElements(); 1518 this.pStringObject = new StringObjectElements();
1553 this.pPredicate = new PredicateElements(); 1519 this.pPredicate = new PredicateElements();
1554 this.pPredicateSymbol = new PredicateSymbolElements();
1555 this.pErrorPredicate = new ErrorPredicateElements();
1556 this.pParameter = new ParameterElements(); 1520 this.pParameter = new ParameterElements();
1557 this.pPatternBody = new PatternBodyElements(); 1521 this.pPatternBody = new PatternBodyElements();
1558 this.pPolarity = new PolarityElements(); 1522 this.pPolarity = new PolarityElements();
@@ -1679,7 +1643,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1679 } 1643 }
1680 1644
1681 //BasicInterpretation: 1645 //BasicInterpretation:
1682 // symbol=Symbol '(' objects+=ComplexObject* ')' ':' value=TruthValue; 1646 // symbol=Symbol ('(' (objects+=ComplexObject (',' objects+=ComplexObject)*)? ')')? ':' value=TruthValue;
1683 public BasicInterpretationElements getBasicInterpretationAccess() { 1647 public BasicInterpretationElements getBasicInterpretationAccess() {
1684 return pBasicInterpretation; 1648 return pBasicInterpretation;
1685 } 1649 }
@@ -1882,7 +1846,8 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1882 //// Predicte grammar 1846 //// Predicte grammar
1883 ///////////////////// 1847 /////////////////////
1884 //Predicate: 1848 //Predicate:
1885 // PredicateSymbol | ErrorPredicate; 1849 // isError?='error'? symbol=ModelSymbol ('(' (parameters+=Parameter (',' parameters+=Parameter)*)? ')')? ':-' ('false' |
1850 // bodies+=PatternBody ('|' bodies+=PatternBody)*) '.';
1886 public PredicateElements getPredicateAccess() { 1851 public PredicateElements getPredicateAccess() {
1887 return pPredicate; 1852 return pPredicate;
1888 } 1853 }
@@ -1891,28 +1856,6 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1891 return getPredicateAccess().getRule(); 1856 return getPredicateAccess().getRule();
1892 } 1857 }
1893 1858
1894 //PredicateSymbol:
1895 // 'predicate' symbol=ModelSymbol '(' parameters+=Parameter* ')' ':' ('false' | bodies+=PatternBody ('|'
1896 // bodies+=PatternBody)*) '.';
1897 public PredicateSymbolElements getPredicateSymbolAccess() {
1898 return pPredicateSymbol;
1899 }
1900
1901 public ParserRule getPredicateSymbolRule() {
1902 return getPredicateSymbolAccess().getRule();
1903 }
1904
1905 //ErrorPredicate:
1906 // {ErrorPredicate} 'error' name=ID? ('(' parameters+=Parameter* ')') ':' ('false' | bodies+=PatternBody ('|'
1907 // bodies+=PatternBody)*) '.';
1908 public ErrorPredicateElements getErrorPredicateAccess() {
1909 return pErrorPredicate;
1910 }
1911
1912 public ParserRule getErrorPredicateRule() {
1913 return getErrorPredicateAccess().getRule();
1914 }
1915
1916 //Parameter: 1859 //Parameter:
1917 // variable=Variable (':' type=Symbol)?; 1860 // variable=Variable (':' type=Symbol)?;
1918 public ParameterElements getParameterAccess() { 1861 public ParameterElements getParameterAccess() {
@@ -1944,8 +1887,8 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1944 } 1887 }
1945 1888
1946 //Constraint: 1889 //Constraint:
1947 // polarity=Polarity? symbol=ModelSymbol ('(' params+=Literal* ')' | closureType=ClosureType '(' params+=Literal 1890 // polarity=Polarity? symbol=ModelSymbol ('(' params+=Literal? (',' params+=Literal)* ')')? | closureType=ClosureType
1948 // params+=Literal ')'); 1891 // '(' params+=Literal? (',' params+=Literal)* ')';
1949 public ConstraintElements getConstraintAccess() { 1892 public ConstraintElements getConstraintAccess() {
1950 return pConstraint; 1893 return pConstraint;
1951 } 1894 }
@@ -1965,7 +1908,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
1965 } 1908 }
1966 1909
1967 //Literal: 1910 //Literal:
1968 // Variable | DataObject; 1911 // Variable | DataObject | NamedObject;
1969 public LiteralElements getLiteralAccess() { 1912 public LiteralElements getLiteralAccess() {
1970 return pLiteral; 1913 return pLiteral;
1971 } 1914 }
@@ -2034,7 +1977,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2034 } 1977 }
2035 1978
2036 //ClassInterpretation: 1979 //ClassInterpretation:
2037 // abstract?='abstract' 'class' symbol=ModelSymbol ('extends' supertypes+=ModelSymbol+)? '{' 1980 // abstract?='abstract'? 'class' symbol=ModelSymbol ('extends' supertypes+=ModelSymbol+)? '{'
2038 // fielt+=FieldRelationInterpretation* 1981 // fielt+=FieldRelationInterpretation*
2039 // '}'; 1982 // '}';
2040 public ClassInterpretationElements getClassInterpretationAccess() { 1983 public ClassInterpretationElements getClassInterpretationAccess() {
@@ -2056,7 +1999,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2056 } 1999 }
2057 2000
2058 //FieldRelationInterpretation: 2001 //FieldRelationInterpretation:
2059 // containment?='containment' symbol=ModelSymbol ':' multiplicity=MultiplicityDefinition? target=Symbol; 2002 // containment?='containment'? symbol=ModelSymbol ':' multiplicity=MultiplicityDefinition? target=Symbol;
2060 public FieldRelationInterpretationElements getFieldRelationInterpretationAccess() { 2003 public FieldRelationInterpretationElements getFieldRelationInterpretationAccess() {
2061 return pFieldRelationInterpretation; 2004 return pFieldRelationInterpretation;
2062 } 2005 }
@@ -2066,8 +2009,8 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2066 } 2009 }
2067 2010
2068 //GlobalRelationInterpretation: 2011 //GlobalRelationInterpretation:
2069 // containment?='containment' 'relation' symbol=ModelSymbol ':' sourceMultiplicity=MultiplicityDefinition? source=Symbol 2012 // containment?='containment'? 'relation' symbol=ModelSymbol ':' sourceMultiplicity=MultiplicityDefinition?
2070 // targetMultiplicity=MultiplicityDefinition? target=Symbol; 2013 // source=Symbol targetMultiplicity=MultiplicityDefinition? target=Symbol;
2071 public GlobalRelationInterpretationElements getGlobalRelationInterpretationAccess() { 2014 public GlobalRelationInterpretationElements getGlobalRelationInterpretationAccess() {
2072 return pGlobalRelationInterpretation; 2015 return pGlobalRelationInterpretation;
2073 } 2016 }
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedObject.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedObject.java
index a6deaea8..b44ef060 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedObject.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedObject.java
@@ -20,7 +20,7 @@ package org.eclipse.viatra.solver.language.solverLanguage;
20 * @model 20 * @model
21 * @generated 21 * @generated
22 */ 22 */
23public interface NamedObject extends org.eclipse.viatra.solver.language.solverLanguage.Object 23public interface NamedObject extends org.eclipse.viatra.solver.language.solverLanguage.Object, Literal
24{ 24{
25 /** 25 /**
26 * Returns the value of the '<em><b>Name</b></em>' attribute. 26 * Returns the value of the '<em><b>Name</b></em>' attribute.
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java
index fc61ea86..7892fd57 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Predicate.java
@@ -14,6 +14,8 @@ import org.eclipse.emf.common.util.EList;
14 * The following features are supported: 14 * The following features are supported:
15 * </p> 15 * </p>
16 * <ul> 16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#isIsError <em>Is Error</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getSymbol <em>Symbol</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getParameters <em>Parameters</em>}</li> 19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getParameters <em>Parameters</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getBodies <em>Bodies</em>}</li> 20 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getBodies <em>Bodies</em>}</li>
19 * </ul> 21 * </ul>
@@ -25,6 +27,50 @@ import org.eclipse.emf.common.util.EList;
25public interface Predicate extends Statement 27public interface Predicate extends Statement
26{ 28{
27 /** 29 /**
30 * Returns the value of the '<em><b>Is Error</b></em>' attribute.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Is Error</em>' attribute.
34 * @see #setIsError(boolean)
35 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicate_IsError()
36 * @model
37 * @generated
38 */
39 boolean isIsError();
40
41 /**
42 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#isIsError <em>Is Error</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @param value the new value of the '<em>Is Error</em>' attribute.
46 * @see #isIsError()
47 * @generated
48 */
49 void setIsError(boolean value);
50
51 /**
52 * Returns the value of the '<em><b>Symbol</b></em>' containment reference.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return the value of the '<em>Symbol</em>' containment reference.
56 * @see #setSymbol(ModelSymbol)
57 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicate_Symbol()
58 * @model containment="true"
59 * @generated
60 */
61 ModelSymbol getSymbol();
62
63 /**
64 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getSymbol <em>Symbol</em>}' containment reference.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @param value the new value of the '<em>Symbol</em>' containment reference.
68 * @see #getSymbol()
69 * @generated
70 */
71 void setSymbol(ModelSymbol value);
72
73 /**
28 * Returns the value of the '<em><b>Parameters</b></em>' containment reference list. 74 * Returns the value of the '<em><b>Parameters</b></em>' containment reference list.
29 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Parameter}. 75 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Parameter}.
30 * <!-- begin-user-doc --> 76 * <!-- begin-user-doc -->
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java
index ebe2abdb..c5d4cbff 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java
@@ -258,24 +258,6 @@ public interface SolverLanguageFactory extends EFactory
258 Predicate createPredicate(); 258 Predicate createPredicate();
259 259
260 /** 260 /**
261 * Returns a new object of class '<em>Predicate Symbol</em>'.
262 * <!-- begin-user-doc -->
263 * <!-- end-user-doc -->
264 * @return a new object of class '<em>Predicate Symbol</em>'.
265 * @generated
266 */
267 PredicateSymbol createPredicateSymbol();
268
269 /**
270 * Returns a new object of class '<em>Error Predicate</em>'.
271 * <!-- begin-user-doc -->
272 * <!-- end-user-doc -->
273 * @return a new object of class '<em>Error Predicate</em>'.
274 * @generated
275 */
276 ErrorPredicate createErrorPredicate();
277
278 /**
279 * Returns a new object of class '<em>Parameter</em>'. 261 * Returns a new object of class '<em>Parameter</em>'.
280 * <!-- begin-user-doc --> 262 * <!-- begin-user-doc -->
281 * <!-- end-user-doc --> 263 * <!-- end-user-doc -->
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java
index 3bd01417..9767d002 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java
@@ -642,59 +642,13 @@ public interface SolverLanguagePackage extends EPackage
642 int PREDICATE = 25; 642 int PREDICATE = 25;
643 643
644 /** 644 /**
645 * The feature id for the '<em><b>Parameters</b></em>' containment reference list. 645 * The feature id for the '<em><b>Is Error</b></em>' attribute.
646 * <!-- begin-user-doc -->
647 * <!-- end-user-doc -->
648 * @generated
649 * @ordered
650 */
651 int PREDICATE__PARAMETERS = STATEMENT_FEATURE_COUNT + 0;
652
653 /**
654 * The feature id for the '<em><b>Bodies</b></em>' containment reference list.
655 * <!-- begin-user-doc -->
656 * <!-- end-user-doc -->
657 * @generated
658 * @ordered
659 */
660 int PREDICATE__BODIES = STATEMENT_FEATURE_COUNT + 1;
661
662 /**
663 * The number of structural features of the '<em>Predicate</em>' class.
664 * <!-- begin-user-doc -->
665 * <!-- end-user-doc -->
666 * @generated
667 * @ordered
668 */
669 int PREDICATE_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
670
671 /**
672 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateSymbolImpl <em>Predicate Symbol</em>}' class.
673 * <!-- begin-user-doc -->
674 * <!-- end-user-doc -->
675 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateSymbolImpl
676 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicateSymbol()
677 * @generated
678 */
679 int PREDICATE_SYMBOL = 26;
680
681 /**
682 * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
683 * <!-- begin-user-doc --> 646 * <!-- begin-user-doc -->
684 * <!-- end-user-doc --> 647 * <!-- end-user-doc -->
685 * @generated 648 * @generated
686 * @ordered 649 * @ordered
687 */ 650 */
688 int PREDICATE_SYMBOL__PARAMETERS = PREDICATE__PARAMETERS; 651 int PREDICATE__IS_ERROR = STATEMENT_FEATURE_COUNT + 0;
689
690 /**
691 * The feature id for the '<em><b>Bodies</b></em>' containment reference list.
692 * <!-- begin-user-doc -->
693 * <!-- end-user-doc -->
694 * @generated
695 * @ordered
696 */
697 int PREDICATE_SYMBOL__BODIES = PREDICATE__BODIES;
698 652
699 /** 653 /**
700 * The feature id for the '<em><b>Symbol</b></em>' containment reference. 654 * The feature id for the '<em><b>Symbol</b></em>' containment reference.
@@ -703,26 +657,7 @@ public interface SolverLanguagePackage extends EPackage
703 * @generated 657 * @generated
704 * @ordered 658 * @ordered
705 */ 659 */
706 int PREDICATE_SYMBOL__SYMBOL = PREDICATE_FEATURE_COUNT + 0; 660 int PREDICATE__SYMBOL = STATEMENT_FEATURE_COUNT + 1;
707
708 /**
709 * The number of structural features of the '<em>Predicate Symbol</em>' class.
710 * <!-- begin-user-doc -->
711 * <!-- end-user-doc -->
712 * @generated
713 * @ordered
714 */
715 int PREDICATE_SYMBOL_FEATURE_COUNT = PREDICATE_FEATURE_COUNT + 1;
716
717 /**
718 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ErrorPredicateImpl <em>Error Predicate</em>}' class.
719 * <!-- begin-user-doc -->
720 * <!-- end-user-doc -->
721 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ErrorPredicateImpl
722 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getErrorPredicate()
723 * @generated
724 */
725 int ERROR_PREDICATE = 27;
726 661
727 /** 662 /**
728 * The feature id for the '<em><b>Parameters</b></em>' containment reference list. 663 * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
@@ -731,7 +666,7 @@ public interface SolverLanguagePackage extends EPackage
731 * @generated 666 * @generated
732 * @ordered 667 * @ordered
733 */ 668 */
734 int ERROR_PREDICATE__PARAMETERS = PREDICATE__PARAMETERS; 669 int PREDICATE__PARAMETERS = STATEMENT_FEATURE_COUNT + 2;
735 670
736 /** 671 /**
737 * The feature id for the '<em><b>Bodies</b></em>' containment reference list. 672 * The feature id for the '<em><b>Bodies</b></em>' containment reference list.
@@ -740,25 +675,16 @@ public interface SolverLanguagePackage extends EPackage
740 * @generated 675 * @generated
741 * @ordered 676 * @ordered
742 */ 677 */
743 int ERROR_PREDICATE__BODIES = PREDICATE__BODIES; 678 int PREDICATE__BODIES = STATEMENT_FEATURE_COUNT + 3;
744 679
745 /** 680 /**
746 * The feature id for the '<em><b>Name</b></em>' attribute. 681 * The number of structural features of the '<em>Predicate</em>' class.
747 * <!-- begin-user-doc -->
748 * <!-- end-user-doc -->
749 * @generated
750 * @ordered
751 */
752 int ERROR_PREDICATE__NAME = PREDICATE_FEATURE_COUNT + 0;
753
754 /**
755 * The number of structural features of the '<em>Error Predicate</em>' class.
756 * <!-- begin-user-doc --> 682 * <!-- begin-user-doc -->
757 * <!-- end-user-doc --> 683 * <!-- end-user-doc -->
758 * @generated 684 * @generated
759 * @ordered 685 * @ordered
760 */ 686 */
761 int ERROR_PREDICATE_FEATURE_COUNT = PREDICATE_FEATURE_COUNT + 1; 687 int PREDICATE_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 4;
762 688
763 /** 689 /**
764 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ParameterImpl <em>Parameter</em>}' class. 690 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ParameterImpl <em>Parameter</em>}' class.
@@ -768,7 +694,7 @@ public interface SolverLanguagePackage extends EPackage
768 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getParameter() 694 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getParameter()
769 * @generated 695 * @generated
770 */ 696 */
771 int PARAMETER = 28; 697 int PARAMETER = 26;
772 698
773 /** 699 /**
774 * The feature id for the '<em><b>Variable</b></em>' containment reference. 700 * The feature id for the '<em><b>Variable</b></em>' containment reference.
@@ -805,7 +731,7 @@ public interface SolverLanguagePackage extends EPackage
805 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPatternBody() 731 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPatternBody()
806 * @generated 732 * @generated
807 */ 733 */
808 int PATTERN_BODY = 29; 734 int PATTERN_BODY = 27;
809 735
810 /** 736 /**
811 * The feature id for the '<em><b>Constraints</b></em>' containment reference list. 737 * The feature id for the '<em><b>Constraints</b></em>' containment reference list.
@@ -833,7 +759,7 @@ public interface SolverLanguagePackage extends EPackage
833 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPolarity() 759 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPolarity()
834 * @generated 760 * @generated
835 */ 761 */
836 int POLARITY = 30; 762 int POLARITY = 28;
837 763
838 /** 764 /**
839 * The number of structural features of the '<em>Polarity</em>' class. 765 * The number of structural features of the '<em>Polarity</em>' class.
@@ -852,7 +778,7 @@ public interface SolverLanguagePackage extends EPackage
852 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getConstraint() 778 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getConstraint()
853 * @generated 779 * @generated
854 */ 780 */
855 int CONSTRAINT = 31; 781 int CONSTRAINT = 29;
856 782
857 /** 783 /**
858 * The feature id for the '<em><b>Polarity</b></em>' containment reference. 784 * The feature id for the '<em><b>Polarity</b></em>' containment reference.
@@ -907,7 +833,7 @@ public interface SolverLanguagePackage extends EPackage
907 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClosureType() 833 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClosureType()
908 * @generated 834 * @generated
909 */ 835 */
910 int CLOSURE_TYPE = 32; 836 int CLOSURE_TYPE = 30;
911 837
912 /** 838 /**
913 * The number of structural features of the '<em>Closure Type</em>' class. 839 * The number of structural features of the '<em>Closure Type</em>' class.
@@ -926,7 +852,7 @@ public interface SolverLanguagePackage extends EPackage
926 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLiteral() 852 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLiteral()
927 * @generated 853 * @generated
928 */ 854 */
929 int LITERAL = 33; 855 int LITERAL = 31;
930 856
931 /** 857 /**
932 * The number of structural features of the '<em>Literal</em>' class. 858 * The number of structural features of the '<em>Literal</em>' class.
@@ -945,7 +871,7 @@ public interface SolverLanguagePackage extends EPackage
945 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getVariable() 871 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getVariable()
946 * @generated 872 * @generated
947 */ 873 */
948 int VARIABLE = 34; 874 int VARIABLE = 32;
949 875
950 /** 876 /**
951 * The feature id for the '<em><b>Name</b></em>' attribute. 877 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -973,7 +899,7 @@ public interface SolverLanguagePackage extends EPackage
973 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAllInstances() 899 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAllInstances()
974 * @generated 900 * @generated
975 */ 901 */
976 int ALL_INSTANCES = 35; 902 int ALL_INSTANCES = 33;
977 903
978 /** 904 /**
979 * The feature id for the '<em><b>Symbol</b></em>' containment reference. 905 * The feature id for the '<em><b>Symbol</b></em>' containment reference.
@@ -1001,7 +927,7 @@ public interface SolverLanguagePackage extends EPackage
1001 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAllObjects() 927 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAllObjects()
1002 * @generated 928 * @generated
1003 */ 929 */
1004 int ALL_OBJECTS = 36; 930 int ALL_OBJECTS = 34;
1005 931
1006 /** 932 /**
1007 * The number of structural features of the '<em>All Objects</em>' class. 933 * The number of structural features of the '<em>All Objects</em>' class.
@@ -1020,7 +946,7 @@ public interface SolverLanguagePackage extends EPackage
1020 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDefaultInterpretation() 946 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDefaultInterpretation()
1021 * @generated 947 * @generated
1022 */ 948 */
1023 int DEFAULT_INTERPRETATION = 37; 949 int DEFAULT_INTERPRETATION = 35;
1024 950
1025 /** 951 /**
1026 * The feature id for the '<em><b>Interpretation</b></em>' containment reference. 952 * The feature id for the '<em><b>Interpretation</b></em>' containment reference.
@@ -1048,7 +974,7 @@ public interface SolverLanguagePackage extends EPackage
1048 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCDInterpretation() 974 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCDInterpretation()
1049 * @generated 975 * @generated
1050 */ 976 */
1051 int CD_INTERPRETATION = 38; 977 int CD_INTERPRETATION = 36;
1052 978
1053 /** 979 /**
1054 * The number of structural features of the '<em>CD Interpretation</em>' class. 980 * The number of structural features of the '<em>CD Interpretation</em>' class.
@@ -1067,7 +993,7 @@ public interface SolverLanguagePackage extends EPackage
1067 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClassInterpretation() 993 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClassInterpretation()
1068 * @generated 994 * @generated
1069 */ 995 */
1070 int CLASS_INTERPRETATION = 39; 996 int CLASS_INTERPRETATION = 37;
1071 997
1072 /** 998 /**
1073 * The feature id for the '<em><b>Abstract</b></em>' attribute. 999 * The feature id for the '<em><b>Abstract</b></em>' attribute.
@@ -1122,7 +1048,7 @@ public interface SolverLanguagePackage extends EPackage
1122 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEnumInterpretation() 1048 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEnumInterpretation()
1123 * @generated 1049 * @generated
1124 */ 1050 */
1125 int ENUM_INTERPRETATION = 40; 1051 int ENUM_INTERPRETATION = 38;
1126 1052
1127 /** 1053 /**
1128 * The feature id for the '<em><b>Symbol</b></em>' containment reference. 1054 * The feature id for the '<em><b>Symbol</b></em>' containment reference.
@@ -1159,7 +1085,7 @@ public interface SolverLanguagePackage extends EPackage
1159 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getFieldRelationInterpretation() 1085 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getFieldRelationInterpretation()
1160 * @generated 1086 * @generated
1161 */ 1087 */
1162 int FIELD_RELATION_INTERPRETATION = 41; 1088 int FIELD_RELATION_INTERPRETATION = 39;
1163 1089
1164 /** 1090 /**
1165 * The feature id for the '<em><b>Containment</b></em>' attribute. 1091 * The feature id for the '<em><b>Containment</b></em>' attribute.
@@ -1214,7 +1140,7 @@ public interface SolverLanguagePackage extends EPackage
1214 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getGlobalRelationInterpretation() 1140 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getGlobalRelationInterpretation()
1215 * @generated 1141 * @generated
1216 */ 1142 */
1217 int GLOBAL_RELATION_INTERPRETATION = 42; 1143 int GLOBAL_RELATION_INTERPRETATION = 40;
1218 1144
1219 /** 1145 /**
1220 * The feature id for the '<em><b>Containment</b></em>' attribute. 1146 * The feature id for the '<em><b>Containment</b></em>' attribute.
@@ -1287,7 +1213,7 @@ public interface SolverLanguagePackage extends EPackage
1287 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMultiplicityDefinition() 1213 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMultiplicityDefinition()
1288 * @generated 1214 * @generated
1289 */ 1215 */
1290 int MULTIPLICITY_DEFINITION = 43; 1216 int MULTIPLICITY_DEFINITION = 41;
1291 1217
1292 /** 1218 /**
1293 * The feature id for the '<em><b>Lower</b></em>' attribute. 1219 * The feature id for the '<em><b>Lower</b></em>' attribute.
@@ -1333,7 +1259,7 @@ public interface SolverLanguagePackage extends EPackage
1333 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanTrue() 1259 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanTrue()
1334 * @generated 1260 * @generated
1335 */ 1261 */
1336 int BOOLEAN_TRUE = 44; 1262 int BOOLEAN_TRUE = 42;
1337 1263
1338 /** 1264 /**
1339 * The number of structural features of the '<em>Boolean True</em>' class. 1265 * The number of structural features of the '<em>Boolean True</em>' class.
@@ -1352,7 +1278,7 @@ public interface SolverLanguagePackage extends EPackage
1352 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanFalse() 1278 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBooleanFalse()
1353 * @generated 1279 * @generated
1354 */ 1280 */
1355 int BOOLEAN_FALSE = 45; 1281 int BOOLEAN_FALSE = 43;
1356 1282
1357 /** 1283 /**
1358 * The number of structural features of the '<em>Boolean False</em>' class. 1284 * The number of structural features of the '<em>Boolean False</em>' class.
@@ -1371,7 +1297,7 @@ public interface SolverLanguagePackage extends EPackage
1371 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTrue() 1297 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTrue()
1372 * @generated 1298 * @generated
1373 */ 1299 */
1374 int TRUE = 46; 1300 int TRUE = 44;
1375 1301
1376 /** 1302 /**
1377 * The number of structural features of the '<em>True</em>' class. 1303 * The number of structural features of the '<em>True</em>' class.
@@ -1390,7 +1316,7 @@ public interface SolverLanguagePackage extends EPackage
1390 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getFalse() 1316 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getFalse()
1391 * @generated 1317 * @generated
1392 */ 1318 */
1393 int FALSE = 47; 1319 int FALSE = 45;
1394 1320
1395 /** 1321 /**
1396 * The number of structural features of the '<em>False</em>' class. 1322 * The number of structural features of the '<em>False</em>' class.
@@ -1409,7 +1335,7 @@ public interface SolverLanguagePackage extends EPackage
1409 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnknown() 1335 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnknown()
1410 * @generated 1336 * @generated
1411 */ 1337 */
1412 int UNKNOWN = 48; 1338 int UNKNOWN = 46;
1413 1339
1414 /** 1340 /**
1415 * The number of structural features of the '<em>Unknown</em>' class. 1341 * The number of structural features of the '<em>Unknown</em>' class.
@@ -1428,7 +1354,7 @@ public interface SolverLanguagePackage extends EPackage
1428 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getError() 1354 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getError()
1429 * @generated 1355 * @generated
1430 */ 1356 */
1431 int ERROR = 49; 1357 int ERROR = 47;
1432 1358
1433 /** 1359 /**
1434 * The number of structural features of the '<em>Error</em>' class. 1360 * The number of structural features of the '<em>Error</em>' class.
@@ -1447,7 +1373,7 @@ public interface SolverLanguagePackage extends EPackage
1447 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPositive() 1373 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPositive()
1448 * @generated 1374 * @generated
1449 */ 1375 */
1450 int POSITIVE = 50; 1376 int POSITIVE = 48;
1451 1377
1452 /** 1378 /**
1453 * The number of structural features of the '<em>Positive</em>' class. 1379 * The number of structural features of the '<em>Positive</em>' class.
@@ -1466,7 +1392,7 @@ public interface SolverLanguagePackage extends EPackage
1466 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNegative() 1392 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNegative()
1467 * @generated 1393 * @generated
1468 */ 1394 */
1469 int NEGATIVE = 51; 1395 int NEGATIVE = 49;
1470 1396
1471 /** 1397 /**
1472 * The number of structural features of the '<em>Negative</em>' class. 1398 * The number of structural features of the '<em>Negative</em>' class.
@@ -1485,7 +1411,7 @@ public interface SolverLanguagePackage extends EPackage
1485 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getReflexiveClosure() 1411 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getReflexiveClosure()
1486 * @generated 1412 * @generated
1487 */ 1413 */
1488 int REFLEXIVE_CLOSURE = 52; 1414 int REFLEXIVE_CLOSURE = 50;
1489 1415
1490 /** 1416 /**
1491 * The number of structural features of the '<em>Reflexive Closure</em>' class. 1417 * The number of structural features of the '<em>Reflexive Closure</em>' class.
@@ -1504,7 +1430,7 @@ public interface SolverLanguagePackage extends EPackage
1504 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIrreflexiveClosure() 1430 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIrreflexiveClosure()
1505 * @generated 1431 * @generated
1506 */ 1432 */
1507 int IRREFLEXIVE_CLOSURE = 53; 1433 int IRREFLEXIVE_CLOSURE = 51;
1508 1434
1509 /** 1435 /**
1510 * The number of structural features of the '<em>Irreflexive Closure</em>' class. 1436 * The number of structural features of the '<em>Irreflexive Closure</em>' class.
@@ -1898,68 +1824,48 @@ public interface SolverLanguagePackage extends EPackage
1898 EClass getPredicate(); 1824 EClass getPredicate();
1899 1825
1900 /** 1826 /**
1901 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getParameters <em>Parameters</em>}'. 1827 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#isIsError <em>Is Error</em>}'.
1902 * <!-- begin-user-doc --> 1828 * <!-- begin-user-doc -->
1903 * <!-- end-user-doc --> 1829 * <!-- end-user-doc -->
1904 * @return the meta object for the containment reference list '<em>Parameters</em>'. 1830 * @return the meta object for the attribute '<em>Is Error</em>'.
1905 * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate#getParameters() 1831 * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate#isIsError()
1906 * @see #getPredicate() 1832 * @see #getPredicate()
1907 * @generated 1833 * @generated
1908 */ 1834 */
1909 EReference getPredicate_Parameters(); 1835 EAttribute getPredicate_IsError();
1910 1836
1911 /** 1837 /**
1912 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getBodies <em>Bodies</em>}'. 1838 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getSymbol <em>Symbol</em>}'.
1913 * <!-- begin-user-doc -->
1914 * <!-- end-user-doc -->
1915 * @return the meta object for the containment reference list '<em>Bodies</em>'.
1916 * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate#getBodies()
1917 * @see #getPredicate()
1918 * @generated
1919 */
1920 EReference getPredicate_Bodies();
1921
1922 /**
1923 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateSymbol <em>Predicate Symbol</em>}'.
1924 * <!-- begin-user-doc -->
1925 * <!-- end-user-doc -->
1926 * @return the meta object for class '<em>Predicate Symbol</em>'.
1927 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateSymbol
1928 * @generated
1929 */
1930 EClass getPredicateSymbol();
1931
1932 /**
1933 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateSymbol#getSymbol <em>Symbol</em>}'.
1934 * <!-- begin-user-doc --> 1839 * <!-- begin-user-doc -->
1935 * <!-- end-user-doc --> 1840 * <!-- end-user-doc -->
1936 * @return the meta object for the containment reference '<em>Symbol</em>'. 1841 * @return the meta object for the containment reference '<em>Symbol</em>'.
1937 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateSymbol#getSymbol() 1842 * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate#getSymbol()
1938 * @see #getPredicateSymbol() 1843 * @see #getPredicate()
1939 * @generated 1844 * @generated
1940 */ 1845 */
1941 EReference getPredicateSymbol_Symbol(); 1846 EReference getPredicate_Symbol();
1942 1847
1943 /** 1848 /**
1944 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ErrorPredicate <em>Error Predicate</em>}'. 1849 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getParameters <em>Parameters</em>}'.
1945 * <!-- begin-user-doc --> 1850 * <!-- begin-user-doc -->
1946 * <!-- end-user-doc --> 1851 * <!-- end-user-doc -->
1947 * @return the meta object for class '<em>Error Predicate</em>'. 1852 * @return the meta object for the containment reference list '<em>Parameters</em>'.
1948 * @see org.eclipse.viatra.solver.language.solverLanguage.ErrorPredicate 1853 * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate#getParameters()
1854 * @see #getPredicate()
1949 * @generated 1855 * @generated
1950 */ 1856 */
1951 EClass getErrorPredicate(); 1857 EReference getPredicate_Parameters();
1952 1858
1953 /** 1859 /**
1954 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ErrorPredicate#getName <em>Name</em>}'. 1860 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Predicate#getBodies <em>Bodies</em>}'.
1955 * <!-- begin-user-doc --> 1861 * <!-- begin-user-doc -->
1956 * <!-- end-user-doc --> 1862 * <!-- end-user-doc -->
1957 * @return the meta object for the attribute '<em>Name</em>'. 1863 * @return the meta object for the containment reference list '<em>Bodies</em>'.
1958 * @see org.eclipse.viatra.solver.language.solverLanguage.ErrorPredicate#getName() 1864 * @see org.eclipse.viatra.solver.language.solverLanguage.Predicate#getBodies()
1959 * @see #getErrorPredicate() 1865 * @see #getPredicate()
1960 * @generated 1866 * @generated
1961 */ 1867 */
1962 EAttribute getErrorPredicate_Name(); 1868 EReference getPredicate_Bodies();
1963 1869
1964 /** 1870 /**
1965 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Parameter <em>Parameter</em>}'. 1871 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Parameter <em>Parameter</em>}'.
@@ -2912,30 +2818,12 @@ public interface SolverLanguagePackage extends EPackage
2912 EClass PREDICATE = eINSTANCE.getPredicate(); 2818 EClass PREDICATE = eINSTANCE.getPredicate();
2913 2819
2914 /** 2820 /**
2915 * The meta object literal for the '<em><b>Parameters</b></em>' containment reference list feature. 2821 * The meta object literal for the '<em><b>Is Error</b></em>' attribute feature.
2916 * <!-- begin-user-doc -->
2917 * <!-- end-user-doc -->
2918 * @generated
2919 */
2920 EReference PREDICATE__PARAMETERS = eINSTANCE.getPredicate_Parameters();
2921
2922 /**
2923 * The meta object literal for the '<em><b>Bodies</b></em>' containment reference list feature.
2924 * <!-- begin-user-doc -->
2925 * <!-- end-user-doc -->
2926 * @generated
2927 */
2928 EReference PREDICATE__BODIES = eINSTANCE.getPredicate_Bodies();
2929
2930 /**
2931 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateSymbolImpl <em>Predicate Symbol</em>}' class.
2932 * <!-- begin-user-doc --> 2822 * <!-- begin-user-doc -->
2933 * <!-- end-user-doc --> 2823 * <!-- end-user-doc -->
2934 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateSymbolImpl
2935 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicateSymbol()
2936 * @generated 2824 * @generated
2937 */ 2825 */
2938 EClass PREDICATE_SYMBOL = eINSTANCE.getPredicateSymbol(); 2826 EAttribute PREDICATE__IS_ERROR = eINSTANCE.getPredicate_IsError();
2939 2827
2940 /** 2828 /**
2941 * The meta object literal for the '<em><b>Symbol</b></em>' containment reference feature. 2829 * The meta object literal for the '<em><b>Symbol</b></em>' containment reference feature.
@@ -2943,25 +2831,23 @@ public interface SolverLanguagePackage extends EPackage
2943 * <!-- end-user-doc --> 2831 * <!-- end-user-doc -->
2944 * @generated 2832 * @generated
2945 */ 2833 */
2946 EReference PREDICATE_SYMBOL__SYMBOL = eINSTANCE.getPredicateSymbol_Symbol(); 2834 EReference PREDICATE__SYMBOL = eINSTANCE.getPredicate_Symbol();
2947 2835
2948 /** 2836 /**
2949 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ErrorPredicateImpl <em>Error Predicate</em>}' class. 2837 * The meta object literal for the '<em><b>Parameters</b></em>' containment reference list feature.
2950 * <!-- begin-user-doc --> 2838 * <!-- begin-user-doc -->
2951 * <!-- end-user-doc --> 2839 * <!-- end-user-doc -->
2952 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ErrorPredicateImpl
2953 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getErrorPredicate()
2954 * @generated 2840 * @generated
2955 */ 2841 */
2956 EClass ERROR_PREDICATE = eINSTANCE.getErrorPredicate(); 2842 EReference PREDICATE__PARAMETERS = eINSTANCE.getPredicate_Parameters();
2957 2843
2958 /** 2844 /**
2959 * The meta object literal for the '<em><b>Name</b></em>' attribute feature. 2845 * The meta object literal for the '<em><b>Bodies</b></em>' containment reference list feature.
2960 * <!-- begin-user-doc --> 2846 * <!-- begin-user-doc -->
2961 * <!-- end-user-doc --> 2847 * <!-- end-user-doc -->
2962 * @generated 2848 * @generated
2963 */ 2849 */
2964 EAttribute ERROR_PREDICATE__NAME = eINSTANCE.getErrorPredicate_Name(); 2850 EReference PREDICATE__BODIES = eINSTANCE.getPredicate_Bodies();
2965 2851
2966 /** 2852 /**
2967 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ParameterImpl <em>Parameter</em>}' class. 2853 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ParameterImpl <em>Parameter</em>}' class.
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java
index 947d74bb..d3c7366d 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateImpl.java
@@ -5,6 +5,7 @@ package org.eclipse.viatra.solver.language.solverLanguage.impl;
5 5
6import java.util.Collection; 6import java.util.Collection;
7 7
8import org.eclipse.emf.common.notify.Notification;
8import org.eclipse.emf.common.notify.NotificationChain; 9import org.eclipse.emf.common.notify.NotificationChain;
9 10
10import org.eclipse.emf.common.util.EList; 11import org.eclipse.emf.common.util.EList;
@@ -12,9 +13,12 @@ import org.eclipse.emf.common.util.EList;
12import org.eclipse.emf.ecore.EClass; 13import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject; 14import org.eclipse.emf.ecore.InternalEObject;
14 15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17
15import org.eclipse.emf.ecore.util.EObjectContainmentEList; 18import org.eclipse.emf.ecore.util.EObjectContainmentEList;
16import org.eclipse.emf.ecore.util.InternalEList; 19import org.eclipse.emf.ecore.util.InternalEList;
17 20
21import org.eclipse.viatra.solver.language.solverLanguage.ModelSymbol;
18import org.eclipse.viatra.solver.language.solverLanguage.Parameter; 22import org.eclipse.viatra.solver.language.solverLanguage.Parameter;
19import org.eclipse.viatra.solver.language.solverLanguage.PatternBody; 23import org.eclipse.viatra.solver.language.solverLanguage.PatternBody;
20import org.eclipse.viatra.solver.language.solverLanguage.Predicate; 24import org.eclipse.viatra.solver.language.solverLanguage.Predicate;
@@ -28,6 +32,8 @@ import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
28 * The following features are implemented: 32 * The following features are implemented:
29 * </p> 33 * </p>
30 * <ul> 34 * <ul>
35 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl#isIsError <em>Is Error</em>}</li>
36 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl#getSymbol <em>Symbol</em>}</li>
31 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl#getParameters <em>Parameters</em>}</li> 37 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl#getParameters <em>Parameters</em>}</li>
32 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl#getBodies <em>Bodies</em>}</li> 38 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateImpl#getBodies <em>Bodies</em>}</li>
33 * </ul> 39 * </ul>
@@ -37,6 +43,36 @@ import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
37public class PredicateImpl extends StatementImpl implements Predicate 43public class PredicateImpl extends StatementImpl implements Predicate
38{ 44{
39 /** 45 /**
46 * The default value of the '{@link #isIsError() <em>Is Error</em>}' attribute.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @see #isIsError()
50 * @generated
51 * @ordered
52 */
53 protected static final boolean IS_ERROR_EDEFAULT = false;
54
55 /**
56 * The cached value of the '{@link #isIsError() <em>Is Error</em>}' attribute.
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @see #isIsError()
60 * @generated
61 * @ordered
62 */
63 protected boolean isError = IS_ERROR_EDEFAULT;
64
65 /**
66 * The cached value of the '{@link #getSymbol() <em>Symbol</em>}' containment reference.
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @see #getSymbol()
70 * @generated
71 * @ordered
72 */
73 protected ModelSymbol symbol;
74
75 /**
40 * The cached value of the '{@link #getParameters() <em>Parameters</em>}' containment reference list. 76 * The cached value of the '{@link #getParameters() <em>Parameters</em>}' containment reference list.
41 * <!-- begin-user-doc --> 77 * <!-- begin-user-doc -->
42 * <!-- end-user-doc --> 78 * <!-- end-user-doc -->
@@ -83,6 +119,81 @@ public class PredicateImpl extends StatementImpl implements Predicate
83 * @generated 119 * @generated
84 */ 120 */
85 @Override 121 @Override
122 public boolean isIsError()
123 {
124 return isError;
125 }
126
127 /**
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 */
132 @Override
133 public void setIsError(boolean newIsError)
134 {
135 boolean oldIsError = isError;
136 isError = newIsError;
137 if (eNotificationRequired())
138 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE__IS_ERROR, oldIsError, isError));
139 }
140
141 /**
142 * <!-- begin-user-doc -->
143 * <!-- end-user-doc -->
144 * @generated
145 */
146 @Override
147 public ModelSymbol getSymbol()
148 {
149 return symbol;
150 }
151
152 /**
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @generated
156 */
157 public NotificationChain basicSetSymbol(ModelSymbol newSymbol, NotificationChain msgs)
158 {
159 ModelSymbol oldSymbol = symbol;
160 symbol = newSymbol;
161 if (eNotificationRequired())
162 {
163 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE__SYMBOL, oldSymbol, newSymbol);
164 if (msgs == null) msgs = notification; else msgs.add(notification);
165 }
166 return msgs;
167 }
168
169 /**
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @generated
173 */
174 @Override
175 public void setSymbol(ModelSymbol newSymbol)
176 {
177 if (newSymbol != symbol)
178 {
179 NotificationChain msgs = null;
180 if (symbol != null)
181 msgs = ((InternalEObject)symbol).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE__SYMBOL, null, msgs);
182 if (newSymbol != null)
183 msgs = ((InternalEObject)newSymbol).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE__SYMBOL, null, msgs);
184 msgs = basicSetSymbol(newSymbol, msgs);
185 if (msgs != null) msgs.dispatch();
186 }
187 else if (eNotificationRequired())
188 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE__SYMBOL, newSymbol, newSymbol));
189 }
190
191 /**
192 * <!-- begin-user-doc -->
193 * <!-- end-user-doc -->
194 * @generated
195 */
196 @Override
86 public EList<Parameter> getParameters() 197 public EList<Parameter> getParameters()
87 { 198 {
88 if (parameters == null) 199 if (parameters == null)
@@ -117,6 +228,8 @@ public class PredicateImpl extends StatementImpl implements Predicate
117 { 228 {
118 switch (featureID) 229 switch (featureID)
119 { 230 {
231 case SolverLanguagePackage.PREDICATE__SYMBOL:
232 return basicSetSymbol(null, msgs);
120 case SolverLanguagePackage.PREDICATE__PARAMETERS: 233 case SolverLanguagePackage.PREDICATE__PARAMETERS:
121 return ((InternalEList<?>)getParameters()).basicRemove(otherEnd, msgs); 234 return ((InternalEList<?>)getParameters()).basicRemove(otherEnd, msgs);
122 case SolverLanguagePackage.PREDICATE__BODIES: 235 case SolverLanguagePackage.PREDICATE__BODIES:
@@ -135,6 +248,10 @@ public class PredicateImpl extends StatementImpl implements Predicate
135 { 248 {
136 switch (featureID) 249 switch (featureID)
137 { 250 {
251 case SolverLanguagePackage.PREDICATE__IS_ERROR:
252 return isIsError();
253 case SolverLanguagePackage.PREDICATE__SYMBOL:
254 return getSymbol();
138 case SolverLanguagePackage.PREDICATE__PARAMETERS: 255 case SolverLanguagePackage.PREDICATE__PARAMETERS:
139 return getParameters(); 256 return getParameters();
140 case SolverLanguagePackage.PREDICATE__BODIES: 257 case SolverLanguagePackage.PREDICATE__BODIES:
@@ -154,6 +271,12 @@ public class PredicateImpl extends StatementImpl implements Predicate
154 { 271 {
155 switch (featureID) 272 switch (featureID)
156 { 273 {
274 case SolverLanguagePackage.PREDICATE__IS_ERROR:
275 setIsError((Boolean)newValue);
276 return;
277 case SolverLanguagePackage.PREDICATE__SYMBOL:
278 setSymbol((ModelSymbol)newValue);
279 return;
157 case SolverLanguagePackage.PREDICATE__PARAMETERS: 280 case SolverLanguagePackage.PREDICATE__PARAMETERS:
158 getParameters().clear(); 281 getParameters().clear();
159 getParameters().addAll((Collection<? extends Parameter>)newValue); 282 getParameters().addAll((Collection<? extends Parameter>)newValue);
@@ -176,6 +299,12 @@ public class PredicateImpl extends StatementImpl implements Predicate
176 { 299 {
177 switch (featureID) 300 switch (featureID)
178 { 301 {
302 case SolverLanguagePackage.PREDICATE__IS_ERROR:
303 setIsError(IS_ERROR_EDEFAULT);
304 return;
305 case SolverLanguagePackage.PREDICATE__SYMBOL:
306 setSymbol((ModelSymbol)null);
307 return;
179 case SolverLanguagePackage.PREDICATE__PARAMETERS: 308 case SolverLanguagePackage.PREDICATE__PARAMETERS:
180 getParameters().clear(); 309 getParameters().clear();
181 return; 310 return;
@@ -196,6 +325,10 @@ public class PredicateImpl extends StatementImpl implements Predicate
196 { 325 {
197 switch (featureID) 326 switch (featureID)
198 { 327 {
328 case SolverLanguagePackage.PREDICATE__IS_ERROR:
329 return isError != IS_ERROR_EDEFAULT;
330 case SolverLanguagePackage.PREDICATE__SYMBOL:
331 return symbol != null;
199 case SolverLanguagePackage.PREDICATE__PARAMETERS: 332 case SolverLanguagePackage.PREDICATE__PARAMETERS:
200 return parameters != null && !parameters.isEmpty(); 333 return parameters != null && !parameters.isEmpty();
201 case SolverLanguagePackage.PREDICATE__BODIES: 334 case SolverLanguagePackage.PREDICATE__BODIES:
@@ -204,4 +337,21 @@ public class PredicateImpl extends StatementImpl implements Predicate
204 return super.eIsSet(featureID); 337 return super.eIsSet(featureID);
205 } 338 }
206 339
340 /**
341 * <!-- begin-user-doc -->
342 * <!-- end-user-doc -->
343 * @generated
344 */
345 @Override
346 public String toString()
347 {
348 if (eIsProxy()) return super.toString();
349
350 StringBuilder result = new StringBuilder(super.toString());
351 result.append(" (isError: ");
352 result.append(isError);
353 result.append(')');
354 return result.toString();
355 }
356
207} //PredicateImpl 357} //PredicateImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java
index 12ffc551..5cb1dcdc 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java
@@ -29,7 +29,6 @@ import org.eclipse.viatra.solver.language.solverLanguage.DataSymbol;
29import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation; 29import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation;
30import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation; 30import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation;
31import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol; 31import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol;
32import org.eclipse.viatra.solver.language.solverLanguage.ErrorPredicate;
33import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol; 32import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol;
34import org.eclipse.viatra.solver.language.solverLanguage.False; 33import org.eclipse.viatra.solver.language.solverLanguage.False;
35import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation; 34import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation;
@@ -49,7 +48,6 @@ import org.eclipse.viatra.solver.language.solverLanguage.PatternBody;
49import org.eclipse.viatra.solver.language.solverLanguage.Polarity; 48import org.eclipse.viatra.solver.language.solverLanguage.Polarity;
50import org.eclipse.viatra.solver.language.solverLanguage.Positive; 49import org.eclipse.viatra.solver.language.solverLanguage.Positive;
51import org.eclipse.viatra.solver.language.solverLanguage.Predicate; 50import org.eclipse.viatra.solver.language.solverLanguage.Predicate;
52import org.eclipse.viatra.solver.language.solverLanguage.PredicateSymbol;
53import org.eclipse.viatra.solver.language.solverLanguage.Problem; 51import org.eclipse.viatra.solver.language.solverLanguage.Problem;
54import org.eclipse.viatra.solver.language.solverLanguage.RealObject; 52import org.eclipse.viatra.solver.language.solverLanguage.RealObject;
55import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol; 53import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol;
@@ -144,8 +142,6 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
144 case SolverLanguagePackage.REAL_OBJECT: return createRealObject(); 142 case SolverLanguagePackage.REAL_OBJECT: return createRealObject();
145 case SolverLanguagePackage.STRING_OBJECT: return createStringObject(); 143 case SolverLanguagePackage.STRING_OBJECT: return createStringObject();
146 case SolverLanguagePackage.PREDICATE: return createPredicate(); 144 case SolverLanguagePackage.PREDICATE: return createPredicate();
147 case SolverLanguagePackage.PREDICATE_SYMBOL: return createPredicateSymbol();
148 case SolverLanguagePackage.ERROR_PREDICATE: return createErrorPredicate();
149 case SolverLanguagePackage.PARAMETER: return createParameter(); 145 case SolverLanguagePackage.PARAMETER: return createParameter();
150 case SolverLanguagePackage.PATTERN_BODY: return createPatternBody(); 146 case SolverLanguagePackage.PATTERN_BODY: return createPatternBody();
151 case SolverLanguagePackage.POLARITY: return createPolarity(); 147 case SolverLanguagePackage.POLARITY: return createPolarity();
@@ -495,30 +491,6 @@ public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLan
495 * @generated 491 * @generated
496 */ 492 */
497 @Override 493 @Override
498 public PredicateSymbol createPredicateSymbol()
499 {
500 PredicateSymbolImpl predicateSymbol = new PredicateSymbolImpl();
501 return predicateSymbol;
502 }
503
504 /**
505 * <!-- begin-user-doc -->
506 * <!-- end-user-doc -->
507 * @generated
508 */
509 @Override
510 public ErrorPredicate createErrorPredicate()
511 {
512 ErrorPredicateImpl errorPredicate = new ErrorPredicateImpl();
513 return errorPredicate;
514 }
515
516 /**
517 * <!-- begin-user-doc -->
518 * <!-- end-user-doc -->
519 * @generated
520 */
521 @Override
522 public Parameter createParameter() 494 public Parameter createParameter()
523 { 495 {
524 ParameterImpl parameter = new ParameterImpl(); 496 ParameterImpl parameter = new ParameterImpl();
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java
index 9e5d391b..f617be3f 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java
@@ -28,7 +28,6 @@ import org.eclipse.viatra.solver.language.solverLanguage.DataSymbol;
28import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation; 28import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation;
29import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation; 29import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation;
30import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol; 30import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol;
31import org.eclipse.viatra.solver.language.solverLanguage.ErrorPredicate;
32import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol; 31import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol;
33import org.eclipse.viatra.solver.language.solverLanguage.False; 32import org.eclipse.viatra.solver.language.solverLanguage.False;
34import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation; 33import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation;
@@ -48,7 +47,6 @@ import org.eclipse.viatra.solver.language.solverLanguage.PatternBody;
48import org.eclipse.viatra.solver.language.solverLanguage.Polarity; 47import org.eclipse.viatra.solver.language.solverLanguage.Polarity;
49import org.eclipse.viatra.solver.language.solverLanguage.Positive; 48import org.eclipse.viatra.solver.language.solverLanguage.Positive;
50import org.eclipse.viatra.solver.language.solverLanguage.Predicate; 49import org.eclipse.viatra.solver.language.solverLanguage.Predicate;
51import org.eclipse.viatra.solver.language.solverLanguage.PredicateSymbol;
52import org.eclipse.viatra.solver.language.solverLanguage.Problem; 50import org.eclipse.viatra.solver.language.solverLanguage.Problem;
53import org.eclipse.viatra.solver.language.solverLanguage.RealObject; 51import org.eclipse.viatra.solver.language.solverLanguage.RealObject;
54import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol; 52import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol;
@@ -260,20 +258,6 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
260 * <!-- end-user-doc --> 258 * <!-- end-user-doc -->
261 * @generated 259 * @generated
262 */ 260 */
263 private EClass predicateSymbolEClass = null;
264
265 /**
266 * <!-- begin-user-doc -->
267 * <!-- end-user-doc -->
268 * @generated
269 */
270 private EClass errorPredicateEClass = null;
271
272 /**
273 * <!-- begin-user-doc -->
274 * <!-- end-user-doc -->
275 * @generated
276 */
277 private EClass parameterEClass = null; 261 private EClass parameterEClass = null;
278 262
279 /** 263 /**
@@ -927,9 +911,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
927 * @generated 911 * @generated
928 */ 912 */
929 @Override 913 @Override
930 public EReference getPredicate_Parameters() 914 public EAttribute getPredicate_IsError()
931 { 915 {
932 return (EReference)predicateEClass.getEStructuralFeatures().get(0); 916 return (EAttribute)predicateEClass.getEStructuralFeatures().get(0);
933 } 917 }
934 918
935 /** 919 /**
@@ -938,7 +922,7 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
938 * @generated 922 * @generated
939 */ 923 */
940 @Override 924 @Override
941 public EReference getPredicate_Bodies() 925 public EReference getPredicate_Symbol()
942 { 926 {
943 return (EReference)predicateEClass.getEStructuralFeatures().get(1); 927 return (EReference)predicateEClass.getEStructuralFeatures().get(1);
944 } 928 }
@@ -949,31 +933,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
949 * @generated 933 * @generated
950 */ 934 */
951 @Override 935 @Override
952 public EClass getPredicateSymbol() 936 public EReference getPredicate_Parameters()
953 {
954 return predicateSymbolEClass;
955 }
956
957 /**
958 * <!-- begin-user-doc -->
959 * <!-- end-user-doc -->
960 * @generated
961 */
962 @Override
963 public EReference getPredicateSymbol_Symbol()
964 {
965 return (EReference)predicateSymbolEClass.getEStructuralFeatures().get(0);
966 }
967
968 /**
969 * <!-- begin-user-doc -->
970 * <!-- end-user-doc -->
971 * @generated
972 */
973 @Override
974 public EClass getErrorPredicate()
975 { 937 {
976 return errorPredicateEClass; 938 return (EReference)predicateEClass.getEStructuralFeatures().get(2);
977 } 939 }
978 940
979 /** 941 /**
@@ -982,9 +944,9 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
982 * @generated 944 * @generated
983 */ 945 */
984 @Override 946 @Override
985 public EAttribute getErrorPredicate_Name() 947 public EReference getPredicate_Bodies()
986 { 948 {
987 return (EAttribute)errorPredicateEClass.getEStructuralFeatures().get(0); 949 return (EReference)predicateEClass.getEStructuralFeatures().get(3);
988 } 950 }
989 951
990 /** 952 /**
@@ -1685,15 +1647,11 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1685 createEAttribute(stringObjectEClass, STRING_OBJECT__VALUE); 1647 createEAttribute(stringObjectEClass, STRING_OBJECT__VALUE);
1686 1648
1687 predicateEClass = createEClass(PREDICATE); 1649 predicateEClass = createEClass(PREDICATE);
1650 createEAttribute(predicateEClass, PREDICATE__IS_ERROR);
1651 createEReference(predicateEClass, PREDICATE__SYMBOL);
1688 createEReference(predicateEClass, PREDICATE__PARAMETERS); 1652 createEReference(predicateEClass, PREDICATE__PARAMETERS);
1689 createEReference(predicateEClass, PREDICATE__BODIES); 1653 createEReference(predicateEClass, PREDICATE__BODIES);
1690 1654
1691 predicateSymbolEClass = createEClass(PREDICATE_SYMBOL);
1692 createEReference(predicateSymbolEClass, PREDICATE_SYMBOL__SYMBOL);
1693
1694 errorPredicateEClass = createEClass(ERROR_PREDICATE);
1695 createEAttribute(errorPredicateEClass, ERROR_PREDICATE__NAME);
1696
1697 parameterEClass = createEClass(PARAMETER); 1655 parameterEClass = createEClass(PARAMETER);
1698 createEReference(parameterEClass, PARAMETER__VARIABLE); 1656 createEReference(parameterEClass, PARAMETER__VARIABLE);
1699 createEReference(parameterEClass, PARAMETER__TYPE); 1657 createEReference(parameterEClass, PARAMETER__TYPE);
@@ -1818,6 +1776,7 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1818 stringSymbolEClass.getESuperTypes().add(this.getDataSymbol()); 1776 stringSymbolEClass.getESuperTypes().add(this.getDataSymbol());
1819 objectEClass.getESuperTypes().add(this.getComplexObject()); 1777 objectEClass.getESuperTypes().add(this.getComplexObject());
1820 namedObjectEClass.getESuperTypes().add(this.getObject()); 1778 namedObjectEClass.getESuperTypes().add(this.getObject());
1779 namedObjectEClass.getESuperTypes().add(this.getLiteral());
1821 unnamedObjectEClass.getESuperTypes().add(this.getObject()); 1780 unnamedObjectEClass.getESuperTypes().add(this.getObject());
1822 dataObjectEClass.getESuperTypes().add(this.getObject()); 1781 dataObjectEClass.getESuperTypes().add(this.getObject());
1823 dataObjectEClass.getESuperTypes().add(this.getLiteral()); 1782 dataObjectEClass.getESuperTypes().add(this.getLiteral());
@@ -1826,8 +1785,6 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1826 realObjectEClass.getESuperTypes().add(this.getDataObject()); 1785 realObjectEClass.getESuperTypes().add(this.getDataObject());
1827 stringObjectEClass.getESuperTypes().add(this.getDataObject()); 1786 stringObjectEClass.getESuperTypes().add(this.getDataObject());
1828 predicateEClass.getESuperTypes().add(this.getStatement()); 1787 predicateEClass.getESuperTypes().add(this.getStatement());
1829 predicateSymbolEClass.getESuperTypes().add(this.getPredicate());
1830 errorPredicateEClass.getESuperTypes().add(this.getPredicate());
1831 variableEClass.getESuperTypes().add(this.getLiteral()); 1788 variableEClass.getESuperTypes().add(this.getLiteral());
1832 allInstancesEClass.getESuperTypes().add(this.getComplexObject()); 1789 allInstancesEClass.getESuperTypes().add(this.getComplexObject());
1833 allObjectsEClass.getESuperTypes().add(this.getComplexObject()); 1790 allObjectsEClass.getESuperTypes().add(this.getComplexObject());
@@ -1910,15 +1867,11 @@ public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLan
1910 initEAttribute(getStringObject_Value(), ecorePackage.getEString(), "value", null, 0, 1, StringObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 1867 initEAttribute(getStringObject_Value(), ecorePackage.getEString(), "value", null, 0, 1, StringObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1911 1868
1912 initEClass(predicateEClass, Predicate.class, "Predicate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 1869 initEClass(predicateEClass, Predicate.class, "Predicate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1870 initEAttribute(getPredicate_IsError(), ecorePackage.getEBoolean(), "isError", null, 0, 1, Predicate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1871 initEReference(getPredicate_Symbol(), this.getModelSymbol(), null, "symbol", null, 0, 1, Predicate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1913 initEReference(getPredicate_Parameters(), this.getParameter(), null, "parameters", null, 0, -1, Predicate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 1872 initEReference(getPredicate_Parameters(), this.getParameter(), null, "parameters", null, 0, -1, Predicate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1914 initEReference(getPredicate_Bodies(), this.getPatternBody(), null, "bodies", null, 0, -1, Predicate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 1873 initEReference(getPredicate_Bodies(), this.getPatternBody(), null, "bodies", null, 0, -1, Predicate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1915 1874
1916 initEClass(predicateSymbolEClass, PredicateSymbol.class, "PredicateSymbol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1917 initEReference(getPredicateSymbol_Symbol(), this.getModelSymbol(), null, "symbol", null, 0, 1, PredicateSymbol.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1918
1919 initEClass(errorPredicateEClass, ErrorPredicate.class, "ErrorPredicate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1920 initEAttribute(getErrorPredicate_Name(), ecorePackage.getEString(), "name", null, 0, 1, ErrorPredicate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1921
1922 initEClass(parameterEClass, Parameter.class, "Parameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 1875 initEClass(parameterEClass, Parameter.class, "Parameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1923 initEReference(getParameter_Variable(), this.getVariable(), null, "variable", null, 0, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 1876 initEReference(getParameter_Variable(), this.getVariable(), null, "variable", null, 0, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1924 initEReference(getParameter_Type(), this.getSymbol(), null, "type", null, 0, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 1877 initEReference(getParameter_Type(), this.getSymbol(), null, "type", null, 0, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java
index e76e359a..9931598c 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java
@@ -28,7 +28,6 @@ import org.eclipse.viatra.solver.language.solverLanguage.DataSymbol;
28import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation; 28import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation;
29import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation; 29import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation;
30import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol; 30import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol;
31import org.eclipse.viatra.solver.language.solverLanguage.ErrorPredicate;
32import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol; 31import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol;
33import org.eclipse.viatra.solver.language.solverLanguage.False; 32import org.eclipse.viatra.solver.language.solverLanguage.False;
34import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation; 33import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation;
@@ -48,7 +47,6 @@ import org.eclipse.viatra.solver.language.solverLanguage.PatternBody;
48import org.eclipse.viatra.solver.language.solverLanguage.Polarity; 47import org.eclipse.viatra.solver.language.solverLanguage.Polarity;
49import org.eclipse.viatra.solver.language.solverLanguage.Positive; 48import org.eclipse.viatra.solver.language.solverLanguage.Positive;
50import org.eclipse.viatra.solver.language.solverLanguage.Predicate; 49import org.eclipse.viatra.solver.language.solverLanguage.Predicate;
51import org.eclipse.viatra.solver.language.solverLanguage.PredicateSymbol;
52import org.eclipse.viatra.solver.language.solverLanguage.Problem; 50import org.eclipse.viatra.solver.language.solverLanguage.Problem;
53import org.eclipse.viatra.solver.language.solverLanguage.RealObject; 51import org.eclipse.viatra.solver.language.solverLanguage.RealObject;
54import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol; 52import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol;
@@ -258,16 +256,6 @@ public class SolverLanguageAdapterFactory extends AdapterFactoryImpl
258 return createPredicateAdapter(); 256 return createPredicateAdapter();
259 } 257 }
260 @Override 258 @Override
261 public Adapter casePredicateSymbol(PredicateSymbol object)
262 {
263 return createPredicateSymbolAdapter();
264 }
265 @Override
266 public Adapter caseErrorPredicate(ErrorPredicate object)
267 {
268 return createErrorPredicateAdapter();
269 }
270 @Override
271 public Adapter caseParameter(Parameter object) 259 public Adapter caseParameter(Parameter object)
272 { 260 {
273 return createParameterAdapter(); 261 return createParameterAdapter();
@@ -810,36 +798,6 @@ public class SolverLanguageAdapterFactory extends AdapterFactoryImpl
810 } 798 }
811 799
812 /** 800 /**
813 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateSymbol <em>Predicate Symbol</em>}'.
814 * <!-- begin-user-doc -->
815 * This default implementation returns null so that we can easily ignore cases;
816 * it's useful to ignore a case when inheritance will catch all the cases anyway.
817 * <!-- end-user-doc -->
818 * @return the new adapter.
819 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateSymbol
820 * @generated
821 */
822 public Adapter createPredicateSymbolAdapter()
823 {
824 return null;
825 }
826
827 /**
828 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ErrorPredicate <em>Error Predicate</em>}'.
829 * <!-- begin-user-doc -->
830 * This default implementation returns null so that we can easily ignore cases;
831 * it's useful to ignore a case when inheritance will catch all the cases anyway.
832 * <!-- end-user-doc -->
833 * @return the new adapter.
834 * @see org.eclipse.viatra.solver.language.solverLanguage.ErrorPredicate
835 * @generated
836 */
837 public Adapter createErrorPredicateAdapter()
838 {
839 return null;
840 }
841
842 /**
843 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Parameter <em>Parameter</em>}'. 801 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Parameter <em>Parameter</em>}'.
844 * <!-- begin-user-doc --> 802 * <!-- begin-user-doc -->
845 * This default implementation returns null so that we can easily ignore cases; 803 * This default implementation returns null so that we can easily ignore cases;
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java
index 9bc874e3..6f6bcd17 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java
@@ -26,7 +26,6 @@ import org.eclipse.viatra.solver.language.solverLanguage.DataSymbol;
26import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation; 26import org.eclipse.viatra.solver.language.solverLanguage.DefaultInterpretation;
27import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation; 27import org.eclipse.viatra.solver.language.solverLanguage.EnumInterpretation;
28import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol; 28import org.eclipse.viatra.solver.language.solverLanguage.EqualsSymbol;
29import org.eclipse.viatra.solver.language.solverLanguage.ErrorPredicate;
30import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol; 29import org.eclipse.viatra.solver.language.solverLanguage.ExistSymbol;
31import org.eclipse.viatra.solver.language.solverLanguage.False; 30import org.eclipse.viatra.solver.language.solverLanguage.False;
32import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation; 31import org.eclipse.viatra.solver.language.solverLanguage.FieldRelationInterpretation;
@@ -46,7 +45,6 @@ import org.eclipse.viatra.solver.language.solverLanguage.PatternBody;
46import org.eclipse.viatra.solver.language.solverLanguage.Polarity; 45import org.eclipse.viatra.solver.language.solverLanguage.Polarity;
47import org.eclipse.viatra.solver.language.solverLanguage.Positive; 46import org.eclipse.viatra.solver.language.solverLanguage.Positive;
48import org.eclipse.viatra.solver.language.solverLanguage.Predicate; 47import org.eclipse.viatra.solver.language.solverLanguage.Predicate;
49import org.eclipse.viatra.solver.language.solverLanguage.PredicateSymbol;
50import org.eclipse.viatra.solver.language.solverLanguage.Problem; 48import org.eclipse.viatra.solver.language.solverLanguage.Problem;
51import org.eclipse.viatra.solver.language.solverLanguage.RealObject; 49import org.eclipse.viatra.solver.language.solverLanguage.RealObject;
52import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol; 50import org.eclipse.viatra.solver.language.solverLanguage.RealSymbol;
@@ -275,6 +273,7 @@ public class SolverLanguageSwitch<T> extends Switch<T>
275 NamedObject namedObject = (NamedObject)theEObject; 273 NamedObject namedObject = (NamedObject)theEObject;
276 T result = caseNamedObject(namedObject); 274 T result = caseNamedObject(namedObject);
277 if (result == null) result = caseObject(namedObject); 275 if (result == null) result = caseObject(namedObject);
276 if (result == null) result = caseLiteral(namedObject);
278 if (result == null) result = caseComplexObject(namedObject); 277 if (result == null) result = caseComplexObject(namedObject);
279 if (result == null) result = defaultCase(theEObject); 278 if (result == null) result = defaultCase(theEObject);
280 return result; 279 return result;
@@ -350,24 +349,6 @@ public class SolverLanguageSwitch<T> extends Switch<T>
350 if (result == null) result = defaultCase(theEObject); 349 if (result == null) result = defaultCase(theEObject);
351 return result; 350 return result;
352 } 351 }
353 case SolverLanguagePackage.PREDICATE_SYMBOL:
354 {
355 PredicateSymbol predicateSymbol = (PredicateSymbol)theEObject;
356 T result = casePredicateSymbol(predicateSymbol);
357 if (result == null) result = casePredicate(predicateSymbol);
358 if (result == null) result = caseStatement(predicateSymbol);
359 if (result == null) result = defaultCase(theEObject);
360 return result;
361 }
362 case SolverLanguagePackage.ERROR_PREDICATE:
363 {
364 ErrorPredicate errorPredicate = (ErrorPredicate)theEObject;
365 T result = caseErrorPredicate(errorPredicate);
366 if (result == null) result = casePredicate(errorPredicate);
367 if (result == null) result = caseStatement(errorPredicate);
368 if (result == null) result = defaultCase(theEObject);
369 return result;
370 }
371 case SolverLanguagePackage.PARAMETER: 352 case SolverLanguagePackage.PARAMETER:
372 { 353 {
373 Parameter parameter = (Parameter)theEObject; 354 Parameter parameter = (Parameter)theEObject;
@@ -997,38 +978,6 @@ public class SolverLanguageSwitch<T> extends Switch<T>
997 } 978 }
998 979
999 /** 980 /**
1000 * Returns the result of interpreting the object as an instance of '<em>Predicate Symbol</em>'.
1001 * <!-- begin-user-doc -->
1002 * This implementation returns null;
1003 * returning a non-null result will terminate the switch.
1004 * <!-- end-user-doc -->
1005 * @param object the target of the switch.
1006 * @return the result of interpreting the object as an instance of '<em>Predicate Symbol</em>'.
1007 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1008 * @generated
1009 */
1010 public T casePredicateSymbol(PredicateSymbol object)
1011 {
1012 return null;
1013 }
1014
1015 /**
1016 * Returns the result of interpreting the object as an instance of '<em>Error Predicate</em>'.
1017 * <!-- begin-user-doc -->
1018 * This implementation returns null;
1019 * returning a non-null result will terminate the switch.
1020 * <!-- end-user-doc -->
1021 * @param object the target of the switch.
1022 * @return the result of interpreting the object as an instance of '<em>Error Predicate</em>'.
1023 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1024 * @generated
1025 */
1026 public T caseErrorPredicate(ErrorPredicate object)
1027 {
1028 return null;
1029 }
1030
1031 /**
1032 * Returns the result of interpreting the object as an instance of '<em>Parameter</em>'. 981 * Returns the result of interpreting the object as an instance of '<em>Parameter</em>'.
1033 * <!-- begin-user-doc --> 982 * <!-- begin-user-doc -->
1034 * This implementation returns null; 983 * This implementation returns null;
diff --git a/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/SolverLanguage.xtext b/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/SolverLanguage.xtext
index 17a329ad..8a510a19 100644
--- a/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/SolverLanguage.xtext
+++ b/Application/org.eclipse.viatra.solver.language/src/org/eclipse/viatra/solver/language/SolverLanguage.xtext
@@ -18,7 +18,7 @@ TruthValue: {True} 'true' | {False} 'false' | {Unknown} 'unknown' | {Error} '
18/////////////////// 18///////////////////
19Interpretation: BasicInterpretation | DefaultInterpretation | CDInterpretation; 19Interpretation: BasicInterpretation | DefaultInterpretation | CDInterpretation;
20 20
21BasicInterpretation: symbol=Symbol '(' objects+=ComplexObject* ')' ':' value = TruthValue; 21BasicInterpretation: symbol=Symbol ('(' (objects+=ComplexObject (',' objects+=ComplexObject)*)? ')')? ':' value = TruthValue;
22 22
23Symbol: ModelSymbol | PartialitySymbol | DataSymbol; 23Symbol: ModelSymbol | PartialitySymbol | DataSymbol;
24 24
@@ -48,22 +48,20 @@ StringObject: value = STRING;
48/////////////////// 48///////////////////
49// Predicte grammar 49// Predicte grammar
50/////////////////// 50///////////////////
51Predicate: PredicateSymbol | ErrorPredicate; 51
52PredicateSymbol: 52Predicate:
53 'predicate' symbol = ModelSymbol '(' parameters += Parameter* ')' ':' ('false' | (bodies += PatternBody ('|' bodies += PatternBody)*)) '.' 53 (isError?='error')? symbol = ModelSymbol ('(' (parameters += Parameter (',' parameters += Parameter)*)? ')')? ':-' ('false' | (bodies += PatternBody ('|' bodies += PatternBody)*)) '.'
54;
55ErrorPredicate:
56 {ErrorPredicate} 'error' (name = ID)? ('(' parameters += Parameter* ')') ':' ('false' | (bodies += PatternBody ('|' bodies += PatternBody)*)) '.'
57; 54;
58 55
59Parameter: variable = Variable (':' type = Symbol)?; 56Parameter: variable = Variable (':' type = Symbol)?;
60PatternBody: {PatternBody} ('true' | constraints += Constraint*) ; 57PatternBody: {PatternBody} ('true' | constraints += Constraint*) ;
61Polarity: {Positive} '+' | {Negative} '-'; 58Polarity: {Positive} '+' | {Negative} '-';
62Constraint: (polarity = Polarity)? symbol = ModelSymbol ( 59Constraint: (polarity = Polarity)? symbol = ModelSymbol
63 ( '(' params += Literal* ')') | (closureType = ClosureType '(' params += Literal params += Literal ')')); 60 (('(' params += Literal? (',' params += Literal)* ')')?)
64 61 |
62 (closureType=ClosureType '(' params += Literal? (',' params += Literal)* ')');
65ClosureType: {ReflexiveClosure} '*' | {IrreflexiveClosure} '+'; 63ClosureType: {ReflexiveClosure} '*' | {IrreflexiveClosure} '+';
66Literal: Variable | DataObject; 64Literal: Variable | DataObject | NamedObject;
67Variable: name = ID; 65Variable: name = ID;
68 66
69/////////////////// 67///////////////////
@@ -83,13 +81,13 @@ DefaultInterpretation: 'default' interpretation = BasicInterpretation;
83/////////////////// 81///////////////////
84CDInterpretation: ClassInterpretation | EnumInterpretation| GlobalRelationInterpretation; 82CDInterpretation: ClassInterpretation | EnumInterpretation| GlobalRelationInterpretation;
85ClassInterpretation: 83ClassInterpretation:
86 abstract?='abstract' 'class' symbol = ModelSymbol ('extends' supertypes += ModelSymbol+)?'{' 84 (abstract?='abstract')? 'class' symbol = ModelSymbol ('extends' supertypes += ModelSymbol+)?'{'
87 fielt += FieldRelationInterpretation* 85 fielt += FieldRelationInterpretation*
88 '}' 86 '}'
89; 87;
90EnumInterpretation: 'enum' Symbol = ModelSymbol '{' objects+=NamedObject+ '}'; 88EnumInterpretation: 'enum' Symbol = ModelSymbol '{' objects+=NamedObject+ '}';
91FieldRelationInterpretation: containment ?= 'containment' symbol = ModelSymbol ':' multiplicity = MultiplicityDefinition? target = Symbol; 89FieldRelationInterpretation: (containment ?= 'containment')? symbol = ModelSymbol ':' multiplicity = MultiplicityDefinition? target = Symbol;
92GlobalRelationInterpretation: containment ?= 'containment' 'relation' symbol = ModelSymbol ':' sourceMultiplicity = MultiplicityDefinition? source = Symbol targetMultiplicity = MultiplicityDefinition? target = Symbol; 90GlobalRelationInterpretation: (containment ?= 'containment')? 'relation' symbol = ModelSymbol ':' sourceMultiplicity = MultiplicityDefinition? source = Symbol targetMultiplicity = MultiplicityDefinition? target = Symbol;
93MultiplicityDefinition: lower = INT '..' (upper = INT | unlimitedUpper?='*'); 91MultiplicityDefinition: lower = INT '..' (upper = INT | unlimitedUpper?='*');
94 92
95////SymbolIntroduction : Type | GlobalRelation | Predicate; 93////SymbolIntroduction : Type | GlobalRelation | Predicate;