aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/.classpath4
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/.settings/org.eclipse.jdt.core.prefs10
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/java/org/eclipse/viatra/solver/language/ide/syntaxcoloring/ProblemSemanticHighlightingCalculator.java65
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/ProblemParser.java40
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblem.g855
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblem.tokens75
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblemLexer.java1179
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblemParser.java5527
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/.classpath1
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/problem.aird319
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Argument.java69
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Atom.java12
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ClassDeclaration.java23
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Problem.java4
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemFactory.java18
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemPackage.java251
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/UnboundedMultiplicity.java16
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ArgumentImpl.java247
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AtomImpl.java65
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ClassDeclarationImpl.java74
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConjunctionImpl.java1
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NegativeLiteralImpl.java1
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemFactoryImpl.java24
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemImpl.java5
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemPackageImpl.java97
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/UnboundedMultiplicityImpl.java37
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemAdapterFactory.java38
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemSwitch.java48
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.ecore14
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.genmodel8
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.classpath6
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.settings/org.eclipse.jdt.core.prefs10
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/build.gradle4
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/index.html28
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/script.js2
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/style.css22
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/xtext-resources/generated/mode-problem.js6
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/.classpath13
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/.settings/org.eclipse.jdt.core.prefs10
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/Problem.xtext34
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/ProblemRuntimeModule.java22
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/ProblemUtil.java31
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/naming/ProblemQualifiedNameConverter.java4
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/naming/ProblemQualifiedNameProvider.java15
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/resource/ProblemDerivedStateComputer.java103
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/resource/ProblemLocationInFileProvider.java47
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/resource/ProblemResourceDescriptionStrategy.java79
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/scoping/ProblemGlobalScopeProvider.java14
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/scoping/ProblemLocalScopeProvider.java40
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/scoping/ProblemScopeProvider.java32
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/resources/org/eclipse/viatra/solver/language/builtin.problem7
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/resources/org/eclipse/viatra/solver/language/library.problem4
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/Problem.xtextbinbin5210 -> 5698 bytes
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblem.g472
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblem.tokens75
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemLexer.java1167
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemParser.java2408
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/serializer/ProblemSemanticSequencer.java61
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/serializer/ProblemSyntacticSequencer.java33
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/services/ProblemGrammarAccess.java489
60 files changed, 8786 insertions, 5579 deletions
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/.classpath b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/.classpath
index 94600478..b0c652b5 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/.classpath
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/.classpath
@@ -1,6 +1,6 @@
1<?xml version="1.0" encoding="UTF-8"?> 1<?xml version="1.0" encoding="UTF-8"?>
2<classpath> 2<classpath>
3 <classpathentry kind="src" output="bin/main" path="src/main/resources"> 3 <classpathentry kind="src" output="bin/main" path="src/main/java">
4 <attributes> 4 <attributes>
5 <attribute name="gradle_scope" value="main"/> 5 <attribute name="gradle_scope" value="main"/>
6 <attribute name="gradle_used_by_scope" value="main,test"/> 6 <attribute name="gradle_used_by_scope" value="main,test"/>
@@ -18,7 +18,7 @@
18 <attribute name="gradle_used_by_scope" value="main,test"/> 18 <attribute name="gradle_used_by_scope" value="main,test"/>
19 </attributes> 19 </attributes>
20 </classpathentry> 20 </classpathentry>
21 <classpathentry kind="src" output="bin/main" path="src/main/java"> 21 <classpathentry kind="src" output="bin/main" path="src/main/resources">
22 <attributes> 22 <attributes>
23 <attribute name="gradle_scope" value="main"/> 23 <attribute name="gradle_scope" value="main"/>
24 <attribute name="gradle_used_by_scope" value="main,test"/> 24 <attribute name="gradle_used_by_scope" value="main,test"/>
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 7adc0fb9..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,10 +0,0 @@
1eclipse.preferences.version=1
2org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
4org.eclipse.jdt.core.compiler.compliance=11
5org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
7org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
8org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
9org.eclipse.jdt.core.compiler.release=enabled
10org.eclipse.jdt.core.compiler.source=11
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/java/org/eclipse/viatra/solver/language/ide/syntaxcoloring/ProblemSemanticHighlightingCalculator.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/java/org/eclipse/viatra/solver/language/ide/syntaxcoloring/ProblemSemanticHighlightingCalculator.java
index f6a29457..2f69e946 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/java/org/eclipse/viatra/solver/language/ide/syntaxcoloring/ProblemSemanticHighlightingCalculator.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/java/org/eclipse/viatra/solver/language/ide/syntaxcoloring/ProblemSemanticHighlightingCalculator.java
@@ -7,6 +7,7 @@ import org.eclipse.emf.ecore.EAttribute;
7import org.eclipse.emf.ecore.EObject; 7import org.eclipse.emf.ecore.EObject;
8import org.eclipse.emf.ecore.EReference; 8import org.eclipse.emf.ecore.EReference;
9import org.eclipse.emf.ecore.resource.Resource; 9import org.eclipse.emf.ecore.resource.Resource;
10import org.eclipse.viatra.solver.language.ProblemUtil;
10import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration; 11import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration;
11import org.eclipse.viatra.solver.language.model.problem.Node; 12import org.eclipse.viatra.solver.language.model.problem.Node;
12import org.eclipse.viatra.solver.language.model.problem.Parameter; 13import org.eclipse.viatra.solver.language.model.problem.Parameter;
@@ -22,6 +23,7 @@ import org.eclipse.xtext.service.OperationCanceledManager;
22import org.eclipse.xtext.util.CancelIndicator; 23import org.eclipse.xtext.util.CancelIndicator;
23import org.eclipse.xtext.util.SimpleAttributeResolver; 24import org.eclipse.xtext.util.SimpleAttributeResolver;
24 25
26import com.google.common.collect.ImmutableList;
25import com.google.inject.Inject; 27import com.google.inject.Inject;
26 28
27public class ProblemSemanticHighlightingCalculator extends DefaultSemanticHighlightingCalculator { 29public class ProblemSemanticHighlightingCalculator extends DefaultSemanticHighlightingCalculator {
@@ -33,8 +35,11 @@ public class ProblemSemanticHighlightingCalculator extends DefaultSemanticHighli
33 private static final String PREDICATE_CLASS = "problem-predicate"; 35 private static final String PREDICATE_CLASS = "problem-predicate";
34 private static final String ERROR_CLASS = "problem-error"; 36 private static final String ERROR_CLASS = "problem-error";
35 private static final String NODE_CLASS = "problem-node"; 37 private static final String NODE_CLASS = "problem-node";
38 private static final String ENUM_NODE_CLASS = "problem-enum-node";
39 private static final String NEW_NODE_CLASS = "problem-new-node";
36 private static final String PARAMETER_CLASS = "problem-parameter"; 40 private static final String PARAMETER_CLASS = "problem-parameter";
37 private static final String VARIABLE_CLASS = "problem-variable"; 41 private static final String VARIABLE_CLASS = "problem-variable";
42 private static final String SINGLETON_VARIABLE_CLASS = "problem-singleton-variable";
38 43
39 @Inject 44 @Inject
40 private OperationCanceledManager operationCanceledManager; 45 private OperationCanceledManager operationCanceledManager;
@@ -49,8 +54,8 @@ public class ProblemSemanticHighlightingCalculator extends DefaultSemanticHighli
49 54
50 protected void highlightName(EObject object, IHighlightedPositionAcceptor acceptor, 55 protected void highlightName(EObject object, IHighlightedPositionAcceptor acceptor,
51 CancelIndicator cancelIndicator) { 56 CancelIndicator cancelIndicator) {
52 String highlightClass = getHighlightClass(object); 57 String[] highlightClass = getHighlightClass(object);
53 if (highlightClass != null) { 58 if (highlightClass.length > 0) {
54 EAttribute nameAttribute = SimpleAttributeResolver.NAME_RESOLVER.getAttribute(object); 59 EAttribute nameAttribute = SimpleAttributeResolver.NAME_RESOLVER.getAttribute(object);
55 if (nameAttribute != null) { 60 if (nameAttribute != null) {
56 highlightFeature(acceptor, object, nameAttribute, highlightClass); 61 highlightFeature(acceptor, object, nameAttribute, highlightClass);
@@ -65,72 +70,84 @@ public class ProblemSemanticHighlightingCalculator extends DefaultSemanticHighli
65 continue; 70 continue;
66 } 71 }
67 operationCanceledManager.checkCanceled(cancelIndicator); 72 operationCanceledManager.checkCanceled(cancelIndicator);
68 Object value = object.eGet(reference); 73 if (reference.isMany()) {
69 if (value instanceof EList) {
70 @SuppressWarnings("unchecked") 74 @SuppressWarnings("unchecked")
71 EList<? extends EObject> values = (EList<? extends EObject>) value; 75 EList<? extends EObject> values = (EList<? extends EObject>) object.eGet(reference);
72 List<INode> nodes = NodeModelUtils.findNodesForFeature(object, reference); 76 List<INode> nodes = NodeModelUtils.findNodesForFeature(object, reference);
73 int size = Math.min(values.size(), nodes.size()); 77 int size = Math.min(values.size(), nodes.size());
74 for (int i = 0; i < size; i++) { 78 for (int i = 0; i < size; i++) {
75 EObject valueInList = values.get(i); 79 EObject valueInList = values.get(i);
76 INode node = nodes.get(i); 80 INode node = nodes.get(i);
77 String highlightClass = getHighlightClass(valueInList); 81 String[] highlightClass = getHighlightClass(valueInList);
78 if (highlightClass != null) { 82 if (highlightClass.length > 0) {
79 highlightNode(acceptor, node, highlightClass); 83 highlightNode(acceptor, node, highlightClass);
80 } 84 }
81 } 85 }
82 } else if (value instanceof EObject) { 86 } else {
83 EObject valueObj = (EObject) value; 87 EObject valueObj = (EObject) object.eGet(reference);
84 String highlightClass = getHighlightClass(valueObj); 88 String[] highlightClass = getHighlightClass(valueObj);
85 if (highlightClass != null) { 89 if (highlightClass.length > 0) {
86 highlightFeature(acceptor, object, reference, highlightClass); 90 highlightFeature(acceptor, object, reference, highlightClass);
87 } 91 }
88 } 92 }
89 } 93 }
90 } 94 }
91 95
92 protected String getHighlightClass(EObject eObject) { 96 protected String[] getHighlightClass(EObject eObject) {
93 if (isBuiltIn(eObject)) { 97 if (isBuiltIn(eObject)) {
94 return BUILTIN_CLASS; 98 return new String[] { BUILTIN_CLASS };
95 } 99 }
100 ImmutableList.Builder<String> classesBuilder = ImmutableList.builder();
96 if (eObject instanceof ClassDeclaration) { 101 if (eObject instanceof ClassDeclaration) {
102 classesBuilder.add(CLASS_CLASS);
97 ClassDeclaration classDeclaration = (ClassDeclaration) eObject; 103 ClassDeclaration classDeclaration = (ClassDeclaration) eObject;
98 if (classDeclaration.isAbstract()) { 104 if (classDeclaration.isAbstract()) {
99 return ABSTRACT_CLASS; 105 classesBuilder.add(ABSTRACT_CLASS);
100 } 106 }
101 return CLASS_CLASS;
102 } 107 }
103 if (eObject instanceof ReferenceDeclaration) { 108 if (eObject instanceof ReferenceDeclaration) {
109 classesBuilder.add(REFERENCE_CLASS);
104 ReferenceDeclaration referenceDeclaration = (ReferenceDeclaration) eObject; 110 ReferenceDeclaration referenceDeclaration = (ReferenceDeclaration) eObject;
105 if (referenceDeclaration.isContainment()) { 111 if (referenceDeclaration.isContainment()) {
106 return CONTAINMENT_CLASS; 112 classesBuilder.add(CONTAINMENT_CLASS);
107 } 113 }
108 return REFERENCE_CLASS;
109 } 114 }
110 if (eObject instanceof PredicateDefinition) { 115 if (eObject instanceof PredicateDefinition) {
116 classesBuilder.add(PREDICATE_CLASS);
111 PredicateDefinition predicateDefinition = (PredicateDefinition) eObject; 117 PredicateDefinition predicateDefinition = (PredicateDefinition) eObject;
112 if (predicateDefinition.isError()) { 118 if (predicateDefinition.isError()) {
113 return ERROR_CLASS; 119 classesBuilder.add(ERROR_CLASS);
114 } 120 }
115 return PREDICATE_CLASS;
116 } 121 }
117 if (eObject instanceof Node) { 122 if (eObject instanceof Node) {
118 return NODE_CLASS; 123 classesBuilder.add(NODE_CLASS);
124 Node node = (Node) eObject;
125 if (ProblemUtil.isEnumNode(node)) {
126 classesBuilder.add(ENUM_NODE_CLASS);
127 }
128 if (ProblemUtil.isNewNode(node)) {
129 classesBuilder.add(NEW_NODE_CLASS);
130 }
119 } 131 }
120 if (eObject instanceof Parameter) { 132 if (eObject instanceof Parameter) {
121 return PARAMETER_CLASS; 133 classesBuilder.add(PARAMETER_CLASS);
122 } 134 }
123 if (eObject instanceof Variable) { 135 if (eObject instanceof Variable) {
124 return VARIABLE_CLASS; 136 classesBuilder.add(VARIABLE_CLASS);
137 Variable variable = (Variable) eObject;
138 if (ProblemUtil.isSingletonVariable(variable)) {
139 classesBuilder.add(SINGLETON_VARIABLE_CLASS);
140 }
125 } 141 }
126 return null; 142 List<String> classes = classesBuilder.build();
143 return classes.toArray(new String[0]);
127 } 144 }
128 145
129 protected boolean isBuiltIn(EObject eObject) { 146 protected boolean isBuiltIn(EObject eObject) {
130 if (eObject != null) { 147 if (eObject != null) {
131 Resource eResource = eObject.eResource(); 148 Resource eResource = eObject.eResource();
132 if (eResource != null) { 149 if (eResource != null) {
133 return ProblemGlobalScopeProvider.LIBRARY_URI.equals(eResource.getURI()); 150 return ProblemGlobalScopeProvider.BULTIN_LIBRARY_URI.equals(eResource.getURI());
134 } 151 }
135 } 152 }
136 return false; 153 return false;
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/ProblemParser.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/ProblemParser.java
index 78416e64..2adb1a82 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/ProblemParser.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/ProblemParser.java
@@ -32,25 +32,28 @@ public class ProblemParser extends AbstractContentAssistParser {
32 32
33 private static void init(ImmutableMap.Builder<AbstractElement, String> builder, ProblemGrammarAccess grammarAccess) { 33 private static void init(ImmutableMap.Builder<AbstractElement, String> builder, ProblemGrammarAccess grammarAccess) {
34 builder.put(grammarAccess.getStatementAccess().getAlternatives(), "rule__Statement__Alternatives"); 34 builder.put(grammarAccess.getStatementAccess().getAlternatives(), "rule__Statement__Alternatives");
35 builder.put(grammarAccess.getClassDeclarationAccess().getAlternatives_3(), "rule__ClassDeclaration__Alternatives_3"); 35 builder.put(grammarAccess.getClassDeclarationAccess().getAlternatives_4(), "rule__ClassDeclaration__Alternatives_4");
36 builder.put(grammarAccess.getClassDeclarationAccess().getAlternatives_3_0_1(), "rule__ClassDeclaration__Alternatives_3_0_1");
37 builder.put(grammarAccess.getReferenceDeclarationAccess().getAlternatives_0(), "rule__ReferenceDeclaration__Alternatives_0"); 36 builder.put(grammarAccess.getReferenceDeclarationAccess().getAlternatives_0(), "rule__ReferenceDeclaration__Alternatives_0");
38 builder.put(grammarAccess.getPredicateDefinitionAccess().getAlternatives_0(), "rule__PredicateDefinition__Alternatives_0"); 37 builder.put(grammarAccess.getPredicateDefinitionAccess().getAlternatives_0(), "rule__PredicateDefinition__Alternatives_0");
39 builder.put(grammarAccess.getLiteralAccess().getAlternatives(), "rule__Literal__Alternatives"); 38 builder.put(grammarAccess.getLiteralAccess().getAlternatives(), "rule__Literal__Alternatives");
40 builder.put(grammarAccess.getAssertionAccess().getAlternatives_0(), "rule__Assertion__Alternatives_0"); 39 builder.put(grammarAccess.getAssertionAccess().getAlternatives_0(), "rule__Assertion__Alternatives_0");
41 builder.put(grammarAccess.getTypeScopeAccess().getAlternatives_1(), "rule__TypeScope__Alternatives_1"); 40 builder.put(grammarAccess.getTypeScopeAccess().getAlternatives_1(), "rule__TypeScope__Alternatives_1");
42 builder.put(grammarAccess.getMultiplicityAccess().getAlternatives(), "rule__Multiplicity__Alternatives"); 41 builder.put(grammarAccess.getMultiplicityAccess().getAlternatives(), "rule__Multiplicity__Alternatives");
42 builder.put(grammarAccess.getDefiniteMultiplicityAccess().getAlternatives(), "rule__DefiniteMultiplicity__Alternatives");
43 builder.put(grammarAccess.getUpperBoundAccess().getAlternatives(), "rule__UpperBound__Alternatives"); 43 builder.put(grammarAccess.getUpperBoundAccess().getAlternatives(), "rule__UpperBound__Alternatives");
44 builder.put(grammarAccess.getQualifiedNameAccess().getAlternatives(), "rule__QualifiedName__Alternatives");
44 builder.put(grammarAccess.getLogicValueAccess().getAlternatives(), "rule__LogicValue__Alternatives"); 45 builder.put(grammarAccess.getLogicValueAccess().getAlternatives(), "rule__LogicValue__Alternatives");
45 builder.put(grammarAccess.getShortLogicValueAccess().getAlternatives(), "rule__ShortLogicValue__Alternatives"); 46 builder.put(grammarAccess.getShortLogicValueAccess().getAlternatives(), "rule__ShortLogicValue__Alternatives");
47 builder.put(grammarAccess.getProblemAccess().getGroup(), "rule__Problem__Group__0");
48 builder.put(grammarAccess.getProblemAccess().getGroup_0(), "rule__Problem__Group_0__0");
46 builder.put(grammarAccess.getClassDeclarationAccess().getGroup(), "rule__ClassDeclaration__Group__0"); 49 builder.put(grammarAccess.getClassDeclarationAccess().getGroup(), "rule__ClassDeclaration__Group__0");
47 builder.put(grammarAccess.getClassDeclarationAccess().getGroup_3_0(), "rule__ClassDeclaration__Group_3_0__0"); 50 builder.put(grammarAccess.getClassDeclarationAccess().getGroup_3(), "rule__ClassDeclaration__Group_3__0");
48 builder.put(grammarAccess.getClassDeclarationAccess().getGroup_3_0_1_1(), "rule__ClassDeclaration__Group_3_0_1_1__0"); 51 builder.put(grammarAccess.getClassDeclarationAccess().getGroup_3_2(), "rule__ClassDeclaration__Group_3_2__0");
49 builder.put(grammarAccess.getClassDeclarationAccess().getGroup_3_0_1_1_1(), "rule__ClassDeclaration__Group_3_0_1_1_1__0"); 52 builder.put(grammarAccess.getClassDeclarationAccess().getGroup_4_0(), "rule__ClassDeclaration__Group_4_0__0");
50 builder.put(grammarAccess.getClassDeclarationAccess().getGroup_3_0_1_1_1_1(), "rule__ClassDeclaration__Group_3_0_1_1_1_1__0"); 53 builder.put(grammarAccess.getClassDeclarationAccess().getGroup_4_0_1(), "rule__ClassDeclaration__Group_4_0_1__0");
51 builder.put(grammarAccess.getClassDeclarationAccess().getGroup_4(), "rule__ClassDeclaration__Group_4__0");
52 builder.put(grammarAccess.getReferenceDeclarationAccess().getGroup(), "rule__ReferenceDeclaration__Group__0"); 54 builder.put(grammarAccess.getReferenceDeclarationAccess().getGroup(), "rule__ReferenceDeclaration__Group__0");
53 builder.put(grammarAccess.getReferenceDeclarationAccess().getGroup_6(), "rule__ReferenceDeclaration__Group_6__0"); 55 builder.put(grammarAccess.getReferenceDeclarationAccess().getGroup_2(), "rule__ReferenceDeclaration__Group_2__0");
56 builder.put(grammarAccess.getReferenceDeclarationAccess().getGroup_4(), "rule__ReferenceDeclaration__Group_4__0");
54 builder.put(grammarAccess.getPredicateDefinitionAccess().getGroup(), "rule__PredicateDefinition__Group__0"); 57 builder.put(grammarAccess.getPredicateDefinitionAccess().getGroup(), "rule__PredicateDefinition__Group__0");
55 builder.put(grammarAccess.getPredicateDefinitionAccess().getGroup_0_0(), "rule__PredicateDefinition__Group_0_0__0"); 58 builder.put(grammarAccess.getPredicateDefinitionAccess().getGroup_0_0(), "rule__PredicateDefinition__Group_0_0__0");
56 builder.put(grammarAccess.getPredicateDefinitionAccess().getGroup_3(), "rule__PredicateDefinition__Group_3__0"); 59 builder.put(grammarAccess.getPredicateDefinitionAccess().getGroup_3(), "rule__PredicateDefinition__Group_3__0");
@@ -75,21 +78,21 @@ public class ProblemParser extends AbstractContentAssistParser {
75 builder.put(grammarAccess.getScopeDeclarationAccess().getGroup_2(), "rule__ScopeDeclaration__Group_2__0"); 78 builder.put(grammarAccess.getScopeDeclarationAccess().getGroup_2(), "rule__ScopeDeclaration__Group_2__0");
76 builder.put(grammarAccess.getTypeScopeAccess().getGroup(), "rule__TypeScope__Group__0"); 79 builder.put(grammarAccess.getTypeScopeAccess().getGroup(), "rule__TypeScope__Group__0");
77 builder.put(grammarAccess.getRangeMultiplicityAccess().getGroup(), "rule__RangeMultiplicity__Group__0"); 80 builder.put(grammarAccess.getRangeMultiplicityAccess().getGroup(), "rule__RangeMultiplicity__Group__0");
78 builder.put(grammarAccess.getQualifiedNameAccess().getGroup(), "rule__QualifiedName__Group__0");
79 builder.put(grammarAccess.getQualifiedNameAccess().getGroup_1(), "rule__QualifiedName__Group_1__0"); 81 builder.put(grammarAccess.getQualifiedNameAccess().getGroup_1(), "rule__QualifiedName__Group_1__0");
80 builder.put(grammarAccess.getProblemAccess().getStatementsAssignment(), "rule__Problem__StatementsAssignment"); 82 builder.put(grammarAccess.getQualifiedNameAccess().getGroup_1_1(), "rule__QualifiedName__Group_1_1__0");
83 builder.put(grammarAccess.getQualifiedNameAccess().getGroup_1_2(), "rule__QualifiedName__Group_1_2__0");
84 builder.put(grammarAccess.getProblemAccess().getNameAssignment_0_1(), "rule__Problem__NameAssignment_0_1");
85 builder.put(grammarAccess.getProblemAccess().getStatementsAssignment_1(), "rule__Problem__StatementsAssignment_1");
81 builder.put(grammarAccess.getClassDeclarationAccess().getAbstractAssignment_0(), "rule__ClassDeclaration__AbstractAssignment_0"); 86 builder.put(grammarAccess.getClassDeclarationAccess().getAbstractAssignment_0(), "rule__ClassDeclaration__AbstractAssignment_0");
82 builder.put(grammarAccess.getClassDeclarationAccess().getNameAssignment_2(), "rule__ClassDeclaration__NameAssignment_2"); 87 builder.put(grammarAccess.getClassDeclarationAccess().getNameAssignment_2(), "rule__ClassDeclaration__NameAssignment_2");
83 builder.put(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_0_1_0(), "rule__ClassDeclaration__SuperTypesAssignment_3_0_1_0"); 88 builder.put(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_1(), "rule__ClassDeclaration__SuperTypesAssignment_3_1");
84 builder.put(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_0_1_1_1_0(), "rule__ClassDeclaration__SuperTypesAssignment_3_0_1_1_1_0"); 89 builder.put(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_2_1(), "rule__ClassDeclaration__SuperTypesAssignment_3_2_1");
85 builder.put(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_0_1_1_1_1_1(), "rule__ClassDeclaration__SuperTypesAssignment_3_0_1_1_1_1_1"); 90 builder.put(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsAssignment_4_0_1_0(), "rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0");
86 builder.put(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsAssignment_3_1(), "rule__ClassDeclaration__ReferenceDeclarationsAssignment_3_1");
87 builder.put(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsAssignment_4_1(), "rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_1");
88 builder.put(grammarAccess.getReferenceDeclarationAccess().getContainmentAssignment_0_0(), "rule__ReferenceDeclaration__ContainmentAssignment_0_0"); 91 builder.put(grammarAccess.getReferenceDeclarationAccess().getContainmentAssignment_0_0(), "rule__ReferenceDeclaration__ContainmentAssignment_0_0");
89 builder.put(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeAssignment_1(), "rule__ReferenceDeclaration__ReferenceTypeAssignment_1"); 92 builder.put(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeAssignment_1(), "rule__ReferenceDeclaration__ReferenceTypeAssignment_1");
90 builder.put(grammarAccess.getReferenceDeclarationAccess().getMultiplicityAssignment_3(), "rule__ReferenceDeclaration__MultiplicityAssignment_3"); 93 builder.put(grammarAccess.getReferenceDeclarationAccess().getMultiplicityAssignment_2_1(), "rule__ReferenceDeclaration__MultiplicityAssignment_2_1");
91 builder.put(grammarAccess.getReferenceDeclarationAccess().getNameAssignment_5(), "rule__ReferenceDeclaration__NameAssignment_5"); 94 builder.put(grammarAccess.getReferenceDeclarationAccess().getNameAssignment_3(), "rule__ReferenceDeclaration__NameAssignment_3");
92 builder.put(grammarAccess.getReferenceDeclarationAccess().getOppositeAssignment_6_1(), "rule__ReferenceDeclaration__OppositeAssignment_6_1"); 95 builder.put(grammarAccess.getReferenceDeclarationAccess().getOppositeAssignment_4_1(), "rule__ReferenceDeclaration__OppositeAssignment_4_1");
93 builder.put(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_0_0(), "rule__PredicateDefinition__ErrorAssignment_0_0_0"); 96 builder.put(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_0_0(), "rule__PredicateDefinition__ErrorAssignment_0_0_0");
94 builder.put(grammarAccess.getPredicateDefinitionAccess().getNameAssignment_1(), "rule__PredicateDefinition__NameAssignment_1"); 97 builder.put(grammarAccess.getPredicateDefinitionAccess().getNameAssignment_1(), "rule__PredicateDefinition__NameAssignment_1");
95 builder.put(grammarAccess.getPredicateDefinitionAccess().getParametersAssignment_3_0(), "rule__PredicateDefinition__ParametersAssignment_3_0"); 98 builder.put(grammarAccess.getPredicateDefinitionAccess().getParametersAssignment_3_0(), "rule__PredicateDefinition__ParametersAssignment_3_0");
@@ -105,6 +108,7 @@ public class ProblemParser extends AbstractContentAssistParser {
105 builder.put(grammarAccess.getAtomAccess().getTransitiveClosureAssignment_1(), "rule__Atom__TransitiveClosureAssignment_1"); 108 builder.put(grammarAccess.getAtomAccess().getTransitiveClosureAssignment_1(), "rule__Atom__TransitiveClosureAssignment_1");
106 builder.put(grammarAccess.getAtomAccess().getArgumentsAssignment_3_0(), "rule__Atom__ArgumentsAssignment_3_0"); 109 builder.put(grammarAccess.getAtomAccess().getArgumentsAssignment_3_0(), "rule__Atom__ArgumentsAssignment_3_0");
107 builder.put(grammarAccess.getAtomAccess().getArgumentsAssignment_3_1_1(), "rule__Atom__ArgumentsAssignment_3_1_1"); 110 builder.put(grammarAccess.getAtomAccess().getArgumentsAssignment_3_1_1(), "rule__Atom__ArgumentsAssignment_3_1_1");
111 builder.put(grammarAccess.getArgumentAccess().getVariableAssignment(), "rule__Argument__VariableAssignment");
108 builder.put(grammarAccess.getAssertionAccess().getRelationAssignment_0_0_0(), "rule__Assertion__RelationAssignment_0_0_0"); 112 builder.put(grammarAccess.getAssertionAccess().getRelationAssignment_0_0_0(), "rule__Assertion__RelationAssignment_0_0_0");
109 builder.put(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_0_2_0(), "rule__Assertion__ArgumentsAssignment_0_0_2_0"); 113 builder.put(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_0_2_0(), "rule__Assertion__ArgumentsAssignment_0_0_2_0");
110 builder.put(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_0_2_1_1(), "rule__Assertion__ArgumentsAssignment_0_0_2_1_1"); 114 builder.put(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_0_2_1_1(), "rule__Assertion__ArgumentsAssignment_0_0_2_1_1");
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblem.g b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblem.g
index 7dd99f99..01a6fd6e 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblem.g
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblem.g
@@ -65,9 +65,9 @@ ruleProblem
65 } 65 }
66 : 66 :
67 ( 67 (
68 { before(grammarAccess.getProblemAccess().getStatementsAssignment()); } 68 { before(grammarAccess.getProblemAccess().getGroup()); }
69 (rule__Problem__StatementsAssignment)* 69 (rule__Problem__Group__0)
70 { after(grammarAccess.getProblemAccess().getStatementsAssignment()); } 70 { after(grammarAccess.getProblemAccess().getGroup()); }
71 ) 71 )
72; 72;
73finally { 73finally {
@@ -299,6 +299,31 @@ finally {
299 restoreStackSize(stackSize); 299 restoreStackSize(stackSize);
300} 300}
301 301
302// Entry rule entryRuleArgument
303entryRuleArgument
304:
305{ before(grammarAccess.getArgumentRule()); }
306 ruleArgument
307{ after(grammarAccess.getArgumentRule()); }
308 EOF
309;
310
311// Rule Argument
312ruleArgument
313 @init {
314 int stackSize = keepStackSize();
315 }
316 :
317 (
318 { before(grammarAccess.getArgumentAccess().getVariableAssignment()); }
319 (rule__Argument__VariableAssignment)
320 { after(grammarAccess.getArgumentAccess().getVariableAssignment()); }
321 )
322;
323finally {
324 restoreStackSize(stackSize);
325}
326
302// Entry rule entryRuleAssertion 327// Entry rule entryRuleAssertion
303entryRuleAssertion 328entryRuleAssertion
304: 329:
@@ -399,6 +424,56 @@ finally {
399 restoreStackSize(stackSize); 424 restoreStackSize(stackSize);
400} 425}
401 426
427// Entry rule entryRuleDefiniteMultiplicity
428entryRuleDefiniteMultiplicity
429:
430{ before(grammarAccess.getDefiniteMultiplicityRule()); }
431 ruleDefiniteMultiplicity
432{ after(grammarAccess.getDefiniteMultiplicityRule()); }
433 EOF
434;
435
436// Rule DefiniteMultiplicity
437ruleDefiniteMultiplicity
438 @init {
439 int stackSize = keepStackSize();
440 }
441 :
442 (
443 { before(grammarAccess.getDefiniteMultiplicityAccess().getAlternatives()); }
444 (rule__DefiniteMultiplicity__Alternatives)
445 { after(grammarAccess.getDefiniteMultiplicityAccess().getAlternatives()); }
446 )
447;
448finally {
449 restoreStackSize(stackSize);
450}
451
452// Entry rule entryRuleUnboundedMultiplicity
453entryRuleUnboundedMultiplicity
454:
455{ before(grammarAccess.getUnboundedMultiplicityRule()); }
456 ruleUnboundedMultiplicity
457{ after(grammarAccess.getUnboundedMultiplicityRule()); }
458 EOF
459;
460
461// Rule UnboundedMultiplicity
462ruleUnboundedMultiplicity
463 @init {
464 int stackSize = keepStackSize();
465 }
466 :
467 (
468 { before(grammarAccess.getUnboundedMultiplicityAccess().getUnboundedMultiplicityAction()); }
469 ()
470 { after(grammarAccess.getUnboundedMultiplicityAccess().getUnboundedMultiplicityAction()); }
471 )
472;
473finally {
474 restoreStackSize(stackSize);
475}
476
402// Entry rule entryRuleRangeMultiplicity 477// Entry rule entryRuleRangeMultiplicity
403entryRuleRangeMultiplicity 478entryRuleRangeMultiplicity
404: 479:
@@ -490,9 +565,9 @@ ruleQualifiedName
490 } 565 }
491 : 566 :
492 ( 567 (
493 { before(grammarAccess.getQualifiedNameAccess().getGroup()); } 568 { before(grammarAccess.getQualifiedNameAccess().getAlternatives()); }
494 (rule__QualifiedName__Group__0) 569 (rule__QualifiedName__Alternatives)
495 { after(grammarAccess.getQualifiedNameAccess().getGroup()); } 570 { after(grammarAccess.getQualifiedNameAccess().getAlternatives()); }
496 ) 571 )
497; 572;
498finally { 573finally {
@@ -564,42 +639,21 @@ finally {
564 restoreStackSize(stackSize); 639 restoreStackSize(stackSize);
565} 640}
566 641
567rule__ClassDeclaration__Alternatives_3 642rule__ClassDeclaration__Alternatives_4
568 @init { 643 @init {
569 int stackSize = keepStackSize(); 644 int stackSize = keepStackSize();
570 } 645 }
571: 646:
572 ( 647 (
573 { before(grammarAccess.getClassDeclarationAccess().getGroup_3_0()); } 648 { before(grammarAccess.getClassDeclarationAccess().getGroup_4_0()); }
574 (rule__ClassDeclaration__Group_3_0__0) 649 (rule__ClassDeclaration__Group_4_0__0)
575 { after(grammarAccess.getClassDeclarationAccess().getGroup_3_0()); } 650 { after(grammarAccess.getClassDeclarationAccess().getGroup_4_0()); }
576 ) 651 )
577 | 652 |
578 ( 653 (
579 { before(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsAssignment_3_1()); } 654 { before(grammarAccess.getClassDeclarationAccess().getFullStopKeyword_4_1()); }
580 (rule__ClassDeclaration__ReferenceDeclarationsAssignment_3_1) 655 '.'
581 { after(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsAssignment_3_1()); } 656 { after(grammarAccess.getClassDeclarationAccess().getFullStopKeyword_4_1()); }
582 )
583;
584finally {
585 restoreStackSize(stackSize);
586}
587
588rule__ClassDeclaration__Alternatives_3_0_1
589 @init {
590 int stackSize = keepStackSize();
591 }
592:
593 (
594 { before(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_0_1_0()); }
595 (rule__ClassDeclaration__SuperTypesAssignment_3_0_1_0)
596 { after(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_0_1_0()); }
597 )
598 |
599 (
600 { before(grammarAccess.getClassDeclarationAccess().getGroup_3_0_1_1()); }
601 (rule__ClassDeclaration__Group_3_0_1_1__0)
602 { after(grammarAccess.getClassDeclarationAccess().getGroup_3_0_1_1()); }
603 ) 657 )
604; 658;
605finally { 659finally {
@@ -717,15 +771,36 @@ rule__Multiplicity__Alternatives
717 } 771 }
718: 772:
719 ( 773 (
720 { before(grammarAccess.getMultiplicityAccess().getRangeMultiplicityParserRuleCall_0()); } 774 { before(grammarAccess.getMultiplicityAccess().getUnboundedMultiplicityParserRuleCall_0()); }
775 ruleUnboundedMultiplicity
776 { after(grammarAccess.getMultiplicityAccess().getUnboundedMultiplicityParserRuleCall_0()); }
777 )
778 |
779 (
780 { before(grammarAccess.getMultiplicityAccess().getDefiniteMultiplicityParserRuleCall_1()); }
781 ruleDefiniteMultiplicity
782 { after(grammarAccess.getMultiplicityAccess().getDefiniteMultiplicityParserRuleCall_1()); }
783 )
784;
785finally {
786 restoreStackSize(stackSize);
787}
788
789rule__DefiniteMultiplicity__Alternatives
790 @init {
791 int stackSize = keepStackSize();
792 }
793:
794 (
795 { before(grammarAccess.getDefiniteMultiplicityAccess().getRangeMultiplicityParserRuleCall_0()); }
721 ruleRangeMultiplicity 796 ruleRangeMultiplicity
722 { after(grammarAccess.getMultiplicityAccess().getRangeMultiplicityParserRuleCall_0()); } 797 { after(grammarAccess.getDefiniteMultiplicityAccess().getRangeMultiplicityParserRuleCall_0()); }
723 ) 798 )
724 | 799 |
725 ( 800 (
726 { before(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); } 801 { before(grammarAccess.getDefiniteMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); }
727 ruleExactMultiplicity 802 ruleExactMultiplicity
728 { after(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); } 803 { after(grammarAccess.getDefiniteMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); }
729 ) 804 )
730; 805;
731finally { 806finally {
@@ -753,6 +828,27 @@ finally {
753 restoreStackSize(stackSize); 828 restoreStackSize(stackSize);
754} 829}
755 830
831rule__QualifiedName__Alternatives
832 @init {
833 int stackSize = keepStackSize();
834 }
835:
836 (
837 { before(grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_0()); }
838 RULE_QUOTED_ID
839 { after(grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_0()); }
840 )
841 |
842 (
843 { before(grammarAccess.getQualifiedNameAccess().getGroup_1()); }
844 (rule__QualifiedName__Group_1__0)
845 { after(grammarAccess.getQualifiedNameAccess().getGroup_1()); }
846 )
847;
848finally {
849 restoreStackSize(stackSize);
850}
851
756rule__LogicValue__Alternatives 852rule__LogicValue__Alternatives
757 @init { 853 @init {
758 int stackSize = keepStackSize(); 854 int stackSize = keepStackSize();
@@ -801,296 +897,350 @@ finally {
801 restoreStackSize(stackSize); 897 restoreStackSize(stackSize);
802} 898}
803 899
804rule__ClassDeclaration__Group__0 900rule__Problem__Group__0
805 @init { 901 @init {
806 int stackSize = keepStackSize(); 902 int stackSize = keepStackSize();
807 } 903 }
808: 904:
809 rule__ClassDeclaration__Group__0__Impl 905 rule__Problem__Group__0__Impl
810 rule__ClassDeclaration__Group__1 906 rule__Problem__Group__1
811; 907;
812finally { 908finally {
813 restoreStackSize(stackSize); 909 restoreStackSize(stackSize);
814} 910}
815 911
816rule__ClassDeclaration__Group__0__Impl 912rule__Problem__Group__0__Impl
817 @init { 913 @init {
818 int stackSize = keepStackSize(); 914 int stackSize = keepStackSize();
819 } 915 }
820: 916:
821( 917(
822 { before(grammarAccess.getClassDeclarationAccess().getAbstractAssignment_0()); } 918 { before(grammarAccess.getProblemAccess().getGroup_0()); }
823 (rule__ClassDeclaration__AbstractAssignment_0)? 919 (rule__Problem__Group_0__0)?
824 { after(grammarAccess.getClassDeclarationAccess().getAbstractAssignment_0()); } 920 { after(grammarAccess.getProblemAccess().getGroup_0()); }
825) 921)
826; 922;
827finally { 923finally {
828 restoreStackSize(stackSize); 924 restoreStackSize(stackSize);
829} 925}
830 926
831rule__ClassDeclaration__Group__1 927rule__Problem__Group__1
832 @init { 928 @init {
833 int stackSize = keepStackSize(); 929 int stackSize = keepStackSize();
834 } 930 }
835: 931:
836 rule__ClassDeclaration__Group__1__Impl 932 rule__Problem__Group__1__Impl
837 rule__ClassDeclaration__Group__2
838; 933;
839finally { 934finally {
840 restoreStackSize(stackSize); 935 restoreStackSize(stackSize);
841} 936}
842 937
843rule__ClassDeclaration__Group__1__Impl 938rule__Problem__Group__1__Impl
844 @init { 939 @init {
845 int stackSize = keepStackSize(); 940 int stackSize = keepStackSize();
846 } 941 }
847: 942:
848( 943(
849 { before(grammarAccess.getClassDeclarationAccess().getClassKeyword_1()); } 944 { before(grammarAccess.getProblemAccess().getStatementsAssignment_1()); }
850 'class' 945 (rule__Problem__StatementsAssignment_1)*
851 { after(grammarAccess.getClassDeclarationAccess().getClassKeyword_1()); } 946 { after(grammarAccess.getProblemAccess().getStatementsAssignment_1()); }
852) 947)
853; 948;
854finally { 949finally {
855 restoreStackSize(stackSize); 950 restoreStackSize(stackSize);
856} 951}
857 952
858rule__ClassDeclaration__Group__2 953
954rule__Problem__Group_0__0
859 @init { 955 @init {
860 int stackSize = keepStackSize(); 956 int stackSize = keepStackSize();
861 } 957 }
862: 958:
863 rule__ClassDeclaration__Group__2__Impl 959 rule__Problem__Group_0__0__Impl
864 rule__ClassDeclaration__Group__3 960 rule__Problem__Group_0__1
865; 961;
866finally { 962finally {
867 restoreStackSize(stackSize); 963 restoreStackSize(stackSize);
868} 964}
869 965
870rule__ClassDeclaration__Group__2__Impl 966rule__Problem__Group_0__0__Impl
871 @init { 967 @init {
872 int stackSize = keepStackSize(); 968 int stackSize = keepStackSize();
873 } 969 }
874: 970:
875( 971(
876 { before(grammarAccess.getClassDeclarationAccess().getNameAssignment_2()); } 972 { before(grammarAccess.getProblemAccess().getProblemKeyword_0_0()); }
877 (rule__ClassDeclaration__NameAssignment_2) 973 'problem'
878 { after(grammarAccess.getClassDeclarationAccess().getNameAssignment_2()); } 974 { after(grammarAccess.getProblemAccess().getProblemKeyword_0_0()); }
879) 975)
880; 976;
881finally { 977finally {
882 restoreStackSize(stackSize); 978 restoreStackSize(stackSize);
883} 979}
884 980
885rule__ClassDeclaration__Group__3 981rule__Problem__Group_0__1
886 @init { 982 @init {
887 int stackSize = keepStackSize(); 983 int stackSize = keepStackSize();
888 } 984 }
889: 985:
890 rule__ClassDeclaration__Group__3__Impl 986 rule__Problem__Group_0__1__Impl
891 rule__ClassDeclaration__Group__4 987 rule__Problem__Group_0__2
892; 988;
893finally { 989finally {
894 restoreStackSize(stackSize); 990 restoreStackSize(stackSize);
895} 991}
896 992
897rule__ClassDeclaration__Group__3__Impl 993rule__Problem__Group_0__1__Impl
898 @init { 994 @init {
899 int stackSize = keepStackSize(); 995 int stackSize = keepStackSize();
900 } 996 }
901: 997:
902( 998(
903 { before(grammarAccess.getClassDeclarationAccess().getAlternatives_3()); } 999 { before(grammarAccess.getProblemAccess().getNameAssignment_0_1()); }
904 (rule__ClassDeclaration__Alternatives_3)? 1000 (rule__Problem__NameAssignment_0_1)
905 { after(grammarAccess.getClassDeclarationAccess().getAlternatives_3()); } 1001 { after(grammarAccess.getProblemAccess().getNameAssignment_0_1()); }
906) 1002)
907; 1003;
908finally { 1004finally {
909 restoreStackSize(stackSize); 1005 restoreStackSize(stackSize);
910} 1006}
911 1007
912rule__ClassDeclaration__Group__4 1008rule__Problem__Group_0__2
913 @init { 1009 @init {
914 int stackSize = keepStackSize(); 1010 int stackSize = keepStackSize();
915 } 1011 }
916: 1012:
917 rule__ClassDeclaration__Group__4__Impl 1013 rule__Problem__Group_0__2__Impl
918 rule__ClassDeclaration__Group__5
919; 1014;
920finally { 1015finally {
921 restoreStackSize(stackSize); 1016 restoreStackSize(stackSize);
922} 1017}
923 1018
924rule__ClassDeclaration__Group__4__Impl 1019rule__Problem__Group_0__2__Impl
925 @init { 1020 @init {
926 int stackSize = keepStackSize(); 1021 int stackSize = keepStackSize();
927 } 1022 }
928: 1023:
929( 1024(
930 { before(grammarAccess.getClassDeclarationAccess().getGroup_4()); } 1025 { before(grammarAccess.getProblemAccess().getFullStopKeyword_0_2()); }
931 (rule__ClassDeclaration__Group_4__0)* 1026 '.'
932 { after(grammarAccess.getClassDeclarationAccess().getGroup_4()); } 1027 { after(grammarAccess.getProblemAccess().getFullStopKeyword_0_2()); }
933) 1028)
934; 1029;
935finally { 1030finally {
936 restoreStackSize(stackSize); 1031 restoreStackSize(stackSize);
937} 1032}
938 1033
939rule__ClassDeclaration__Group__5 1034
1035rule__ClassDeclaration__Group__0
940 @init { 1036 @init {
941 int stackSize = keepStackSize(); 1037 int stackSize = keepStackSize();
942 } 1038 }
943: 1039:
944 rule__ClassDeclaration__Group__5__Impl 1040 rule__ClassDeclaration__Group__0__Impl
1041 rule__ClassDeclaration__Group__1
945; 1042;
946finally { 1043finally {
947 restoreStackSize(stackSize); 1044 restoreStackSize(stackSize);
948} 1045}
949 1046
950rule__ClassDeclaration__Group__5__Impl 1047rule__ClassDeclaration__Group__0__Impl
951 @init { 1048 @init {
952 int stackSize = keepStackSize(); 1049 int stackSize = keepStackSize();
953 } 1050 }
954: 1051:
955( 1052(
956 { before(grammarAccess.getClassDeclarationAccess().getFullStopKeyword_5()); } 1053 { before(grammarAccess.getClassDeclarationAccess().getAbstractAssignment_0()); }
957 '.' 1054 (rule__ClassDeclaration__AbstractAssignment_0)?
958 { after(grammarAccess.getClassDeclarationAccess().getFullStopKeyword_5()); } 1055 { after(grammarAccess.getClassDeclarationAccess().getAbstractAssignment_0()); }
959) 1056)
960; 1057;
961finally { 1058finally {
962 restoreStackSize(stackSize); 1059 restoreStackSize(stackSize);
963} 1060}
964 1061
1062rule__ClassDeclaration__Group__1
1063 @init {
1064 int stackSize = keepStackSize();
1065 }
1066:
1067 rule__ClassDeclaration__Group__1__Impl
1068 rule__ClassDeclaration__Group__2
1069;
1070finally {
1071 restoreStackSize(stackSize);
1072}
965 1073
966rule__ClassDeclaration__Group_3_0__0 1074rule__ClassDeclaration__Group__1__Impl
967 @init { 1075 @init {
968 int stackSize = keepStackSize(); 1076 int stackSize = keepStackSize();
969 } 1077 }
970: 1078:
971 rule__ClassDeclaration__Group_3_0__0__Impl 1079(
972 rule__ClassDeclaration__Group_3_0__1 1080 { before(grammarAccess.getClassDeclarationAccess().getClassKeyword_1()); }
1081 'class'
1082 { after(grammarAccess.getClassDeclarationAccess().getClassKeyword_1()); }
1083)
973; 1084;
974finally { 1085finally {
975 restoreStackSize(stackSize); 1086 restoreStackSize(stackSize);
976} 1087}
977 1088
978rule__ClassDeclaration__Group_3_0__0__Impl 1089rule__ClassDeclaration__Group__2
1090 @init {
1091 int stackSize = keepStackSize();
1092 }
1093:
1094 rule__ClassDeclaration__Group__2__Impl
1095 rule__ClassDeclaration__Group__3
1096;
1097finally {
1098 restoreStackSize(stackSize);
1099}
1100
1101rule__ClassDeclaration__Group__2__Impl
979 @init { 1102 @init {
980 int stackSize = keepStackSize(); 1103 int stackSize = keepStackSize();
981 } 1104 }
982: 1105:
983( 1106(
984 { before(grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0_0()); } 1107 { before(grammarAccess.getClassDeclarationAccess().getNameAssignment_2()); }
985 'extends' 1108 (rule__ClassDeclaration__NameAssignment_2)
986 { after(grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0_0()); } 1109 { after(grammarAccess.getClassDeclarationAccess().getNameAssignment_2()); }
987) 1110)
988; 1111;
989finally { 1112finally {
990 restoreStackSize(stackSize); 1113 restoreStackSize(stackSize);
991} 1114}
992 1115
993rule__ClassDeclaration__Group_3_0__1 1116rule__ClassDeclaration__Group__3
994 @init { 1117 @init {
995 int stackSize = keepStackSize(); 1118 int stackSize = keepStackSize();
996 } 1119 }
997: 1120:
998 rule__ClassDeclaration__Group_3_0__1__Impl 1121 rule__ClassDeclaration__Group__3__Impl
1122 rule__ClassDeclaration__Group__4
999; 1123;
1000finally { 1124finally {
1001 restoreStackSize(stackSize); 1125 restoreStackSize(stackSize);
1002} 1126}
1003 1127
1004rule__ClassDeclaration__Group_3_0__1__Impl 1128rule__ClassDeclaration__Group__3__Impl
1005 @init { 1129 @init {
1006 int stackSize = keepStackSize(); 1130 int stackSize = keepStackSize();
1007 } 1131 }
1008: 1132:
1009( 1133(
1010 { before(grammarAccess.getClassDeclarationAccess().getAlternatives_3_0_1()); } 1134 { before(grammarAccess.getClassDeclarationAccess().getGroup_3()); }
1011 (rule__ClassDeclaration__Alternatives_3_0_1) 1135 (rule__ClassDeclaration__Group_3__0)?
1012 { after(grammarAccess.getClassDeclarationAccess().getAlternatives_3_0_1()); } 1136 { after(grammarAccess.getClassDeclarationAccess().getGroup_3()); }
1013) 1137)
1014; 1138;
1015finally { 1139finally {
1016 restoreStackSize(stackSize); 1140 restoreStackSize(stackSize);
1017} 1141}
1018 1142
1143rule__ClassDeclaration__Group__4
1144 @init {
1145 int stackSize = keepStackSize();
1146 }
1147:
1148 rule__ClassDeclaration__Group__4__Impl
1149;
1150finally {
1151 restoreStackSize(stackSize);
1152}
1019 1153
1020rule__ClassDeclaration__Group_3_0_1_1__0 1154rule__ClassDeclaration__Group__4__Impl
1021 @init { 1155 @init {
1022 int stackSize = keepStackSize(); 1156 int stackSize = keepStackSize();
1023 } 1157 }
1024: 1158:
1025 rule__ClassDeclaration__Group_3_0_1_1__0__Impl 1159(
1026 rule__ClassDeclaration__Group_3_0_1_1__1 1160 { before(grammarAccess.getClassDeclarationAccess().getAlternatives_4()); }
1161 (rule__ClassDeclaration__Alternatives_4)
1162 { after(grammarAccess.getClassDeclarationAccess().getAlternatives_4()); }
1163)
1027; 1164;
1028finally { 1165finally {
1029 restoreStackSize(stackSize); 1166 restoreStackSize(stackSize);
1030} 1167}
1031 1168
1032rule__ClassDeclaration__Group_3_0_1_1__0__Impl 1169
1170rule__ClassDeclaration__Group_3__0
1171 @init {
1172 int stackSize = keepStackSize();
1173 }
1174:
1175 rule__ClassDeclaration__Group_3__0__Impl
1176 rule__ClassDeclaration__Group_3__1
1177;
1178finally {
1179 restoreStackSize(stackSize);
1180}
1181
1182rule__ClassDeclaration__Group_3__0__Impl
1033 @init { 1183 @init {
1034 int stackSize = keepStackSize(); 1184 int stackSize = keepStackSize();
1035 } 1185 }
1036: 1186:
1037( 1187(
1038 { before(grammarAccess.getClassDeclarationAccess().getLeftSquareBracketKeyword_3_0_1_1_0()); } 1188 { before(grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0()); }
1039 '[' 1189 'extends'
1040 { after(grammarAccess.getClassDeclarationAccess().getLeftSquareBracketKeyword_3_0_1_1_0()); } 1190 { after(grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0()); }
1041) 1191)
1042; 1192;
1043finally { 1193finally {
1044 restoreStackSize(stackSize); 1194 restoreStackSize(stackSize);
1045} 1195}
1046 1196
1047rule__ClassDeclaration__Group_3_0_1_1__1 1197rule__ClassDeclaration__Group_3__1
1048 @init { 1198 @init {
1049 int stackSize = keepStackSize(); 1199 int stackSize = keepStackSize();
1050 } 1200 }
1051: 1201:
1052 rule__ClassDeclaration__Group_3_0_1_1__1__Impl 1202 rule__ClassDeclaration__Group_3__1__Impl
1053 rule__ClassDeclaration__Group_3_0_1_1__2 1203 rule__ClassDeclaration__Group_3__2
1054; 1204;
1055finally { 1205finally {
1056 restoreStackSize(stackSize); 1206 restoreStackSize(stackSize);
1057} 1207}
1058 1208
1059rule__ClassDeclaration__Group_3_0_1_1__1__Impl 1209rule__ClassDeclaration__Group_3__1__Impl
1060 @init { 1210 @init {
1061 int stackSize = keepStackSize(); 1211 int stackSize = keepStackSize();
1062 } 1212 }
1063: 1213:
1064( 1214(
1065 { before(grammarAccess.getClassDeclarationAccess().getGroup_3_0_1_1_1()); } 1215 { before(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_1()); }
1066 (rule__ClassDeclaration__Group_3_0_1_1_1__0)? 1216 (rule__ClassDeclaration__SuperTypesAssignment_3_1)
1067 { after(grammarAccess.getClassDeclarationAccess().getGroup_3_0_1_1_1()); } 1217 { after(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_1()); }
1068) 1218)
1069; 1219;
1070finally { 1220finally {
1071 restoreStackSize(stackSize); 1221 restoreStackSize(stackSize);
1072} 1222}
1073 1223
1074rule__ClassDeclaration__Group_3_0_1_1__2 1224rule__ClassDeclaration__Group_3__2
1075 @init { 1225 @init {
1076 int stackSize = keepStackSize(); 1226 int stackSize = keepStackSize();
1077 } 1227 }
1078: 1228:
1079 rule__ClassDeclaration__Group_3_0_1_1__2__Impl 1229 rule__ClassDeclaration__Group_3__2__Impl
1080; 1230;
1081finally { 1231finally {
1082 restoreStackSize(stackSize); 1232 restoreStackSize(stackSize);
1083} 1233}
1084 1234
1085rule__ClassDeclaration__Group_3_0_1_1__2__Impl 1235rule__ClassDeclaration__Group_3__2__Impl
1086 @init { 1236 @init {
1087 int stackSize = keepStackSize(); 1237 int stackSize = keepStackSize();
1088 } 1238 }
1089: 1239:
1090( 1240(
1091 { before(grammarAccess.getClassDeclarationAccess().getRightSquareBracketKeyword_3_0_1_1_2()); } 1241 { before(grammarAccess.getClassDeclarationAccess().getGroup_3_2()); }
1092 ']' 1242 (rule__ClassDeclaration__Group_3_2__0)*
1093 { after(grammarAccess.getClassDeclarationAccess().getRightSquareBracketKeyword_3_0_1_1_2()); } 1243 { after(grammarAccess.getClassDeclarationAccess().getGroup_3_2()); }
1094) 1244)
1095; 1245;
1096finally { 1246finally {
@@ -1098,53 +1248,53 @@ finally {
1098} 1248}
1099 1249
1100 1250
1101rule__ClassDeclaration__Group_3_0_1_1_1__0 1251rule__ClassDeclaration__Group_3_2__0
1102 @init { 1252 @init {
1103 int stackSize = keepStackSize(); 1253 int stackSize = keepStackSize();
1104 } 1254 }
1105: 1255:
1106 rule__ClassDeclaration__Group_3_0_1_1_1__0__Impl 1256 rule__ClassDeclaration__Group_3_2__0__Impl
1107 rule__ClassDeclaration__Group_3_0_1_1_1__1 1257 rule__ClassDeclaration__Group_3_2__1
1108; 1258;
1109finally { 1259finally {
1110 restoreStackSize(stackSize); 1260 restoreStackSize(stackSize);
1111} 1261}
1112 1262
1113rule__ClassDeclaration__Group_3_0_1_1_1__0__Impl 1263rule__ClassDeclaration__Group_3_2__0__Impl
1114 @init { 1264 @init {
1115 int stackSize = keepStackSize(); 1265 int stackSize = keepStackSize();
1116 } 1266 }
1117: 1267:
1118( 1268(
1119 { before(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_0_1_1_1_0()); } 1269 { before(grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_2_0()); }
1120 (rule__ClassDeclaration__SuperTypesAssignment_3_0_1_1_1_0) 1270 ','
1121 { after(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_0_1_1_1_0()); } 1271 { after(grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_2_0()); }
1122) 1272)
1123; 1273;
1124finally { 1274finally {
1125 restoreStackSize(stackSize); 1275 restoreStackSize(stackSize);
1126} 1276}
1127 1277
1128rule__ClassDeclaration__Group_3_0_1_1_1__1 1278rule__ClassDeclaration__Group_3_2__1
1129 @init { 1279 @init {
1130 int stackSize = keepStackSize(); 1280 int stackSize = keepStackSize();
1131 } 1281 }
1132: 1282:
1133 rule__ClassDeclaration__Group_3_0_1_1_1__1__Impl 1283 rule__ClassDeclaration__Group_3_2__1__Impl
1134; 1284;
1135finally { 1285finally {
1136 restoreStackSize(stackSize); 1286 restoreStackSize(stackSize);
1137} 1287}
1138 1288
1139rule__ClassDeclaration__Group_3_0_1_1_1__1__Impl 1289rule__ClassDeclaration__Group_3_2__1__Impl
1140 @init { 1290 @init {
1141 int stackSize = keepStackSize(); 1291 int stackSize = keepStackSize();
1142 } 1292 }
1143: 1293:
1144( 1294(
1145 { before(grammarAccess.getClassDeclarationAccess().getGroup_3_0_1_1_1_1()); } 1295 { before(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_2_1()); }
1146 (rule__ClassDeclaration__Group_3_0_1_1_1_1__0)* 1296 (rule__ClassDeclaration__SuperTypesAssignment_3_2_1)
1147 { after(grammarAccess.getClassDeclarationAccess().getGroup_3_0_1_1_1_1()); } 1297 { after(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_2_1()); }
1148) 1298)
1149; 1299;
1150finally { 1300finally {
@@ -1152,53 +1302,80 @@ finally {
1152} 1302}
1153 1303
1154 1304
1155rule__ClassDeclaration__Group_3_0_1_1_1_1__0 1305rule__ClassDeclaration__Group_4_0__0
1156 @init { 1306 @init {
1157 int stackSize = keepStackSize(); 1307 int stackSize = keepStackSize();
1158 } 1308 }
1159: 1309:
1160 rule__ClassDeclaration__Group_3_0_1_1_1_1__0__Impl 1310 rule__ClassDeclaration__Group_4_0__0__Impl
1161 rule__ClassDeclaration__Group_3_0_1_1_1_1__1 1311 rule__ClassDeclaration__Group_4_0__1
1162; 1312;
1163finally { 1313finally {
1164 restoreStackSize(stackSize); 1314 restoreStackSize(stackSize);
1165} 1315}
1166 1316
1167rule__ClassDeclaration__Group_3_0_1_1_1_1__0__Impl 1317rule__ClassDeclaration__Group_4_0__0__Impl
1168 @init { 1318 @init {
1169 int stackSize = keepStackSize(); 1319 int stackSize = keepStackSize();
1170 } 1320 }
1171: 1321:
1172( 1322(
1173 { before(grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_0_1_1_1_1_0()); } 1323 { before(grammarAccess.getClassDeclarationAccess().getLeftCurlyBracketKeyword_4_0_0()); }
1174 ',' 1324 '{'
1175 { after(grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_0_1_1_1_1_0()); } 1325 { after(grammarAccess.getClassDeclarationAccess().getLeftCurlyBracketKeyword_4_0_0()); }
1326)
1327;
1328finally {
1329 restoreStackSize(stackSize);
1330}
1331
1332rule__ClassDeclaration__Group_4_0__1
1333 @init {
1334 int stackSize = keepStackSize();
1335 }
1336:
1337 rule__ClassDeclaration__Group_4_0__1__Impl
1338 rule__ClassDeclaration__Group_4_0__2
1339;
1340finally {
1341 restoreStackSize(stackSize);
1342}
1343
1344rule__ClassDeclaration__Group_4_0__1__Impl
1345 @init {
1346 int stackSize = keepStackSize();
1347 }
1348:
1349(
1350 { before(grammarAccess.getClassDeclarationAccess().getGroup_4_0_1()); }
1351 (rule__ClassDeclaration__Group_4_0_1__0)*
1352 { after(grammarAccess.getClassDeclarationAccess().getGroup_4_0_1()); }
1176) 1353)
1177; 1354;
1178finally { 1355finally {
1179 restoreStackSize(stackSize); 1356 restoreStackSize(stackSize);
1180} 1357}
1181 1358
1182rule__ClassDeclaration__Group_3_0_1_1_1_1__1 1359rule__ClassDeclaration__Group_4_0__2
1183 @init { 1360 @init {
1184 int stackSize = keepStackSize(); 1361 int stackSize = keepStackSize();
1185 } 1362 }
1186: 1363:
1187 rule__ClassDeclaration__Group_3_0_1_1_1_1__1__Impl 1364 rule__ClassDeclaration__Group_4_0__2__Impl
1188; 1365;
1189finally { 1366finally {
1190 restoreStackSize(stackSize); 1367 restoreStackSize(stackSize);
1191} 1368}
1192 1369
1193rule__ClassDeclaration__Group_3_0_1_1_1_1__1__Impl 1370rule__ClassDeclaration__Group_4_0__2__Impl
1194 @init { 1371 @init {
1195 int stackSize = keepStackSize(); 1372 int stackSize = keepStackSize();
1196 } 1373 }
1197: 1374:
1198( 1375(
1199 { before(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_0_1_1_1_1_1()); } 1376 { before(grammarAccess.getClassDeclarationAccess().getRightCurlyBracketKeyword_4_0_2()); }
1200 (rule__ClassDeclaration__SuperTypesAssignment_3_0_1_1_1_1_1) 1377 '}'
1201 { after(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_0_1_1_1_1_1()); } 1378 { after(grammarAccess.getClassDeclarationAccess().getRightCurlyBracketKeyword_4_0_2()); }
1202) 1379)
1203; 1380;
1204finally { 1381finally {
@@ -1206,53 +1383,53 @@ finally {
1206} 1383}
1207 1384
1208 1385
1209rule__ClassDeclaration__Group_4__0 1386rule__ClassDeclaration__Group_4_0_1__0
1210 @init { 1387 @init {
1211 int stackSize = keepStackSize(); 1388 int stackSize = keepStackSize();
1212 } 1389 }
1213: 1390:
1214 rule__ClassDeclaration__Group_4__0__Impl 1391 rule__ClassDeclaration__Group_4_0_1__0__Impl
1215 rule__ClassDeclaration__Group_4__1 1392 rule__ClassDeclaration__Group_4_0_1__1
1216; 1393;
1217finally { 1394finally {
1218 restoreStackSize(stackSize); 1395 restoreStackSize(stackSize);
1219} 1396}
1220 1397
1221rule__ClassDeclaration__Group_4__0__Impl 1398rule__ClassDeclaration__Group_4_0_1__0__Impl
1222 @init { 1399 @init {
1223 int stackSize = keepStackSize(); 1400 int stackSize = keepStackSize();
1224 } 1401 }
1225: 1402:
1226( 1403(
1227 { before(grammarAccess.getClassDeclarationAccess().getCommaKeyword_4_0()); } 1404 { before(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsAssignment_4_0_1_0()); }
1228 ',' 1405 (rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0)
1229 { after(grammarAccess.getClassDeclarationAccess().getCommaKeyword_4_0()); } 1406 { after(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsAssignment_4_0_1_0()); }
1230) 1407)
1231; 1408;
1232finally { 1409finally {
1233 restoreStackSize(stackSize); 1410 restoreStackSize(stackSize);
1234} 1411}
1235 1412
1236rule__ClassDeclaration__Group_4__1 1413rule__ClassDeclaration__Group_4_0_1__1
1237 @init { 1414 @init {
1238 int stackSize = keepStackSize(); 1415 int stackSize = keepStackSize();
1239 } 1416 }
1240: 1417:
1241 rule__ClassDeclaration__Group_4__1__Impl 1418 rule__ClassDeclaration__Group_4_0_1__1__Impl
1242; 1419;
1243finally { 1420finally {
1244 restoreStackSize(stackSize); 1421 restoreStackSize(stackSize);
1245} 1422}
1246 1423
1247rule__ClassDeclaration__Group_4__1__Impl 1424rule__ClassDeclaration__Group_4_0_1__1__Impl
1248 @init { 1425 @init {
1249 int stackSize = keepStackSize(); 1426 int stackSize = keepStackSize();
1250 } 1427 }
1251: 1428:
1252( 1429(
1253 { before(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsAssignment_4_1()); } 1430 { before(grammarAccess.getClassDeclarationAccess().getSemicolonKeyword_4_0_1_1()); }
1254 (rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_1) 1431 (';')?
1255 { after(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsAssignment_4_1()); } 1432 { after(grammarAccess.getClassDeclarationAccess().getSemicolonKeyword_4_0_1_1()); }
1256) 1433)
1257; 1434;
1258finally { 1435finally {
@@ -1332,9 +1509,9 @@ rule__ReferenceDeclaration__Group__2__Impl
1332 } 1509 }
1333: 1510:
1334( 1511(
1335 { before(grammarAccess.getReferenceDeclarationAccess().getLeftSquareBracketKeyword_2()); } 1512 { before(grammarAccess.getReferenceDeclarationAccess().getGroup_2()); }
1336 '[' 1513 (rule__ReferenceDeclaration__Group_2__0)?
1337 { after(grammarAccess.getReferenceDeclarationAccess().getLeftSquareBracketKeyword_2()); } 1514 { after(grammarAccess.getReferenceDeclarationAccess().getGroup_2()); }
1338) 1515)
1339; 1516;
1340finally { 1517finally {
@@ -1359,9 +1536,9 @@ rule__ReferenceDeclaration__Group__3__Impl
1359 } 1536 }
1360: 1537:
1361( 1538(
1362 { before(grammarAccess.getReferenceDeclarationAccess().getMultiplicityAssignment_3()); } 1539 { before(grammarAccess.getReferenceDeclarationAccess().getNameAssignment_3()); }
1363 (rule__ReferenceDeclaration__MultiplicityAssignment_3) 1540 (rule__ReferenceDeclaration__NameAssignment_3)
1364 { after(grammarAccess.getReferenceDeclarationAccess().getMultiplicityAssignment_3()); } 1541 { after(grammarAccess.getReferenceDeclarationAccess().getNameAssignment_3()); }
1365) 1542)
1366; 1543;
1367finally { 1544finally {
@@ -1374,7 +1551,6 @@ rule__ReferenceDeclaration__Group__4
1374 } 1551 }
1375: 1552:
1376 rule__ReferenceDeclaration__Group__4__Impl 1553 rule__ReferenceDeclaration__Group__4__Impl
1377 rule__ReferenceDeclaration__Group__5
1378; 1554;
1379finally { 1555finally {
1380 restoreStackSize(stackSize); 1556 restoreStackSize(stackSize);
@@ -1386,116 +1562,144 @@ rule__ReferenceDeclaration__Group__4__Impl
1386 } 1562 }
1387: 1563:
1388( 1564(
1389 { before(grammarAccess.getReferenceDeclarationAccess().getRightSquareBracketKeyword_4()); } 1565 { before(grammarAccess.getReferenceDeclarationAccess().getGroup_4()); }
1390 ']' 1566 (rule__ReferenceDeclaration__Group_4__0)?
1391 { after(grammarAccess.getReferenceDeclarationAccess().getRightSquareBracketKeyword_4()); } 1567 { after(grammarAccess.getReferenceDeclarationAccess().getGroup_4()); }
1392) 1568)
1393; 1569;
1394finally { 1570finally {
1395 restoreStackSize(stackSize); 1571 restoreStackSize(stackSize);
1396} 1572}
1397 1573
1398rule__ReferenceDeclaration__Group__5 1574
1575rule__ReferenceDeclaration__Group_2__0
1399 @init { 1576 @init {
1400 int stackSize = keepStackSize(); 1577 int stackSize = keepStackSize();
1401 } 1578 }
1402: 1579:
1403 rule__ReferenceDeclaration__Group__5__Impl 1580 rule__ReferenceDeclaration__Group_2__0__Impl
1404 rule__ReferenceDeclaration__Group__6 1581 rule__ReferenceDeclaration__Group_2__1
1405; 1582;
1406finally { 1583finally {
1407 restoreStackSize(stackSize); 1584 restoreStackSize(stackSize);
1408} 1585}
1409 1586
1410rule__ReferenceDeclaration__Group__5__Impl 1587rule__ReferenceDeclaration__Group_2__0__Impl
1411 @init { 1588 @init {
1412 int stackSize = keepStackSize(); 1589 int stackSize = keepStackSize();
1413 } 1590 }
1414: 1591:
1415( 1592(
1416 { before(grammarAccess.getReferenceDeclarationAccess().getNameAssignment_5()); } 1593 { before(grammarAccess.getReferenceDeclarationAccess().getLeftSquareBracketKeyword_2_0()); }
1417 (rule__ReferenceDeclaration__NameAssignment_5) 1594 '['
1418 { after(grammarAccess.getReferenceDeclarationAccess().getNameAssignment_5()); } 1595 { after(grammarAccess.getReferenceDeclarationAccess().getLeftSquareBracketKeyword_2_0()); }
1419) 1596)
1420; 1597;
1421finally { 1598finally {
1422 restoreStackSize(stackSize); 1599 restoreStackSize(stackSize);
1423} 1600}
1424 1601
1425rule__ReferenceDeclaration__Group__6 1602rule__ReferenceDeclaration__Group_2__1
1426 @init { 1603 @init {
1427 int stackSize = keepStackSize(); 1604 int stackSize = keepStackSize();
1428 } 1605 }
1429: 1606:
1430 rule__ReferenceDeclaration__Group__6__Impl 1607 rule__ReferenceDeclaration__Group_2__1__Impl
1608 rule__ReferenceDeclaration__Group_2__2
1431; 1609;
1432finally { 1610finally {
1433 restoreStackSize(stackSize); 1611 restoreStackSize(stackSize);
1434} 1612}
1435 1613
1436rule__ReferenceDeclaration__Group__6__Impl 1614rule__ReferenceDeclaration__Group_2__1__Impl
1437 @init { 1615 @init {
1438 int stackSize = keepStackSize(); 1616 int stackSize = keepStackSize();
1439 } 1617 }
1440: 1618:
1441( 1619(
1442 { before(grammarAccess.getReferenceDeclarationAccess().getGroup_6()); } 1620 { before(grammarAccess.getReferenceDeclarationAccess().getMultiplicityAssignment_2_1()); }
1443 (rule__ReferenceDeclaration__Group_6__0)? 1621 (rule__ReferenceDeclaration__MultiplicityAssignment_2_1)
1444 { after(grammarAccess.getReferenceDeclarationAccess().getGroup_6()); } 1622 { after(grammarAccess.getReferenceDeclarationAccess().getMultiplicityAssignment_2_1()); }
1445) 1623)
1446; 1624;
1447finally { 1625finally {
1448 restoreStackSize(stackSize); 1626 restoreStackSize(stackSize);
1449} 1627}
1450 1628
1629rule__ReferenceDeclaration__Group_2__2
1630 @init {
1631 int stackSize = keepStackSize();
1632 }
1633:
1634 rule__ReferenceDeclaration__Group_2__2__Impl
1635;
1636finally {
1637 restoreStackSize(stackSize);
1638}
1451 1639
1452rule__ReferenceDeclaration__Group_6__0 1640rule__ReferenceDeclaration__Group_2__2__Impl
1453 @init { 1641 @init {
1454 int stackSize = keepStackSize(); 1642 int stackSize = keepStackSize();
1455 } 1643 }
1456: 1644:
1457 rule__ReferenceDeclaration__Group_6__0__Impl 1645(
1458 rule__ReferenceDeclaration__Group_6__1 1646 { before(grammarAccess.getReferenceDeclarationAccess().getRightSquareBracketKeyword_2_2()); }
1647 ']'
1648 { after(grammarAccess.getReferenceDeclarationAccess().getRightSquareBracketKeyword_2_2()); }
1649)
1459; 1650;
1460finally { 1651finally {
1461 restoreStackSize(stackSize); 1652 restoreStackSize(stackSize);
1462} 1653}
1463 1654
1464rule__ReferenceDeclaration__Group_6__0__Impl 1655
1656rule__ReferenceDeclaration__Group_4__0
1657 @init {
1658 int stackSize = keepStackSize();
1659 }
1660:
1661 rule__ReferenceDeclaration__Group_4__0__Impl
1662 rule__ReferenceDeclaration__Group_4__1
1663;
1664finally {
1665 restoreStackSize(stackSize);
1666}
1667
1668rule__ReferenceDeclaration__Group_4__0__Impl
1465 @init { 1669 @init {
1466 int stackSize = keepStackSize(); 1670 int stackSize = keepStackSize();
1467 } 1671 }
1468: 1672:
1469( 1673(
1470 { before(grammarAccess.getReferenceDeclarationAccess().getOppositeKeyword_6_0()); } 1674 { before(grammarAccess.getReferenceDeclarationAccess().getOppositeKeyword_4_0()); }
1471 'opposite' 1675 'opposite'
1472 { after(grammarAccess.getReferenceDeclarationAccess().getOppositeKeyword_6_0()); } 1676 { after(grammarAccess.getReferenceDeclarationAccess().getOppositeKeyword_4_0()); }
1473) 1677)
1474; 1678;
1475finally { 1679finally {
1476 restoreStackSize(stackSize); 1680 restoreStackSize(stackSize);
1477} 1681}
1478 1682
1479rule__ReferenceDeclaration__Group_6__1 1683rule__ReferenceDeclaration__Group_4__1
1480 @init { 1684 @init {
1481 int stackSize = keepStackSize(); 1685 int stackSize = keepStackSize();
1482 } 1686 }
1483: 1687:
1484 rule__ReferenceDeclaration__Group_6__1__Impl 1688 rule__ReferenceDeclaration__Group_4__1__Impl
1485; 1689;
1486finally { 1690finally {
1487 restoreStackSize(stackSize); 1691 restoreStackSize(stackSize);
1488} 1692}
1489 1693
1490rule__ReferenceDeclaration__Group_6__1__Impl 1694rule__ReferenceDeclaration__Group_4__1__Impl
1491 @init { 1695 @init {
1492 int stackSize = keepStackSize(); 1696 int stackSize = keepStackSize();
1493 } 1697 }
1494: 1698:
1495( 1699(
1496 { before(grammarAccess.getReferenceDeclarationAccess().getOppositeAssignment_6_1()); } 1700 { before(grammarAccess.getReferenceDeclarationAccess().getOppositeAssignment_4_1()); }
1497 (rule__ReferenceDeclaration__OppositeAssignment_6_1) 1701 (rule__ReferenceDeclaration__OppositeAssignment_4_1)
1498 { after(grammarAccess.getReferenceDeclarationAccess().getOppositeAssignment_6_1()); } 1702 { after(grammarAccess.getReferenceDeclarationAccess().getOppositeAssignment_4_1()); }
1499) 1703)
1500; 1704;
1501finally { 1705finally {
@@ -1872,9 +2076,9 @@ rule__PredicateDefinition__Group_5__0__Impl
1872 } 2076 }
1873: 2077:
1874( 2078(
1875 { before(grammarAccess.getPredicateDefinitionAccess().getColonEqualsSignKeyword_5_0()); } 2079 { before(grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_5_0()); }
1876 ':=' 2080 ':-'
1877 { after(grammarAccess.getPredicateDefinitionAccess().getColonEqualsSignKeyword_5_0()); } 2081 { after(grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_5_0()); }
1878) 2082)
1879; 2083;
1880finally { 2084finally {
@@ -3339,107 +3543,134 @@ finally {
3339} 3543}
3340 3544
3341 3545
3342rule__QualifiedName__Group__0 3546rule__QualifiedName__Group_1__0
3343 @init { 3547 @init {
3344 int stackSize = keepStackSize(); 3548 int stackSize = keepStackSize();
3345 } 3549 }
3346: 3550:
3347 rule__QualifiedName__Group__0__Impl 3551 rule__QualifiedName__Group_1__0__Impl
3348 rule__QualifiedName__Group__1 3552 rule__QualifiedName__Group_1__1
3349; 3553;
3350finally { 3554finally {
3351 restoreStackSize(stackSize); 3555 restoreStackSize(stackSize);
3352} 3556}
3353 3557
3354rule__QualifiedName__Group__0__Impl 3558rule__QualifiedName__Group_1__0__Impl
3355 @init { 3559 @init {
3356 int stackSize = keepStackSize(); 3560 int stackSize = keepStackSize();
3357 } 3561 }
3358: 3562:
3359( 3563(
3360 { before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0()); } 3564 { before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_0()); }
3361 RULE_ID 3565 RULE_ID
3362 { after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0()); } 3566 { after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_0()); }
3363) 3567)
3364; 3568;
3365finally { 3569finally {
3366 restoreStackSize(stackSize); 3570 restoreStackSize(stackSize);
3367} 3571}
3368 3572
3369rule__QualifiedName__Group__1 3573rule__QualifiedName__Group_1__1
3370 @init { 3574 @init {
3371 int stackSize = keepStackSize(); 3575 int stackSize = keepStackSize();
3372 } 3576 }
3373: 3577:
3374 rule__QualifiedName__Group__1__Impl 3578 rule__QualifiedName__Group_1__1__Impl
3579 rule__QualifiedName__Group_1__2
3375; 3580;
3376finally { 3581finally {
3377 restoreStackSize(stackSize); 3582 restoreStackSize(stackSize);
3378} 3583}
3379 3584
3380rule__QualifiedName__Group__1__Impl 3585rule__QualifiedName__Group_1__1__Impl
3381 @init { 3586 @init {
3382 int stackSize = keepStackSize(); 3587 int stackSize = keepStackSize();
3383 } 3588 }
3384: 3589:
3385( 3590(
3386 { before(grammarAccess.getQualifiedNameAccess().getGroup_1()); } 3591 { before(grammarAccess.getQualifiedNameAccess().getGroup_1_1()); }
3387 (rule__QualifiedName__Group_1__0)* 3592 (rule__QualifiedName__Group_1_1__0)*
3388 { after(grammarAccess.getQualifiedNameAccess().getGroup_1()); } 3593 { after(grammarAccess.getQualifiedNameAccess().getGroup_1_1()); }
3389) 3594)
3390; 3595;
3391finally { 3596finally {
3392 restoreStackSize(stackSize); 3597 restoreStackSize(stackSize);
3393} 3598}
3394 3599
3600rule__QualifiedName__Group_1__2
3601 @init {
3602 int stackSize = keepStackSize();
3603 }
3604:
3605 rule__QualifiedName__Group_1__2__Impl
3606;
3607finally {
3608 restoreStackSize(stackSize);
3609}
3395 3610
3396rule__QualifiedName__Group_1__0 3611rule__QualifiedName__Group_1__2__Impl
3397 @init { 3612 @init {
3398 int stackSize = keepStackSize(); 3613 int stackSize = keepStackSize();
3399 } 3614 }
3400: 3615:
3401 rule__QualifiedName__Group_1__0__Impl 3616(
3402 rule__QualifiedName__Group_1__1 3617 { before(grammarAccess.getQualifiedNameAccess().getGroup_1_2()); }
3618 (rule__QualifiedName__Group_1_2__0)?
3619 { after(grammarAccess.getQualifiedNameAccess().getGroup_1_2()); }
3620)
3403; 3621;
3404finally { 3622finally {
3405 restoreStackSize(stackSize); 3623 restoreStackSize(stackSize);
3406} 3624}
3407 3625
3408rule__QualifiedName__Group_1__0__Impl 3626
3627rule__QualifiedName__Group_1_1__0
3628 @init {
3629 int stackSize = keepStackSize();
3630 }
3631:
3632 rule__QualifiedName__Group_1_1__0__Impl
3633 rule__QualifiedName__Group_1_1__1
3634;
3635finally {
3636 restoreStackSize(stackSize);
3637}
3638
3639rule__QualifiedName__Group_1_1__0__Impl
3409 @init { 3640 @init {
3410 int stackSize = keepStackSize(); 3641 int stackSize = keepStackSize();
3411 } 3642 }
3412: 3643:
3413( 3644(
3414 { before(grammarAccess.getQualifiedNameAccess().getColonColonKeyword_1_0()); } 3645 { before(grammarAccess.getQualifiedNameAccess().getColonKeyword_1_1_0()); }
3415 '::' 3646 ':'
3416 { after(grammarAccess.getQualifiedNameAccess().getColonColonKeyword_1_0()); } 3647 { after(grammarAccess.getQualifiedNameAccess().getColonKeyword_1_1_0()); }
3417) 3648)
3418; 3649;
3419finally { 3650finally {
3420 restoreStackSize(stackSize); 3651 restoreStackSize(stackSize);
3421} 3652}
3422 3653
3423rule__QualifiedName__Group_1__1 3654rule__QualifiedName__Group_1_1__1
3424 @init { 3655 @init {
3425 int stackSize = keepStackSize(); 3656 int stackSize = keepStackSize();
3426 } 3657 }
3427: 3658:
3428 rule__QualifiedName__Group_1__1__Impl 3659 rule__QualifiedName__Group_1_1__1__Impl
3429; 3660;
3430finally { 3661finally {
3431 restoreStackSize(stackSize); 3662 restoreStackSize(stackSize);
3432} 3663}
3433 3664
3434rule__QualifiedName__Group_1__1__Impl 3665rule__QualifiedName__Group_1_1__1__Impl
3435 @init { 3666 @init {
3436 int stackSize = keepStackSize(); 3667 int stackSize = keepStackSize();
3437 } 3668 }
3438: 3669:
3439( 3670(
3440 { before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1()); } 3671 { before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1_1()); }
3441 RULE_ID 3672 RULE_ID
3442 { after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1()); } 3673 { after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1_1()); }
3443) 3674)
3444; 3675;
3445finally { 3676finally {
@@ -3447,136 +3678,171 @@ finally {
3447} 3678}
3448 3679
3449 3680
3450rule__Problem__StatementsAssignment 3681rule__QualifiedName__Group_1_2__0
3451 @init { 3682 @init {
3452 int stackSize = keepStackSize(); 3683 int stackSize = keepStackSize();
3453 } 3684 }
3454: 3685:
3455 ( 3686 rule__QualifiedName__Group_1_2__0__Impl
3456 { before(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0()); } 3687 rule__QualifiedName__Group_1_2__1
3457 ruleStatement
3458 { after(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0()); }
3459 )
3460; 3688;
3461finally { 3689finally {
3462 restoreStackSize(stackSize); 3690 restoreStackSize(stackSize);
3463} 3691}
3464 3692
3465rule__ClassDeclaration__AbstractAssignment_0 3693rule__QualifiedName__Group_1_2__0__Impl
3694 @init {
3695 int stackSize = keepStackSize();
3696 }
3697:
3698(
3699 { before(grammarAccess.getQualifiedNameAccess().getColonKeyword_1_2_0()); }
3700 ':'
3701 { after(grammarAccess.getQualifiedNameAccess().getColonKeyword_1_2_0()); }
3702)
3703;
3704finally {
3705 restoreStackSize(stackSize);
3706}
3707
3708rule__QualifiedName__Group_1_2__1
3709 @init {
3710 int stackSize = keepStackSize();
3711 }
3712:
3713 rule__QualifiedName__Group_1_2__1__Impl
3714;
3715finally {
3716 restoreStackSize(stackSize);
3717}
3718
3719rule__QualifiedName__Group_1_2__1__Impl
3720 @init {
3721 int stackSize = keepStackSize();
3722 }
3723:
3724(
3725 { before(grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1_2_1()); }
3726 RULE_QUOTED_ID
3727 { after(grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1_2_1()); }
3728)
3729;
3730finally {
3731 restoreStackSize(stackSize);
3732}
3733
3734
3735rule__Problem__NameAssignment_0_1
3466 @init { 3736 @init {
3467 int stackSize = keepStackSize(); 3737 int stackSize = keepStackSize();
3468 } 3738 }
3469: 3739:
3470 ( 3740 (
3471 { before(grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0()); } 3741 { before(grammarAccess.getProblemAccess().getNameIDTerminalRuleCall_0_1_0()); }
3472 ( 3742 RULE_ID
3473 { before(grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0()); } 3743 { after(grammarAccess.getProblemAccess().getNameIDTerminalRuleCall_0_1_0()); }
3474 'abstract'
3475 { after(grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0()); }
3476 )
3477 { after(grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0()); }
3478 ) 3744 )
3479; 3745;
3480finally { 3746finally {
3481 restoreStackSize(stackSize); 3747 restoreStackSize(stackSize);
3482} 3748}
3483 3749
3484rule__ClassDeclaration__NameAssignment_2 3750rule__Problem__StatementsAssignment_1
3485 @init { 3751 @init {
3486 int stackSize = keepStackSize(); 3752 int stackSize = keepStackSize();
3487 } 3753 }
3488: 3754:
3489 ( 3755 (
3490 { before(grammarAccess.getClassDeclarationAccess().getNameIDTerminalRuleCall_2_0()); } 3756 { before(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_1_0()); }
3491 RULE_ID 3757 ruleStatement
3492 { after(grammarAccess.getClassDeclarationAccess().getNameIDTerminalRuleCall_2_0()); } 3758 { after(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_1_0()); }
3493 ) 3759 )
3494; 3760;
3495finally { 3761finally {
3496 restoreStackSize(stackSize); 3762 restoreStackSize(stackSize);
3497} 3763}
3498 3764
3499rule__ClassDeclaration__SuperTypesAssignment_3_0_1_0 3765rule__ClassDeclaration__AbstractAssignment_0
3500 @init { 3766 @init {
3501 int stackSize = keepStackSize(); 3767 int stackSize = keepStackSize();
3502 } 3768 }
3503: 3769:
3504 ( 3770 (
3505 { before(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_0_1_0_0()); } 3771 { before(grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0()); }
3506 ( 3772 (
3507 { before(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationIDTerminalRuleCall_3_0_1_0_0_1()); } 3773 { before(grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0()); }
3508 RULE_ID 3774 'abstract'
3509 { after(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationIDTerminalRuleCall_3_0_1_0_0_1()); } 3775 { after(grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0()); }
3510 ) 3776 )
3511 { after(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_0_1_0_0()); } 3777 { after(grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0()); }
3512 ) 3778 )
3513; 3779;
3514finally { 3780finally {
3515 restoreStackSize(stackSize); 3781 restoreStackSize(stackSize);
3516} 3782}
3517 3783
3518rule__ClassDeclaration__SuperTypesAssignment_3_0_1_1_1_0 3784rule__ClassDeclaration__NameAssignment_2
3519 @init { 3785 @init {
3520 int stackSize = keepStackSize(); 3786 int stackSize = keepStackSize();
3521 } 3787 }
3522: 3788:
3523 ( 3789 (
3524 { before(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_0_1_1_1_0_0()); } 3790 { before(grammarAccess.getClassDeclarationAccess().getNameIDTerminalRuleCall_2_0()); }
3525 ( 3791 RULE_ID
3526 { before(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationIDTerminalRuleCall_3_0_1_1_1_0_0_1()); } 3792 { after(grammarAccess.getClassDeclarationAccess().getNameIDTerminalRuleCall_2_0()); }
3527 RULE_ID
3528 { after(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationIDTerminalRuleCall_3_0_1_1_1_0_0_1()); }
3529 )
3530 { after(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_0_1_1_1_0_0()); }
3531 ) 3793 )
3532; 3794;
3533finally { 3795finally {
3534 restoreStackSize(stackSize); 3796 restoreStackSize(stackSize);
3535} 3797}
3536 3798
3537rule__ClassDeclaration__SuperTypesAssignment_3_0_1_1_1_1_1 3799rule__ClassDeclaration__SuperTypesAssignment_3_1
3538 @init { 3800 @init {
3539 int stackSize = keepStackSize(); 3801 int stackSize = keepStackSize();
3540 } 3802 }
3541: 3803:
3542 ( 3804 (
3543 { before(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_0_1_1_1_1_1_0()); } 3805 { before(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_1_0()); }
3544 ( 3806 (
3545 { before(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationIDTerminalRuleCall_3_0_1_1_1_1_1_0_1()); } 3807 { before(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationQualifiedNameParserRuleCall_3_1_0_1()); }
3546 RULE_ID 3808 ruleQualifiedName
3547 { after(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationIDTerminalRuleCall_3_0_1_1_1_1_1_0_1()); } 3809 { after(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationQualifiedNameParserRuleCall_3_1_0_1()); }
3548 ) 3810 )
3549 { after(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_0_1_1_1_1_1_0()); } 3811 { after(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_1_0()); }
3550 ) 3812 )
3551; 3813;
3552finally { 3814finally {
3553 restoreStackSize(stackSize); 3815 restoreStackSize(stackSize);
3554} 3816}
3555 3817
3556rule__ClassDeclaration__ReferenceDeclarationsAssignment_3_1 3818rule__ClassDeclaration__SuperTypesAssignment_3_2_1
3557 @init { 3819 @init {
3558 int stackSize = keepStackSize(); 3820 int stackSize = keepStackSize();
3559 } 3821 }
3560: 3822:
3561 ( 3823 (
3562 { before(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_3_1_0()); } 3824 { before(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_2_1_0()); }
3563 ruleReferenceDeclaration 3825 (
3564 { after(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_3_1_0()); } 3826 { before(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationQualifiedNameParserRuleCall_3_2_1_0_1()); }
3827 ruleQualifiedName
3828 { after(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationQualifiedNameParserRuleCall_3_2_1_0_1()); }
3829 )
3830 { after(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_2_1_0()); }
3565 ) 3831 )
3566; 3832;
3567finally { 3833finally {
3568 restoreStackSize(stackSize); 3834 restoreStackSize(stackSize);
3569} 3835}
3570 3836
3571rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_1 3837rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0
3572 @init { 3838 @init {
3573 int stackSize = keepStackSize(); 3839 int stackSize = keepStackSize();
3574 } 3840 }
3575: 3841:
3576 ( 3842 (
3577 { before(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_4_1_0()); } 3843 { before(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_4_0_1_0_0()); }
3578 ruleReferenceDeclaration 3844 ruleReferenceDeclaration
3579 { after(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_4_1_0()); } 3845 { after(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_4_0_1_0_0()); }
3580 ) 3846 )
3581; 3847;
3582finally { 3848finally {
@@ -3610,9 +3876,9 @@ rule__ReferenceDeclaration__ReferenceTypeAssignment_1
3610 ( 3876 (
3611 { before(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeClassDeclarationCrossReference_1_0()); } 3877 { before(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeClassDeclarationCrossReference_1_0()); }
3612 ( 3878 (
3613 { before(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeClassDeclarationIDTerminalRuleCall_1_0_1()); } 3879 { before(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeClassDeclarationQualifiedNameParserRuleCall_1_0_1()); }
3614 RULE_ID 3880 ruleQualifiedName
3615 { after(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeClassDeclarationIDTerminalRuleCall_1_0_1()); } 3881 { after(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeClassDeclarationQualifiedNameParserRuleCall_1_0_1()); }
3616 ) 3882 )
3617 { after(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeClassDeclarationCrossReference_1_0()); } 3883 { after(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeClassDeclarationCrossReference_1_0()); }
3618 ) 3884 )
@@ -3621,49 +3887,49 @@ finally {
3621 restoreStackSize(stackSize); 3887 restoreStackSize(stackSize);
3622} 3888}
3623 3889
3624rule__ReferenceDeclaration__MultiplicityAssignment_3 3890rule__ReferenceDeclaration__MultiplicityAssignment_2_1
3625 @init { 3891 @init {
3626 int stackSize = keepStackSize(); 3892 int stackSize = keepStackSize();
3627 } 3893 }
3628: 3894:
3629 ( 3895 (
3630 { before(grammarAccess.getReferenceDeclarationAccess().getMultiplicityMultiplicityParserRuleCall_3_0()); } 3896 { before(grammarAccess.getReferenceDeclarationAccess().getMultiplicityMultiplicityParserRuleCall_2_1_0()); }
3631 ruleMultiplicity 3897 ruleMultiplicity
3632 { after(grammarAccess.getReferenceDeclarationAccess().getMultiplicityMultiplicityParserRuleCall_3_0()); } 3898 { after(grammarAccess.getReferenceDeclarationAccess().getMultiplicityMultiplicityParserRuleCall_2_1_0()); }
3633 ) 3899 )
3634; 3900;
3635finally { 3901finally {
3636 restoreStackSize(stackSize); 3902 restoreStackSize(stackSize);
3637} 3903}
3638 3904
3639rule__ReferenceDeclaration__NameAssignment_5 3905rule__ReferenceDeclaration__NameAssignment_3
3640 @init { 3906 @init {
3641 int stackSize = keepStackSize(); 3907 int stackSize = keepStackSize();
3642 } 3908 }
3643: 3909:
3644 ( 3910 (
3645 { before(grammarAccess.getReferenceDeclarationAccess().getNameIDTerminalRuleCall_5_0()); } 3911 { before(grammarAccess.getReferenceDeclarationAccess().getNameIDTerminalRuleCall_3_0()); }
3646 RULE_ID 3912 RULE_ID
3647 { after(grammarAccess.getReferenceDeclarationAccess().getNameIDTerminalRuleCall_5_0()); } 3913 { after(grammarAccess.getReferenceDeclarationAccess().getNameIDTerminalRuleCall_3_0()); }
3648 ) 3914 )
3649; 3915;
3650finally { 3916finally {
3651 restoreStackSize(stackSize); 3917 restoreStackSize(stackSize);
3652} 3918}
3653 3919
3654rule__ReferenceDeclaration__OppositeAssignment_6_1 3920rule__ReferenceDeclaration__OppositeAssignment_4_1
3655 @init { 3921 @init {
3656 int stackSize = keepStackSize(); 3922 int stackSize = keepStackSize();
3657 } 3923 }
3658: 3924:
3659 ( 3925 (
3660 { before(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationCrossReference_6_1_0()); } 3926 { before(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationCrossReference_4_1_0()); }
3661 ( 3927 (
3662 { before(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationQualifiedNameParserRuleCall_6_1_0_1()); } 3928 { before(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationQualifiedNameParserRuleCall_4_1_0_1()); }
3663 ruleQualifiedName 3929 ruleQualifiedName
3664 { after(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationQualifiedNameParserRuleCall_6_1_0_1()); } 3930 { after(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationQualifiedNameParserRuleCall_4_1_0_1()); }
3665 ) 3931 )
3666 { after(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationCrossReference_6_1_0()); } 3932 { after(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationCrossReference_4_1_0()); }
3667 ) 3933 )
3668; 3934;
3669finally { 3935finally {
@@ -3887,13 +4153,9 @@ rule__Atom__ArgumentsAssignment_3_0
3887 } 4153 }
3888: 4154:
3889 ( 4155 (
3890 { before(grammarAccess.getAtomAccess().getArgumentsVariableCrossReference_3_0_0()); } 4156 { before(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_0_0()); }
3891 ( 4157 ruleArgument
3892 { before(grammarAccess.getAtomAccess().getArgumentsVariableIDTerminalRuleCall_3_0_0_1()); } 4158 { after(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_0_0()); }
3893 RULE_ID
3894 { after(grammarAccess.getAtomAccess().getArgumentsVariableIDTerminalRuleCall_3_0_0_1()); }
3895 )
3896 { after(grammarAccess.getAtomAccess().getArgumentsVariableCrossReference_3_0_0()); }
3897 ) 4159 )
3898; 4160;
3899finally { 4161finally {
@@ -3906,13 +4168,28 @@ rule__Atom__ArgumentsAssignment_3_1_1
3906 } 4168 }
3907: 4169:
3908 ( 4170 (
3909 { before(grammarAccess.getAtomAccess().getArgumentsVariableCrossReference_3_1_1_0()); } 4171 { before(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_1_1_0()); }
4172 ruleArgument
4173 { after(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_1_1_0()); }
4174 )
4175;
4176finally {
4177 restoreStackSize(stackSize);
4178}
4179
4180rule__Argument__VariableAssignment
4181 @init {
4182 int stackSize = keepStackSize();
4183 }
4184:
4185 (
4186 { before(grammarAccess.getArgumentAccess().getVariableVariableCrossReference_0()); }
3910 ( 4187 (
3911 { before(grammarAccess.getAtomAccess().getArgumentsVariableIDTerminalRuleCall_3_1_1_0_1()); } 4188 { before(grammarAccess.getArgumentAccess().getVariableVariableIDTerminalRuleCall_0_1()); }
3912 RULE_ID 4189 RULE_ID
3913 { after(grammarAccess.getAtomAccess().getArgumentsVariableIDTerminalRuleCall_3_1_1_0_1()); } 4190 { after(grammarAccess.getArgumentAccess().getVariableVariableIDTerminalRuleCall_0_1()); }
3914 ) 4191 )
3915 { after(grammarAccess.getAtomAccess().getArgumentsVariableCrossReference_3_1_1_0()); } 4192 { after(grammarAccess.getArgumentAccess().getVariableVariableCrossReference_0()); }
3916 ) 4193 )
3917; 4194;
3918finally { 4195finally {
@@ -4137,9 +4414,9 @@ rule__TypeScope__MultiplicityAssignment_2
4137 } 4414 }
4138: 4415:
4139 ( 4416 (
4140 { before(grammarAccess.getTypeScopeAccess().getMultiplicityMultiplicityParserRuleCall_2_0()); } 4417 { before(grammarAccess.getTypeScopeAccess().getMultiplicityDefiniteMultiplicityParserRuleCall_2_0()); }
4141 ruleMultiplicity 4418 ruleDefiniteMultiplicity
4142 { after(grammarAccess.getTypeScopeAccess().getMultiplicityMultiplicityParserRuleCall_2_0()); } 4419 { after(grammarAccess.getTypeScopeAccess().getMultiplicityDefiniteMultiplicityParserRuleCall_2_0()); }
4143 ) 4420 )
4144; 4421;
4145finally { 4422finally {
@@ -4191,12 +4468,14 @@ finally {
4191 restoreStackSize(stackSize); 4468 restoreStackSize(stackSize);
4192} 4469}
4193 4470
4471RULE_STRING : '"' ('\\' .|~(('\\'|'"')))* '"';
4472
4473RULE_QUOTED_ID : '\'' ('\\' .|~(('\\'|'\'')))* '\'';
4474
4194RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; 4475RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
4195 4476
4196RULE_INT : ('0'..'9')+; 4477RULE_INT : ('0'..'9')+;
4197 4478
4198RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\'');
4199
4200RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/'; 4479RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
4201 4480
4202RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?; 4481RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblem.tokens b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblem.tokens
index b3c4a1ea..96f12627 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblem.tokens
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblem.tokens
@@ -1,40 +1,42 @@
1'!'=18 1'!'=20
2'('=27 2'('=32
3')'=28 3')'=33
4'*'=14 4'*'=16
5'+'=38 5'+'=41
6'+='=39 6'+='=42
7','=25 7','=25
8'.'=21 8'.'=12
9'..'=33 9'..'=37
10':'=31 10':'=35
11'::'=34 11':-'=34
12':='=29 12';'=28
13';'=30 13'='=15
14'='=13 14'?'=21
15'?'=19 15'['=29
16'['=23 16']'=30
17']'=24 17'abstract'=38
18'abstract'=35 18'class'=23
19'class'=20 19'contains'=39
20'contains'=36 20'error'=40
21'error'=37 21'extends'=24
22'extends'=22 22'false'=18
23'false'=16 23'opposite'=31
24'opposite'=26 24'pred'=14
25'pred'=12 25'problem'=22
26'refers'=11 26'refers'=13
27'scope'=32 27'scope'=36
28'true'=15 28'true'=17
29'unknown'=17 29'unknown'=19
30RULE_ANY_OTHER=10 30'{'=26
31RULE_ID=5 31'}'=27
32RULE_ANY_OTHER=11
33RULE_ID=6
32RULE_INT=4 34RULE_INT=4
33RULE_ML_COMMENT=7 35RULE_ML_COMMENT=8
34RULE_SL_COMMENT=8 36RULE_QUOTED_ID=5
35RULE_STRING=6 37RULE_SL_COMMENT=9
36RULE_WS=9 38RULE_STRING=7
37T__11=11 39RULE_WS=10
38T__12=12 40T__12=12
39T__13=13 41T__13=13
40T__14=14 42T__14=14
@@ -63,3 +65,6 @@ T__36=36
63T__37=37 65T__37=37
64T__38=38 66T__38=38
65T__39=39 67T__39=39
68T__40=40
69T__41=41
70T__42=42
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblemLexer.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblemLexer.java
index 0bd65406..a180de53 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblemLexer.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblemLexer.java
@@ -12,8 +12,8 @@ import java.util.ArrayList;
12 12
13@SuppressWarnings("all") 13@SuppressWarnings("all")
14public class InternalProblemLexer extends Lexer { 14public class InternalProblemLexer extends Lexer {
15 public static final int RULE_STRING=6; 15 public static final int RULE_STRING=7;
16 public static final int RULE_SL_COMMENT=8; 16 public static final int RULE_SL_COMMENT=9;
17 public static final int T__19=19; 17 public static final int T__19=19;
18 public static final int T__15=15; 18 public static final int T__15=15;
19 public static final int T__37=37; 19 public static final int T__37=37;
@@ -22,7 +22,6 @@ public class InternalProblemLexer extends Lexer {
22 public static final int T__17=17; 22 public static final int T__17=17;
23 public static final int T__39=39; 23 public static final int T__39=39;
24 public static final int T__18=18; 24 public static final int T__18=18;
25 public static final int T__11=11;
26 public static final int T__33=33; 25 public static final int T__33=33;
27 public static final int T__12=12; 26 public static final int T__12=12;
28 public static final int T__34=34; 27 public static final int T__34=34;
@@ -34,20 +33,24 @@ public class InternalProblemLexer extends Lexer {
34 public static final int T__30=30; 33 public static final int T__30=30;
35 public static final int T__31=31; 34 public static final int T__31=31;
36 public static final int T__32=32; 35 public static final int T__32=32;
37 public static final int RULE_ID=5; 36 public static final int RULE_ID=6;
38 public static final int RULE_WS=9; 37 public static final int RULE_WS=10;
39 public static final int RULE_ANY_OTHER=10; 38 public static final int RULE_QUOTED_ID=5;
39 public static final int RULE_ANY_OTHER=11;
40 public static final int T__26=26; 40 public static final int T__26=26;
41 public static final int T__27=27; 41 public static final int T__27=27;
42 public static final int T__28=28; 42 public static final int T__28=28;
43 public static final int RULE_INT=4; 43 public static final int RULE_INT=4;
44 public static final int T__29=29; 44 public static final int T__29=29;
45 public static final int T__22=22; 45 public static final int T__22=22;
46 public static final int RULE_ML_COMMENT=7; 46 public static final int RULE_ML_COMMENT=8;
47 public static final int T__23=23; 47 public static final int T__23=23;
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;
51 public static final int T__41=41;
50 public static final int T__20=20; 52 public static final int T__20=20;
53 public static final int T__42=42;
51 public static final int T__21=21; 54 public static final int T__21=21;
52 55
53 // delegates 56 // delegates
@@ -63,37 +66,15 @@ public class InternalProblemLexer extends Lexer {
63 } 66 }
64 public String getGrammarFileName() { return "InternalProblem.g"; } 67 public String getGrammarFileName() { return "InternalProblem.g"; }
65 68
66 // $ANTLR start "T__11"
67 public final void mT__11() throws RecognitionException {
68 try {
69 int _type = T__11;
70 int _channel = DEFAULT_TOKEN_CHANNEL;
71 // InternalProblem.g:11:7: ( 'refers' )
72 // InternalProblem.g:11:9: 'refers'
73 {
74 match("refers");
75
76
77 }
78
79 state.type = _type;
80 state.channel = _channel;
81 }
82 finally {
83 }
84 }
85 // $ANTLR end "T__11"
86
87 // $ANTLR start "T__12" 69 // $ANTLR start "T__12"
88 public final void mT__12() throws RecognitionException { 70 public final void mT__12() throws RecognitionException {
89 try { 71 try {
90 int _type = T__12; 72 int _type = T__12;
91 int _channel = DEFAULT_TOKEN_CHANNEL; 73 int _channel = DEFAULT_TOKEN_CHANNEL;
92 // InternalProblem.g:12:7: ( 'pred' ) 74 // InternalProblem.g:11:7: ( '.' )
93 // InternalProblem.g:12:9: 'pred' 75 // InternalProblem.g:11:9: '.'
94 { 76 {
95 match("pred"); 77 match('.');
96
97 78
98 } 79 }
99 80
@@ -110,10 +91,11 @@ public class InternalProblemLexer extends Lexer {
110 try { 91 try {
111 int _type = T__13; 92 int _type = T__13;
112 int _channel = DEFAULT_TOKEN_CHANNEL; 93 int _channel = DEFAULT_TOKEN_CHANNEL;
113 // InternalProblem.g:13:7: ( '=' ) 94 // InternalProblem.g:12:7: ( 'refers' )
114 // InternalProblem.g:13:9: '=' 95 // InternalProblem.g:12:9: 'refers'
115 { 96 {
116 match('='); 97 match("refers");
98
117 99
118 } 100 }
119 101
@@ -130,10 +112,11 @@ public class InternalProblemLexer extends Lexer {
130 try { 112 try {
131 int _type = T__14; 113 int _type = T__14;
132 int _channel = DEFAULT_TOKEN_CHANNEL; 114 int _channel = DEFAULT_TOKEN_CHANNEL;
133 // InternalProblem.g:14:7: ( '*' ) 115 // InternalProblem.g:13:7: ( 'pred' )
134 // InternalProblem.g:14:9: '*' 116 // InternalProblem.g:13:9: 'pred'
135 { 117 {
136 match('*'); 118 match("pred");
119
137 120
138 } 121 }
139 122
@@ -150,11 +133,10 @@ public class InternalProblemLexer extends Lexer {
150 try { 133 try {
151 int _type = T__15; 134 int _type = T__15;
152 int _channel = DEFAULT_TOKEN_CHANNEL; 135 int _channel = DEFAULT_TOKEN_CHANNEL;
153 // InternalProblem.g:15:7: ( 'true' ) 136 // InternalProblem.g:14:7: ( '=' )
154 // InternalProblem.g:15:9: 'true' 137 // InternalProblem.g:14:9: '='
155 { 138 {
156 match("true"); 139 match('=');
157
158 140
159 } 141 }
160 142
@@ -171,11 +153,10 @@ public class InternalProblemLexer extends Lexer {
171 try { 153 try {
172 int _type = T__16; 154 int _type = T__16;
173 int _channel = DEFAULT_TOKEN_CHANNEL; 155 int _channel = DEFAULT_TOKEN_CHANNEL;
174 // InternalProblem.g:16:7: ( 'false' ) 156 // InternalProblem.g:15:7: ( '*' )
175 // InternalProblem.g:16:9: 'false' 157 // InternalProblem.g:15:9: '*'
176 { 158 {
177 match("false"); 159 match('*');
178
179 160
180 } 161 }
181 162
@@ -192,10 +173,10 @@ public class InternalProblemLexer extends Lexer {
192 try { 173 try {
193 int _type = T__17; 174 int _type = T__17;
194 int _channel = DEFAULT_TOKEN_CHANNEL; 175 int _channel = DEFAULT_TOKEN_CHANNEL;
195 // InternalProblem.g:17:7: ( 'unknown' ) 176 // InternalProblem.g:16:7: ( 'true' )
196 // InternalProblem.g:17:9: 'unknown' 177 // InternalProblem.g:16:9: 'true'
197 { 178 {
198 match("unknown"); 179 match("true");
199 180
200 181
201 } 182 }
@@ -213,10 +194,11 @@ public class InternalProblemLexer extends Lexer {
213 try { 194 try {
214 int _type = T__18; 195 int _type = T__18;
215 int _channel = DEFAULT_TOKEN_CHANNEL; 196 int _channel = DEFAULT_TOKEN_CHANNEL;
216 // InternalProblem.g:18:7: ( '!' ) 197 // InternalProblem.g:17:7: ( 'false' )
217 // InternalProblem.g:18:9: '!' 198 // InternalProblem.g:17:9: 'false'
218 { 199 {
219 match('!'); 200 match("false");
201
220 202
221 } 203 }
222 204
@@ -233,10 +215,11 @@ public class InternalProblemLexer extends Lexer {
233 try { 215 try {
234 int _type = T__19; 216 int _type = T__19;
235 int _channel = DEFAULT_TOKEN_CHANNEL; 217 int _channel = DEFAULT_TOKEN_CHANNEL;
236 // InternalProblem.g:19:7: ( '?' ) 218 // InternalProblem.g:18:7: ( 'unknown' )
237 // InternalProblem.g:19:9: '?' 219 // InternalProblem.g:18:9: 'unknown'
238 { 220 {
239 match('?'); 221 match("unknown");
222
240 223
241 } 224 }
242 225
@@ -253,11 +236,10 @@ public class InternalProblemLexer extends Lexer {
253 try { 236 try {
254 int _type = T__20; 237 int _type = T__20;
255 int _channel = DEFAULT_TOKEN_CHANNEL; 238 int _channel = DEFAULT_TOKEN_CHANNEL;
256 // InternalProblem.g:20:7: ( 'class' ) 239 // InternalProblem.g:19:7: ( '!' )
257 // InternalProblem.g:20:9: 'class' 240 // InternalProblem.g:19:9: '!'
258 { 241 {
259 match("class"); 242 match('!');
260
261 243
262 } 244 }
263 245
@@ -274,10 +256,10 @@ public class InternalProblemLexer extends Lexer {
274 try { 256 try {
275 int _type = T__21; 257 int _type = T__21;
276 int _channel = DEFAULT_TOKEN_CHANNEL; 258 int _channel = DEFAULT_TOKEN_CHANNEL;
277 // InternalProblem.g:21:7: ( '.' ) 259 // InternalProblem.g:20:7: ( '?' )
278 // InternalProblem.g:21:9: '.' 260 // InternalProblem.g:20:9: '?'
279 { 261 {
280 match('.'); 262 match('?');
281 263
282 } 264 }
283 265
@@ -294,10 +276,10 @@ public class InternalProblemLexer extends Lexer {
294 try { 276 try {
295 int _type = T__22; 277 int _type = T__22;
296 int _channel = DEFAULT_TOKEN_CHANNEL; 278 int _channel = DEFAULT_TOKEN_CHANNEL;
297 // InternalProblem.g:22:7: ( 'extends' ) 279 // InternalProblem.g:21:7: ( 'problem' )
298 // InternalProblem.g:22:9: 'extends' 280 // InternalProblem.g:21:9: 'problem'
299 { 281 {
300 match("extends"); 282 match("problem");
301 283
302 284
303 } 285 }
@@ -315,10 +297,11 @@ public class InternalProblemLexer extends Lexer {
315 try { 297 try {
316 int _type = T__23; 298 int _type = T__23;
317 int _channel = DEFAULT_TOKEN_CHANNEL; 299 int _channel = DEFAULT_TOKEN_CHANNEL;
318 // InternalProblem.g:23:7: ( '[' ) 300 // InternalProblem.g:22:7: ( 'class' )
319 // InternalProblem.g:23:9: '[' 301 // InternalProblem.g:22:9: 'class'
320 { 302 {
321 match('['); 303 match("class");
304
322 305
323 } 306 }
324 307
@@ -335,10 +318,11 @@ public class InternalProblemLexer extends Lexer {
335 try { 318 try {
336 int _type = T__24; 319 int _type = T__24;
337 int _channel = DEFAULT_TOKEN_CHANNEL; 320 int _channel = DEFAULT_TOKEN_CHANNEL;
338 // InternalProblem.g:24:7: ( ']' ) 321 // InternalProblem.g:23:7: ( 'extends' )
339 // InternalProblem.g:24:9: ']' 322 // InternalProblem.g:23:9: 'extends'
340 { 323 {
341 match(']'); 324 match("extends");
325
342 326
343 } 327 }
344 328
@@ -355,8 +339,8 @@ public class InternalProblemLexer extends Lexer {
355 try { 339 try {
356 int _type = T__25; 340 int _type = T__25;
357 int _channel = DEFAULT_TOKEN_CHANNEL; 341 int _channel = DEFAULT_TOKEN_CHANNEL;
358 // InternalProblem.g:25:7: ( ',' ) 342 // InternalProblem.g:24:7: ( ',' )
359 // InternalProblem.g:25:9: ',' 343 // InternalProblem.g:24:9: ','
360 { 344 {
361 match(','); 345 match(',');
362 346
@@ -375,11 +359,10 @@ public class InternalProblemLexer extends Lexer {
375 try { 359 try {
376 int _type = T__26; 360 int _type = T__26;
377 int _channel = DEFAULT_TOKEN_CHANNEL; 361 int _channel = DEFAULT_TOKEN_CHANNEL;
378 // InternalProblem.g:26:7: ( 'opposite' ) 362 // InternalProblem.g:25:7: ( '{' )
379 // InternalProblem.g:26:9: 'opposite' 363 // InternalProblem.g:25:9: '{'
380 { 364 {
381 match("opposite"); 365 match('{');
382
383 366
384 } 367 }
385 368
@@ -396,10 +379,10 @@ public class InternalProblemLexer extends Lexer {
396 try { 379 try {
397 int _type = T__27; 380 int _type = T__27;
398 int _channel = DEFAULT_TOKEN_CHANNEL; 381 int _channel = DEFAULT_TOKEN_CHANNEL;
399 // InternalProblem.g:27:7: ( '(' ) 382 // InternalProblem.g:26:7: ( '}' )
400 // InternalProblem.g:27:9: '(' 383 // InternalProblem.g:26:9: '}'
401 { 384 {
402 match('('); 385 match('}');
403 386
404 } 387 }
405 388
@@ -416,10 +399,10 @@ public class InternalProblemLexer extends Lexer {
416 try { 399 try {
417 int _type = T__28; 400 int _type = T__28;
418 int _channel = DEFAULT_TOKEN_CHANNEL; 401 int _channel = DEFAULT_TOKEN_CHANNEL;
419 // InternalProblem.g:28:7: ( ')' ) 402 // InternalProblem.g:27:7: ( ';' )
420 // InternalProblem.g:28:9: ')' 403 // InternalProblem.g:27:9: ';'
421 { 404 {
422 match(')'); 405 match(';');
423 406
424 } 407 }
425 408
@@ -436,11 +419,10 @@ public class InternalProblemLexer extends Lexer {
436 try { 419 try {
437 int _type = T__29; 420 int _type = T__29;
438 int _channel = DEFAULT_TOKEN_CHANNEL; 421 int _channel = DEFAULT_TOKEN_CHANNEL;
439 // InternalProblem.g:29:7: ( ':=' ) 422 // InternalProblem.g:28:7: ( '[' )
440 // InternalProblem.g:29:9: ':=' 423 // InternalProblem.g:28:9: '['
441 { 424 {
442 match(":="); 425 match('[');
443
444 426
445 } 427 }
446 428
@@ -457,10 +439,10 @@ public class InternalProblemLexer extends Lexer {
457 try { 439 try {
458 int _type = T__30; 440 int _type = T__30;
459 int _channel = DEFAULT_TOKEN_CHANNEL; 441 int _channel = DEFAULT_TOKEN_CHANNEL;
460 // InternalProblem.g:30:7: ( ';' ) 442 // InternalProblem.g:29:7: ( ']' )
461 // InternalProblem.g:30:9: ';' 443 // InternalProblem.g:29:9: ']'
462 { 444 {
463 match(';'); 445 match(']');
464 446
465 } 447 }
466 448
@@ -477,10 +459,11 @@ public class InternalProblemLexer extends Lexer {
477 try { 459 try {
478 int _type = T__31; 460 int _type = T__31;
479 int _channel = DEFAULT_TOKEN_CHANNEL; 461 int _channel = DEFAULT_TOKEN_CHANNEL;
480 // InternalProblem.g:31:7: ( ':' ) 462 // InternalProblem.g:30:7: ( 'opposite' )
481 // InternalProblem.g:31:9: ':' 463 // InternalProblem.g:30:9: 'opposite'
482 { 464 {
483 match(':'); 465 match("opposite");
466
484 467
485 } 468 }
486 469
@@ -497,11 +480,10 @@ public class InternalProblemLexer extends Lexer {
497 try { 480 try {
498 int _type = T__32; 481 int _type = T__32;
499 int _channel = DEFAULT_TOKEN_CHANNEL; 482 int _channel = DEFAULT_TOKEN_CHANNEL;
500 // InternalProblem.g:32:7: ( 'scope' ) 483 // InternalProblem.g:31:7: ( '(' )
501 // InternalProblem.g:32:9: 'scope' 484 // InternalProblem.g:31:9: '('
502 { 485 {
503 match("scope"); 486 match('(');
504
505 487
506 } 488 }
507 489
@@ -518,11 +500,10 @@ public class InternalProblemLexer extends Lexer {
518 try { 500 try {
519 int _type = T__33; 501 int _type = T__33;
520 int _channel = DEFAULT_TOKEN_CHANNEL; 502 int _channel = DEFAULT_TOKEN_CHANNEL;
521 // InternalProblem.g:33:7: ( '..' ) 503 // InternalProblem.g:32:7: ( ')' )
522 // InternalProblem.g:33:9: '..' 504 // InternalProblem.g:32:9: ')'
523 { 505 {
524 match(".."); 506 match(')');
525
526 507
527 } 508 }
528 509
@@ -539,10 +520,10 @@ public class InternalProblemLexer extends Lexer {
539 try { 520 try {
540 int _type = T__34; 521 int _type = T__34;
541 int _channel = DEFAULT_TOKEN_CHANNEL; 522 int _channel = DEFAULT_TOKEN_CHANNEL;
542 // InternalProblem.g:34:7: ( '::' ) 523 // InternalProblem.g:33:7: ( ':-' )
543 // InternalProblem.g:34:9: '::' 524 // InternalProblem.g:33:9: ':-'
544 { 525 {
545 match("::"); 526 match(":-");
546 527
547 528
548 } 529 }
@@ -560,11 +541,10 @@ public class InternalProblemLexer extends Lexer {
560 try { 541 try {
561 int _type = T__35; 542 int _type = T__35;
562 int _channel = DEFAULT_TOKEN_CHANNEL; 543 int _channel = DEFAULT_TOKEN_CHANNEL;
563 // InternalProblem.g:35:7: ( 'abstract' ) 544 // InternalProblem.g:34:7: ( ':' )
564 // InternalProblem.g:35:9: 'abstract' 545 // InternalProblem.g:34:9: ':'
565 { 546 {
566 match("abstract"); 547 match(':');
567
568 548
569 } 549 }
570 550
@@ -581,10 +561,10 @@ public class InternalProblemLexer extends Lexer {
581 try { 561 try {
582 int _type = T__36; 562 int _type = T__36;
583 int _channel = DEFAULT_TOKEN_CHANNEL; 563 int _channel = DEFAULT_TOKEN_CHANNEL;
584 // InternalProblem.g:36:7: ( 'contains' ) 564 // InternalProblem.g:35:7: ( 'scope' )
585 // InternalProblem.g:36:9: 'contains' 565 // InternalProblem.g:35:9: 'scope'
586 { 566 {
587 match("contains"); 567 match("scope");
588 568
589 569
590 } 570 }
@@ -602,10 +582,10 @@ public class InternalProblemLexer extends Lexer {
602 try { 582 try {
603 int _type = T__37; 583 int _type = T__37;
604 int _channel = DEFAULT_TOKEN_CHANNEL; 584 int _channel = DEFAULT_TOKEN_CHANNEL;
605 // InternalProblem.g:37:7: ( 'error' ) 585 // InternalProblem.g:36:7: ( '..' )
606 // InternalProblem.g:37:9: 'error' 586 // InternalProblem.g:36:9: '..'
607 { 587 {
608 match("error"); 588 match("..");
609 589
610 590
611 } 591 }
@@ -623,10 +603,11 @@ public class InternalProblemLexer extends Lexer {
623 try { 603 try {
624 int _type = T__38; 604 int _type = T__38;
625 int _channel = DEFAULT_TOKEN_CHANNEL; 605 int _channel = DEFAULT_TOKEN_CHANNEL;
626 // InternalProblem.g:38:7: ( '+' ) 606 // InternalProblem.g:37:7: ( 'abstract' )
627 // InternalProblem.g:38:9: '+' 607 // InternalProblem.g:37:9: 'abstract'
628 { 608 {
629 match('+'); 609 match("abstract");
610
630 611
631 } 612 }
632 613
@@ -643,10 +624,10 @@ public class InternalProblemLexer extends Lexer {
643 try { 624 try {
644 int _type = T__39; 625 int _type = T__39;
645 int _channel = DEFAULT_TOKEN_CHANNEL; 626 int _channel = DEFAULT_TOKEN_CHANNEL;
646 // InternalProblem.g:39:7: ( '+=' ) 627 // InternalProblem.g:38:7: ( 'contains' )
647 // InternalProblem.g:39:9: '+=' 628 // InternalProblem.g:38:9: 'contains'
648 { 629 {
649 match("+="); 630 match("contains");
650 631
651 632
652 } 633 }
@@ -659,57 +640,104 @@ public class InternalProblemLexer extends Lexer {
659 } 640 }
660 // $ANTLR end "T__39" 641 // $ANTLR end "T__39"
661 642
662 // $ANTLR start "RULE_ID" 643 // $ANTLR start "T__40"
663 public final void mRULE_ID() throws RecognitionException { 644 public final void mT__40() throws RecognitionException {
664 try { 645 try {
665 int _type = RULE_ID; 646 int _type = T__40;
666 int _channel = DEFAULT_TOKEN_CHANNEL; 647 int _channel = DEFAULT_TOKEN_CHANNEL;
667 // InternalProblem.g:4194:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) 648 // InternalProblem.g:39:7: ( 'error' )
668 // InternalProblem.g:4194:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* 649 // InternalProblem.g:39:9: 'error'
669 { 650 {
670 // InternalProblem.g:4194:11: ( '^' )? 651 match("error");
671 int alt1=2; 652
672 int LA1_0 = input.LA(1);
673 653
674 if ( (LA1_0=='^') ) {
675 alt1=1;
676 } 654 }
677 switch (alt1) {
678 case 1 :
679 // InternalProblem.g:4194:11: '^'
680 {
681 match('^');
682 655
683 } 656 state.type = _type;
684 break; 657 state.channel = _channel;
658 }
659 finally {
660 }
661 }
662 // $ANTLR end "T__40"
663
664 // $ANTLR start "T__41"
665 public final void mT__41() throws RecognitionException {
666 try {
667 int _type = T__41;
668 int _channel = DEFAULT_TOKEN_CHANNEL;
669 // InternalProblem.g:40:7: ( '+' )
670 // InternalProblem.g:40:9: '+'
671 {
672 match('+');
685 673
686 } 674 }
687 675
688 if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { 676 state.type = _type;
689 input.consume(); 677 state.channel = _channel;
678 }
679 finally {
680 }
681 }
682 // $ANTLR end "T__41"
683
684 // $ANTLR start "T__42"
685 public final void mT__42() throws RecognitionException {
686 try {
687 int _type = T__42;
688 int _channel = DEFAULT_TOKEN_CHANNEL;
689 // InternalProblem.g:41:7: ( '+=' )
690 // InternalProblem.g:41:9: '+='
691 {
692 match("+=");
693
690 694
691 } 695 }
692 else {
693 MismatchedSetException mse = new MismatchedSetException(null,input);
694 recover(mse);
695 throw mse;}
696 696
697 // InternalProblem.g:4194:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* 697 state.type = _type;
698 loop2: 698 state.channel = _channel;
699 }
700 finally {
701 }
702 }
703 // $ANTLR end "T__42"
704
705 // $ANTLR start "RULE_STRING"
706 public final void mRULE_STRING() throws RecognitionException {
707 try {
708 int _type = RULE_STRING;
709 int _channel = DEFAULT_TOKEN_CHANNEL;
710 // InternalProblem.g:4471:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' )
711 // InternalProblem.g:4471:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
712 {
713 match('\"');
714 // InternalProblem.g:4471:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
715 loop1:
699 do { 716 do {
700 int alt2=2; 717 int alt1=3;
701 int LA2_0 = input.LA(1); 718 int LA1_0 = input.LA(1);
702 719
703 if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='Z')||LA2_0=='_'||(LA2_0>='a' && LA2_0<='z')) ) { 720 if ( (LA1_0=='\\') ) {
704 alt2=1; 721 alt1=1;
722 }
723 else if ( ((LA1_0>='\u0000' && LA1_0<='!')||(LA1_0>='#' && LA1_0<='[')||(LA1_0>=']' && LA1_0<='\uFFFF')) ) {
724 alt1=2;
705 } 725 }
706 726
707 727
708 switch (alt2) { 728 switch (alt1) {
709 case 1 : 729 case 1 :
710 // InternalProblem.g: 730 // InternalProblem.g:4471:20: '\\\\' .
711 { 731 {
712 if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { 732 match('\\');
733 matchAny();
734
735 }
736 break;
737 case 2 :
738 // InternalProblem.g:4471:27: ~ ( ( '\\\\' | '\"' ) )
739 {
740 if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
713 input.consume(); 741 input.consume();
714 742
715 } 743 }
@@ -723,10 +751,11 @@ public class InternalProblemLexer extends Lexer {
723 break; 751 break;
724 752
725 default : 753 default :
726 break loop2; 754 break loop1;
727 } 755 }
728 } while (true); 756 } while (true);
729 757
758 match('\"');
730 759
731 } 760 }
732 761
@@ -736,46 +765,62 @@ public class InternalProblemLexer extends Lexer {
736 finally { 765 finally {
737 } 766 }
738 } 767 }
739 // $ANTLR end "RULE_ID" 768 // $ANTLR end "RULE_STRING"
740 769
741 // $ANTLR start "RULE_INT" 770 // $ANTLR start "RULE_QUOTED_ID"
742 public final void mRULE_INT() throws RecognitionException { 771 public final void mRULE_QUOTED_ID() throws RecognitionException {
743 try { 772 try {
744 int _type = RULE_INT; 773 int _type = RULE_QUOTED_ID;
745 int _channel = DEFAULT_TOKEN_CHANNEL; 774 int _channel = DEFAULT_TOKEN_CHANNEL;
746 // InternalProblem.g:4196:10: ( ( '0' .. '9' )+ ) 775 // InternalProblem.g:4473:16: ( '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
747 // InternalProblem.g:4196:12: ( '0' .. '9' )+ 776 // InternalProblem.g:4473:18: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
748 { 777 {
749 // InternalProblem.g:4196:12: ( '0' .. '9' )+ 778 match('\'');
750 int cnt3=0; 779 // InternalProblem.g:4473:23: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
751 loop3: 780 loop2:
752 do { 781 do {
753 int alt3=2; 782 int alt2=3;
754 int LA3_0 = input.LA(1); 783 int LA2_0 = input.LA(1);
755 784
756 if ( ((LA3_0>='0' && LA3_0<='9')) ) { 785 if ( (LA2_0=='\\') ) {
757 alt3=1; 786 alt2=1;
787 }
788 else if ( ((LA2_0>='\u0000' && LA2_0<='&')||(LA2_0>='(' && LA2_0<='[')||(LA2_0>=']' && LA2_0<='\uFFFF')) ) {
789 alt2=2;
758 } 790 }
759 791
760 792
761 switch (alt3) { 793 switch (alt2) {
762 case 1 : 794 case 1 :
763 // InternalProblem.g:4196:13: '0' .. '9' 795 // InternalProblem.g:4473:24: '\\\\' .
764 { 796 {
765 matchRange('0','9'); 797 match('\\');
798 matchAny();
799
800 }
801 break;
802 case 2 :
803 // InternalProblem.g:4473:31: ~ ( ( '\\\\' | '\\'' ) )
804 {
805 if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
806 input.consume();
807
808 }
809 else {
810 MismatchedSetException mse = new MismatchedSetException(null,input);
811 recover(mse);
812 throw mse;}
813
766 814
767 } 815 }
768 break; 816 break;
769 817
770 default : 818 default :
771 if ( cnt3 >= 1 ) break loop3; 819 break loop2;
772 EarlyExitException eee =
773 new EarlyExitException(3, input);
774 throw eee;
775 } 820 }
776 cnt3++;
777 } while (true); 821 } while (true);
778 822
823 match('\'');
779 824
780 } 825 }
781 826
@@ -785,140 +830,125 @@ public class InternalProblemLexer extends Lexer {
785 finally { 830 finally {
786 } 831 }
787 } 832 }
788 // $ANTLR end "RULE_INT" 833 // $ANTLR end "RULE_QUOTED_ID"
789 834
790 // $ANTLR start "RULE_STRING" 835 // $ANTLR start "RULE_ID"
791 public final void mRULE_STRING() throws RecognitionException { 836 public final void mRULE_ID() throws RecognitionException {
792 try { 837 try {
793 int _type = RULE_STRING; 838 int _type = RULE_ID;
794 int _channel = DEFAULT_TOKEN_CHANNEL; 839 int _channel = DEFAULT_TOKEN_CHANNEL;
795 // InternalProblem.g:4198:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) 840 // InternalProblem.g:4475:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
796 // InternalProblem.g:4198:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) 841 // InternalProblem.g:4475:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
797 { 842 {
798 // InternalProblem.g:4198:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) 843 // InternalProblem.g:4475:11: ( '^' )?
799 int alt6=2; 844 int alt3=2;
800 int LA6_0 = input.LA(1); 845 int LA3_0 = input.LA(1);
801 846
802 if ( (LA6_0=='\"') ) { 847 if ( (LA3_0=='^') ) {
803 alt6=1; 848 alt3=1;
804 } 849 }
805 else if ( (LA6_0=='\'') ) { 850 switch (alt3) {
806 alt6=2;
807 }
808 else {
809 NoViableAltException nvae =
810 new NoViableAltException("", 6, 0, input);
811
812 throw nvae;
813 }
814 switch (alt6) {
815 case 1 : 851 case 1 :
816 // InternalProblem.g:4198:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' 852 // InternalProblem.g:4475:11: '^'
817 { 853 {
818 match('\"'); 854 match('^');
819 // InternalProblem.g:4198:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
820 loop4:
821 do {
822 int alt4=3;
823 int LA4_0 = input.LA(1);
824
825 if ( (LA4_0=='\\') ) {
826 alt4=1;
827 }
828 else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=']' && LA4_0<='\uFFFF')) ) {
829 alt4=2;
830 }
831
832
833 switch (alt4) {
834 case 1 :
835 // InternalProblem.g:4198:21: '\\\\' .
836 {
837 match('\\');
838 matchAny();
839
840 }
841 break;
842 case 2 :
843 // InternalProblem.g:4198:28: ~ ( ( '\\\\' | '\"' ) )
844 {
845 if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
846 input.consume();
847
848 }
849 else {
850 MismatchedSetException mse = new MismatchedSetException(null,input);
851 recover(mse);
852 throw mse;}
853
854
855 }
856 break;
857
858 default :
859 break loop4;
860 }
861 } while (true);
862
863 match('\"');
864 855
865 } 856 }
866 break; 857 break;
867 case 2 :
868 // InternalProblem.g:4198:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
869 {
870 match('\'');
871 // InternalProblem.g:4198:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
872 loop5:
873 do {
874 int alt5=3;
875 int LA5_0 = input.LA(1);
876
877 if ( (LA5_0=='\\') ) {
878 alt5=1;
879 }
880 else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=']' && LA5_0<='\uFFFF')) ) {
881 alt5=2;
882 }
883
884
885 switch (alt5) {
886 case 1 :
887 // InternalProblem.g:4198:54: '\\\\' .
888 {
889 match('\\');
890 matchAny();
891
892 }
893 break;
894 case 2 :
895 // InternalProblem.g:4198:61: ~ ( ( '\\\\' | '\\'' ) )
896 {
897 if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
898 input.consume();
899
900 }
901 else {
902 MismatchedSetException mse = new MismatchedSetException(null,input);
903 recover(mse);
904 throw mse;}
905
906
907 }
908 break;
909
910 default :
911 break loop5;
912 }
913 } while (true);
914
915 match('\'');
916 858
917 } 859 }
918 break; 860
861 if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
862 input.consume();
863
864 }
865 else {
866 MismatchedSetException mse = new MismatchedSetException(null,input);
867 recover(mse);
868 throw mse;}
869
870 // InternalProblem.g:4475:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
871 loop4:
872 do {
873 int alt4=2;
874 int LA4_0 = input.LA(1);
875
876 if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) {
877 alt4=1;
878 }
879
880
881 switch (alt4) {
882 case 1 :
883 // InternalProblem.g:
884 {
885 if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
886 input.consume();
887
888 }
889 else {
890 MismatchedSetException mse = new MismatchedSetException(null,input);
891 recover(mse);
892 throw mse;}
893
894
895 }
896 break;
897
898 default :
899 break loop4;
900 }
901 } while (true);
902
919 903
920 } 904 }
921 905
906 state.type = _type;
907 state.channel = _channel;
908 }
909 finally {
910 }
911 }
912 // $ANTLR end "RULE_ID"
913
914 // $ANTLR start "RULE_INT"
915 public final void mRULE_INT() throws RecognitionException {
916 try {
917 int _type = RULE_INT;
918 int _channel = DEFAULT_TOKEN_CHANNEL;
919 // InternalProblem.g:4477:10: ( ( '0' .. '9' )+ )
920 // InternalProblem.g:4477:12: ( '0' .. '9' )+
921 {
922 // InternalProblem.g:4477:12: ( '0' .. '9' )+
923 int cnt5=0;
924 loop5:
925 do {
926 int alt5=2;
927 int LA5_0 = input.LA(1);
928
929 if ( ((LA5_0>='0' && LA5_0<='9')) ) {
930 alt5=1;
931 }
932
933
934 switch (alt5) {
935 case 1 :
936 // InternalProblem.g:4477:13: '0' .. '9'
937 {
938 matchRange('0','9');
939
940 }
941 break;
942
943 default :
944 if ( cnt5 >= 1 ) break loop5;
945 EarlyExitException eee =
946 new EarlyExitException(5, input);
947 throw eee;
948 }
949 cnt5++;
950 } while (true);
951
922 952
923 } 953 }
924 954
@@ -928,44 +958,44 @@ public class InternalProblemLexer extends Lexer {
928 finally { 958 finally {
929 } 959 }
930 } 960 }
931 // $ANTLR end "RULE_STRING" 961 // $ANTLR end "RULE_INT"
932 962
933 // $ANTLR start "RULE_ML_COMMENT" 963 // $ANTLR start "RULE_ML_COMMENT"
934 public final void mRULE_ML_COMMENT() throws RecognitionException { 964 public final void mRULE_ML_COMMENT() throws RecognitionException {
935 try { 965 try {
936 int _type = RULE_ML_COMMENT; 966 int _type = RULE_ML_COMMENT;
937 int _channel = DEFAULT_TOKEN_CHANNEL; 967 int _channel = DEFAULT_TOKEN_CHANNEL;
938 // InternalProblem.g:4200:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) 968 // InternalProblem.g:4479:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
939 // InternalProblem.g:4200:19: '/*' ( options {greedy=false; } : . )* '*/' 969 // InternalProblem.g:4479:19: '/*' ( options {greedy=false; } : . )* '*/'
940 { 970 {
941 match("/*"); 971 match("/*");
942 972
943 // InternalProblem.g:4200:24: ( options {greedy=false; } : . )* 973 // InternalProblem.g:4479:24: ( options {greedy=false; } : . )*
944 loop7: 974 loop6:
945 do { 975 do {
946 int alt7=2; 976 int alt6=2;
947 int LA7_0 = input.LA(1); 977 int LA6_0 = input.LA(1);
948 978
949 if ( (LA7_0=='*') ) { 979 if ( (LA6_0=='*') ) {
950 int LA7_1 = input.LA(2); 980 int LA6_1 = input.LA(2);
951 981
952 if ( (LA7_1=='/') ) { 982 if ( (LA6_1=='/') ) {
953 alt7=2; 983 alt6=2;
954 } 984 }
955 else if ( ((LA7_1>='\u0000' && LA7_1<='.')||(LA7_1>='0' && LA7_1<='\uFFFF')) ) { 985 else if ( ((LA6_1>='\u0000' && LA6_1<='.')||(LA6_1>='0' && LA6_1<='\uFFFF')) ) {
956 alt7=1; 986 alt6=1;
957 } 987 }
958 988
959 989
960 } 990 }
961 else if ( ((LA7_0>='\u0000' && LA7_0<=')')||(LA7_0>='+' && LA7_0<='\uFFFF')) ) { 991 else if ( ((LA6_0>='\u0000' && LA6_0<=')')||(LA6_0>='+' && LA6_0<='\uFFFF')) ) {
962 alt7=1; 992 alt6=1;
963 } 993 }
964 994
965 995
966 switch (alt7) { 996 switch (alt6) {
967 case 1 : 997 case 1 :
968 // InternalProblem.g:4200:52: . 998 // InternalProblem.g:4479:52: .
969 { 999 {
970 matchAny(); 1000 matchAny();
971 1001
@@ -973,7 +1003,7 @@ public class InternalProblemLexer extends Lexer {
973 break; 1003 break;
974 1004
975 default : 1005 default :
976 break loop7; 1006 break loop6;
977 } 1007 }
978 } while (true); 1008 } while (true);
979 1009
@@ -995,25 +1025,25 @@ public class InternalProblemLexer extends Lexer {
995 try { 1025 try {
996 int _type = RULE_SL_COMMENT; 1026 int _type = RULE_SL_COMMENT;
997 int _channel = DEFAULT_TOKEN_CHANNEL; 1027 int _channel = DEFAULT_TOKEN_CHANNEL;
998 // InternalProblem.g:4202:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) 1028 // InternalProblem.g:4481:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
999 // InternalProblem.g:4202:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? 1029 // InternalProblem.g:4481:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
1000 { 1030 {
1001 match("//"); 1031 match("//");
1002 1032
1003 // InternalProblem.g:4202:24: (~ ( ( '\\n' | '\\r' ) ) )* 1033 // InternalProblem.g:4481:24: (~ ( ( '\\n' | '\\r' ) ) )*
1004 loop8: 1034 loop7:
1005 do { 1035 do {
1006 int alt8=2; 1036 int alt7=2;
1007 int LA8_0 = input.LA(1); 1037 int LA7_0 = input.LA(1);
1008 1038
1009 if ( ((LA8_0>='\u0000' && LA8_0<='\t')||(LA8_0>='\u000B' && LA8_0<='\f')||(LA8_0>='\u000E' && LA8_0<='\uFFFF')) ) { 1039 if ( ((LA7_0>='\u0000' && LA7_0<='\t')||(LA7_0>='\u000B' && LA7_0<='\f')||(LA7_0>='\u000E' && LA7_0<='\uFFFF')) ) {
1010 alt8=1; 1040 alt7=1;
1011 } 1041 }
1012 1042
1013 1043
1014 switch (alt8) { 1044 switch (alt7) {
1015 case 1 : 1045 case 1 :
1016 // InternalProblem.g:4202:24: ~ ( ( '\\n' | '\\r' ) ) 1046 // InternalProblem.g:4481:24: ~ ( ( '\\n' | '\\r' ) )
1017 { 1047 {
1018 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') ) { 1048 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') ) {
1019 input.consume(); 1049 input.consume();
@@ -1029,31 +1059,31 @@ public class InternalProblemLexer extends Lexer {
1029 break; 1059 break;
1030 1060
1031 default : 1061 default :
1032 break loop8; 1062 break loop7;
1033 } 1063 }
1034 } while (true); 1064 } while (true);
1035 1065
1036 // InternalProblem.g:4202:40: ( ( '\\r' )? '\\n' )? 1066 // InternalProblem.g:4481:40: ( ( '\\r' )? '\\n' )?
1037 int alt10=2; 1067 int alt9=2;
1038 int LA10_0 = input.LA(1); 1068 int LA9_0 = input.LA(1);
1039 1069
1040 if ( (LA10_0=='\n'||LA10_0=='\r') ) { 1070 if ( (LA9_0=='\n'||LA9_0=='\r') ) {
1041 alt10=1; 1071 alt9=1;
1042 } 1072 }
1043 switch (alt10) { 1073 switch (alt9) {
1044 case 1 : 1074 case 1 :
1045 // InternalProblem.g:4202:41: ( '\\r' )? '\\n' 1075 // InternalProblem.g:4481:41: ( '\\r' )? '\\n'
1046 { 1076 {
1047 // InternalProblem.g:4202:41: ( '\\r' )? 1077 // InternalProblem.g:4481:41: ( '\\r' )?
1048 int alt9=2; 1078 int alt8=2;
1049 int LA9_0 = input.LA(1); 1079 int LA8_0 = input.LA(1);
1050 1080
1051 if ( (LA9_0=='\r') ) { 1081 if ( (LA8_0=='\r') ) {
1052 alt9=1; 1082 alt8=1;
1053 } 1083 }
1054 switch (alt9) { 1084 switch (alt8) {
1055 case 1 : 1085 case 1 :
1056 // InternalProblem.g:4202:41: '\\r' 1086 // InternalProblem.g:4481:41: '\\r'
1057 { 1087 {
1058 match('\r'); 1088 match('\r');
1059 1089
@@ -1085,22 +1115,22 @@ public class InternalProblemLexer extends Lexer {
1085 try { 1115 try {
1086 int _type = RULE_WS; 1116 int _type = RULE_WS;
1087 int _channel = DEFAULT_TOKEN_CHANNEL; 1117 int _channel = DEFAULT_TOKEN_CHANNEL;
1088 // InternalProblem.g:4204:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) 1118 // InternalProblem.g:4483:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
1089 // InternalProblem.g:4204:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ 1119 // InternalProblem.g:4483:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
1090 { 1120 {
1091 // InternalProblem.g:4204:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ 1121 // InternalProblem.g:4483:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
1092 int cnt11=0; 1122 int cnt10=0;
1093 loop11: 1123 loop10:
1094 do { 1124 do {
1095 int alt11=2; 1125 int alt10=2;
1096 int LA11_0 = input.LA(1); 1126 int LA10_0 = input.LA(1);
1097 1127
1098 if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) { 1128 if ( ((LA10_0>='\t' && LA10_0<='\n')||LA10_0=='\r'||LA10_0==' ') ) {
1099 alt11=1; 1129 alt10=1;
1100 } 1130 }
1101 1131
1102 1132
1103 switch (alt11) { 1133 switch (alt10) {
1104 case 1 : 1134 case 1 :
1105 // InternalProblem.g: 1135 // InternalProblem.g:
1106 { 1136 {
@@ -1118,12 +1148,12 @@ public class InternalProblemLexer extends Lexer {
1118 break; 1148 break;
1119 1149
1120 default : 1150 default :
1121 if ( cnt11 >= 1 ) break loop11; 1151 if ( cnt10 >= 1 ) break loop10;
1122 EarlyExitException eee = 1152 EarlyExitException eee =
1123 new EarlyExitException(11, input); 1153 new EarlyExitException(10, input);
1124 throw eee; 1154 throw eee;
1125 } 1155 }
1126 cnt11++; 1156 cnt10++;
1127 } while (true); 1157 } while (true);
1128 1158
1129 1159
@@ -1142,8 +1172,8 @@ public class InternalProblemLexer extends Lexer {
1142 try { 1172 try {
1143 int _type = RULE_ANY_OTHER; 1173 int _type = RULE_ANY_OTHER;
1144 int _channel = DEFAULT_TOKEN_CHANNEL; 1174 int _channel = DEFAULT_TOKEN_CHANNEL;
1145 // InternalProblem.g:4206:16: ( . ) 1175 // InternalProblem.g:4485:16: ( . )
1146 // InternalProblem.g:4206:18: . 1176 // InternalProblem.g:4485:18: .
1147 { 1177 {
1148 matchAny(); 1178 matchAny();
1149 1179
@@ -1158,257 +1188,278 @@ public class InternalProblemLexer extends Lexer {
1158 // $ANTLR end "RULE_ANY_OTHER" 1188 // $ANTLR end "RULE_ANY_OTHER"
1159 1189
1160 public void mTokens() throws RecognitionException { 1190 public void mTokens() throws RecognitionException {
1161 // InternalProblem.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 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) 1191 // InternalProblem.g:1:8: ( 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 | T__42 | RULE_STRING | RULE_QUOTED_ID | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
1162 int alt12=36; 1192 int alt11=39;
1163 alt12 = dfa12.predict(input); 1193 alt11 = dfa11.predict(input);
1164 switch (alt12) { 1194 switch (alt11) {
1165 case 1 : 1195 case 1 :
1166 // InternalProblem.g:1:10: T__11 1196 // InternalProblem.g:1:10: T__12
1167 { 1197 {
1168 mT__11(); 1198 mT__12();
1169 1199
1170 } 1200 }
1171 break; 1201 break;
1172 case 2 : 1202 case 2 :
1173 // InternalProblem.g:1:16: T__12 1203 // InternalProblem.g:1:16: T__13
1174 { 1204 {
1175 mT__12(); 1205 mT__13();
1176 1206
1177 } 1207 }
1178 break; 1208 break;
1179 case 3 : 1209 case 3 :
1180 // InternalProblem.g:1:22: T__13 1210 // InternalProblem.g:1:22: T__14
1181 { 1211 {
1182 mT__13(); 1212 mT__14();
1183 1213
1184 } 1214 }
1185 break; 1215 break;
1186 case 4 : 1216 case 4 :
1187 // InternalProblem.g:1:28: T__14 1217 // InternalProblem.g:1:28: T__15
1188 { 1218 {
1189 mT__14(); 1219 mT__15();
1190 1220
1191 } 1221 }
1192 break; 1222 break;
1193 case 5 : 1223 case 5 :
1194 // InternalProblem.g:1:34: T__15 1224 // InternalProblem.g:1:34: T__16
1195 { 1225 {
1196 mT__15(); 1226 mT__16();
1197 1227
1198 } 1228 }
1199 break; 1229 break;
1200 case 6 : 1230 case 6 :
1201 // InternalProblem.g:1:40: T__16 1231 // InternalProblem.g:1:40: T__17
1202 { 1232 {
1203 mT__16(); 1233 mT__17();
1204 1234
1205 } 1235 }
1206 break; 1236 break;
1207 case 7 : 1237 case 7 :
1208 // InternalProblem.g:1:46: T__17 1238 // InternalProblem.g:1:46: T__18
1209 { 1239 {
1210 mT__17(); 1240 mT__18();
1211 1241
1212 } 1242 }
1213 break; 1243 break;
1214 case 8 : 1244 case 8 :
1215 // InternalProblem.g:1:52: T__18 1245 // InternalProblem.g:1:52: T__19
1216 { 1246 {
1217 mT__18(); 1247 mT__19();
1218 1248
1219 } 1249 }
1220 break; 1250 break;
1221 case 9 : 1251 case 9 :
1222 // InternalProblem.g:1:58: T__19 1252 // InternalProblem.g:1:58: T__20
1223 { 1253 {
1224 mT__19(); 1254 mT__20();
1225 1255
1226 } 1256 }
1227 break; 1257 break;
1228 case 10 : 1258 case 10 :
1229 // InternalProblem.g:1:64: T__20 1259 // InternalProblem.g:1:64: T__21
1230 { 1260 {
1231 mT__20(); 1261 mT__21();
1232 1262
1233 } 1263 }
1234 break; 1264 break;
1235 case 11 : 1265 case 11 :
1236 // InternalProblem.g:1:70: T__21 1266 // InternalProblem.g:1:70: T__22
1237 { 1267 {
1238 mT__21(); 1268 mT__22();
1239 1269
1240 } 1270 }
1241 break; 1271 break;
1242 case 12 : 1272 case 12 :
1243 // InternalProblem.g:1:76: T__22 1273 // InternalProblem.g:1:76: T__23
1244 { 1274 {
1245 mT__22(); 1275 mT__23();
1246 1276
1247 } 1277 }
1248 break; 1278 break;
1249 case 13 : 1279 case 13 :
1250 // InternalProblem.g:1:82: T__23 1280 // InternalProblem.g:1:82: T__24
1251 { 1281 {
1252 mT__23(); 1282 mT__24();
1253 1283
1254 } 1284 }
1255 break; 1285 break;
1256 case 14 : 1286 case 14 :
1257 // InternalProblem.g:1:88: T__24 1287 // InternalProblem.g:1:88: T__25
1258 { 1288 {
1259 mT__24(); 1289 mT__25();
1260 1290
1261 } 1291 }
1262 break; 1292 break;
1263 case 15 : 1293 case 15 :
1264 // InternalProblem.g:1:94: T__25 1294 // InternalProblem.g:1:94: T__26
1265 { 1295 {
1266 mT__25(); 1296 mT__26();
1267 1297
1268 } 1298 }
1269 break; 1299 break;
1270 case 16 : 1300 case 16 :
1271 // InternalProblem.g:1:100: T__26 1301 // InternalProblem.g:1:100: T__27
1272 { 1302 {
1273 mT__26(); 1303 mT__27();
1274 1304
1275 } 1305 }
1276 break; 1306 break;
1277 case 17 : 1307 case 17 :
1278 // InternalProblem.g:1:106: T__27 1308 // InternalProblem.g:1:106: T__28
1279 { 1309 {
1280 mT__27(); 1310 mT__28();
1281 1311
1282 } 1312 }
1283 break; 1313 break;
1284 case 18 : 1314 case 18 :
1285 // InternalProblem.g:1:112: T__28 1315 // InternalProblem.g:1:112: T__29
1286 { 1316 {
1287 mT__28(); 1317 mT__29();
1288 1318
1289 } 1319 }
1290 break; 1320 break;
1291 case 19 : 1321 case 19 :
1292 // InternalProblem.g:1:118: T__29 1322 // InternalProblem.g:1:118: T__30
1293 { 1323 {
1294 mT__29(); 1324 mT__30();
1295 1325
1296 } 1326 }
1297 break; 1327 break;
1298 case 20 : 1328 case 20 :
1299 // InternalProblem.g:1:124: T__30 1329 // InternalProblem.g:1:124: T__31
1300 { 1330 {
1301 mT__30(); 1331 mT__31();
1302 1332
1303 } 1333 }
1304 break; 1334 break;
1305 case 21 : 1335 case 21 :
1306 // InternalProblem.g:1:130: T__31 1336 // InternalProblem.g:1:130: T__32
1307 { 1337 {
1308 mT__31(); 1338 mT__32();
1309 1339
1310 } 1340 }
1311 break; 1341 break;
1312 case 22 : 1342 case 22 :
1313 // InternalProblem.g:1:136: T__32 1343 // InternalProblem.g:1:136: T__33
1314 { 1344 {
1315 mT__32(); 1345 mT__33();
1316 1346
1317 } 1347 }
1318 break; 1348 break;
1319 case 23 : 1349 case 23 :
1320 // InternalProblem.g:1:142: T__33 1350 // InternalProblem.g:1:142: T__34
1321 { 1351 {
1322 mT__33(); 1352 mT__34();
1323 1353
1324 } 1354 }
1325 break; 1355 break;
1326 case 24 : 1356 case 24 :
1327 // InternalProblem.g:1:148: T__34 1357 // InternalProblem.g:1:148: T__35
1328 { 1358 {
1329 mT__34(); 1359 mT__35();
1330 1360
1331 } 1361 }
1332 break; 1362 break;
1333 case 25 : 1363 case 25 :
1334 // InternalProblem.g:1:154: T__35 1364 // InternalProblem.g:1:154: T__36
1335 { 1365 {
1336 mT__35(); 1366 mT__36();
1337 1367
1338 } 1368 }
1339 break; 1369 break;
1340 case 26 : 1370 case 26 :
1341 // InternalProblem.g:1:160: T__36 1371 // InternalProblem.g:1:160: T__37
1342 { 1372 {
1343 mT__36(); 1373 mT__37();
1344 1374
1345 } 1375 }
1346 break; 1376 break;
1347 case 27 : 1377 case 27 :
1348 // InternalProblem.g:1:166: T__37 1378 // InternalProblem.g:1:166: T__38
1349 { 1379 {
1350 mT__37(); 1380 mT__38();
1351 1381
1352 } 1382 }
1353 break; 1383 break;
1354 case 28 : 1384 case 28 :
1355 // InternalProblem.g:1:172: T__38 1385 // InternalProblem.g:1:172: T__39
1356 { 1386 {
1357 mT__38(); 1387 mT__39();
1358 1388
1359 } 1389 }
1360 break; 1390 break;
1361 case 29 : 1391 case 29 :
1362 // InternalProblem.g:1:178: T__39 1392 // InternalProblem.g:1:178: T__40
1363 { 1393 {
1364 mT__39(); 1394 mT__40();
1365 1395
1366 } 1396 }
1367 break; 1397 break;
1368 case 30 : 1398 case 30 :
1369 // InternalProblem.g:1:184: RULE_ID 1399 // InternalProblem.g:1:184: T__41
1370 { 1400 {
1371 mRULE_ID(); 1401 mT__41();
1372 1402
1373 } 1403 }
1374 break; 1404 break;
1375 case 31 : 1405 case 31 :
1376 // InternalProblem.g:1:192: RULE_INT 1406 // InternalProblem.g:1:190: T__42
1377 { 1407 {
1378 mRULE_INT(); 1408 mT__42();
1379 1409
1380 } 1410 }
1381 break; 1411 break;
1382 case 32 : 1412 case 32 :
1383 // InternalProblem.g:1:201: RULE_STRING 1413 // InternalProblem.g:1:196: RULE_STRING
1384 { 1414 {
1385 mRULE_STRING(); 1415 mRULE_STRING();
1386 1416
1387 } 1417 }
1388 break; 1418 break;
1389 case 33 : 1419 case 33 :
1390 // InternalProblem.g:1:213: RULE_ML_COMMENT 1420 // InternalProblem.g:1:208: RULE_QUOTED_ID
1391 { 1421 {
1392 mRULE_ML_COMMENT(); 1422 mRULE_QUOTED_ID();
1393 1423
1394 } 1424 }
1395 break; 1425 break;
1396 case 34 : 1426 case 34 :
1397 // InternalProblem.g:1:229: RULE_SL_COMMENT 1427 // InternalProblem.g:1:223: RULE_ID
1398 { 1428 {
1399 mRULE_SL_COMMENT(); 1429 mRULE_ID();
1400 1430
1401 } 1431 }
1402 break; 1432 break;
1403 case 35 : 1433 case 35 :
1404 // InternalProblem.g:1:245: RULE_WS 1434 // InternalProblem.g:1:231: RULE_INT
1405 { 1435 {
1406 mRULE_WS(); 1436 mRULE_INT();
1407 1437
1408 } 1438 }
1409 break; 1439 break;
1410 case 36 : 1440 case 36 :
1411 // InternalProblem.g:1:253: RULE_ANY_OTHER 1441 // InternalProblem.g:1:240: RULE_ML_COMMENT
1442 {
1443 mRULE_ML_COMMENT();
1444
1445 }
1446 break;
1447 case 37 :
1448 // InternalProblem.g:1:256: RULE_SL_COMMENT
1449 {
1450 mRULE_SL_COMMENT();
1451
1452 }
1453 break;
1454 case 38 :
1455 // InternalProblem.g:1:272: RULE_WS
1456 {
1457 mRULE_WS();
1458
1459 }
1460 break;
1461 case 39 :
1462 // InternalProblem.g:1:280: RULE_ANY_OTHER
1412 { 1463 {
1413 mRULE_ANY_OTHER(); 1464 mRULE_ANY_OTHER();
1414 1465
@@ -1420,80 +1471,84 @@ public class InternalProblemLexer extends Lexer {
1420 } 1471 }
1421 1472
1422 1473
1423 protected DFA12 dfa12 = new DFA12(this); 1474 protected DFA11 dfa11 = new DFA11(this);
1424 static final String DFA12_eotS = 1475 static final String DFA11_eotS =
1425 "\1\uffff\2\41\2\uffff\3\41\2\uffff\1\41\1\55\1\41\3\uffff\1\41\2\uffff\1\70\1\uffff\2\41\1\75\1\37\2\uffff\3\37\2\uffff\1\41\1\uffff\1\41\2\uffff\3\41\2\uffff\2\41\2\uffff\2\41\3\uffff\1\41\6\uffff\2\41\7\uffff\15\41\1\134\1\135\12\41\2\uffff\1\150\1\41\1\152\2\41\1\155\1\41\1\157\1\41\1\161\1\uffff\1\41\1\uffff\2\41\1\uffff\1\41\1\uffff\1\41\1\uffff\1\167\1\41\1\171\2\41\1\uffff\1\174\1\uffff\1\175\1\176\3\uffff"; 1476 "\1\uffff\1\43\2\45\2\uffff\3\45\2\uffff\2\45\6\uffff\1\45\2\uffff\1\74\2\45\1\100\3\41\2\uffff\1\41\4\uffff\1\45\1\uffff\1\45\2\uffff\3\45\2\uffff\4\45\6\uffff\1\45\4\uffff\2\45\10\uffff\16\45\1\142\1\45\1\144\12\45\1\uffff\1\45\1\uffff\1\160\1\45\1\162\2\45\1\165\1\45\1\167\1\45\1\171\1\45\1\uffff\1\45\1\uffff\2\45\1\uffff\1\45\1\uffff\1\45\1\uffff\1\u0080\1\u0081\1\45\1\u0083\2\45\2\uffff\1\u0086\1\uffff\1\u0087\1\u0088\3\uffff";
1426 static final String DFA12_eofS = 1477 static final String DFA11_eofS =
1427 "\177\uffff"; 1478 "\u0089\uffff";
1428 static final String DFA12_minS = 1479 static final String DFA11_minS =
1429 "\1\0\1\145\1\162\2\uffff\1\162\1\141\1\156\2\uffff\1\154\1\56\1\162\3\uffff\1\160\2\uffff\1\72\1\uffff\1\143\1\142\1\75\1\101\2\uffff\2\0\1\52\2\uffff\1\146\1\uffff\1\145\2\uffff\1\165\1\154\1\153\2\uffff\1\141\1\156\2\uffff\1\164\1\162\3\uffff\1\160\6\uffff\1\157\1\163\7\uffff\1\145\1\144\1\145\1\163\1\156\1\163\1\164\1\145\2\157\1\160\1\164\1\162\2\60\1\145\1\157\1\163\1\141\1\156\1\162\1\163\1\145\1\162\1\163\2\uffff\1\60\1\167\1\60\1\151\1\144\1\60\1\151\1\60\1\141\1\60\1\uffff\1\156\1\uffff\1\156\1\163\1\uffff\1\164\1\uffff\1\143\1\uffff\1\60\1\163\1\60\1\145\1\164\1\uffff\1\60\1\uffff\2\60\3\uffff"; 1480 "\1\0\1\56\1\145\1\162\2\uffff\1\162\1\141\1\156\2\uffff\1\154\1\162\6\uffff\1\160\2\uffff\1\55\1\143\1\142\1\75\2\0\1\101\2\uffff\1\52\4\uffff\1\146\1\uffff\1\145\2\uffff\1\165\1\154\1\153\2\uffff\1\141\1\156\1\164\1\162\6\uffff\1\160\4\uffff\1\157\1\163\10\uffff\1\145\1\144\1\142\1\145\1\163\1\156\1\163\1\164\1\145\2\157\1\160\1\164\1\162\1\60\1\154\1\60\1\145\1\157\1\163\1\141\1\156\1\162\1\163\1\145\1\162\1\163\1\uffff\1\145\1\uffff\1\60\1\167\1\60\1\151\1\144\1\60\1\151\1\60\1\141\1\60\1\155\1\uffff\1\156\1\uffff\1\156\1\163\1\uffff\1\164\1\uffff\1\143\1\uffff\2\60\1\163\1\60\1\145\1\164\2\uffff\1\60\1\uffff\2\60\3\uffff";
1430 static final String DFA12_maxS = 1481 static final String DFA11_maxS =
1431 "\1\uffff\1\145\1\162\2\uffff\1\162\1\141\1\156\2\uffff\1\157\1\56\1\170\3\uffff\1\160\2\uffff\1\75\1\uffff\1\143\1\142\1\75\1\172\2\uffff\2\uffff\1\57\2\uffff\1\146\1\uffff\1\145\2\uffff\1\165\1\154\1\153\2\uffff\1\141\1\156\2\uffff\1\164\1\162\3\uffff\1\160\6\uffff\1\157\1\163\7\uffff\1\145\1\144\1\145\1\163\1\156\1\163\1\164\1\145\2\157\1\160\1\164\1\162\2\172\1\145\1\157\1\163\1\141\1\156\1\162\1\163\1\145\1\162\1\163\2\uffff\1\172\1\167\1\172\1\151\1\144\1\172\1\151\1\172\1\141\1\172\1\uffff\1\156\1\uffff\1\156\1\163\1\uffff\1\164\1\uffff\1\143\1\uffff\1\172\1\163\1\172\1\145\1\164\1\uffff\1\172\1\uffff\2\172\3\uffff"; 1482 "\1\uffff\1\56\1\145\1\162\2\uffff\1\162\1\141\1\156\2\uffff\1\157\1\170\6\uffff\1\160\2\uffff\1\55\1\143\1\142\1\75\2\uffff\1\172\2\uffff\1\57\4\uffff\1\146\1\uffff\1\157\2\uffff\1\165\1\154\1\153\2\uffff\1\141\1\156\1\164\1\162\6\uffff\1\160\4\uffff\1\157\1\163\10\uffff\1\145\1\144\1\142\1\145\1\163\1\156\1\163\1\164\1\145\2\157\1\160\1\164\1\162\1\172\1\154\1\172\1\145\1\157\1\163\1\141\1\156\1\162\1\163\1\145\1\162\1\163\1\uffff\1\145\1\uffff\1\172\1\167\1\172\1\151\1\144\1\172\1\151\1\172\1\141\1\172\1\155\1\uffff\1\156\1\uffff\1\156\1\163\1\uffff\1\164\1\uffff\1\143\1\uffff\2\172\1\163\1\172\1\145\1\164\2\uffff\1\172\1\uffff\2\172\3\uffff";
1432 static final String DFA12_acceptS = 1483 static final String DFA11_acceptS =
1433 "\3\uffff\1\3\1\4\3\uffff\1\10\1\11\3\uffff\1\15\1\16\1\17\1\uffff\1\21\1\22\1\uffff\1\24\4\uffff\1\36\1\37\3\uffff\1\43\1\44\1\uffff\1\36\1\uffff\1\3\1\4\3\uffff\1\10\1\11\2\uffff\1\27\1\13\2\uffff\1\15\1\16\1\17\1\uffff\1\21\1\22\1\23\1\30\1\25\1\24\2\uffff\1\35\1\34\1\37\1\40\1\41\1\42\1\43\31\uffff\1\2\1\5\12\uffff\1\6\1\uffff\1\12\2\uffff\1\33\1\uffff\1\26\1\uffff\1\1\5\uffff\1\7\1\uffff\1\14\2\uffff\1\32\1\20\1\31"; 1484 "\4\uffff\1\4\1\5\3\uffff\1\11\1\12\2\uffff\1\16\1\17\1\20\1\21\1\22\1\23\1\uffff\1\25\1\26\7\uffff\1\42\1\43\1\uffff\1\46\1\47\1\32\1\1\1\uffff\1\42\1\uffff\1\4\1\5\3\uffff\1\11\1\12\4\uffff\1\16\1\17\1\20\1\21\1\22\1\23\1\uffff\1\25\1\26\1\27\1\30\2\uffff\1\37\1\36\1\40\1\41\1\43\1\44\1\45\1\46\33\uffff\1\3\1\uffff\1\6\13\uffff\1\7\1\uffff\1\14\2\uffff\1\35\1\uffff\1\31\1\uffff\1\2\6\uffff\1\13\1\10\1\uffff\1\15\2\uffff\1\34\1\24\1\33";
1434 static final String DFA12_specialS = 1485 static final String DFA11_specialS =
1435 "\1\1\32\uffff\1\2\1\0\142\uffff}>"; 1486 "\1\0\31\uffff\1\2\1\1\155\uffff}>";
1436 static final String[] DFA12_transitionS = { 1487 static final String[] DFA11_transitionS = {
1437 "\11\37\2\36\2\37\1\36\22\37\1\36\1\10\1\33\4\37\1\34\1\21\1\22\1\4\1\27\1\17\1\37\1\13\1\35\12\32\1\23\1\24\1\37\1\3\1\37\1\11\1\37\32\31\1\15\1\37\1\16\1\30\1\31\1\37\1\26\1\31\1\12\1\31\1\14\1\6\10\31\1\20\1\2\1\31\1\1\1\25\1\5\1\7\5\31\uff85\37", 1488 "\11\41\2\40\2\41\1\40\22\41\1\40\1\11\1\32\4\41\1\33\1\24\1\25\1\5\1\31\1\15\1\41\1\1\1\37\12\36\1\26\1\20\1\41\1\4\1\41\1\12\1\41\32\35\1\21\1\41\1\22\1\34\1\35\1\41\1\30\1\35\1\13\1\35\1\14\1\7\10\35\1\23\1\3\1\35\1\2\1\27\1\6\1\10\5\35\1\16\1\41\1\17\uff82\41",
1438 "\1\40",
1439 "\1\42", 1489 "\1\42",
1490 "\1\44",
1491 "\1\46",
1440 "", 1492 "",
1441 "", 1493 "",
1442 "\1\45", 1494 "\1\51",
1443 "\1\46", 1495 "\1\52",
1444 "\1\47", 1496 "\1\53",
1445 "", 1497 "",
1446 "", 1498 "",
1447 "\1\52\2\uffff\1\53", 1499 "\1\56\2\uffff\1\57",
1448 "\1\54", 1500 "\1\61\5\uffff\1\60",
1449 "\1\57\5\uffff\1\56",
1450 "", 1501 "",
1451 "", 1502 "",
1452 "", 1503 "",
1453 "\1\63",
1454 "", 1504 "",
1455 "", 1505 "",
1456 "\1\67\2\uffff\1\66",
1457 "", 1506 "",
1458 "\1\72", 1507 "\1\70",
1459 "\1\73",
1460 "\1\74",
1461 "\32\41\4\uffff\1\41\1\uffff\32\41",
1462 "", 1508 "",
1463 "", 1509 "",
1464 "\0\77", 1510 "\1\73",
1465 "\0\77", 1511 "\1\75",
1466 "\1\100\4\uffff\1\101", 1512 "\1\76",
1513 "\1\77",
1514 "\0\101",
1515 "\0\102",
1516 "\32\45\4\uffff\1\45\1\uffff\32\45",
1467 "", 1517 "",
1468 "", 1518 "",
1469 "\1\103", 1519 "\1\104\4\uffff\1\105",
1470 "", 1520 "",
1471 "\1\104",
1472 "", 1521 "",
1473 "", 1522 "",
1474 "\1\105",
1475 "\1\106",
1476 "\1\107",
1477 "", 1523 "",
1524 "\1\107",
1478 "", 1525 "",
1479 "\1\110", 1526 "\1\110\11\uffff\1\111",
1480 "\1\111",
1481 "", 1527 "",
1482 "", 1528 "",
1483 "\1\112", 1529 "\1\112",
1484 "\1\113", 1530 "\1\113",
1531 "\1\114",
1485 "", 1532 "",
1486 "", 1533 "",
1534 "\1\115",
1535 "\1\116",
1536 "\1\117",
1537 "\1\120",
1487 "", 1538 "",
1488 "\1\114",
1489 "", 1539 "",
1490 "", 1540 "",
1491 "", 1541 "",
1492 "", 1542 "",
1493 "", 1543 "",
1544 "\1\121",
1545 "",
1546 "",
1547 "",
1548 "",
1549 "\1\122",
1550 "\1\123",
1494 "", 1551 "",
1495 "\1\115",
1496 "\1\116",
1497 "", 1552 "",
1498 "", 1553 "",
1499 "", 1554 "",
@@ -1501,11 +1556,6 @@ public class InternalProblemLexer extends Lexer {
1501 "", 1556 "",
1502 "", 1557 "",
1503 "", 1558 "",
1504 "\1\117",
1505 "\1\120",
1506 "\1\121",
1507 "\1\122",
1508 "\1\123",
1509 "\1\124", 1559 "\1\124",
1510 "\1\125", 1560 "\1\125",
1511 "\1\126", 1561 "\1\126",
@@ -1514,182 +1564,197 @@ public class InternalProblemLexer extends Lexer {
1514 "\1\131", 1564 "\1\131",
1515 "\1\132", 1565 "\1\132",
1516 "\1\133", 1566 "\1\133",
1517 "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41", 1567 "\1\134",
1518 "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41", 1568 "\1\135",
1519 "\1\136", 1569 "\1\136",
1520 "\1\137", 1570 "\1\137",
1521 "\1\140", 1571 "\1\140",
1522 "\1\141", 1572 "\1\141",
1523 "\1\142", 1573 "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
1524 "\1\143", 1574 "\1\143",
1525 "\1\144", 1575 "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
1526 "\1\145", 1576 "\1\145",
1527 "\1\146", 1577 "\1\146",
1528 "\1\147", 1578 "\1\147",
1529 "", 1579 "\1\150",
1530 "",
1531 "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
1532 "\1\151", 1580 "\1\151",
1533 "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41", 1581 "\1\152",
1534 "\1\153", 1582 "\1\153",
1535 "\1\154", 1583 "\1\154",
1536 "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41", 1584 "\1\155",
1537 "\1\156", 1585 "\1\156",
1538 "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
1539 "\1\160",
1540 "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
1541 "", 1586 "",
1542 "\1\162", 1587 "\1\157",
1543 "", 1588 "",
1589 "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
1590 "\1\161",
1591 "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
1544 "\1\163", 1592 "\1\163",
1545 "\1\164", 1593 "\1\164",
1546 "", 1594 "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
1547 "\1\165",
1548 "",
1549 "\1\166", 1595 "\1\166",
1550 "", 1596 "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
1551 "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
1552 "\1\170", 1597 "\1\170",
1553 "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41", 1598 "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
1554 "\1\172", 1599 "\1\172",
1600 "",
1555 "\1\173", 1601 "\1\173",
1556 "", 1602 "",
1557 "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41", 1603 "\1\174",
1604 "\1\175",
1605 "",
1606 "\1\176",
1607 "",
1608 "\1\177",
1609 "",
1610 "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
1611 "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
1612 "\1\u0082",
1613 "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
1614 "\1\u0084",
1615 "\1\u0085",
1558 "", 1616 "",
1559 "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41", 1617 "",
1560 "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41", 1618 "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
1619 "",
1620 "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
1621 "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
1561 "", 1622 "",
1562 "", 1623 "",
1563 "" 1624 ""
1564 }; 1625 };
1565 1626
1566 static final short[] DFA12_eot = DFA.unpackEncodedString(DFA12_eotS); 1627 static final short[] DFA11_eot = DFA.unpackEncodedString(DFA11_eotS);
1567 static final short[] DFA12_eof = DFA.unpackEncodedString(DFA12_eofS); 1628 static final short[] DFA11_eof = DFA.unpackEncodedString(DFA11_eofS);
1568 static final char[] DFA12_min = DFA.unpackEncodedStringToUnsignedChars(DFA12_minS); 1629 static final char[] DFA11_min = DFA.unpackEncodedStringToUnsignedChars(DFA11_minS);
1569 static final char[] DFA12_max = DFA.unpackEncodedStringToUnsignedChars(DFA12_maxS); 1630 static final char[] DFA11_max = DFA.unpackEncodedStringToUnsignedChars(DFA11_maxS);
1570 static final short[] DFA12_accept = DFA.unpackEncodedString(DFA12_acceptS); 1631 static final short[] DFA11_accept = DFA.unpackEncodedString(DFA11_acceptS);
1571 static final short[] DFA12_special = DFA.unpackEncodedString(DFA12_specialS); 1632 static final short[] DFA11_special = DFA.unpackEncodedString(DFA11_specialS);
1572 static final short[][] DFA12_transition; 1633 static final short[][] DFA11_transition;
1573 1634
1574 static { 1635 static {
1575 int numStates = DFA12_transitionS.length; 1636 int numStates = DFA11_transitionS.length;
1576 DFA12_transition = new short[numStates][]; 1637 DFA11_transition = new short[numStates][];
1577 for (int i=0; i<numStates; i++) { 1638 for (int i=0; i<numStates; i++) {
1578 DFA12_transition[i] = DFA.unpackEncodedString(DFA12_transitionS[i]); 1639 DFA11_transition[i] = DFA.unpackEncodedString(DFA11_transitionS[i]);
1579 } 1640 }
1580 } 1641 }
1581 1642
1582 class DFA12 extends DFA { 1643 class DFA11 extends DFA {
1583 1644
1584 public DFA12(BaseRecognizer recognizer) { 1645 public DFA11(BaseRecognizer recognizer) {
1585 this.recognizer = recognizer; 1646 this.recognizer = recognizer;
1586 this.decisionNumber = 12; 1647 this.decisionNumber = 11;
1587 this.eot = DFA12_eot; 1648 this.eot = DFA11_eot;
1588 this.eof = DFA12_eof; 1649 this.eof = DFA11_eof;
1589 this.min = DFA12_min; 1650 this.min = DFA11_min;
1590 this.max = DFA12_max; 1651 this.max = DFA11_max;
1591 this.accept = DFA12_accept; 1652 this.accept = DFA11_accept;
1592 this.special = DFA12_special; 1653 this.special = DFA11_special;
1593 this.transition = DFA12_transition; 1654 this.transition = DFA11_transition;
1594 } 1655 }
1595 public String getDescription() { 1656 public String getDescription() {
1596 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 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );"; 1657 return "1:1: Tokens : ( 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 | T__42 | RULE_STRING | RULE_QUOTED_ID | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
1597 } 1658 }
1598 public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { 1659 public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
1599 IntStream input = _input; 1660 IntStream input = _input;
1600 int _s = s; 1661 int _s = s;
1601 switch ( s ) { 1662 switch ( s ) {
1602 case 0 : 1663 case 0 :
1603 int LA12_28 = input.LA(1); 1664 int LA11_0 = input.LA(1);
1604 1665
1605 s = -1; 1666 s = -1;
1606 if ( ((LA12_28>='\u0000' && LA12_28<='\uFFFF')) ) {s = 63;} 1667 if ( (LA11_0=='.') ) {s = 1;}
1607 1668
1608 else s = 31; 1669 else if ( (LA11_0=='r') ) {s = 2;}
1609 1670
1610 if ( s>=0 ) return s; 1671 else if ( (LA11_0=='p') ) {s = 3;}
1611 break;
1612 case 1 :
1613 int LA12_0 = input.LA(1);
1614 1672
1615 s = -1; 1673 else if ( (LA11_0=='=') ) {s = 4;}
1616 if ( (LA12_0=='r') ) {s = 1;}
1617 1674
1618 else if ( (LA12_0=='p') ) {s = 2;} 1675 else if ( (LA11_0=='*') ) {s = 5;}
1619 1676
1620 else if ( (LA12_0=='=') ) {s = 3;} 1677 else if ( (LA11_0=='t') ) {s = 6;}
1621 1678
1622 else if ( (LA12_0=='*') ) {s = 4;} 1679 else if ( (LA11_0=='f') ) {s = 7;}
1623 1680
1624 else if ( (LA12_0=='t') ) {s = 5;} 1681 else if ( (LA11_0=='u') ) {s = 8;}
1625 1682
1626 else if ( (LA12_0=='f') ) {s = 6;} 1683 else if ( (LA11_0=='!') ) {s = 9;}
1627 1684
1628 else if ( (LA12_0=='u') ) {s = 7;} 1685 else if ( (LA11_0=='?') ) {s = 10;}
1629 1686
1630 else if ( (LA12_0=='!') ) {s = 8;} 1687 else if ( (LA11_0=='c') ) {s = 11;}
1631 1688
1632 else if ( (LA12_0=='?') ) {s = 9;} 1689 else if ( (LA11_0=='e') ) {s = 12;}
1633 1690
1634 else if ( (LA12_0=='c') ) {s = 10;} 1691 else if ( (LA11_0==',') ) {s = 13;}
1635 1692
1636 else if ( (LA12_0=='.') ) {s = 11;} 1693 else if ( (LA11_0=='{') ) {s = 14;}
1637 1694
1638 else if ( (LA12_0=='e') ) {s = 12;} 1695 else if ( (LA11_0=='}') ) {s = 15;}
1639 1696
1640 else if ( (LA12_0=='[') ) {s = 13;} 1697 else if ( (LA11_0==';') ) {s = 16;}
1641 1698
1642 else if ( (LA12_0==']') ) {s = 14;} 1699 else if ( (LA11_0=='[') ) {s = 17;}
1643 1700
1644 else if ( (LA12_0==',') ) {s = 15;} 1701 else if ( (LA11_0==']') ) {s = 18;}
1645 1702
1646 else if ( (LA12_0=='o') ) {s = 16;} 1703 else if ( (LA11_0=='o') ) {s = 19;}
1647 1704
1648 else if ( (LA12_0=='(') ) {s = 17;} 1705 else if ( (LA11_0=='(') ) {s = 20;}
1649 1706
1650 else if ( (LA12_0==')') ) {s = 18;} 1707 else if ( (LA11_0==')') ) {s = 21;}
1651 1708
1652 else if ( (LA12_0==':') ) {s = 19;} 1709 else if ( (LA11_0==':') ) {s = 22;}
1653 1710
1654 else if ( (LA12_0==';') ) {s = 20;} 1711 else if ( (LA11_0=='s') ) {s = 23;}
1655 1712
1656 else if ( (LA12_0=='s') ) {s = 21;} 1713 else if ( (LA11_0=='a') ) {s = 24;}
1657 1714
1658 else if ( (LA12_0=='a') ) {s = 22;} 1715 else if ( (LA11_0=='+') ) {s = 25;}
1659 1716
1660 else if ( (LA12_0=='+') ) {s = 23;} 1717 else if ( (LA11_0=='\"') ) {s = 26;}
1661 1718
1662 else if ( (LA12_0=='^') ) {s = 24;} 1719 else if ( (LA11_0=='\'') ) {s = 27;}
1663 1720
1664 else if ( ((LA12_0>='A' && LA12_0<='Z')||LA12_0=='_'||LA12_0=='b'||LA12_0=='d'||(LA12_0>='g' && LA12_0<='n')||LA12_0=='q'||(LA12_0>='v' && LA12_0<='z')) ) {s = 25;} 1721 else if ( (LA11_0=='^') ) {s = 28;}
1665 1722
1666 else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 26;} 1723 else if ( ((LA11_0>='A' && LA11_0<='Z')||LA11_0=='_'||LA11_0=='b'||LA11_0=='d'||(LA11_0>='g' && LA11_0<='n')||LA11_0=='q'||(LA11_0>='v' && LA11_0<='z')) ) {s = 29;}
1667 1724
1668 else if ( (LA12_0=='\"') ) {s = 27;} 1725 else if ( ((LA11_0>='0' && LA11_0<='9')) ) {s = 30;}
1669 1726
1670 else if ( (LA12_0=='\'') ) {s = 28;} 1727 else if ( (LA11_0=='/') ) {s = 31;}
1671 1728
1672 else if ( (LA12_0=='/') ) {s = 29;} 1729 else if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) {s = 32;}
1673 1730
1674 else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 30;} 1731 else if ( ((LA11_0>='\u0000' && LA11_0<='\b')||(LA11_0>='\u000B' && LA11_0<='\f')||(LA11_0>='\u000E' && LA11_0<='\u001F')||(LA11_0>='#' && LA11_0<='&')||LA11_0=='-'||LA11_0=='<'||LA11_0=='>'||LA11_0=='@'||LA11_0=='\\'||LA11_0=='`'||LA11_0=='|'||(LA11_0>='~' && LA11_0<='\uFFFF')) ) {s = 33;}
1732
1733 if ( s>=0 ) return s;
1734 break;
1735 case 1 :
1736 int LA11_27 = input.LA(1);
1737
1738 s = -1;
1739 if ( ((LA11_27>='\u0000' && LA11_27<='\uFFFF')) ) {s = 66;}
1675 1740
1676 else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||(LA12_0>='#' && LA12_0<='&')||LA12_0=='-'||LA12_0=='<'||LA12_0=='>'||LA12_0=='@'||LA12_0=='\\'||LA12_0=='`'||(LA12_0>='{' && LA12_0<='\uFFFF')) ) {s = 31;} 1741 else s = 33;
1677 1742
1678 if ( s>=0 ) return s; 1743 if ( s>=0 ) return s;
1679 break; 1744 break;
1680 case 2 : 1745 case 2 :
1681 int LA12_27 = input.LA(1); 1746 int LA11_26 = input.LA(1);
1682 1747
1683 s = -1; 1748 s = -1;
1684 if ( ((LA12_27>='\u0000' && LA12_27<='\uFFFF')) ) {s = 63;} 1749 if ( ((LA11_26>='\u0000' && LA11_26<='\uFFFF')) ) {s = 65;}
1685 1750
1686 else s = 31; 1751 else s = 33;
1687 1752
1688 if ( s>=0 ) return s; 1753 if ( s>=0 ) return s;
1689 break; 1754 break;
1690 } 1755 }
1691 NoViableAltException nvae = 1756 NoViableAltException nvae =
1692 new NoViableAltException(getDescription(), 12, _s, input); 1757 new NoViableAltException(getDescription(), 11, _s, input);
1693 error(nvae); 1758 error(nvae);
1694 throw nvae; 1759 throw nvae;
1695 } 1760 }
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblemParser.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblemParser.java
index 1169b189..5eb272e7 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblemParser.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.ide/src/main/xtext-gen/org/eclipse/viatra/solver/language/ide/contentassist/antlr/internal/InternalProblemParser.java
@@ -22,10 +22,10 @@ import java.util.ArrayList;
22@SuppressWarnings("all") 22@SuppressWarnings("all")
23public class InternalProblemParser extends AbstractInternalContentAssistParser { 23public class InternalProblemParser extends AbstractInternalContentAssistParser {
24 public static final String[] tokenNames = new String[] { 24 public static final String[] tokenNames = new String[] {
25 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_INT", "RULE_ID", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'refers'", "'pred'", "'='", "'*'", "'true'", "'false'", "'unknown'", "'!'", "'?'", "'class'", "'.'", "'extends'", "'['", "']'", "','", "'opposite'", "'('", "')'", "':='", "';'", "':'", "'scope'", "'..'", "'::'", "'abstract'", "'contains'", "'error'", "'+'", "'+='" 25 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_INT", "RULE_QUOTED_ID", "RULE_ID", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'.'", "'refers'", "'pred'", "'='", "'*'", "'true'", "'false'", "'unknown'", "'!'", "'?'", "'problem'", "'class'", "'extends'", "','", "'{'", "'}'", "';'", "'['", "']'", "'opposite'", "'('", "')'", "':-'", "':'", "'scope'", "'..'", "'abstract'", "'contains'", "'error'", "'+'", "'+='"
26 }; 26 };
27 public static final int RULE_STRING=6; 27 public static final int RULE_STRING=7;
28 public static final int RULE_SL_COMMENT=8; 28 public static final int RULE_SL_COMMENT=9;
29 public static final int T__19=19; 29 public static final int T__19=19;
30 public static final int T__15=15; 30 public static final int T__15=15;
31 public static final int T__37=37; 31 public static final int T__37=37;
@@ -34,7 +34,6 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
34 public static final int T__17=17; 34 public static final int T__17=17;
35 public static final int T__39=39; 35 public static final int T__39=39;
36 public static final int T__18=18; 36 public static final int T__18=18;
37 public static final int T__11=11;
38 public static final int T__33=33; 37 public static final int T__33=33;
39 public static final int T__12=12; 38 public static final int T__12=12;
40 public static final int T__34=34; 39 public static final int T__34=34;
@@ -46,20 +45,24 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
46 public static final int T__30=30; 45 public static final int T__30=30;
47 public static final int T__31=31; 46 public static final int T__31=31;
48 public static final int T__32=32; 47 public static final int T__32=32;
49 public static final int RULE_ID=5; 48 public static final int RULE_ID=6;
50 public static final int RULE_WS=9; 49 public static final int RULE_WS=10;
51 public static final int RULE_ANY_OTHER=10; 50 public static final int RULE_QUOTED_ID=5;
51 public static final int RULE_ANY_OTHER=11;
52 public static final int T__26=26; 52 public static final int T__26=26;
53 public static final int T__27=27; 53 public static final int T__27=27;
54 public static final int T__28=28; 54 public static final int T__28=28;
55 public static final int RULE_INT=4; 55 public static final int RULE_INT=4;
56 public static final int T__29=29; 56 public static final int T__29=29;
57 public static final int T__22=22; 57 public static final int T__22=22;
58 public static final int RULE_ML_COMMENT=7; 58 public static final int RULE_ML_COMMENT=8;
59 public static final int T__23=23; 59 public static final int T__23=23;
60 public static final int T__24=24; 60 public static final int T__24=24;
61 public static final int T__25=25; 61 public static final int T__25=25;
62 public static final int T__40=40;
63 public static final int T__41=41;
62 public static final int T__20=20; 64 public static final int T__20=20;
65 public static final int T__42=42;
63 public static final int T__21=21; 66 public static final int T__21=21;
64 67
65 // delegates 68 // delegates
@@ -128,49 +131,31 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
128 131
129 132
130 // $ANTLR start "ruleProblem" 133 // $ANTLR start "ruleProblem"
131 // InternalProblem.g:62:1: ruleProblem : ( ( rule__Problem__StatementsAssignment )* ) ; 134 // InternalProblem.g:62:1: ruleProblem : ( ( rule__Problem__Group__0 ) ) ;
132 public final void ruleProblem() throws RecognitionException { 135 public final void ruleProblem() throws RecognitionException {
133 136
134 int stackSize = keepStackSize(); 137 int stackSize = keepStackSize();
135 138
136 try { 139 try {
137 // InternalProblem.g:66:2: ( ( ( rule__Problem__StatementsAssignment )* ) ) 140 // InternalProblem.g:66:2: ( ( ( rule__Problem__Group__0 ) ) )
138 // InternalProblem.g:67:2: ( ( rule__Problem__StatementsAssignment )* ) 141 // InternalProblem.g:67:2: ( ( rule__Problem__Group__0 ) )
139 { 142 {
140 // InternalProblem.g:67:2: ( ( rule__Problem__StatementsAssignment )* ) 143 // InternalProblem.g:67:2: ( ( rule__Problem__Group__0 ) )
141 // InternalProblem.g:68:3: ( rule__Problem__StatementsAssignment )* 144 // InternalProblem.g:68:3: ( rule__Problem__Group__0 )
142 { 145 {
143 before(grammarAccess.getProblemAccess().getStatementsAssignment()); 146 before(grammarAccess.getProblemAccess().getGroup());
144 // InternalProblem.g:69:3: ( rule__Problem__StatementsAssignment )* 147 // InternalProblem.g:69:3: ( rule__Problem__Group__0 )
145 loop1: 148 // InternalProblem.g:69:4: rule__Problem__Group__0
146 do { 149 {
147 int alt1=2; 150 pushFollow(FOLLOW_2);
148 int LA1_0 = input.LA(1); 151 rule__Problem__Group__0();
149
150 if ( (LA1_0==RULE_ID||LA1_0==12||(LA1_0>=18 && LA1_0<=20)||LA1_0==32||LA1_0==35||LA1_0==37) ) {
151 alt1=1;
152 }
153
154
155 switch (alt1) {
156 case 1 :
157 // InternalProblem.g:69:4: rule__Problem__StatementsAssignment
158 {
159 pushFollow(FOLLOW_3);
160 rule__Problem__StatementsAssignment();
161 152
162 state._fsp--; 153 state._fsp--;
163 154
164 155
165 } 156 }
166 break;
167
168 default :
169 break loop1;
170 }
171 } while (true);
172 157
173 after(grammarAccess.getProblemAccess().getStatementsAssignment()); 158 after(grammarAccess.getProblemAccess().getGroup());
174 159
175 } 160 }
176 161
@@ -885,12 +870,89 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
885 // $ANTLR end "ruleAtom" 870 // $ANTLR end "ruleAtom"
886 871
887 872
873 // $ANTLR start "entryRuleArgument"
874 // InternalProblem.g:303:1: entryRuleArgument : ruleArgument EOF ;
875 public final void entryRuleArgument() throws RecognitionException {
876 try {
877 // InternalProblem.g:304:1: ( ruleArgument EOF )
878 // InternalProblem.g:305:1: ruleArgument EOF
879 {
880 before(grammarAccess.getArgumentRule());
881 pushFollow(FOLLOW_1);
882 ruleArgument();
883
884 state._fsp--;
885
886 after(grammarAccess.getArgumentRule());
887 match(input,EOF,FOLLOW_2);
888
889 }
890
891 }
892 catch (RecognitionException re) {
893 reportError(re);
894 recover(input,re);
895 }
896 finally {
897 }
898 return ;
899 }
900 // $ANTLR end "entryRuleArgument"
901
902
903 // $ANTLR start "ruleArgument"
904 // InternalProblem.g:312:1: ruleArgument : ( ( rule__Argument__VariableAssignment ) ) ;
905 public final void ruleArgument() throws RecognitionException {
906
907 int stackSize = keepStackSize();
908
909 try {
910 // InternalProblem.g:316:2: ( ( ( rule__Argument__VariableAssignment ) ) )
911 // InternalProblem.g:317:2: ( ( rule__Argument__VariableAssignment ) )
912 {
913 // InternalProblem.g:317:2: ( ( rule__Argument__VariableAssignment ) )
914 // InternalProblem.g:318:3: ( rule__Argument__VariableAssignment )
915 {
916 before(grammarAccess.getArgumentAccess().getVariableAssignment());
917 // InternalProblem.g:319:3: ( rule__Argument__VariableAssignment )
918 // InternalProblem.g:319:4: rule__Argument__VariableAssignment
919 {
920 pushFollow(FOLLOW_2);
921 rule__Argument__VariableAssignment();
922
923 state._fsp--;
924
925
926 }
927
928 after(grammarAccess.getArgumentAccess().getVariableAssignment());
929
930 }
931
932
933 }
934
935 }
936 catch (RecognitionException re) {
937 reportError(re);
938 recover(input,re);
939 }
940 finally {
941
942 restoreStackSize(stackSize);
943
944 }
945 return ;
946 }
947 // $ANTLR end "ruleArgument"
948
949
888 // $ANTLR start "entryRuleAssertion" 950 // $ANTLR start "entryRuleAssertion"
889 // InternalProblem.g:303:1: entryRuleAssertion : ruleAssertion EOF ; 951 // InternalProblem.g:328:1: entryRuleAssertion : ruleAssertion EOF ;
890 public final void entryRuleAssertion() throws RecognitionException { 952 public final void entryRuleAssertion() throws RecognitionException {
891 try { 953 try {
892 // InternalProblem.g:304:1: ( ruleAssertion EOF ) 954 // InternalProblem.g:329:1: ( ruleAssertion EOF )
893 // InternalProblem.g:305:1: ruleAssertion EOF 955 // InternalProblem.g:330:1: ruleAssertion EOF
894 { 956 {
895 before(grammarAccess.getAssertionRule()); 957 before(grammarAccess.getAssertionRule());
896 pushFollow(FOLLOW_1); 958 pushFollow(FOLLOW_1);
@@ -916,21 +978,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
916 978
917 979
918 // $ANTLR start "ruleAssertion" 980 // $ANTLR start "ruleAssertion"
919 // InternalProblem.g:312:1: ruleAssertion : ( ( rule__Assertion__Group__0 ) ) ; 981 // InternalProblem.g:337:1: ruleAssertion : ( ( rule__Assertion__Group__0 ) ) ;
920 public final void ruleAssertion() throws RecognitionException { 982 public final void ruleAssertion() throws RecognitionException {
921 983
922 int stackSize = keepStackSize(); 984 int stackSize = keepStackSize();
923 985
924 try { 986 try {
925 // InternalProblem.g:316:2: ( ( ( rule__Assertion__Group__0 ) ) ) 987 // InternalProblem.g:341:2: ( ( ( rule__Assertion__Group__0 ) ) )
926 // InternalProblem.g:317:2: ( ( rule__Assertion__Group__0 ) ) 988 // InternalProblem.g:342:2: ( ( rule__Assertion__Group__0 ) )
927 { 989 {
928 // InternalProblem.g:317:2: ( ( rule__Assertion__Group__0 ) ) 990 // InternalProblem.g:342:2: ( ( rule__Assertion__Group__0 ) )
929 // InternalProblem.g:318:3: ( rule__Assertion__Group__0 ) 991 // InternalProblem.g:343:3: ( rule__Assertion__Group__0 )
930 { 992 {
931 before(grammarAccess.getAssertionAccess().getGroup()); 993 before(grammarAccess.getAssertionAccess().getGroup());
932 // InternalProblem.g:319:3: ( rule__Assertion__Group__0 ) 994 // InternalProblem.g:344:3: ( rule__Assertion__Group__0 )
933 // InternalProblem.g:319:4: rule__Assertion__Group__0 995 // InternalProblem.g:344:4: rule__Assertion__Group__0
934 { 996 {
935 pushFollow(FOLLOW_2); 997 pushFollow(FOLLOW_2);
936 rule__Assertion__Group__0(); 998 rule__Assertion__Group__0();
@@ -963,11 +1025,11 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
963 1025
964 1026
965 // $ANTLR start "entryRuleScopeDeclaration" 1027 // $ANTLR start "entryRuleScopeDeclaration"
966 // InternalProblem.g:328:1: entryRuleScopeDeclaration : ruleScopeDeclaration EOF ; 1028 // InternalProblem.g:353:1: entryRuleScopeDeclaration : ruleScopeDeclaration EOF ;
967 public final void entryRuleScopeDeclaration() throws RecognitionException { 1029 public final void entryRuleScopeDeclaration() throws RecognitionException {
968 try { 1030 try {
969 // InternalProblem.g:329:1: ( ruleScopeDeclaration EOF ) 1031 // InternalProblem.g:354:1: ( ruleScopeDeclaration EOF )
970 // InternalProblem.g:330:1: ruleScopeDeclaration EOF 1032 // InternalProblem.g:355:1: ruleScopeDeclaration EOF
971 { 1033 {
972 before(grammarAccess.getScopeDeclarationRule()); 1034 before(grammarAccess.getScopeDeclarationRule());
973 pushFollow(FOLLOW_1); 1035 pushFollow(FOLLOW_1);
@@ -993,21 +1055,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
993 1055
994 1056
995 // $ANTLR start "ruleScopeDeclaration" 1057 // $ANTLR start "ruleScopeDeclaration"
996 // InternalProblem.g:337:1: ruleScopeDeclaration : ( ( rule__ScopeDeclaration__Group__0 ) ) ; 1058 // InternalProblem.g:362:1: ruleScopeDeclaration : ( ( rule__ScopeDeclaration__Group__0 ) ) ;
997 public final void ruleScopeDeclaration() throws RecognitionException { 1059 public final void ruleScopeDeclaration() throws RecognitionException {
998 1060
999 int stackSize = keepStackSize(); 1061 int stackSize = keepStackSize();
1000 1062
1001 try { 1063 try {
1002 // InternalProblem.g:341:2: ( ( ( rule__ScopeDeclaration__Group__0 ) ) ) 1064 // InternalProblem.g:366:2: ( ( ( rule__ScopeDeclaration__Group__0 ) ) )
1003 // InternalProblem.g:342:2: ( ( rule__ScopeDeclaration__Group__0 ) ) 1065 // InternalProblem.g:367:2: ( ( rule__ScopeDeclaration__Group__0 ) )
1004 { 1066 {
1005 // InternalProblem.g:342:2: ( ( rule__ScopeDeclaration__Group__0 ) ) 1067 // InternalProblem.g:367:2: ( ( rule__ScopeDeclaration__Group__0 ) )
1006 // InternalProblem.g:343:3: ( rule__ScopeDeclaration__Group__0 ) 1068 // InternalProblem.g:368:3: ( rule__ScopeDeclaration__Group__0 )
1007 { 1069 {
1008 before(grammarAccess.getScopeDeclarationAccess().getGroup()); 1070 before(grammarAccess.getScopeDeclarationAccess().getGroup());
1009 // InternalProblem.g:344:3: ( rule__ScopeDeclaration__Group__0 ) 1071 // InternalProblem.g:369:3: ( rule__ScopeDeclaration__Group__0 )
1010 // InternalProblem.g:344:4: rule__ScopeDeclaration__Group__0 1072 // InternalProblem.g:369:4: rule__ScopeDeclaration__Group__0
1011 { 1073 {
1012 pushFollow(FOLLOW_2); 1074 pushFollow(FOLLOW_2);
1013 rule__ScopeDeclaration__Group__0(); 1075 rule__ScopeDeclaration__Group__0();
@@ -1040,11 +1102,11 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1040 1102
1041 1103
1042 // $ANTLR start "entryRuleTypeScope" 1104 // $ANTLR start "entryRuleTypeScope"
1043 // InternalProblem.g:353:1: entryRuleTypeScope : ruleTypeScope EOF ; 1105 // InternalProblem.g:378:1: entryRuleTypeScope : ruleTypeScope EOF ;
1044 public final void entryRuleTypeScope() throws RecognitionException { 1106 public final void entryRuleTypeScope() throws RecognitionException {
1045 try { 1107 try {
1046 // InternalProblem.g:354:1: ( ruleTypeScope EOF ) 1108 // InternalProblem.g:379:1: ( ruleTypeScope EOF )
1047 // InternalProblem.g:355:1: ruleTypeScope EOF 1109 // InternalProblem.g:380:1: ruleTypeScope EOF
1048 { 1110 {
1049 before(grammarAccess.getTypeScopeRule()); 1111 before(grammarAccess.getTypeScopeRule());
1050 pushFollow(FOLLOW_1); 1112 pushFollow(FOLLOW_1);
@@ -1070,21 +1132,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1070 1132
1071 1133
1072 // $ANTLR start "ruleTypeScope" 1134 // $ANTLR start "ruleTypeScope"
1073 // InternalProblem.g:362:1: ruleTypeScope : ( ( rule__TypeScope__Group__0 ) ) ; 1135 // InternalProblem.g:387:1: ruleTypeScope : ( ( rule__TypeScope__Group__0 ) ) ;
1074 public final void ruleTypeScope() throws RecognitionException { 1136 public final void ruleTypeScope() throws RecognitionException {
1075 1137
1076 int stackSize = keepStackSize(); 1138 int stackSize = keepStackSize();
1077 1139
1078 try { 1140 try {
1079 // InternalProblem.g:366:2: ( ( ( rule__TypeScope__Group__0 ) ) ) 1141 // InternalProblem.g:391:2: ( ( ( rule__TypeScope__Group__0 ) ) )
1080 // InternalProblem.g:367:2: ( ( rule__TypeScope__Group__0 ) ) 1142 // InternalProblem.g:392:2: ( ( rule__TypeScope__Group__0 ) )
1081 { 1143 {
1082 // InternalProblem.g:367:2: ( ( rule__TypeScope__Group__0 ) ) 1144 // InternalProblem.g:392:2: ( ( rule__TypeScope__Group__0 ) )
1083 // InternalProblem.g:368:3: ( rule__TypeScope__Group__0 ) 1145 // InternalProblem.g:393:3: ( rule__TypeScope__Group__0 )
1084 { 1146 {
1085 before(grammarAccess.getTypeScopeAccess().getGroup()); 1147 before(grammarAccess.getTypeScopeAccess().getGroup());
1086 // InternalProblem.g:369:3: ( rule__TypeScope__Group__0 ) 1148 // InternalProblem.g:394:3: ( rule__TypeScope__Group__0 )
1087 // InternalProblem.g:369:4: rule__TypeScope__Group__0 1149 // InternalProblem.g:394:4: rule__TypeScope__Group__0
1088 { 1150 {
1089 pushFollow(FOLLOW_2); 1151 pushFollow(FOLLOW_2);
1090 rule__TypeScope__Group__0(); 1152 rule__TypeScope__Group__0();
@@ -1117,11 +1179,11 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1117 1179
1118 1180
1119 // $ANTLR start "entryRuleMultiplicity" 1181 // $ANTLR start "entryRuleMultiplicity"
1120 // InternalProblem.g:378:1: entryRuleMultiplicity : ruleMultiplicity EOF ; 1182 // InternalProblem.g:403:1: entryRuleMultiplicity : ruleMultiplicity EOF ;
1121 public final void entryRuleMultiplicity() throws RecognitionException { 1183 public final void entryRuleMultiplicity() throws RecognitionException {
1122 try { 1184 try {
1123 // InternalProblem.g:379:1: ( ruleMultiplicity EOF ) 1185 // InternalProblem.g:404:1: ( ruleMultiplicity EOF )
1124 // InternalProblem.g:380:1: ruleMultiplicity EOF 1186 // InternalProblem.g:405:1: ruleMultiplicity EOF
1125 { 1187 {
1126 before(grammarAccess.getMultiplicityRule()); 1188 before(grammarAccess.getMultiplicityRule());
1127 pushFollow(FOLLOW_1); 1189 pushFollow(FOLLOW_1);
@@ -1147,21 +1209,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1147 1209
1148 1210
1149 // $ANTLR start "ruleMultiplicity" 1211 // $ANTLR start "ruleMultiplicity"
1150 // InternalProblem.g:387:1: ruleMultiplicity : ( ( rule__Multiplicity__Alternatives ) ) ; 1212 // InternalProblem.g:412:1: ruleMultiplicity : ( ( rule__Multiplicity__Alternatives ) ) ;
1151 public final void ruleMultiplicity() throws RecognitionException { 1213 public final void ruleMultiplicity() throws RecognitionException {
1152 1214
1153 int stackSize = keepStackSize(); 1215 int stackSize = keepStackSize();
1154 1216
1155 try { 1217 try {
1156 // InternalProblem.g:391:2: ( ( ( rule__Multiplicity__Alternatives ) ) ) 1218 // InternalProblem.g:416:2: ( ( ( rule__Multiplicity__Alternatives ) ) )
1157 // InternalProblem.g:392:2: ( ( rule__Multiplicity__Alternatives ) ) 1219 // InternalProblem.g:417:2: ( ( rule__Multiplicity__Alternatives ) )
1158 { 1220 {
1159 // InternalProblem.g:392:2: ( ( rule__Multiplicity__Alternatives ) ) 1221 // InternalProblem.g:417:2: ( ( rule__Multiplicity__Alternatives ) )
1160 // InternalProblem.g:393:3: ( rule__Multiplicity__Alternatives ) 1222 // InternalProblem.g:418:3: ( rule__Multiplicity__Alternatives )
1161 { 1223 {
1162 before(grammarAccess.getMultiplicityAccess().getAlternatives()); 1224 before(grammarAccess.getMultiplicityAccess().getAlternatives());
1163 // InternalProblem.g:394:3: ( rule__Multiplicity__Alternatives ) 1225 // InternalProblem.g:419:3: ( rule__Multiplicity__Alternatives )
1164 // InternalProblem.g:394:4: rule__Multiplicity__Alternatives 1226 // InternalProblem.g:419:4: rule__Multiplicity__Alternatives
1165 { 1227 {
1166 pushFollow(FOLLOW_2); 1228 pushFollow(FOLLOW_2);
1167 rule__Multiplicity__Alternatives(); 1229 rule__Multiplicity__Alternatives();
@@ -1193,12 +1255,156 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1193 // $ANTLR end "ruleMultiplicity" 1255 // $ANTLR end "ruleMultiplicity"
1194 1256
1195 1257
1258 // $ANTLR start "entryRuleDefiniteMultiplicity"
1259 // InternalProblem.g:428:1: entryRuleDefiniteMultiplicity : ruleDefiniteMultiplicity EOF ;
1260 public final void entryRuleDefiniteMultiplicity() throws RecognitionException {
1261 try {
1262 // InternalProblem.g:429:1: ( ruleDefiniteMultiplicity EOF )
1263 // InternalProblem.g:430:1: ruleDefiniteMultiplicity EOF
1264 {
1265 before(grammarAccess.getDefiniteMultiplicityRule());
1266 pushFollow(FOLLOW_1);
1267 ruleDefiniteMultiplicity();
1268
1269 state._fsp--;
1270
1271 after(grammarAccess.getDefiniteMultiplicityRule());
1272 match(input,EOF,FOLLOW_2);
1273
1274 }
1275
1276 }
1277 catch (RecognitionException re) {
1278 reportError(re);
1279 recover(input,re);
1280 }
1281 finally {
1282 }
1283 return ;
1284 }
1285 // $ANTLR end "entryRuleDefiniteMultiplicity"
1286
1287
1288 // $ANTLR start "ruleDefiniteMultiplicity"
1289 // InternalProblem.g:437:1: ruleDefiniteMultiplicity : ( ( rule__DefiniteMultiplicity__Alternatives ) ) ;
1290 public final void ruleDefiniteMultiplicity() throws RecognitionException {
1291
1292 int stackSize = keepStackSize();
1293
1294 try {
1295 // InternalProblem.g:441:2: ( ( ( rule__DefiniteMultiplicity__Alternatives ) ) )
1296 // InternalProblem.g:442:2: ( ( rule__DefiniteMultiplicity__Alternatives ) )
1297 {
1298 // InternalProblem.g:442:2: ( ( rule__DefiniteMultiplicity__Alternatives ) )
1299 // InternalProblem.g:443:3: ( rule__DefiniteMultiplicity__Alternatives )
1300 {
1301 before(grammarAccess.getDefiniteMultiplicityAccess().getAlternatives());
1302 // InternalProblem.g:444:3: ( rule__DefiniteMultiplicity__Alternatives )
1303 // InternalProblem.g:444:4: rule__DefiniteMultiplicity__Alternatives
1304 {
1305 pushFollow(FOLLOW_2);
1306 rule__DefiniteMultiplicity__Alternatives();
1307
1308 state._fsp--;
1309
1310
1311 }
1312
1313 after(grammarAccess.getDefiniteMultiplicityAccess().getAlternatives());
1314
1315 }
1316
1317
1318 }
1319
1320 }
1321 catch (RecognitionException re) {
1322 reportError(re);
1323 recover(input,re);
1324 }
1325 finally {
1326
1327 restoreStackSize(stackSize);
1328
1329 }
1330 return ;
1331 }
1332 // $ANTLR end "ruleDefiniteMultiplicity"
1333
1334
1335 // $ANTLR start "entryRuleUnboundedMultiplicity"
1336 // InternalProblem.g:453:1: entryRuleUnboundedMultiplicity : ruleUnboundedMultiplicity EOF ;
1337 public final void entryRuleUnboundedMultiplicity() throws RecognitionException {
1338 try {
1339 // InternalProblem.g:454:1: ( ruleUnboundedMultiplicity EOF )
1340 // InternalProblem.g:455:1: ruleUnboundedMultiplicity EOF
1341 {
1342 before(grammarAccess.getUnboundedMultiplicityRule());
1343 pushFollow(FOLLOW_1);
1344 ruleUnboundedMultiplicity();
1345
1346 state._fsp--;
1347
1348 after(grammarAccess.getUnboundedMultiplicityRule());
1349 match(input,EOF,FOLLOW_2);
1350
1351 }
1352
1353 }
1354 catch (RecognitionException re) {
1355 reportError(re);
1356 recover(input,re);
1357 }
1358 finally {
1359 }
1360 return ;
1361 }
1362 // $ANTLR end "entryRuleUnboundedMultiplicity"
1363
1364
1365 // $ANTLR start "ruleUnboundedMultiplicity"
1366 // InternalProblem.g:462:1: ruleUnboundedMultiplicity : ( () ) ;
1367 public final void ruleUnboundedMultiplicity() throws RecognitionException {
1368
1369 int stackSize = keepStackSize();
1370
1371 try {
1372 // InternalProblem.g:466:2: ( ( () ) )
1373 // InternalProblem.g:467:2: ( () )
1374 {
1375 // InternalProblem.g:467:2: ( () )
1376 // InternalProblem.g:468:3: ()
1377 {
1378 before(grammarAccess.getUnboundedMultiplicityAccess().getUnboundedMultiplicityAction());
1379 // InternalProblem.g:469:3: ()
1380 // InternalProblem.g:469:4:
1381 {
1382 }
1383
1384 after(grammarAccess.getUnboundedMultiplicityAccess().getUnboundedMultiplicityAction());
1385
1386 }
1387
1388
1389 }
1390
1391 }
1392 finally {
1393
1394 restoreStackSize(stackSize);
1395
1396 }
1397 return ;
1398 }
1399 // $ANTLR end "ruleUnboundedMultiplicity"
1400
1401
1196 // $ANTLR start "entryRuleRangeMultiplicity" 1402 // $ANTLR start "entryRuleRangeMultiplicity"
1197 // InternalProblem.g:403:1: entryRuleRangeMultiplicity : ruleRangeMultiplicity EOF ; 1403 // InternalProblem.g:478:1: entryRuleRangeMultiplicity : ruleRangeMultiplicity EOF ;
1198 public final void entryRuleRangeMultiplicity() throws RecognitionException { 1404 public final void entryRuleRangeMultiplicity() throws RecognitionException {
1199 try { 1405 try {
1200 // InternalProblem.g:404:1: ( ruleRangeMultiplicity EOF ) 1406 // InternalProblem.g:479:1: ( ruleRangeMultiplicity EOF )
1201 // InternalProblem.g:405:1: ruleRangeMultiplicity EOF 1407 // InternalProblem.g:480:1: ruleRangeMultiplicity EOF
1202 { 1408 {
1203 before(grammarAccess.getRangeMultiplicityRule()); 1409 before(grammarAccess.getRangeMultiplicityRule());
1204 pushFollow(FOLLOW_1); 1410 pushFollow(FOLLOW_1);
@@ -1224,21 +1430,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1224 1430
1225 1431
1226 // $ANTLR start "ruleRangeMultiplicity" 1432 // $ANTLR start "ruleRangeMultiplicity"
1227 // InternalProblem.g:412:1: ruleRangeMultiplicity : ( ( rule__RangeMultiplicity__Group__0 ) ) ; 1433 // InternalProblem.g:487:1: ruleRangeMultiplicity : ( ( rule__RangeMultiplicity__Group__0 ) ) ;
1228 public final void ruleRangeMultiplicity() throws RecognitionException { 1434 public final void ruleRangeMultiplicity() throws RecognitionException {
1229 1435
1230 int stackSize = keepStackSize(); 1436 int stackSize = keepStackSize();
1231 1437
1232 try { 1438 try {
1233 // InternalProblem.g:416:2: ( ( ( rule__RangeMultiplicity__Group__0 ) ) ) 1439 // InternalProblem.g:491:2: ( ( ( rule__RangeMultiplicity__Group__0 ) ) )
1234 // InternalProblem.g:417:2: ( ( rule__RangeMultiplicity__Group__0 ) ) 1440 // InternalProblem.g:492:2: ( ( rule__RangeMultiplicity__Group__0 ) )
1235 { 1441 {
1236 // InternalProblem.g:417:2: ( ( rule__RangeMultiplicity__Group__0 ) ) 1442 // InternalProblem.g:492:2: ( ( rule__RangeMultiplicity__Group__0 ) )
1237 // InternalProblem.g:418:3: ( rule__RangeMultiplicity__Group__0 ) 1443 // InternalProblem.g:493:3: ( rule__RangeMultiplicity__Group__0 )
1238 { 1444 {
1239 before(grammarAccess.getRangeMultiplicityAccess().getGroup()); 1445 before(grammarAccess.getRangeMultiplicityAccess().getGroup());
1240 // InternalProblem.g:419:3: ( rule__RangeMultiplicity__Group__0 ) 1446 // InternalProblem.g:494:3: ( rule__RangeMultiplicity__Group__0 )
1241 // InternalProblem.g:419:4: rule__RangeMultiplicity__Group__0 1447 // InternalProblem.g:494:4: rule__RangeMultiplicity__Group__0
1242 { 1448 {
1243 pushFollow(FOLLOW_2); 1449 pushFollow(FOLLOW_2);
1244 rule__RangeMultiplicity__Group__0(); 1450 rule__RangeMultiplicity__Group__0();
@@ -1271,11 +1477,11 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1271 1477
1272 1478
1273 // $ANTLR start "entryRuleExactMultiplicity" 1479 // $ANTLR start "entryRuleExactMultiplicity"
1274 // InternalProblem.g:428:1: entryRuleExactMultiplicity : ruleExactMultiplicity EOF ; 1480 // InternalProblem.g:503:1: entryRuleExactMultiplicity : ruleExactMultiplicity EOF ;
1275 public final void entryRuleExactMultiplicity() throws RecognitionException { 1481 public final void entryRuleExactMultiplicity() throws RecognitionException {
1276 try { 1482 try {
1277 // InternalProblem.g:429:1: ( ruleExactMultiplicity EOF ) 1483 // InternalProblem.g:504:1: ( ruleExactMultiplicity EOF )
1278 // InternalProblem.g:430:1: ruleExactMultiplicity EOF 1484 // InternalProblem.g:505:1: ruleExactMultiplicity EOF
1279 { 1485 {
1280 before(grammarAccess.getExactMultiplicityRule()); 1486 before(grammarAccess.getExactMultiplicityRule());
1281 pushFollow(FOLLOW_1); 1487 pushFollow(FOLLOW_1);
@@ -1301,21 +1507,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1301 1507
1302 1508
1303 // $ANTLR start "ruleExactMultiplicity" 1509 // $ANTLR start "ruleExactMultiplicity"
1304 // InternalProblem.g:437:1: ruleExactMultiplicity : ( ( rule__ExactMultiplicity__ExactValueAssignment ) ) ; 1510 // InternalProblem.g:512:1: ruleExactMultiplicity : ( ( rule__ExactMultiplicity__ExactValueAssignment ) ) ;
1305 public final void ruleExactMultiplicity() throws RecognitionException { 1511 public final void ruleExactMultiplicity() throws RecognitionException {
1306 1512
1307 int stackSize = keepStackSize(); 1513 int stackSize = keepStackSize();
1308 1514
1309 try { 1515 try {
1310 // InternalProblem.g:441:2: ( ( ( rule__ExactMultiplicity__ExactValueAssignment ) ) ) 1516 // InternalProblem.g:516:2: ( ( ( rule__ExactMultiplicity__ExactValueAssignment ) ) )
1311 // InternalProblem.g:442:2: ( ( rule__ExactMultiplicity__ExactValueAssignment ) ) 1517 // InternalProblem.g:517:2: ( ( rule__ExactMultiplicity__ExactValueAssignment ) )
1312 { 1518 {
1313 // InternalProblem.g:442:2: ( ( rule__ExactMultiplicity__ExactValueAssignment ) ) 1519 // InternalProblem.g:517:2: ( ( rule__ExactMultiplicity__ExactValueAssignment ) )
1314 // InternalProblem.g:443:3: ( rule__ExactMultiplicity__ExactValueAssignment ) 1520 // InternalProblem.g:518:3: ( rule__ExactMultiplicity__ExactValueAssignment )
1315 { 1521 {
1316 before(grammarAccess.getExactMultiplicityAccess().getExactValueAssignment()); 1522 before(grammarAccess.getExactMultiplicityAccess().getExactValueAssignment());
1317 // InternalProblem.g:444:3: ( rule__ExactMultiplicity__ExactValueAssignment ) 1523 // InternalProblem.g:519:3: ( rule__ExactMultiplicity__ExactValueAssignment )
1318 // InternalProblem.g:444:4: rule__ExactMultiplicity__ExactValueAssignment 1524 // InternalProblem.g:519:4: rule__ExactMultiplicity__ExactValueAssignment
1319 { 1525 {
1320 pushFollow(FOLLOW_2); 1526 pushFollow(FOLLOW_2);
1321 rule__ExactMultiplicity__ExactValueAssignment(); 1527 rule__ExactMultiplicity__ExactValueAssignment();
@@ -1348,11 +1554,11 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1348 1554
1349 1555
1350 // $ANTLR start "entryRuleUpperBound" 1556 // $ANTLR start "entryRuleUpperBound"
1351 // InternalProblem.g:453:1: entryRuleUpperBound : ruleUpperBound EOF ; 1557 // InternalProblem.g:528:1: entryRuleUpperBound : ruleUpperBound EOF ;
1352 public final void entryRuleUpperBound() throws RecognitionException { 1558 public final void entryRuleUpperBound() throws RecognitionException {
1353 try { 1559 try {
1354 // InternalProblem.g:454:1: ( ruleUpperBound EOF ) 1560 // InternalProblem.g:529:1: ( ruleUpperBound EOF )
1355 // InternalProblem.g:455:1: ruleUpperBound EOF 1561 // InternalProblem.g:530:1: ruleUpperBound EOF
1356 { 1562 {
1357 before(grammarAccess.getUpperBoundRule()); 1563 before(grammarAccess.getUpperBoundRule());
1358 pushFollow(FOLLOW_1); 1564 pushFollow(FOLLOW_1);
@@ -1378,21 +1584,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1378 1584
1379 1585
1380 // $ANTLR start "ruleUpperBound" 1586 // $ANTLR start "ruleUpperBound"
1381 // InternalProblem.g:462:1: ruleUpperBound : ( ( rule__UpperBound__Alternatives ) ) ; 1587 // InternalProblem.g:537:1: ruleUpperBound : ( ( rule__UpperBound__Alternatives ) ) ;
1382 public final void ruleUpperBound() throws RecognitionException { 1588 public final void ruleUpperBound() throws RecognitionException {
1383 1589
1384 int stackSize = keepStackSize(); 1590 int stackSize = keepStackSize();
1385 1591
1386 try { 1592 try {
1387 // InternalProblem.g:466:2: ( ( ( rule__UpperBound__Alternatives ) ) ) 1593 // InternalProblem.g:541:2: ( ( ( rule__UpperBound__Alternatives ) ) )
1388 // InternalProblem.g:467:2: ( ( rule__UpperBound__Alternatives ) ) 1594 // InternalProblem.g:542:2: ( ( rule__UpperBound__Alternatives ) )
1389 { 1595 {
1390 // InternalProblem.g:467:2: ( ( rule__UpperBound__Alternatives ) ) 1596 // InternalProblem.g:542:2: ( ( rule__UpperBound__Alternatives ) )
1391 // InternalProblem.g:468:3: ( rule__UpperBound__Alternatives ) 1597 // InternalProblem.g:543:3: ( rule__UpperBound__Alternatives )
1392 { 1598 {
1393 before(grammarAccess.getUpperBoundAccess().getAlternatives()); 1599 before(grammarAccess.getUpperBoundAccess().getAlternatives());
1394 // InternalProblem.g:469:3: ( rule__UpperBound__Alternatives ) 1600 // InternalProblem.g:544:3: ( rule__UpperBound__Alternatives )
1395 // InternalProblem.g:469:4: rule__UpperBound__Alternatives 1601 // InternalProblem.g:544:4: rule__UpperBound__Alternatives
1396 { 1602 {
1397 pushFollow(FOLLOW_2); 1603 pushFollow(FOLLOW_2);
1398 rule__UpperBound__Alternatives(); 1604 rule__UpperBound__Alternatives();
@@ -1425,11 +1631,11 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1425 1631
1426 1632
1427 // $ANTLR start "entryRuleQualifiedName" 1633 // $ANTLR start "entryRuleQualifiedName"
1428 // InternalProblem.g:478:1: entryRuleQualifiedName : ruleQualifiedName EOF ; 1634 // InternalProblem.g:553:1: entryRuleQualifiedName : ruleQualifiedName EOF ;
1429 public final void entryRuleQualifiedName() throws RecognitionException { 1635 public final void entryRuleQualifiedName() throws RecognitionException {
1430 try { 1636 try {
1431 // InternalProblem.g:479:1: ( ruleQualifiedName EOF ) 1637 // InternalProblem.g:554:1: ( ruleQualifiedName EOF )
1432 // InternalProblem.g:480:1: ruleQualifiedName EOF 1638 // InternalProblem.g:555:1: ruleQualifiedName EOF
1433 { 1639 {
1434 before(grammarAccess.getQualifiedNameRule()); 1640 before(grammarAccess.getQualifiedNameRule());
1435 pushFollow(FOLLOW_1); 1641 pushFollow(FOLLOW_1);
@@ -1455,31 +1661,31 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1455 1661
1456 1662
1457 // $ANTLR start "ruleQualifiedName" 1663 // $ANTLR start "ruleQualifiedName"
1458 // InternalProblem.g:487:1: ruleQualifiedName : ( ( rule__QualifiedName__Group__0 ) ) ; 1664 // InternalProblem.g:562:1: ruleQualifiedName : ( ( rule__QualifiedName__Alternatives ) ) ;
1459 public final void ruleQualifiedName() throws RecognitionException { 1665 public final void ruleQualifiedName() throws RecognitionException {
1460 1666
1461 int stackSize = keepStackSize(); 1667 int stackSize = keepStackSize();
1462 1668
1463 try { 1669 try {
1464 // InternalProblem.g:491:2: ( ( ( rule__QualifiedName__Group__0 ) ) ) 1670 // InternalProblem.g:566:2: ( ( ( rule__QualifiedName__Alternatives ) ) )
1465 // InternalProblem.g:492:2: ( ( rule__QualifiedName__Group__0 ) ) 1671 // InternalProblem.g:567:2: ( ( rule__QualifiedName__Alternatives ) )
1466 { 1672 {
1467 // InternalProblem.g:492:2: ( ( rule__QualifiedName__Group__0 ) ) 1673 // InternalProblem.g:567:2: ( ( rule__QualifiedName__Alternatives ) )
1468 // InternalProblem.g:493:3: ( rule__QualifiedName__Group__0 ) 1674 // InternalProblem.g:568:3: ( rule__QualifiedName__Alternatives )
1469 { 1675 {
1470 before(grammarAccess.getQualifiedNameAccess().getGroup()); 1676 before(grammarAccess.getQualifiedNameAccess().getAlternatives());
1471 // InternalProblem.g:494:3: ( rule__QualifiedName__Group__0 ) 1677 // InternalProblem.g:569:3: ( rule__QualifiedName__Alternatives )
1472 // InternalProblem.g:494:4: rule__QualifiedName__Group__0 1678 // InternalProblem.g:569:4: rule__QualifiedName__Alternatives
1473 { 1679 {
1474 pushFollow(FOLLOW_2); 1680 pushFollow(FOLLOW_2);
1475 rule__QualifiedName__Group__0(); 1681 rule__QualifiedName__Alternatives();
1476 1682
1477 state._fsp--; 1683 state._fsp--;
1478 1684
1479 1685
1480 } 1686 }
1481 1687
1482 after(grammarAccess.getQualifiedNameAccess().getGroup()); 1688 after(grammarAccess.getQualifiedNameAccess().getAlternatives());
1483 1689
1484 } 1690 }
1485 1691
@@ -1502,21 +1708,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1502 1708
1503 1709
1504 // $ANTLR start "ruleLogicValue" 1710 // $ANTLR start "ruleLogicValue"
1505 // InternalProblem.g:503:1: ruleLogicValue : ( ( rule__LogicValue__Alternatives ) ) ; 1711 // InternalProblem.g:578:1: ruleLogicValue : ( ( rule__LogicValue__Alternatives ) ) ;
1506 public final void ruleLogicValue() throws RecognitionException { 1712 public final void ruleLogicValue() throws RecognitionException {
1507 1713
1508 int stackSize = keepStackSize(); 1714 int stackSize = keepStackSize();
1509 1715
1510 try { 1716 try {
1511 // InternalProblem.g:507:1: ( ( ( rule__LogicValue__Alternatives ) ) ) 1717 // InternalProblem.g:582:1: ( ( ( rule__LogicValue__Alternatives ) ) )
1512 // InternalProblem.g:508:2: ( ( rule__LogicValue__Alternatives ) ) 1718 // InternalProblem.g:583:2: ( ( rule__LogicValue__Alternatives ) )
1513 { 1719 {
1514 // InternalProblem.g:508:2: ( ( rule__LogicValue__Alternatives ) ) 1720 // InternalProblem.g:583:2: ( ( rule__LogicValue__Alternatives ) )
1515 // InternalProblem.g:509:3: ( rule__LogicValue__Alternatives ) 1721 // InternalProblem.g:584:3: ( rule__LogicValue__Alternatives )
1516 { 1722 {
1517 before(grammarAccess.getLogicValueAccess().getAlternatives()); 1723 before(grammarAccess.getLogicValueAccess().getAlternatives());
1518 // InternalProblem.g:510:3: ( rule__LogicValue__Alternatives ) 1724 // InternalProblem.g:585:3: ( rule__LogicValue__Alternatives )
1519 // InternalProblem.g:510:4: rule__LogicValue__Alternatives 1725 // InternalProblem.g:585:4: rule__LogicValue__Alternatives
1520 { 1726 {
1521 pushFollow(FOLLOW_2); 1727 pushFollow(FOLLOW_2);
1522 rule__LogicValue__Alternatives(); 1728 rule__LogicValue__Alternatives();
@@ -1549,21 +1755,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1549 1755
1550 1756
1551 // $ANTLR start "ruleShortLogicValue" 1757 // $ANTLR start "ruleShortLogicValue"
1552 // InternalProblem.g:519:1: ruleShortLogicValue : ( ( rule__ShortLogicValue__Alternatives ) ) ; 1758 // InternalProblem.g:594:1: ruleShortLogicValue : ( ( rule__ShortLogicValue__Alternatives ) ) ;
1553 public final void ruleShortLogicValue() throws RecognitionException { 1759 public final void ruleShortLogicValue() throws RecognitionException {
1554 1760
1555 int stackSize = keepStackSize(); 1761 int stackSize = keepStackSize();
1556 1762
1557 try { 1763 try {
1558 // InternalProblem.g:523:1: ( ( ( rule__ShortLogicValue__Alternatives ) ) ) 1764 // InternalProblem.g:598:1: ( ( ( rule__ShortLogicValue__Alternatives ) ) )
1559 // InternalProblem.g:524:2: ( ( rule__ShortLogicValue__Alternatives ) ) 1765 // InternalProblem.g:599:2: ( ( rule__ShortLogicValue__Alternatives ) )
1560 { 1766 {
1561 // InternalProblem.g:524:2: ( ( rule__ShortLogicValue__Alternatives ) ) 1767 // InternalProblem.g:599:2: ( ( rule__ShortLogicValue__Alternatives ) )
1562 // InternalProblem.g:525:3: ( rule__ShortLogicValue__Alternatives ) 1768 // InternalProblem.g:600:3: ( rule__ShortLogicValue__Alternatives )
1563 { 1769 {
1564 before(grammarAccess.getShortLogicValueAccess().getAlternatives()); 1770 before(grammarAccess.getShortLogicValueAccess().getAlternatives());
1565 // InternalProblem.g:526:3: ( rule__ShortLogicValue__Alternatives ) 1771 // InternalProblem.g:601:3: ( rule__ShortLogicValue__Alternatives )
1566 // InternalProblem.g:526:4: rule__ShortLogicValue__Alternatives 1772 // InternalProblem.g:601:4: rule__ShortLogicValue__Alternatives
1567 { 1773 {
1568 pushFollow(FOLLOW_2); 1774 pushFollow(FOLLOW_2);
1569 rule__ShortLogicValue__Alternatives(); 1775 rule__ShortLogicValue__Alternatives();
@@ -1596,52 +1802,53 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1596 1802
1597 1803
1598 // $ANTLR start "rule__Statement__Alternatives" 1804 // $ANTLR start "rule__Statement__Alternatives"
1599 // InternalProblem.g:534:1: rule__Statement__Alternatives : ( ( ruleClassDeclaration ) | ( rulePredicateDefinition ) | ( ruleAssertion ) | ( ruleScopeDeclaration ) ); 1805 // InternalProblem.g:609:1: rule__Statement__Alternatives : ( ( ruleClassDeclaration ) | ( rulePredicateDefinition ) | ( ruleAssertion ) | ( ruleScopeDeclaration ) );
1600 public final void rule__Statement__Alternatives() throws RecognitionException { 1806 public final void rule__Statement__Alternatives() throws RecognitionException {
1601 1807
1602 int stackSize = keepStackSize(); 1808 int stackSize = keepStackSize();
1603 1809
1604 try { 1810 try {
1605 // InternalProblem.g:538:1: ( ( ruleClassDeclaration ) | ( rulePredicateDefinition ) | ( ruleAssertion ) | ( ruleScopeDeclaration ) ) 1811 // InternalProblem.g:613:1: ( ( ruleClassDeclaration ) | ( rulePredicateDefinition ) | ( ruleAssertion ) | ( ruleScopeDeclaration ) )
1606 int alt2=4; 1812 int alt1=4;
1607 switch ( input.LA(1) ) { 1813 switch ( input.LA(1) ) {
1608 case 20: 1814 case 23:
1609 case 35: 1815 case 38:
1610 { 1816 {
1611 alt2=1; 1817 alt1=1;
1612 } 1818 }
1613 break; 1819 break;
1614 case 12: 1820 case 14:
1615 case 37: 1821 case 40:
1616 { 1822 {
1617 alt2=2; 1823 alt1=2;
1618 } 1824 }
1619 break; 1825 break;
1826 case RULE_QUOTED_ID:
1620 case RULE_ID: 1827 case RULE_ID:
1621 case 18: 1828 case 20:
1622 case 19: 1829 case 21:
1623 { 1830 {
1624 alt2=3; 1831 alt1=3;
1625 } 1832 }
1626 break; 1833 break;
1627 case 32: 1834 case 36:
1628 { 1835 {
1629 alt2=4; 1836 alt1=4;
1630 } 1837 }
1631 break; 1838 break;
1632 default: 1839 default:
1633 NoViableAltException nvae = 1840 NoViableAltException nvae =
1634 new NoViableAltException("", 2, 0, input); 1841 new NoViableAltException("", 1, 0, input);
1635 1842
1636 throw nvae; 1843 throw nvae;
1637 } 1844 }
1638 1845
1639 switch (alt2) { 1846 switch (alt1) {
1640 case 1 : 1847 case 1 :
1641 // InternalProblem.g:539:2: ( ruleClassDeclaration ) 1848 // InternalProblem.g:614:2: ( ruleClassDeclaration )
1642 { 1849 {
1643 // InternalProblem.g:539:2: ( ruleClassDeclaration ) 1850 // InternalProblem.g:614:2: ( ruleClassDeclaration )
1644 // InternalProblem.g:540:3: ruleClassDeclaration 1851 // InternalProblem.g:615:3: ruleClassDeclaration
1645 { 1852 {
1646 before(grammarAccess.getStatementAccess().getClassDeclarationParserRuleCall_0()); 1853 before(grammarAccess.getStatementAccess().getClassDeclarationParserRuleCall_0());
1647 pushFollow(FOLLOW_2); 1854 pushFollow(FOLLOW_2);
@@ -1657,10 +1864,10 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1657 } 1864 }
1658 break; 1865 break;
1659 case 2 : 1866 case 2 :
1660 // InternalProblem.g:545:2: ( rulePredicateDefinition ) 1867 // InternalProblem.g:620:2: ( rulePredicateDefinition )
1661 { 1868 {
1662 // InternalProblem.g:545:2: ( rulePredicateDefinition ) 1869 // InternalProblem.g:620:2: ( rulePredicateDefinition )
1663 // InternalProblem.g:546:3: rulePredicateDefinition 1870 // InternalProblem.g:621:3: rulePredicateDefinition
1664 { 1871 {
1665 before(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_1()); 1872 before(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_1());
1666 pushFollow(FOLLOW_2); 1873 pushFollow(FOLLOW_2);
@@ -1676,10 +1883,10 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1676 } 1883 }
1677 break; 1884 break;
1678 case 3 : 1885 case 3 :
1679 // InternalProblem.g:551:2: ( ruleAssertion ) 1886 // InternalProblem.g:626:2: ( ruleAssertion )
1680 { 1887 {
1681 // InternalProblem.g:551:2: ( ruleAssertion ) 1888 // InternalProblem.g:626:2: ( ruleAssertion )
1682 // InternalProblem.g:552:3: ruleAssertion 1889 // InternalProblem.g:627:3: ruleAssertion
1683 { 1890 {
1684 before(grammarAccess.getStatementAccess().getAssertionParserRuleCall_2()); 1891 before(grammarAccess.getStatementAccess().getAssertionParserRuleCall_2());
1685 pushFollow(FOLLOW_2); 1892 pushFollow(FOLLOW_2);
@@ -1695,10 +1902,10 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1695 } 1902 }
1696 break; 1903 break;
1697 case 4 : 1904 case 4 :
1698 // InternalProblem.g:557:2: ( ruleScopeDeclaration ) 1905 // InternalProblem.g:632:2: ( ruleScopeDeclaration )
1699 { 1906 {
1700 // InternalProblem.g:557:2: ( ruleScopeDeclaration ) 1907 // InternalProblem.g:632:2: ( ruleScopeDeclaration )
1701 // InternalProblem.g:558:3: ruleScopeDeclaration 1908 // InternalProblem.g:633:3: ruleScopeDeclaration
1702 { 1909 {
1703 before(grammarAccess.getStatementAccess().getScopeDeclarationParserRuleCall_3()); 1910 before(grammarAccess.getStatementAccess().getScopeDeclarationParserRuleCall_3());
1704 pushFollow(FOLLOW_2); 1911 pushFollow(FOLLOW_2);
@@ -1730,140 +1937,49 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1730 // $ANTLR end "rule__Statement__Alternatives" 1937 // $ANTLR end "rule__Statement__Alternatives"
1731 1938
1732 1939
1733 // $ANTLR start "rule__ClassDeclaration__Alternatives_3" 1940 // $ANTLR start "rule__ClassDeclaration__Alternatives_4"
1734 // InternalProblem.g:567:1: rule__ClassDeclaration__Alternatives_3 : ( ( ( rule__ClassDeclaration__Group_3_0__0 ) ) | ( ( rule__ClassDeclaration__ReferenceDeclarationsAssignment_3_1 ) ) ); 1941 // InternalProblem.g:642:1: rule__ClassDeclaration__Alternatives_4 : ( ( ( rule__ClassDeclaration__Group_4_0__0 ) ) | ( '.' ) );
1735 public final void rule__ClassDeclaration__Alternatives_3() throws RecognitionException { 1942 public final void rule__ClassDeclaration__Alternatives_4() throws RecognitionException {
1736
1737 int stackSize = keepStackSize();
1738
1739 try {
1740 // InternalProblem.g:571:1: ( ( ( rule__ClassDeclaration__Group_3_0__0 ) ) | ( ( rule__ClassDeclaration__ReferenceDeclarationsAssignment_3_1 ) ) )
1741 int alt3=2;
1742 int LA3_0 = input.LA(1);
1743
1744 if ( (LA3_0==22) ) {
1745 alt3=1;
1746 }
1747 else if ( (LA3_0==11||LA3_0==36) ) {
1748 alt3=2;
1749 }
1750 else {
1751 NoViableAltException nvae =
1752 new NoViableAltException("", 3, 0, input);
1753
1754 throw nvae;
1755 }
1756 switch (alt3) {
1757 case 1 :
1758 // InternalProblem.g:572:2: ( ( rule__ClassDeclaration__Group_3_0__0 ) )
1759 {
1760 // InternalProblem.g:572:2: ( ( rule__ClassDeclaration__Group_3_0__0 ) )
1761 // InternalProblem.g:573:3: ( rule__ClassDeclaration__Group_3_0__0 )
1762 {
1763 before(grammarAccess.getClassDeclarationAccess().getGroup_3_0());
1764 // InternalProblem.g:574:3: ( rule__ClassDeclaration__Group_3_0__0 )
1765 // InternalProblem.g:574:4: rule__ClassDeclaration__Group_3_0__0
1766 {
1767 pushFollow(FOLLOW_2);
1768 rule__ClassDeclaration__Group_3_0__0();
1769
1770 state._fsp--;
1771
1772
1773 }
1774
1775 after(grammarAccess.getClassDeclarationAccess().getGroup_3_0());
1776
1777 }
1778
1779
1780 }
1781 break;
1782 case 2 :
1783 // InternalProblem.g:578:2: ( ( rule__ClassDeclaration__ReferenceDeclarationsAssignment_3_1 ) )
1784 {
1785 // InternalProblem.g:578:2: ( ( rule__ClassDeclaration__ReferenceDeclarationsAssignment_3_1 ) )
1786 // InternalProblem.g:579:3: ( rule__ClassDeclaration__ReferenceDeclarationsAssignment_3_1 )
1787 {
1788 before(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsAssignment_3_1());
1789 // InternalProblem.g:580:3: ( rule__ClassDeclaration__ReferenceDeclarationsAssignment_3_1 )
1790 // InternalProblem.g:580:4: rule__ClassDeclaration__ReferenceDeclarationsAssignment_3_1
1791 {
1792 pushFollow(FOLLOW_2);
1793 rule__ClassDeclaration__ReferenceDeclarationsAssignment_3_1();
1794
1795 state._fsp--;
1796
1797
1798 }
1799
1800 after(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsAssignment_3_1());
1801
1802 }
1803
1804
1805 }
1806 break;
1807
1808 }
1809 }
1810 catch (RecognitionException re) {
1811 reportError(re);
1812 recover(input,re);
1813 }
1814 finally {
1815
1816 restoreStackSize(stackSize);
1817
1818 }
1819 return ;
1820 }
1821 // $ANTLR end "rule__ClassDeclaration__Alternatives_3"
1822
1823
1824 // $ANTLR start "rule__ClassDeclaration__Alternatives_3_0_1"
1825 // InternalProblem.g:588:1: rule__ClassDeclaration__Alternatives_3_0_1 : ( ( ( rule__ClassDeclaration__SuperTypesAssignment_3_0_1_0 ) ) | ( ( rule__ClassDeclaration__Group_3_0_1_1__0 ) ) );
1826 public final void rule__ClassDeclaration__Alternatives_3_0_1() throws RecognitionException {
1827 1943
1828 int stackSize = keepStackSize(); 1944 int stackSize = keepStackSize();
1829 1945
1830 try { 1946 try {
1831 // InternalProblem.g:592:1: ( ( ( rule__ClassDeclaration__SuperTypesAssignment_3_0_1_0 ) ) | ( ( rule__ClassDeclaration__Group_3_0_1_1__0 ) ) ) 1947 // InternalProblem.g:646:1: ( ( ( rule__ClassDeclaration__Group_4_0__0 ) ) | ( '.' ) )
1832 int alt4=2; 1948 int alt2=2;
1833 int LA4_0 = input.LA(1); 1949 int LA2_0 = input.LA(1);
1834 1950
1835 if ( (LA4_0==RULE_ID) ) { 1951 if ( (LA2_0==26) ) {
1836 alt4=1; 1952 alt2=1;
1837 } 1953 }
1838 else if ( (LA4_0==23) ) { 1954 else if ( (LA2_0==12) ) {
1839 alt4=2; 1955 alt2=2;
1840 } 1956 }
1841 else { 1957 else {
1842 NoViableAltException nvae = 1958 NoViableAltException nvae =
1843 new NoViableAltException("", 4, 0, input); 1959 new NoViableAltException("", 2, 0, input);
1844 1960
1845 throw nvae; 1961 throw nvae;
1846 } 1962 }
1847 switch (alt4) { 1963 switch (alt2) {
1848 case 1 : 1964 case 1 :
1849 // InternalProblem.g:593:2: ( ( rule__ClassDeclaration__SuperTypesAssignment_3_0_1_0 ) ) 1965 // InternalProblem.g:647:2: ( ( rule__ClassDeclaration__Group_4_0__0 ) )
1850 { 1966 {
1851 // InternalProblem.g:593:2: ( ( rule__ClassDeclaration__SuperTypesAssignment_3_0_1_0 ) ) 1967 // InternalProblem.g:647:2: ( ( rule__ClassDeclaration__Group_4_0__0 ) )
1852 // InternalProblem.g:594:3: ( rule__ClassDeclaration__SuperTypesAssignment_3_0_1_0 ) 1968 // InternalProblem.g:648:3: ( rule__ClassDeclaration__Group_4_0__0 )
1853 { 1969 {
1854 before(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_0_1_0()); 1970 before(grammarAccess.getClassDeclarationAccess().getGroup_4_0());
1855 // InternalProblem.g:595:3: ( rule__ClassDeclaration__SuperTypesAssignment_3_0_1_0 ) 1971 // InternalProblem.g:649:3: ( rule__ClassDeclaration__Group_4_0__0 )
1856 // InternalProblem.g:595:4: rule__ClassDeclaration__SuperTypesAssignment_3_0_1_0 1972 // InternalProblem.g:649:4: rule__ClassDeclaration__Group_4_0__0
1857 { 1973 {
1858 pushFollow(FOLLOW_2); 1974 pushFollow(FOLLOW_2);
1859 rule__ClassDeclaration__SuperTypesAssignment_3_0_1_0(); 1975 rule__ClassDeclaration__Group_4_0__0();
1860 1976
1861 state._fsp--; 1977 state._fsp--;
1862 1978
1863 1979
1864 } 1980 }
1865 1981
1866 after(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_0_1_0()); 1982 after(grammarAccess.getClassDeclarationAccess().getGroup_4_0());
1867 1983
1868 } 1984 }
1869 1985
@@ -1871,24 +1987,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1871 } 1987 }
1872 break; 1988 break;
1873 case 2 : 1989 case 2 :
1874 // InternalProblem.g:599:2: ( ( rule__ClassDeclaration__Group_3_0_1_1__0 ) ) 1990 // InternalProblem.g:653:2: ( '.' )
1875 {
1876 // InternalProblem.g:599:2: ( ( rule__ClassDeclaration__Group_3_0_1_1__0 ) )
1877 // InternalProblem.g:600:3: ( rule__ClassDeclaration__Group_3_0_1_1__0 )
1878 { 1991 {
1879 before(grammarAccess.getClassDeclarationAccess().getGroup_3_0_1_1()); 1992 // InternalProblem.g:653:2: ( '.' )
1880 // InternalProblem.g:601:3: ( rule__ClassDeclaration__Group_3_0_1_1__0 ) 1993 // InternalProblem.g:654:3: '.'
1881 // InternalProblem.g:601:4: rule__ClassDeclaration__Group_3_0_1_1__0
1882 { 1994 {
1883 pushFollow(FOLLOW_2); 1995 before(grammarAccess.getClassDeclarationAccess().getFullStopKeyword_4_1());
1884 rule__ClassDeclaration__Group_3_0_1_1__0(); 1996 match(input,12,FOLLOW_2);
1885 1997 after(grammarAccess.getClassDeclarationAccess().getFullStopKeyword_4_1());
1886 state._fsp--;
1887
1888
1889 }
1890
1891 after(grammarAccess.getClassDeclarationAccess().getGroup_3_0_1_1());
1892 1998
1893 } 1999 }
1894 2000
@@ -1909,42 +2015,42 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1909 } 2015 }
1910 return ; 2016 return ;
1911 } 2017 }
1912 // $ANTLR end "rule__ClassDeclaration__Alternatives_3_0_1" 2018 // $ANTLR end "rule__ClassDeclaration__Alternatives_4"
1913 2019
1914 2020
1915 // $ANTLR start "rule__ReferenceDeclaration__Alternatives_0" 2021 // $ANTLR start "rule__ReferenceDeclaration__Alternatives_0"
1916 // InternalProblem.g:609:1: rule__ReferenceDeclaration__Alternatives_0 : ( ( ( rule__ReferenceDeclaration__ContainmentAssignment_0_0 ) ) | ( 'refers' ) ); 2022 // InternalProblem.g:663:1: rule__ReferenceDeclaration__Alternatives_0 : ( ( ( rule__ReferenceDeclaration__ContainmentAssignment_0_0 ) ) | ( 'refers' ) );
1917 public final void rule__ReferenceDeclaration__Alternatives_0() throws RecognitionException { 2023 public final void rule__ReferenceDeclaration__Alternatives_0() throws RecognitionException {
1918 2024
1919 int stackSize = keepStackSize(); 2025 int stackSize = keepStackSize();
1920 2026
1921 try { 2027 try {
1922 // InternalProblem.g:613:1: ( ( ( rule__ReferenceDeclaration__ContainmentAssignment_0_0 ) ) | ( 'refers' ) ) 2028 // InternalProblem.g:667:1: ( ( ( rule__ReferenceDeclaration__ContainmentAssignment_0_0 ) ) | ( 'refers' ) )
1923 int alt5=2; 2029 int alt3=2;
1924 int LA5_0 = input.LA(1); 2030 int LA3_0 = input.LA(1);
1925 2031
1926 if ( (LA5_0==36) ) { 2032 if ( (LA3_0==39) ) {
1927 alt5=1; 2033 alt3=1;
1928 } 2034 }
1929 else if ( (LA5_0==11) ) { 2035 else if ( (LA3_0==13) ) {
1930 alt5=2; 2036 alt3=2;
1931 } 2037 }
1932 else { 2038 else {
1933 NoViableAltException nvae = 2039 NoViableAltException nvae =
1934 new NoViableAltException("", 5, 0, input); 2040 new NoViableAltException("", 3, 0, input);
1935 2041
1936 throw nvae; 2042 throw nvae;
1937 } 2043 }
1938 switch (alt5) { 2044 switch (alt3) {
1939 case 1 : 2045 case 1 :
1940 // InternalProblem.g:614:2: ( ( rule__ReferenceDeclaration__ContainmentAssignment_0_0 ) ) 2046 // InternalProblem.g:668:2: ( ( rule__ReferenceDeclaration__ContainmentAssignment_0_0 ) )
1941 { 2047 {
1942 // InternalProblem.g:614:2: ( ( rule__ReferenceDeclaration__ContainmentAssignment_0_0 ) ) 2048 // InternalProblem.g:668:2: ( ( rule__ReferenceDeclaration__ContainmentAssignment_0_0 ) )
1943 // InternalProblem.g:615:3: ( rule__ReferenceDeclaration__ContainmentAssignment_0_0 ) 2049 // InternalProblem.g:669:3: ( rule__ReferenceDeclaration__ContainmentAssignment_0_0 )
1944 { 2050 {
1945 before(grammarAccess.getReferenceDeclarationAccess().getContainmentAssignment_0_0()); 2051 before(grammarAccess.getReferenceDeclarationAccess().getContainmentAssignment_0_0());
1946 // InternalProblem.g:616:3: ( rule__ReferenceDeclaration__ContainmentAssignment_0_0 ) 2052 // InternalProblem.g:670:3: ( rule__ReferenceDeclaration__ContainmentAssignment_0_0 )
1947 // InternalProblem.g:616:4: rule__ReferenceDeclaration__ContainmentAssignment_0_0 2053 // InternalProblem.g:670:4: rule__ReferenceDeclaration__ContainmentAssignment_0_0
1948 { 2054 {
1949 pushFollow(FOLLOW_2); 2055 pushFollow(FOLLOW_2);
1950 rule__ReferenceDeclaration__ContainmentAssignment_0_0(); 2056 rule__ReferenceDeclaration__ContainmentAssignment_0_0();
@@ -1962,13 +2068,13 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1962 } 2068 }
1963 break; 2069 break;
1964 case 2 : 2070 case 2 :
1965 // InternalProblem.g:620:2: ( 'refers' ) 2071 // InternalProblem.g:674:2: ( 'refers' )
1966 { 2072 {
1967 // InternalProblem.g:620:2: ( 'refers' ) 2073 // InternalProblem.g:674:2: ( 'refers' )
1968 // InternalProblem.g:621:3: 'refers' 2074 // InternalProblem.g:675:3: 'refers'
1969 { 2075 {
1970 before(grammarAccess.getReferenceDeclarationAccess().getRefersKeyword_0_1()); 2076 before(grammarAccess.getReferenceDeclarationAccess().getRefersKeyword_0_1());
1971 match(input,11,FOLLOW_2); 2077 match(input,13,FOLLOW_2);
1972 after(grammarAccess.getReferenceDeclarationAccess().getRefersKeyword_0_1()); 2078 after(grammarAccess.getReferenceDeclarationAccess().getRefersKeyword_0_1());
1973 2079
1974 } 2080 }
@@ -1994,38 +2100,38 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1994 2100
1995 2101
1996 // $ANTLR start "rule__PredicateDefinition__Alternatives_0" 2102 // $ANTLR start "rule__PredicateDefinition__Alternatives_0"
1997 // InternalProblem.g:630:1: rule__PredicateDefinition__Alternatives_0 : ( ( ( rule__PredicateDefinition__Group_0_0__0 ) ) | ( 'pred' ) ); 2103 // InternalProblem.g:684:1: rule__PredicateDefinition__Alternatives_0 : ( ( ( rule__PredicateDefinition__Group_0_0__0 ) ) | ( 'pred' ) );
1998 public final void rule__PredicateDefinition__Alternatives_0() throws RecognitionException { 2104 public final void rule__PredicateDefinition__Alternatives_0() throws RecognitionException {
1999 2105
2000 int stackSize = keepStackSize(); 2106 int stackSize = keepStackSize();
2001 2107
2002 try { 2108 try {
2003 // InternalProblem.g:634:1: ( ( ( rule__PredicateDefinition__Group_0_0__0 ) ) | ( 'pred' ) ) 2109 // InternalProblem.g:688:1: ( ( ( rule__PredicateDefinition__Group_0_0__0 ) ) | ( 'pred' ) )
2004 int alt6=2; 2110 int alt4=2;
2005 int LA6_0 = input.LA(1); 2111 int LA4_0 = input.LA(1);
2006 2112
2007 if ( (LA6_0==37) ) { 2113 if ( (LA4_0==40) ) {
2008 alt6=1; 2114 alt4=1;
2009 } 2115 }
2010 else if ( (LA6_0==12) ) { 2116 else if ( (LA4_0==14) ) {
2011 alt6=2; 2117 alt4=2;
2012 } 2118 }
2013 else { 2119 else {
2014 NoViableAltException nvae = 2120 NoViableAltException nvae =
2015 new NoViableAltException("", 6, 0, input); 2121 new NoViableAltException("", 4, 0, input);
2016 2122
2017 throw nvae; 2123 throw nvae;
2018 } 2124 }
2019 switch (alt6) { 2125 switch (alt4) {
2020 case 1 : 2126 case 1 :
2021 // InternalProblem.g:635:2: ( ( rule__PredicateDefinition__Group_0_0__0 ) ) 2127 // InternalProblem.g:689:2: ( ( rule__PredicateDefinition__Group_0_0__0 ) )
2022 { 2128 {
2023 // InternalProblem.g:635:2: ( ( rule__PredicateDefinition__Group_0_0__0 ) ) 2129 // InternalProblem.g:689:2: ( ( rule__PredicateDefinition__Group_0_0__0 ) )
2024 // InternalProblem.g:636:3: ( rule__PredicateDefinition__Group_0_0__0 ) 2130 // InternalProblem.g:690:3: ( rule__PredicateDefinition__Group_0_0__0 )
2025 { 2131 {
2026 before(grammarAccess.getPredicateDefinitionAccess().getGroup_0_0()); 2132 before(grammarAccess.getPredicateDefinitionAccess().getGroup_0_0());
2027 // InternalProblem.g:637:3: ( rule__PredicateDefinition__Group_0_0__0 ) 2133 // InternalProblem.g:691:3: ( rule__PredicateDefinition__Group_0_0__0 )
2028 // InternalProblem.g:637:4: rule__PredicateDefinition__Group_0_0__0 2134 // InternalProblem.g:691:4: rule__PredicateDefinition__Group_0_0__0
2029 { 2135 {
2030 pushFollow(FOLLOW_2); 2136 pushFollow(FOLLOW_2);
2031 rule__PredicateDefinition__Group_0_0__0(); 2137 rule__PredicateDefinition__Group_0_0__0();
@@ -2043,13 +2149,13 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2043 } 2149 }
2044 break; 2150 break;
2045 case 2 : 2151 case 2 :
2046 // InternalProblem.g:641:2: ( 'pred' ) 2152 // InternalProblem.g:695:2: ( 'pred' )
2047 { 2153 {
2048 // InternalProblem.g:641:2: ( 'pred' ) 2154 // InternalProblem.g:695:2: ( 'pred' )
2049 // InternalProblem.g:642:3: 'pred' 2155 // InternalProblem.g:696:3: 'pred'
2050 { 2156 {
2051 before(grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_1()); 2157 before(grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_1());
2052 match(input,12,FOLLOW_2); 2158 match(input,14,FOLLOW_2);
2053 after(grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_1()); 2159 after(grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_1());
2054 2160
2055 } 2161 }
@@ -2075,34 +2181,34 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2075 2181
2076 2182
2077 // $ANTLR start "rule__Literal__Alternatives" 2183 // $ANTLR start "rule__Literal__Alternatives"
2078 // InternalProblem.g:651:1: rule__Literal__Alternatives : ( ( ruleAtom ) | ( ruleNegativeLiteral ) ); 2184 // InternalProblem.g:705:1: rule__Literal__Alternatives : ( ( ruleAtom ) | ( ruleNegativeLiteral ) );
2079 public final void rule__Literal__Alternatives() throws RecognitionException { 2185 public final void rule__Literal__Alternatives() throws RecognitionException {
2080 2186
2081 int stackSize = keepStackSize(); 2187 int stackSize = keepStackSize();
2082 2188
2083 try { 2189 try {
2084 // InternalProblem.g:655:1: ( ( ruleAtom ) | ( ruleNegativeLiteral ) ) 2190 // InternalProblem.g:709:1: ( ( ruleAtom ) | ( ruleNegativeLiteral ) )
2085 int alt7=2; 2191 int alt5=2;
2086 int LA7_0 = input.LA(1); 2192 int LA5_0 = input.LA(1);
2087 2193
2088 if ( (LA7_0==RULE_ID) ) { 2194 if ( ((LA5_0>=RULE_QUOTED_ID && LA5_0<=RULE_ID)) ) {
2089 alt7=1; 2195 alt5=1;
2090 } 2196 }
2091 else if ( (LA7_0==18) ) { 2197 else if ( (LA5_0==20) ) {
2092 alt7=2; 2198 alt5=2;
2093 } 2199 }
2094 else { 2200 else {
2095 NoViableAltException nvae = 2201 NoViableAltException nvae =
2096 new NoViableAltException("", 7, 0, input); 2202 new NoViableAltException("", 5, 0, input);
2097 2203
2098 throw nvae; 2204 throw nvae;
2099 } 2205 }
2100 switch (alt7) { 2206 switch (alt5) {
2101 case 1 : 2207 case 1 :
2102 // InternalProblem.g:656:2: ( ruleAtom ) 2208 // InternalProblem.g:710:2: ( ruleAtom )
2103 { 2209 {
2104 // InternalProblem.g:656:2: ( ruleAtom ) 2210 // InternalProblem.g:710:2: ( ruleAtom )
2105 // InternalProblem.g:657:3: ruleAtom 2211 // InternalProblem.g:711:3: ruleAtom
2106 { 2212 {
2107 before(grammarAccess.getLiteralAccess().getAtomParserRuleCall_0()); 2213 before(grammarAccess.getLiteralAccess().getAtomParserRuleCall_0());
2108 pushFollow(FOLLOW_2); 2214 pushFollow(FOLLOW_2);
@@ -2118,10 +2224,10 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2118 } 2224 }
2119 break; 2225 break;
2120 case 2 : 2226 case 2 :
2121 // InternalProblem.g:662:2: ( ruleNegativeLiteral ) 2227 // InternalProblem.g:716:2: ( ruleNegativeLiteral )
2122 { 2228 {
2123 // InternalProblem.g:662:2: ( ruleNegativeLiteral ) 2229 // InternalProblem.g:716:2: ( ruleNegativeLiteral )
2124 // InternalProblem.g:663:3: ruleNegativeLiteral 2230 // InternalProblem.g:717:3: ruleNegativeLiteral
2125 { 2231 {
2126 before(grammarAccess.getLiteralAccess().getNegativeLiteralParserRuleCall_1()); 2232 before(grammarAccess.getLiteralAccess().getNegativeLiteralParserRuleCall_1());
2127 pushFollow(FOLLOW_2); 2233 pushFollow(FOLLOW_2);
@@ -2154,25 +2260,25 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2154 2260
2155 2261
2156 // $ANTLR start "rule__Assertion__Alternatives_0" 2262 // $ANTLR start "rule__Assertion__Alternatives_0"
2157 // InternalProblem.g:672:1: rule__Assertion__Alternatives_0 : ( ( ( rule__Assertion__Group_0_0__0 ) ) | ( ( rule__Assertion__Group_0_1__0 ) ) ); 2263 // InternalProblem.g:726:1: rule__Assertion__Alternatives_0 : ( ( ( rule__Assertion__Group_0_0__0 ) ) | ( ( rule__Assertion__Group_0_1__0 ) ) );
2158 public final void rule__Assertion__Alternatives_0() throws RecognitionException { 2264 public final void rule__Assertion__Alternatives_0() throws RecognitionException {
2159 2265
2160 int stackSize = keepStackSize(); 2266 int stackSize = keepStackSize();
2161 2267
2162 try { 2268 try {
2163 // InternalProblem.g:676:1: ( ( ( rule__Assertion__Group_0_0__0 ) ) | ( ( rule__Assertion__Group_0_1__0 ) ) ) 2269 // InternalProblem.g:730:1: ( ( ( rule__Assertion__Group_0_0__0 ) ) | ( ( rule__Assertion__Group_0_1__0 ) ) )
2164 int alt8=2; 2270 int alt6=2;
2165 alt8 = dfa8.predict(input); 2271 alt6 = dfa6.predict(input);
2166 switch (alt8) { 2272 switch (alt6) {
2167 case 1 : 2273 case 1 :
2168 // InternalProblem.g:677:2: ( ( rule__Assertion__Group_0_0__0 ) ) 2274 // InternalProblem.g:731:2: ( ( rule__Assertion__Group_0_0__0 ) )
2169 { 2275 {
2170 // InternalProblem.g:677:2: ( ( rule__Assertion__Group_0_0__0 ) ) 2276 // InternalProblem.g:731:2: ( ( rule__Assertion__Group_0_0__0 ) )
2171 // InternalProblem.g:678:3: ( rule__Assertion__Group_0_0__0 ) 2277 // InternalProblem.g:732:3: ( rule__Assertion__Group_0_0__0 )
2172 { 2278 {
2173 before(grammarAccess.getAssertionAccess().getGroup_0_0()); 2279 before(grammarAccess.getAssertionAccess().getGroup_0_0());
2174 // InternalProblem.g:679:3: ( rule__Assertion__Group_0_0__0 ) 2280 // InternalProblem.g:733:3: ( rule__Assertion__Group_0_0__0 )
2175 // InternalProblem.g:679:4: rule__Assertion__Group_0_0__0 2281 // InternalProblem.g:733:4: rule__Assertion__Group_0_0__0
2176 { 2282 {
2177 pushFollow(FOLLOW_2); 2283 pushFollow(FOLLOW_2);
2178 rule__Assertion__Group_0_0__0(); 2284 rule__Assertion__Group_0_0__0();
@@ -2190,14 +2296,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2190 } 2296 }
2191 break; 2297 break;
2192 case 2 : 2298 case 2 :
2193 // InternalProblem.g:683:2: ( ( rule__Assertion__Group_0_1__0 ) ) 2299 // InternalProblem.g:737:2: ( ( rule__Assertion__Group_0_1__0 ) )
2194 { 2300 {
2195 // InternalProblem.g:683:2: ( ( rule__Assertion__Group_0_1__0 ) ) 2301 // InternalProblem.g:737:2: ( ( rule__Assertion__Group_0_1__0 ) )
2196 // InternalProblem.g:684:3: ( rule__Assertion__Group_0_1__0 ) 2302 // InternalProblem.g:738:3: ( rule__Assertion__Group_0_1__0 )
2197 { 2303 {
2198 before(grammarAccess.getAssertionAccess().getGroup_0_1()); 2304 before(grammarAccess.getAssertionAccess().getGroup_0_1());
2199 // InternalProblem.g:685:3: ( rule__Assertion__Group_0_1__0 ) 2305 // InternalProblem.g:739:3: ( rule__Assertion__Group_0_1__0 )
2200 // InternalProblem.g:685:4: rule__Assertion__Group_0_1__0 2306 // InternalProblem.g:739:4: rule__Assertion__Group_0_1__0
2201 { 2307 {
2202 pushFollow(FOLLOW_2); 2308 pushFollow(FOLLOW_2);
2203 rule__Assertion__Group_0_1__0(); 2309 rule__Assertion__Group_0_1__0();
@@ -2232,38 +2338,38 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2232 2338
2233 2339
2234 // $ANTLR start "rule__TypeScope__Alternatives_1" 2340 // $ANTLR start "rule__TypeScope__Alternatives_1"
2235 // InternalProblem.g:693:1: rule__TypeScope__Alternatives_1 : ( ( ( rule__TypeScope__IncrementAssignment_1_0 ) ) | ( '=' ) ); 2341 // InternalProblem.g:747:1: rule__TypeScope__Alternatives_1 : ( ( ( rule__TypeScope__IncrementAssignment_1_0 ) ) | ( '=' ) );
2236 public final void rule__TypeScope__Alternatives_1() throws RecognitionException { 2342 public final void rule__TypeScope__Alternatives_1() throws RecognitionException {
2237 2343
2238 int stackSize = keepStackSize(); 2344 int stackSize = keepStackSize();
2239 2345
2240 try { 2346 try {
2241 // InternalProblem.g:697:1: ( ( ( rule__TypeScope__IncrementAssignment_1_0 ) ) | ( '=' ) ) 2347 // InternalProblem.g:751:1: ( ( ( rule__TypeScope__IncrementAssignment_1_0 ) ) | ( '=' ) )
2242 int alt9=2; 2348 int alt7=2;
2243 int LA9_0 = input.LA(1); 2349 int LA7_0 = input.LA(1);
2244 2350
2245 if ( (LA9_0==39) ) { 2351 if ( (LA7_0==42) ) {
2246 alt9=1; 2352 alt7=1;
2247 } 2353 }
2248 else if ( (LA9_0==13) ) { 2354 else if ( (LA7_0==15) ) {
2249 alt9=2; 2355 alt7=2;
2250 } 2356 }
2251 else { 2357 else {
2252 NoViableAltException nvae = 2358 NoViableAltException nvae =
2253 new NoViableAltException("", 9, 0, input); 2359 new NoViableAltException("", 7, 0, input);
2254 2360
2255 throw nvae; 2361 throw nvae;
2256 } 2362 }
2257 switch (alt9) { 2363 switch (alt7) {
2258 case 1 : 2364 case 1 :
2259 // InternalProblem.g:698:2: ( ( rule__TypeScope__IncrementAssignment_1_0 ) ) 2365 // InternalProblem.g:752:2: ( ( rule__TypeScope__IncrementAssignment_1_0 ) )
2260 { 2366 {
2261 // InternalProblem.g:698:2: ( ( rule__TypeScope__IncrementAssignment_1_0 ) ) 2367 // InternalProblem.g:752:2: ( ( rule__TypeScope__IncrementAssignment_1_0 ) )
2262 // InternalProblem.g:699:3: ( rule__TypeScope__IncrementAssignment_1_0 ) 2368 // InternalProblem.g:753:3: ( rule__TypeScope__IncrementAssignment_1_0 )
2263 { 2369 {
2264 before(grammarAccess.getTypeScopeAccess().getIncrementAssignment_1_0()); 2370 before(grammarAccess.getTypeScopeAccess().getIncrementAssignment_1_0());
2265 // InternalProblem.g:700:3: ( rule__TypeScope__IncrementAssignment_1_0 ) 2371 // InternalProblem.g:754:3: ( rule__TypeScope__IncrementAssignment_1_0 )
2266 // InternalProblem.g:700:4: rule__TypeScope__IncrementAssignment_1_0 2372 // InternalProblem.g:754:4: rule__TypeScope__IncrementAssignment_1_0
2267 { 2373 {
2268 pushFollow(FOLLOW_2); 2374 pushFollow(FOLLOW_2);
2269 rule__TypeScope__IncrementAssignment_1_0(); 2375 rule__TypeScope__IncrementAssignment_1_0();
@@ -2281,13 +2387,13 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2281 } 2387 }
2282 break; 2388 break;
2283 case 2 : 2389 case 2 :
2284 // InternalProblem.g:704:2: ( '=' ) 2390 // InternalProblem.g:758:2: ( '=' )
2285 { 2391 {
2286 // InternalProblem.g:704:2: ( '=' ) 2392 // InternalProblem.g:758:2: ( '=' )
2287 // InternalProblem.g:705:3: '=' 2393 // InternalProblem.g:759:3: '='
2288 { 2394 {
2289 before(grammarAccess.getTypeScopeAccess().getEqualsSignKeyword_1_1()); 2395 before(grammarAccess.getTypeScopeAccess().getEqualsSignKeyword_1_1());
2290 match(input,13,FOLLOW_2); 2396 match(input,15,FOLLOW_2);
2291 after(grammarAccess.getTypeScopeAccess().getEqualsSignKeyword_1_1()); 2397 after(grammarAccess.getTypeScopeAccess().getEqualsSignKeyword_1_1());
2292 2398
2293 } 2399 }
@@ -2313,52 +2419,131 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2313 2419
2314 2420
2315 // $ANTLR start "rule__Multiplicity__Alternatives" 2421 // $ANTLR start "rule__Multiplicity__Alternatives"
2316 // InternalProblem.g:714:1: rule__Multiplicity__Alternatives : ( ( ruleRangeMultiplicity ) | ( ruleExactMultiplicity ) ); 2422 // InternalProblem.g:768:1: rule__Multiplicity__Alternatives : ( ( ruleUnboundedMultiplicity ) | ( ruleDefiniteMultiplicity ) );
2317 public final void rule__Multiplicity__Alternatives() throws RecognitionException { 2423 public final void rule__Multiplicity__Alternatives() throws RecognitionException {
2318 2424
2319 int stackSize = keepStackSize(); 2425 int stackSize = keepStackSize();
2320 2426
2321 try { 2427 try {
2322 // InternalProblem.g:718:1: ( ( ruleRangeMultiplicity ) | ( ruleExactMultiplicity ) ) 2428 // InternalProblem.g:772:1: ( ( ruleUnboundedMultiplicity ) | ( ruleDefiniteMultiplicity ) )
2323 int alt10=2; 2429 int alt8=2;
2324 int LA10_0 = input.LA(1); 2430 int LA8_0 = input.LA(1);
2325 2431
2326 if ( (LA10_0==RULE_INT) ) { 2432 if ( (LA8_0==EOF||LA8_0==30) ) {
2327 int LA10_1 = input.LA(2); 2433 alt8=1;
2434 }
2435 else if ( (LA8_0==RULE_INT) ) {
2436 alt8=2;
2437 }
2438 else {
2439 NoViableAltException nvae =
2440 new NoViableAltException("", 8, 0, input);
2441
2442 throw nvae;
2443 }
2444 switch (alt8) {
2445 case 1 :
2446 // InternalProblem.g:773:2: ( ruleUnboundedMultiplicity )
2447 {
2448 // InternalProblem.g:773:2: ( ruleUnboundedMultiplicity )
2449 // InternalProblem.g:774:3: ruleUnboundedMultiplicity
2450 {
2451 before(grammarAccess.getMultiplicityAccess().getUnboundedMultiplicityParserRuleCall_0());
2452 pushFollow(FOLLOW_2);
2453 ruleUnboundedMultiplicity();
2454
2455 state._fsp--;
2456
2457 after(grammarAccess.getMultiplicityAccess().getUnboundedMultiplicityParserRuleCall_0());
2458
2459 }
2460
2461
2462 }
2463 break;
2464 case 2 :
2465 // InternalProblem.g:779:2: ( ruleDefiniteMultiplicity )
2466 {
2467 // InternalProblem.g:779:2: ( ruleDefiniteMultiplicity )
2468 // InternalProblem.g:780:3: ruleDefiniteMultiplicity
2469 {
2470 before(grammarAccess.getMultiplicityAccess().getDefiniteMultiplicityParserRuleCall_1());
2471 pushFollow(FOLLOW_2);
2472 ruleDefiniteMultiplicity();
2473
2474 state._fsp--;
2475
2476 after(grammarAccess.getMultiplicityAccess().getDefiniteMultiplicityParserRuleCall_1());
2477
2478 }
2479
2480
2481 }
2482 break;
2483
2484 }
2485 }
2486 catch (RecognitionException re) {
2487 reportError(re);
2488 recover(input,re);
2489 }
2490 finally {
2328 2491
2329 if ( (LA10_1==33) ) { 2492 restoreStackSize(stackSize);
2330 alt10=1; 2493
2494 }
2495 return ;
2496 }
2497 // $ANTLR end "rule__Multiplicity__Alternatives"
2498
2499
2500 // $ANTLR start "rule__DefiniteMultiplicity__Alternatives"
2501 // InternalProblem.g:789:1: rule__DefiniteMultiplicity__Alternatives : ( ( ruleRangeMultiplicity ) | ( ruleExactMultiplicity ) );
2502 public final void rule__DefiniteMultiplicity__Alternatives() throws RecognitionException {
2503
2504 int stackSize = keepStackSize();
2505
2506 try {
2507 // InternalProblem.g:793:1: ( ( ruleRangeMultiplicity ) | ( ruleExactMultiplicity ) )
2508 int alt9=2;
2509 int LA9_0 = input.LA(1);
2510
2511 if ( (LA9_0==RULE_INT) ) {
2512 int LA9_1 = input.LA(2);
2513
2514 if ( (LA9_1==37) ) {
2515 alt9=1;
2331 } 2516 }
2332 else if ( (LA10_1==EOF||LA10_1==21||(LA10_1>=24 && LA10_1<=25)) ) { 2517 else if ( (LA9_1==EOF||LA9_1==12||LA9_1==25||LA9_1==30) ) {
2333 alt10=2; 2518 alt9=2;
2334 } 2519 }
2335 else { 2520 else {
2336 NoViableAltException nvae = 2521 NoViableAltException nvae =
2337 new NoViableAltException("", 10, 1, input); 2522 new NoViableAltException("", 9, 1, input);
2338 2523
2339 throw nvae; 2524 throw nvae;
2340 } 2525 }
2341 } 2526 }
2342 else { 2527 else {
2343 NoViableAltException nvae = 2528 NoViableAltException nvae =
2344 new NoViableAltException("", 10, 0, input); 2529 new NoViableAltException("", 9, 0, input);
2345 2530
2346 throw nvae; 2531 throw nvae;
2347 } 2532 }
2348 switch (alt10) { 2533 switch (alt9) {
2349 case 1 : 2534 case 1 :
2350 // InternalProblem.g:719:2: ( ruleRangeMultiplicity ) 2535 // InternalProblem.g:794:2: ( ruleRangeMultiplicity )
2351 { 2536 {
2352 // InternalProblem.g:719:2: ( ruleRangeMultiplicity ) 2537 // InternalProblem.g:794:2: ( ruleRangeMultiplicity )
2353 // InternalProblem.g:720:3: ruleRangeMultiplicity 2538 // InternalProblem.g:795:3: ruleRangeMultiplicity
2354 { 2539 {
2355 before(grammarAccess.getMultiplicityAccess().getRangeMultiplicityParserRuleCall_0()); 2540 before(grammarAccess.getDefiniteMultiplicityAccess().getRangeMultiplicityParserRuleCall_0());
2356 pushFollow(FOLLOW_2); 2541 pushFollow(FOLLOW_2);
2357 ruleRangeMultiplicity(); 2542 ruleRangeMultiplicity();
2358 2543
2359 state._fsp--; 2544 state._fsp--;
2360 2545
2361 after(grammarAccess.getMultiplicityAccess().getRangeMultiplicityParserRuleCall_0()); 2546 after(grammarAccess.getDefiniteMultiplicityAccess().getRangeMultiplicityParserRuleCall_0());
2362 2547
2363 } 2548 }
2364 2549
@@ -2366,18 +2551,18 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2366 } 2551 }
2367 break; 2552 break;
2368 case 2 : 2553 case 2 :
2369 // InternalProblem.g:725:2: ( ruleExactMultiplicity ) 2554 // InternalProblem.g:800:2: ( ruleExactMultiplicity )
2370 { 2555 {
2371 // InternalProblem.g:725:2: ( ruleExactMultiplicity ) 2556 // InternalProblem.g:800:2: ( ruleExactMultiplicity )
2372 // InternalProblem.g:726:3: ruleExactMultiplicity 2557 // InternalProblem.g:801:3: ruleExactMultiplicity
2373 { 2558 {
2374 before(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); 2559 before(grammarAccess.getDefiniteMultiplicityAccess().getExactMultiplicityParserRuleCall_1());
2375 pushFollow(FOLLOW_2); 2560 pushFollow(FOLLOW_2);
2376 ruleExactMultiplicity(); 2561 ruleExactMultiplicity();
2377 2562
2378 state._fsp--; 2563 state._fsp--;
2379 2564
2380 after(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); 2565 after(grammarAccess.getDefiniteMultiplicityAccess().getExactMultiplicityParserRuleCall_1());
2381 2566
2382 } 2567 }
2383 2568
@@ -2398,38 +2583,38 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2398 } 2583 }
2399 return ; 2584 return ;
2400 } 2585 }
2401 // $ANTLR end "rule__Multiplicity__Alternatives" 2586 // $ANTLR end "rule__DefiniteMultiplicity__Alternatives"
2402 2587
2403 2588
2404 // $ANTLR start "rule__UpperBound__Alternatives" 2589 // $ANTLR start "rule__UpperBound__Alternatives"
2405 // InternalProblem.g:735:1: rule__UpperBound__Alternatives : ( ( RULE_INT ) | ( '*' ) ); 2590 // InternalProblem.g:810:1: rule__UpperBound__Alternatives : ( ( RULE_INT ) | ( '*' ) );
2406 public final void rule__UpperBound__Alternatives() throws RecognitionException { 2591 public final void rule__UpperBound__Alternatives() throws RecognitionException {
2407 2592
2408 int stackSize = keepStackSize(); 2593 int stackSize = keepStackSize();
2409 2594
2410 try { 2595 try {
2411 // InternalProblem.g:739:1: ( ( RULE_INT ) | ( '*' ) ) 2596 // InternalProblem.g:814:1: ( ( RULE_INT ) | ( '*' ) )
2412 int alt11=2; 2597 int alt10=2;
2413 int LA11_0 = input.LA(1); 2598 int LA10_0 = input.LA(1);
2414 2599
2415 if ( (LA11_0==RULE_INT) ) { 2600 if ( (LA10_0==RULE_INT) ) {
2416 alt11=1; 2601 alt10=1;
2417 } 2602 }
2418 else if ( (LA11_0==14) ) { 2603 else if ( (LA10_0==16) ) {
2419 alt11=2; 2604 alt10=2;
2420 } 2605 }
2421 else { 2606 else {
2422 NoViableAltException nvae = 2607 NoViableAltException nvae =
2423 new NoViableAltException("", 11, 0, input); 2608 new NoViableAltException("", 10, 0, input);
2424 2609
2425 throw nvae; 2610 throw nvae;
2426 } 2611 }
2427 switch (alt11) { 2612 switch (alt10) {
2428 case 1 : 2613 case 1 :
2429 // InternalProblem.g:740:2: ( RULE_INT ) 2614 // InternalProblem.g:815:2: ( RULE_INT )
2430 { 2615 {
2431 // InternalProblem.g:740:2: ( RULE_INT ) 2616 // InternalProblem.g:815:2: ( RULE_INT )
2432 // InternalProblem.g:741:3: RULE_INT 2617 // InternalProblem.g:816:3: RULE_INT
2433 { 2618 {
2434 before(grammarAccess.getUpperBoundAccess().getINTTerminalRuleCall_0()); 2619 before(grammarAccess.getUpperBoundAccess().getINTTerminalRuleCall_0());
2435 match(input,RULE_INT,FOLLOW_2); 2620 match(input,RULE_INT,FOLLOW_2);
@@ -2441,13 +2626,13 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2441 } 2626 }
2442 break; 2627 break;
2443 case 2 : 2628 case 2 :
2444 // InternalProblem.g:746:2: ( '*' ) 2629 // InternalProblem.g:821:2: ( '*' )
2445 { 2630 {
2446 // InternalProblem.g:746:2: ( '*' ) 2631 // InternalProblem.g:821:2: ( '*' )
2447 // InternalProblem.g:747:3: '*' 2632 // InternalProblem.g:822:3: '*'
2448 { 2633 {
2449 before(grammarAccess.getUpperBoundAccess().getAsteriskKeyword_1()); 2634 before(grammarAccess.getUpperBoundAccess().getAsteriskKeyword_1());
2450 match(input,14,FOLLOW_2); 2635 match(input,16,FOLLOW_2);
2451 after(grammarAccess.getUpperBoundAccess().getAsteriskKeyword_1()); 2636 after(grammarAccess.getUpperBoundAccess().getAsteriskKeyword_1());
2452 2637
2453 } 2638 }
@@ -2472,27 +2657,108 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2472 // $ANTLR end "rule__UpperBound__Alternatives" 2657 // $ANTLR end "rule__UpperBound__Alternatives"
2473 2658
2474 2659
2660 // $ANTLR start "rule__QualifiedName__Alternatives"
2661 // InternalProblem.g:831:1: rule__QualifiedName__Alternatives : ( ( RULE_QUOTED_ID ) | ( ( rule__QualifiedName__Group_1__0 ) ) );
2662 public final void rule__QualifiedName__Alternatives() throws RecognitionException {
2663
2664 int stackSize = keepStackSize();
2665
2666 try {
2667 // InternalProblem.g:835:1: ( ( RULE_QUOTED_ID ) | ( ( rule__QualifiedName__Group_1__0 ) ) )
2668 int alt11=2;
2669 int LA11_0 = input.LA(1);
2670
2671 if ( (LA11_0==RULE_QUOTED_ID) ) {
2672 alt11=1;
2673 }
2674 else if ( (LA11_0==RULE_ID) ) {
2675 alt11=2;
2676 }
2677 else {
2678 NoViableAltException nvae =
2679 new NoViableAltException("", 11, 0, input);
2680
2681 throw nvae;
2682 }
2683 switch (alt11) {
2684 case 1 :
2685 // InternalProblem.g:836:2: ( RULE_QUOTED_ID )
2686 {
2687 // InternalProblem.g:836:2: ( RULE_QUOTED_ID )
2688 // InternalProblem.g:837:3: RULE_QUOTED_ID
2689 {
2690 before(grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_0());
2691 match(input,RULE_QUOTED_ID,FOLLOW_2);
2692 after(grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_0());
2693
2694 }
2695
2696
2697 }
2698 break;
2699 case 2 :
2700 // InternalProblem.g:842:2: ( ( rule__QualifiedName__Group_1__0 ) )
2701 {
2702 // InternalProblem.g:842:2: ( ( rule__QualifiedName__Group_1__0 ) )
2703 // InternalProblem.g:843:3: ( rule__QualifiedName__Group_1__0 )
2704 {
2705 before(grammarAccess.getQualifiedNameAccess().getGroup_1());
2706 // InternalProblem.g:844:3: ( rule__QualifiedName__Group_1__0 )
2707 // InternalProblem.g:844:4: rule__QualifiedName__Group_1__0
2708 {
2709 pushFollow(FOLLOW_2);
2710 rule__QualifiedName__Group_1__0();
2711
2712 state._fsp--;
2713
2714
2715 }
2716
2717 after(grammarAccess.getQualifiedNameAccess().getGroup_1());
2718
2719 }
2720
2721
2722 }
2723 break;
2724
2725 }
2726 }
2727 catch (RecognitionException re) {
2728 reportError(re);
2729 recover(input,re);
2730 }
2731 finally {
2732
2733 restoreStackSize(stackSize);
2734
2735 }
2736 return ;
2737 }
2738 // $ANTLR end "rule__QualifiedName__Alternatives"
2739
2740
2475 // $ANTLR start "rule__LogicValue__Alternatives" 2741 // $ANTLR start "rule__LogicValue__Alternatives"
2476 // InternalProblem.g:756:1: rule__LogicValue__Alternatives : ( ( ( 'true' ) ) | ( ( 'false' ) ) | ( ( 'unknown' ) ) ); 2742 // InternalProblem.g:852:1: rule__LogicValue__Alternatives : ( ( ( 'true' ) ) | ( ( 'false' ) ) | ( ( 'unknown' ) ) );
2477 public final void rule__LogicValue__Alternatives() throws RecognitionException { 2743 public final void rule__LogicValue__Alternatives() throws RecognitionException {
2478 2744
2479 int stackSize = keepStackSize(); 2745 int stackSize = keepStackSize();
2480 2746
2481 try { 2747 try {
2482 // InternalProblem.g:760:1: ( ( ( 'true' ) ) | ( ( 'false' ) ) | ( ( 'unknown' ) ) ) 2748 // InternalProblem.g:856:1: ( ( ( 'true' ) ) | ( ( 'false' ) ) | ( ( 'unknown' ) ) )
2483 int alt12=3; 2749 int alt12=3;
2484 switch ( input.LA(1) ) { 2750 switch ( input.LA(1) ) {
2485 case 15: 2751 case 17:
2486 { 2752 {
2487 alt12=1; 2753 alt12=1;
2488 } 2754 }
2489 break; 2755 break;
2490 case 16: 2756 case 18:
2491 { 2757 {
2492 alt12=2; 2758 alt12=2;
2493 } 2759 }
2494 break; 2760 break;
2495 case 17: 2761 case 19:
2496 { 2762 {
2497 alt12=3; 2763 alt12=3;
2498 } 2764 }
@@ -2506,16 +2772,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2506 2772
2507 switch (alt12) { 2773 switch (alt12) {
2508 case 1 : 2774 case 1 :
2509 // InternalProblem.g:761:2: ( ( 'true' ) ) 2775 // InternalProblem.g:857:2: ( ( 'true' ) )
2510 { 2776 {
2511 // InternalProblem.g:761:2: ( ( 'true' ) ) 2777 // InternalProblem.g:857:2: ( ( 'true' ) )
2512 // InternalProblem.g:762:3: ( 'true' ) 2778 // InternalProblem.g:858:3: ( 'true' )
2513 { 2779 {
2514 before(grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0()); 2780 before(grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0());
2515 // InternalProblem.g:763:3: ( 'true' ) 2781 // InternalProblem.g:859:3: ( 'true' )
2516 // InternalProblem.g:763:4: 'true' 2782 // InternalProblem.g:859:4: 'true'
2517 { 2783 {
2518 match(input,15,FOLLOW_2); 2784 match(input,17,FOLLOW_2);
2519 2785
2520 } 2786 }
2521 2787
@@ -2527,16 +2793,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2527 } 2793 }
2528 break; 2794 break;
2529 case 2 : 2795 case 2 :
2530 // InternalProblem.g:767:2: ( ( 'false' ) ) 2796 // InternalProblem.g:863:2: ( ( 'false' ) )
2531 { 2797 {
2532 // InternalProblem.g:767:2: ( ( 'false' ) ) 2798 // InternalProblem.g:863:2: ( ( 'false' ) )
2533 // InternalProblem.g:768:3: ( 'false' ) 2799 // InternalProblem.g:864:3: ( 'false' )
2534 { 2800 {
2535 before(grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1()); 2801 before(grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1());
2536 // InternalProblem.g:769:3: ( 'false' ) 2802 // InternalProblem.g:865:3: ( 'false' )
2537 // InternalProblem.g:769:4: 'false' 2803 // InternalProblem.g:865:4: 'false'
2538 { 2804 {
2539 match(input,16,FOLLOW_2); 2805 match(input,18,FOLLOW_2);
2540 2806
2541 } 2807 }
2542 2808
@@ -2548,16 +2814,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2548 } 2814 }
2549 break; 2815 break;
2550 case 3 : 2816 case 3 :
2551 // InternalProblem.g:773:2: ( ( 'unknown' ) ) 2817 // InternalProblem.g:869:2: ( ( 'unknown' ) )
2552 { 2818 {
2553 // InternalProblem.g:773:2: ( ( 'unknown' ) ) 2819 // InternalProblem.g:869:2: ( ( 'unknown' ) )
2554 // InternalProblem.g:774:3: ( 'unknown' ) 2820 // InternalProblem.g:870:3: ( 'unknown' )
2555 { 2821 {
2556 before(grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2()); 2822 before(grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2());
2557 // InternalProblem.g:775:3: ( 'unknown' ) 2823 // InternalProblem.g:871:3: ( 'unknown' )
2558 // InternalProblem.g:775:4: 'unknown' 2824 // InternalProblem.g:871:4: 'unknown'
2559 { 2825 {
2560 match(input,17,FOLLOW_2); 2826 match(input,19,FOLLOW_2);
2561 2827
2562 } 2828 }
2563 2829
@@ -2586,20 +2852,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2586 2852
2587 2853
2588 // $ANTLR start "rule__ShortLogicValue__Alternatives" 2854 // $ANTLR start "rule__ShortLogicValue__Alternatives"
2589 // InternalProblem.g:783:1: rule__ShortLogicValue__Alternatives : ( ( ( '!' ) ) | ( ( '?' ) ) ); 2855 // InternalProblem.g:879:1: rule__ShortLogicValue__Alternatives : ( ( ( '!' ) ) | ( ( '?' ) ) );
2590 public final void rule__ShortLogicValue__Alternatives() throws RecognitionException { 2856 public final void rule__ShortLogicValue__Alternatives() throws RecognitionException {
2591 2857
2592 int stackSize = keepStackSize(); 2858 int stackSize = keepStackSize();
2593 2859
2594 try { 2860 try {
2595 // InternalProblem.g:787:1: ( ( ( '!' ) ) | ( ( '?' ) ) ) 2861 // InternalProblem.g:883:1: ( ( ( '!' ) ) | ( ( '?' ) ) )
2596 int alt13=2; 2862 int alt13=2;
2597 int LA13_0 = input.LA(1); 2863 int LA13_0 = input.LA(1);
2598 2864
2599 if ( (LA13_0==18) ) { 2865 if ( (LA13_0==20) ) {
2600 alt13=1; 2866 alt13=1;
2601 } 2867 }
2602 else if ( (LA13_0==19) ) { 2868 else if ( (LA13_0==21) ) {
2603 alt13=2; 2869 alt13=2;
2604 } 2870 }
2605 else { 2871 else {
@@ -2610,16 +2876,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2610 } 2876 }
2611 switch (alt13) { 2877 switch (alt13) {
2612 case 1 : 2878 case 1 :
2613 // InternalProblem.g:788:2: ( ( '!' ) ) 2879 // InternalProblem.g:884:2: ( ( '!' ) )
2614 { 2880 {
2615 // InternalProblem.g:788:2: ( ( '!' ) ) 2881 // InternalProblem.g:884:2: ( ( '!' ) )
2616 // InternalProblem.g:789:3: ( '!' ) 2882 // InternalProblem.g:885:3: ( '!' )
2617 { 2883 {
2618 before(grammarAccess.getShortLogicValueAccess().getFALSEEnumLiteralDeclaration_0()); 2884 before(grammarAccess.getShortLogicValueAccess().getFALSEEnumLiteralDeclaration_0());
2619 // InternalProblem.g:790:3: ( '!' ) 2885 // InternalProblem.g:886:3: ( '!' )
2620 // InternalProblem.g:790:4: '!' 2886 // InternalProblem.g:886:4: '!'
2621 { 2887 {
2622 match(input,18,FOLLOW_2); 2888 match(input,20,FOLLOW_2);
2623 2889
2624 } 2890 }
2625 2891
@@ -2631,16 +2897,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2631 } 2897 }
2632 break; 2898 break;
2633 case 2 : 2899 case 2 :
2634 // InternalProblem.g:794:2: ( ( '?' ) ) 2900 // InternalProblem.g:890:2: ( ( '?' ) )
2635 { 2901 {
2636 // InternalProblem.g:794:2: ( ( '?' ) ) 2902 // InternalProblem.g:890:2: ( ( '?' ) )
2637 // InternalProblem.g:795:3: ( '?' ) 2903 // InternalProblem.g:891:3: ( '?' )
2638 { 2904 {
2639 before(grammarAccess.getShortLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_1()); 2905 before(grammarAccess.getShortLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_1());
2640 // InternalProblem.g:796:3: ( '?' ) 2906 // InternalProblem.g:892:3: ( '?' )
2641 // InternalProblem.g:796:4: '?' 2907 // InternalProblem.g:892:4: '?'
2642 { 2908 {
2643 match(input,19,FOLLOW_2); 2909 match(input,21,FOLLOW_2);
2644 2910
2645 } 2911 }
2646 2912
@@ -2668,23 +2934,23 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2668 // $ANTLR end "rule__ShortLogicValue__Alternatives" 2934 // $ANTLR end "rule__ShortLogicValue__Alternatives"
2669 2935
2670 2936
2671 // $ANTLR start "rule__ClassDeclaration__Group__0" 2937 // $ANTLR start "rule__Problem__Group__0"
2672 // InternalProblem.g:804:1: rule__ClassDeclaration__Group__0 : rule__ClassDeclaration__Group__0__Impl rule__ClassDeclaration__Group__1 ; 2938 // InternalProblem.g:900:1: rule__Problem__Group__0 : rule__Problem__Group__0__Impl rule__Problem__Group__1 ;
2673 public final void rule__ClassDeclaration__Group__0() throws RecognitionException { 2939 public final void rule__Problem__Group__0() throws RecognitionException {
2674 2940
2675 int stackSize = keepStackSize(); 2941 int stackSize = keepStackSize();
2676 2942
2677 try { 2943 try {
2678 // InternalProblem.g:808:1: ( rule__ClassDeclaration__Group__0__Impl rule__ClassDeclaration__Group__1 ) 2944 // InternalProblem.g:904:1: ( rule__Problem__Group__0__Impl rule__Problem__Group__1 )
2679 // InternalProblem.g:809:2: rule__ClassDeclaration__Group__0__Impl rule__ClassDeclaration__Group__1 2945 // InternalProblem.g:905:2: rule__Problem__Group__0__Impl rule__Problem__Group__1
2680 { 2946 {
2681 pushFollow(FOLLOW_4); 2947 pushFollow(FOLLOW_3);
2682 rule__ClassDeclaration__Group__0__Impl(); 2948 rule__Problem__Group__0__Impl();
2683 2949
2684 state._fsp--; 2950 state._fsp--;
2685 2951
2686 pushFollow(FOLLOW_2); 2952 pushFollow(FOLLOW_2);
2687 rule__ClassDeclaration__Group__1(); 2953 rule__Problem__Group__1();
2688 2954
2689 state._fsp--; 2955 state._fsp--;
2690 2956
@@ -2703,36 +2969,36 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2703 } 2969 }
2704 return ; 2970 return ;
2705 } 2971 }
2706 // $ANTLR end "rule__ClassDeclaration__Group__0" 2972 // $ANTLR end "rule__Problem__Group__0"
2707 2973
2708 2974
2709 // $ANTLR start "rule__ClassDeclaration__Group__0__Impl" 2975 // $ANTLR start "rule__Problem__Group__0__Impl"
2710 // InternalProblem.g:816:1: rule__ClassDeclaration__Group__0__Impl : ( ( rule__ClassDeclaration__AbstractAssignment_0 )? ) ; 2976 // InternalProblem.g:912:1: rule__Problem__Group__0__Impl : ( ( rule__Problem__Group_0__0 )? ) ;
2711 public final void rule__ClassDeclaration__Group__0__Impl() throws RecognitionException { 2977 public final void rule__Problem__Group__0__Impl() throws RecognitionException {
2712 2978
2713 int stackSize = keepStackSize(); 2979 int stackSize = keepStackSize();
2714 2980
2715 try { 2981 try {
2716 // InternalProblem.g:820:1: ( ( ( rule__ClassDeclaration__AbstractAssignment_0 )? ) ) 2982 // InternalProblem.g:916:1: ( ( ( rule__Problem__Group_0__0 )? ) )
2717 // InternalProblem.g:821:1: ( ( rule__ClassDeclaration__AbstractAssignment_0 )? ) 2983 // InternalProblem.g:917:1: ( ( rule__Problem__Group_0__0 )? )
2718 { 2984 {
2719 // InternalProblem.g:821:1: ( ( rule__ClassDeclaration__AbstractAssignment_0 )? ) 2985 // InternalProblem.g:917:1: ( ( rule__Problem__Group_0__0 )? )
2720 // InternalProblem.g:822:2: ( rule__ClassDeclaration__AbstractAssignment_0 )? 2986 // InternalProblem.g:918:2: ( rule__Problem__Group_0__0 )?
2721 { 2987 {
2722 before(grammarAccess.getClassDeclarationAccess().getAbstractAssignment_0()); 2988 before(grammarAccess.getProblemAccess().getGroup_0());
2723 // InternalProblem.g:823:2: ( rule__ClassDeclaration__AbstractAssignment_0 )? 2989 // InternalProblem.g:919:2: ( rule__Problem__Group_0__0 )?
2724 int alt14=2; 2990 int alt14=2;
2725 int LA14_0 = input.LA(1); 2991 int LA14_0 = input.LA(1);
2726 2992
2727 if ( (LA14_0==35) ) { 2993 if ( (LA14_0==22) ) {
2728 alt14=1; 2994 alt14=1;
2729 } 2995 }
2730 switch (alt14) { 2996 switch (alt14) {
2731 case 1 : 2997 case 1 :
2732 // InternalProblem.g:823:3: rule__ClassDeclaration__AbstractAssignment_0 2998 // InternalProblem.g:919:3: rule__Problem__Group_0__0
2733 { 2999 {
2734 pushFollow(FOLLOW_2); 3000 pushFollow(FOLLOW_2);
2735 rule__ClassDeclaration__AbstractAssignment_0(); 3001 rule__Problem__Group_0__0();
2736 3002
2737 state._fsp--; 3003 state._fsp--;
2738 3004
@@ -2742,7 +3008,7 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2742 3008
2743 } 3009 }
2744 3010
2745 after(grammarAccess.getClassDeclarationAccess().getAbstractAssignment_0()); 3011 after(grammarAccess.getProblemAccess().getGroup_0());
2746 3012
2747 } 3013 }
2748 3014
@@ -2761,26 +3027,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2761 } 3027 }
2762 return ; 3028 return ;
2763 } 3029 }
2764 // $ANTLR end "rule__ClassDeclaration__Group__0__Impl" 3030 // $ANTLR end "rule__Problem__Group__0__Impl"
2765 3031
2766 3032
2767 // $ANTLR start "rule__ClassDeclaration__Group__1" 3033 // $ANTLR start "rule__Problem__Group__1"
2768 // InternalProblem.g:831:1: rule__ClassDeclaration__Group__1 : rule__ClassDeclaration__Group__1__Impl rule__ClassDeclaration__Group__2 ; 3034 // InternalProblem.g:927:1: rule__Problem__Group__1 : rule__Problem__Group__1__Impl ;
2769 public final void rule__ClassDeclaration__Group__1() throws RecognitionException { 3035 public final void rule__Problem__Group__1() throws RecognitionException {
2770 3036
2771 int stackSize = keepStackSize(); 3037 int stackSize = keepStackSize();
2772 3038
2773 try { 3039 try {
2774 // InternalProblem.g:835:1: ( rule__ClassDeclaration__Group__1__Impl rule__ClassDeclaration__Group__2 ) 3040 // InternalProblem.g:931:1: ( rule__Problem__Group__1__Impl )
2775 // InternalProblem.g:836:2: rule__ClassDeclaration__Group__1__Impl rule__ClassDeclaration__Group__2 3041 // InternalProblem.g:932:2: rule__Problem__Group__1__Impl
2776 { 3042 {
2777 pushFollow(FOLLOW_5);
2778 rule__ClassDeclaration__Group__1__Impl();
2779
2780 state._fsp--;
2781
2782 pushFollow(FOLLOW_2); 3043 pushFollow(FOLLOW_2);
2783 rule__ClassDeclaration__Group__2(); 3044 rule__Problem__Group__1__Impl();
2784 3045
2785 state._fsp--; 3046 state._fsp--;
2786 3047
@@ -2799,25 +3060,53 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2799 } 3060 }
2800 return ; 3061 return ;
2801 } 3062 }
2802 // $ANTLR end "rule__ClassDeclaration__Group__1" 3063 // $ANTLR end "rule__Problem__Group__1"
2803 3064
2804 3065
2805 // $ANTLR start "rule__ClassDeclaration__Group__1__Impl" 3066 // $ANTLR start "rule__Problem__Group__1__Impl"
2806 // InternalProblem.g:843:1: rule__ClassDeclaration__Group__1__Impl : ( 'class' ) ; 3067 // InternalProblem.g:938:1: rule__Problem__Group__1__Impl : ( ( rule__Problem__StatementsAssignment_1 )* ) ;
2807 public final void rule__ClassDeclaration__Group__1__Impl() throws RecognitionException { 3068 public final void rule__Problem__Group__1__Impl() throws RecognitionException {
2808 3069
2809 int stackSize = keepStackSize(); 3070 int stackSize = keepStackSize();
2810 3071
2811 try { 3072 try {
2812 // InternalProblem.g:847:1: ( ( 'class' ) ) 3073 // InternalProblem.g:942:1: ( ( ( rule__Problem__StatementsAssignment_1 )* ) )
2813 // InternalProblem.g:848:1: ( 'class' ) 3074 // InternalProblem.g:943:1: ( ( rule__Problem__StatementsAssignment_1 )* )
2814 { 3075 {
2815 // InternalProblem.g:848:1: ( 'class' ) 3076 // InternalProblem.g:943:1: ( ( rule__Problem__StatementsAssignment_1 )* )
2816 // InternalProblem.g:849:2: 'class' 3077 // InternalProblem.g:944:2: ( rule__Problem__StatementsAssignment_1 )*
2817 { 3078 {
2818 before(grammarAccess.getClassDeclarationAccess().getClassKeyword_1()); 3079 before(grammarAccess.getProblemAccess().getStatementsAssignment_1());
2819 match(input,20,FOLLOW_2); 3080 // InternalProblem.g:945:2: ( rule__Problem__StatementsAssignment_1 )*
2820 after(grammarAccess.getClassDeclarationAccess().getClassKeyword_1()); 3081 loop15:
3082 do {
3083 int alt15=2;
3084 int LA15_0 = input.LA(1);
3085
3086 if ( ((LA15_0>=RULE_QUOTED_ID && LA15_0<=RULE_ID)||LA15_0==14||(LA15_0>=20 && LA15_0<=21)||LA15_0==23||LA15_0==36||LA15_0==38||LA15_0==40) ) {
3087 alt15=1;
3088 }
3089
3090
3091 switch (alt15) {
3092 case 1 :
3093 // InternalProblem.g:945:3: rule__Problem__StatementsAssignment_1
3094 {
3095 pushFollow(FOLLOW_4);
3096 rule__Problem__StatementsAssignment_1();
3097
3098 state._fsp--;
3099
3100
3101 }
3102 break;
3103
3104 default :
3105 break loop15;
3106 }
3107 } while (true);
3108
3109 after(grammarAccess.getProblemAccess().getStatementsAssignment_1());
2821 3110
2822 } 3111 }
2823 3112
@@ -2836,26 +3125,26 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2836 } 3125 }
2837 return ; 3126 return ;
2838 } 3127 }
2839 // $ANTLR end "rule__ClassDeclaration__Group__1__Impl" 3128 // $ANTLR end "rule__Problem__Group__1__Impl"
2840 3129
2841 3130
2842 // $ANTLR start "rule__ClassDeclaration__Group__2" 3131 // $ANTLR start "rule__Problem__Group_0__0"
2843 // InternalProblem.g:858:1: rule__ClassDeclaration__Group__2 : rule__ClassDeclaration__Group__2__Impl rule__ClassDeclaration__Group__3 ; 3132 // InternalProblem.g:954:1: rule__Problem__Group_0__0 : rule__Problem__Group_0__0__Impl rule__Problem__Group_0__1 ;
2844 public final void rule__ClassDeclaration__Group__2() throws RecognitionException { 3133 public final void rule__Problem__Group_0__0() throws RecognitionException {
2845 3134
2846 int stackSize = keepStackSize(); 3135 int stackSize = keepStackSize();
2847 3136
2848 try { 3137 try {
2849 // InternalProblem.g:862:1: ( rule__ClassDeclaration__Group__2__Impl rule__ClassDeclaration__Group__3 ) 3138 // InternalProblem.g:958:1: ( rule__Problem__Group_0__0__Impl rule__Problem__Group_0__1 )
2850 // InternalProblem.g:863:2: rule__ClassDeclaration__Group__2__Impl rule__ClassDeclaration__Group__3 3139 // InternalProblem.g:959:2: rule__Problem__Group_0__0__Impl rule__Problem__Group_0__1
2851 { 3140 {
2852 pushFollow(FOLLOW_6); 3141 pushFollow(FOLLOW_5);
2853 rule__ClassDeclaration__Group__2__Impl(); 3142 rule__Problem__Group_0__0__Impl();
2854 3143
2855 state._fsp--; 3144 state._fsp--;
2856 3145
2857 pushFollow(FOLLOW_2); 3146 pushFollow(FOLLOW_2);
2858 rule__ClassDeclaration__Group__3(); 3147 rule__Problem__Group_0__1();
2859 3148
2860 state._fsp--; 3149 state._fsp--;
2861 3150
@@ -2874,35 +3163,25 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2874 } 3163 }
2875 return ; 3164 return ;
2876 } 3165 }
2877 // $ANTLR end "rule__ClassDeclaration__Group__2" 3166 // $ANTLR end "rule__Problem__Group_0__0"
2878 3167
2879 3168
2880 // $ANTLR start "rule__ClassDeclaration__Group__2__Impl" 3169 // $ANTLR start "rule__Problem__Group_0__0__Impl"
2881 // InternalProblem.g:870:1: rule__ClassDeclaration__Group__2__Impl : ( ( rule__ClassDeclaration__NameAssignment_2 ) ) ; 3170 // InternalProblem.g:966:1: rule__Problem__Group_0__0__Impl : ( 'problem' ) ;
2882 public final void rule__ClassDeclaration__Group__2__Impl() throws RecognitionException { 3171 public final void rule__Problem__Group_0__0__Impl() throws RecognitionException {
2883 3172
2884 int stackSize = keepStackSize(); 3173 int stackSize = keepStackSize();
2885 3174
2886 try { 3175 try {
2887 // InternalProblem.g:874:1: ( ( ( rule__ClassDeclaration__NameAssignment_2 ) ) ) 3176 // InternalProblem.g:970:1: ( ( 'problem' ) )
2888 // InternalProblem.g:875:1: ( ( rule__ClassDeclaration__NameAssignment_2 ) ) 3177 // InternalProblem.g:971:1: ( 'problem' )
2889 { 3178 {
2890 // InternalProblem.g:875:1: ( ( rule__ClassDeclaration__NameAssignment_2 ) ) 3179 // InternalProblem.g:971:1: ( 'problem' )
2891 // InternalProblem.g:876:2: ( rule__ClassDeclaration__NameAssignment_2 ) 3180 // InternalProblem.g:972:2: 'problem'
2892 {
2893 before(grammarAccess.getClassDeclarationAccess().getNameAssignment_2());
2894 // InternalProblem.g:877:2: ( rule__ClassDeclaration__NameAssignment_2 )
2895 // InternalProblem.g:877:3: rule__ClassDeclaration__NameAssignment_2
2896 { 3181 {
2897 pushFollow(FOLLOW_2); 3182 before(grammarAccess.getProblemAccess().getProblemKeyword_0_0());
2898 rule__ClassDeclaration__NameAssignment_2(); 3183 match(input,22,FOLLOW_2);
2899 3184 after(grammarAccess.getProblemAccess().getProblemKeyword_0_0());
2900 state._fsp--;
2901
2902
2903 }
2904
2905 after(grammarAccess.getClassDeclarationAccess().getNameAssignment_2());
2906 3185
2907 } 3186 }
2908 3187
@@ -2921,26 +3200,26 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2921 } 3200 }
2922 return ; 3201 return ;
2923 } 3202 }
2924 // $ANTLR end "rule__ClassDeclaration__Group__2__Impl" 3203 // $ANTLR end "rule__Problem__Group_0__0__Impl"
2925 3204
2926 3205
2927 // $ANTLR start "rule__ClassDeclaration__Group__3" 3206 // $ANTLR start "rule__Problem__Group_0__1"
2928 // InternalProblem.g:885:1: rule__ClassDeclaration__Group__3 : rule__ClassDeclaration__Group__3__Impl rule__ClassDeclaration__Group__4 ; 3207 // InternalProblem.g:981:1: rule__Problem__Group_0__1 : rule__Problem__Group_0__1__Impl rule__Problem__Group_0__2 ;
2929 public final void rule__ClassDeclaration__Group__3() throws RecognitionException { 3208 public final void rule__Problem__Group_0__1() throws RecognitionException {
2930 3209
2931 int stackSize = keepStackSize(); 3210 int stackSize = keepStackSize();
2932 3211
2933 try { 3212 try {
2934 // InternalProblem.g:889:1: ( rule__ClassDeclaration__Group__3__Impl rule__ClassDeclaration__Group__4 ) 3213 // InternalProblem.g:985:1: ( rule__Problem__Group_0__1__Impl rule__Problem__Group_0__2 )
2935 // InternalProblem.g:890:2: rule__ClassDeclaration__Group__3__Impl rule__ClassDeclaration__Group__4 3214 // InternalProblem.g:986:2: rule__Problem__Group_0__1__Impl rule__Problem__Group_0__2
2936 { 3215 {
2937 pushFollow(FOLLOW_6); 3216 pushFollow(FOLLOW_6);
2938 rule__ClassDeclaration__Group__3__Impl(); 3217 rule__Problem__Group_0__1__Impl();
2939 3218
2940 state._fsp--; 3219 state._fsp--;
2941 3220
2942 pushFollow(FOLLOW_2); 3221 pushFollow(FOLLOW_2);
2943 rule__ClassDeclaration__Group__4(); 3222 rule__Problem__Group_0__2();
2944 3223
2945 state._fsp--; 3224 state._fsp--;
2946 3225
@@ -2959,46 +3238,35 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2959 } 3238 }
2960 return ; 3239 return ;
2961 } 3240 }
2962 // $ANTLR end "rule__ClassDeclaration__Group__3" 3241 // $ANTLR end "rule__Problem__Group_0__1"
2963 3242
2964 3243
2965 // $ANTLR start "rule__ClassDeclaration__Group__3__Impl" 3244 // $ANTLR start "rule__Problem__Group_0__1__Impl"
2966 // InternalProblem.g:897:1: rule__ClassDeclaration__Group__3__Impl : ( ( rule__ClassDeclaration__Alternatives_3 )? ) ; 3245 // InternalProblem.g:993:1: rule__Problem__Group_0__1__Impl : ( ( rule__Problem__NameAssignment_0_1 ) ) ;
2967 public final void rule__ClassDeclaration__Group__3__Impl() throws RecognitionException { 3246 public final void rule__Problem__Group_0__1__Impl() throws RecognitionException {
2968 3247
2969 int stackSize = keepStackSize(); 3248 int stackSize = keepStackSize();
2970 3249
2971 try { 3250 try {
2972 // InternalProblem.g:901:1: ( ( ( rule__ClassDeclaration__Alternatives_3 )? ) ) 3251 // InternalProblem.g:997:1: ( ( ( rule__Problem__NameAssignment_0_1 ) ) )
2973 // InternalProblem.g:902:1: ( ( rule__ClassDeclaration__Alternatives_3 )? ) 3252 // InternalProblem.g:998:1: ( ( rule__Problem__NameAssignment_0_1 ) )
2974 { 3253 {
2975 // InternalProblem.g:902:1: ( ( rule__ClassDeclaration__Alternatives_3 )? ) 3254 // InternalProblem.g:998:1: ( ( rule__Problem__NameAssignment_0_1 ) )
2976 // InternalProblem.g:903:2: ( rule__ClassDeclaration__Alternatives_3 )? 3255 // InternalProblem.g:999:2: ( rule__Problem__NameAssignment_0_1 )
2977 { 3256 {
2978 before(grammarAccess.getClassDeclarationAccess().getAlternatives_3()); 3257 before(grammarAccess.getProblemAccess().getNameAssignment_0_1());
2979 // InternalProblem.g:904:2: ( rule__ClassDeclaration__Alternatives_3 )? 3258 // InternalProblem.g:1000:2: ( rule__Problem__NameAssignment_0_1 )
2980 int alt15=2; 3259 // InternalProblem.g:1000:3: rule__Problem__NameAssignment_0_1
2981 int LA15_0 = input.LA(1); 3260 {
2982 3261 pushFollow(FOLLOW_2);
2983 if ( (LA15_0==11||LA15_0==22||LA15_0==36) ) { 3262 rule__Problem__NameAssignment_0_1();
2984 alt15=1;
2985 }
2986 switch (alt15) {
2987 case 1 :
2988 // InternalProblem.g:904:3: rule__ClassDeclaration__Alternatives_3
2989 {
2990 pushFollow(FOLLOW_2);
2991 rule__ClassDeclaration__Alternatives_3();
2992
2993 state._fsp--;
2994 3263
3264 state._fsp--;
2995 3265
2996 }
2997 break;
2998 3266
2999 } 3267 }
3000 3268
3001 after(grammarAccess.getClassDeclarationAccess().getAlternatives_3()); 3269 after(grammarAccess.getProblemAccess().getNameAssignment_0_1());
3002 3270
3003 } 3271 }
3004 3272
@@ -3017,26 +3285,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3017 } 3285 }
3018 return ; 3286 return ;
3019 } 3287 }
3020 // $ANTLR end "rule__ClassDeclaration__Group__3__Impl" 3288 // $ANTLR end "rule__Problem__Group_0__1__Impl"
3021 3289
3022 3290
3023 // $ANTLR start "rule__ClassDeclaration__Group__4" 3291 // $ANTLR start "rule__Problem__Group_0__2"
3024 // InternalProblem.g:912:1: rule__ClassDeclaration__Group__4 : rule__ClassDeclaration__Group__4__Impl rule__ClassDeclaration__Group__5 ; 3292 // InternalProblem.g:1008:1: rule__Problem__Group_0__2 : rule__Problem__Group_0__2__Impl ;
3025 public final void rule__ClassDeclaration__Group__4() throws RecognitionException { 3293 public final void rule__Problem__Group_0__2() throws RecognitionException {
3026 3294
3027 int stackSize = keepStackSize(); 3295 int stackSize = keepStackSize();
3028 3296
3029 try { 3297 try {
3030 // InternalProblem.g:916:1: ( rule__ClassDeclaration__Group__4__Impl rule__ClassDeclaration__Group__5 ) 3298 // InternalProblem.g:1012:1: ( rule__Problem__Group_0__2__Impl )
3031 // InternalProblem.g:917:2: rule__ClassDeclaration__Group__4__Impl rule__ClassDeclaration__Group__5 3299 // InternalProblem.g:1013:2: rule__Problem__Group_0__2__Impl
3032 { 3300 {
3033 pushFollow(FOLLOW_6);
3034 rule__ClassDeclaration__Group__4__Impl();
3035
3036 state._fsp--;
3037
3038 pushFollow(FOLLOW_2); 3301 pushFollow(FOLLOW_2);
3039 rule__ClassDeclaration__Group__5(); 3302 rule__Problem__Group_0__2__Impl();
3040 3303
3041 state._fsp--; 3304 state._fsp--;
3042 3305
@@ -3055,53 +3318,25 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3055 } 3318 }
3056 return ; 3319 return ;
3057 } 3320 }
3058 // $ANTLR end "rule__ClassDeclaration__Group__4" 3321 // $ANTLR end "rule__Problem__Group_0__2"
3059 3322
3060 3323
3061 // $ANTLR start "rule__ClassDeclaration__Group__4__Impl" 3324 // $ANTLR start "rule__Problem__Group_0__2__Impl"
3062 // InternalProblem.g:924:1: rule__ClassDeclaration__Group__4__Impl : ( ( rule__ClassDeclaration__Group_4__0 )* ) ; 3325 // InternalProblem.g:1019:1: rule__Problem__Group_0__2__Impl : ( '.' ) ;
3063 public final void rule__ClassDeclaration__Group__4__Impl() throws RecognitionException { 3326 public final void rule__Problem__Group_0__2__Impl() throws RecognitionException {
3064 3327
3065 int stackSize = keepStackSize(); 3328 int stackSize = keepStackSize();
3066 3329
3067 try { 3330 try {
3068 // InternalProblem.g:928:1: ( ( ( rule__ClassDeclaration__Group_4__0 )* ) ) 3331 // InternalProblem.g:1023:1: ( ( '.' ) )
3069 // InternalProblem.g:929:1: ( ( rule__ClassDeclaration__Group_4__0 )* ) 3332 // InternalProblem.g:1024:1: ( '.' )
3070 { 3333 {
3071 // InternalProblem.g:929:1: ( ( rule__ClassDeclaration__Group_4__0 )* ) 3334 // InternalProblem.g:1024:1: ( '.' )
3072 // InternalProblem.g:930:2: ( rule__ClassDeclaration__Group_4__0 )* 3335 // InternalProblem.g:1025:2: '.'
3073 { 3336 {
3074 before(grammarAccess.getClassDeclarationAccess().getGroup_4()); 3337 before(grammarAccess.getProblemAccess().getFullStopKeyword_0_2());
3075 // InternalProblem.g:931:2: ( rule__ClassDeclaration__Group_4__0 )* 3338 match(input,12,FOLLOW_2);
3076 loop16: 3339 after(grammarAccess.getProblemAccess().getFullStopKeyword_0_2());
3077 do {
3078 int alt16=2;
3079 int LA16_0 = input.LA(1);
3080
3081 if ( (LA16_0==25) ) {
3082 alt16=1;
3083 }
3084
3085
3086 switch (alt16) {
3087 case 1 :
3088 // InternalProblem.g:931:3: rule__ClassDeclaration__Group_4__0
3089 {
3090 pushFollow(FOLLOW_7);
3091 rule__ClassDeclaration__Group_4__0();
3092
3093 state._fsp--;
3094
3095
3096 }
3097 break;
3098
3099 default :
3100 break loop16;
3101 }
3102 } while (true);
3103
3104 after(grammarAccess.getClassDeclarationAccess().getGroup_4());
3105 3340
3106 } 3341 }
3107 3342
@@ -3120,21 +3355,26 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3120 } 3355 }
3121 return ; 3356 return ;
3122 } 3357 }
3123 // $ANTLR end "rule__ClassDeclaration__Group__4__Impl" 3358 // $ANTLR end "rule__Problem__Group_0__2__Impl"
3124 3359
3125 3360
3126 // $ANTLR start "rule__ClassDeclaration__Group__5" 3361 // $ANTLR start "rule__ClassDeclaration__Group__0"
3127 // InternalProblem.g:939:1: rule__ClassDeclaration__Group__5 : rule__ClassDeclaration__Group__5__Impl ; 3362 // InternalProblem.g:1035:1: rule__ClassDeclaration__Group__0 : rule__ClassDeclaration__Group__0__Impl rule__ClassDeclaration__Group__1 ;
3128 public final void rule__ClassDeclaration__Group__5() throws RecognitionException { 3363 public final void rule__ClassDeclaration__Group__0() throws RecognitionException {
3129 3364
3130 int stackSize = keepStackSize(); 3365 int stackSize = keepStackSize();
3131 3366
3132 try { 3367 try {
3133 // InternalProblem.g:943:1: ( rule__ClassDeclaration__Group__5__Impl ) 3368 // InternalProblem.g:1039:1: ( rule__ClassDeclaration__Group__0__Impl rule__ClassDeclaration__Group__1 )
3134 // InternalProblem.g:944:2: rule__ClassDeclaration__Group__5__Impl 3369 // InternalProblem.g:1040:2: rule__ClassDeclaration__Group__0__Impl rule__ClassDeclaration__Group__1
3135 { 3370 {
3371 pushFollow(FOLLOW_7);
3372 rule__ClassDeclaration__Group__0__Impl();
3373
3374 state._fsp--;
3375
3136 pushFollow(FOLLOW_2); 3376 pushFollow(FOLLOW_2);
3137 rule__ClassDeclaration__Group__5__Impl(); 3377 rule__ClassDeclaration__Group__1();
3138 3378
3139 state._fsp--; 3379 state._fsp--;
3140 3380
@@ -3153,25 +3393,46 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3153 } 3393 }
3154 return ; 3394 return ;
3155 } 3395 }
3156 // $ANTLR end "rule__ClassDeclaration__Group__5" 3396 // $ANTLR end "rule__ClassDeclaration__Group__0"
3157 3397
3158 3398
3159 // $ANTLR start "rule__ClassDeclaration__Group__5__Impl" 3399 // $ANTLR start "rule__ClassDeclaration__Group__0__Impl"
3160 // InternalProblem.g:950:1: rule__ClassDeclaration__Group__5__Impl : ( '.' ) ; 3400 // InternalProblem.g:1047:1: rule__ClassDeclaration__Group__0__Impl : ( ( rule__ClassDeclaration__AbstractAssignment_0 )? ) ;
3161 public final void rule__ClassDeclaration__Group__5__Impl() throws RecognitionException { 3401 public final void rule__ClassDeclaration__Group__0__Impl() throws RecognitionException {
3162 3402
3163 int stackSize = keepStackSize(); 3403 int stackSize = keepStackSize();
3164 3404
3165 try { 3405 try {
3166 // InternalProblem.g:954:1: ( ( '.' ) ) 3406 // InternalProblem.g:1051:1: ( ( ( rule__ClassDeclaration__AbstractAssignment_0 )? ) )
3167 // InternalProblem.g:955:1: ( '.' ) 3407 // InternalProblem.g:1052:1: ( ( rule__ClassDeclaration__AbstractAssignment_0 )? )
3168 { 3408 {
3169 // InternalProblem.g:955:1: ( '.' ) 3409 // InternalProblem.g:1052:1: ( ( rule__ClassDeclaration__AbstractAssignment_0 )? )
3170 // InternalProblem.g:956:2: '.' 3410 // InternalProblem.g:1053:2: ( rule__ClassDeclaration__AbstractAssignment_0 )?
3171 { 3411 {
3172 before(grammarAccess.getClassDeclarationAccess().getFullStopKeyword_5()); 3412 before(grammarAccess.getClassDeclarationAccess().getAbstractAssignment_0());
3173 match(input,21,FOLLOW_2); 3413 // InternalProblem.g:1054:2: ( rule__ClassDeclaration__AbstractAssignment_0 )?
3174 after(grammarAccess.getClassDeclarationAccess().getFullStopKeyword_5()); 3414 int alt16=2;
3415 int LA16_0 = input.LA(1);
3416
3417 if ( (LA16_0==38) ) {
3418 alt16=1;
3419 }
3420 switch (alt16) {
3421 case 1 :
3422 // InternalProblem.g:1054:3: rule__ClassDeclaration__AbstractAssignment_0
3423 {
3424 pushFollow(FOLLOW_2);
3425 rule__ClassDeclaration__AbstractAssignment_0();
3426
3427 state._fsp--;
3428
3429
3430 }
3431 break;
3432
3433 }
3434
3435 after(grammarAccess.getClassDeclarationAccess().getAbstractAssignment_0());
3175 3436
3176 } 3437 }
3177 3438
@@ -3190,26 +3451,26 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3190 } 3451 }
3191 return ; 3452 return ;
3192 } 3453 }
3193 // $ANTLR end "rule__ClassDeclaration__Group__5__Impl" 3454 // $ANTLR end "rule__ClassDeclaration__Group__0__Impl"
3194 3455
3195 3456
3196 // $ANTLR start "rule__ClassDeclaration__Group_3_0__0" 3457 // $ANTLR start "rule__ClassDeclaration__Group__1"
3197 // InternalProblem.g:966:1: rule__ClassDeclaration__Group_3_0__0 : rule__ClassDeclaration__Group_3_0__0__Impl rule__ClassDeclaration__Group_3_0__1 ; 3458 // InternalProblem.g:1062:1: rule__ClassDeclaration__Group__1 : rule__ClassDeclaration__Group__1__Impl rule__ClassDeclaration__Group__2 ;
3198 public final void rule__ClassDeclaration__Group_3_0__0() throws RecognitionException { 3459 public final void rule__ClassDeclaration__Group__1() throws RecognitionException {
3199 3460
3200 int stackSize = keepStackSize(); 3461 int stackSize = keepStackSize();
3201 3462
3202 try { 3463 try {
3203 // InternalProblem.g:970:1: ( rule__ClassDeclaration__Group_3_0__0__Impl rule__ClassDeclaration__Group_3_0__1 ) 3464 // InternalProblem.g:1066:1: ( rule__ClassDeclaration__Group__1__Impl rule__ClassDeclaration__Group__2 )
3204 // InternalProblem.g:971:2: rule__ClassDeclaration__Group_3_0__0__Impl rule__ClassDeclaration__Group_3_0__1 3465 // InternalProblem.g:1067:2: rule__ClassDeclaration__Group__1__Impl rule__ClassDeclaration__Group__2
3205 { 3466 {
3206 pushFollow(FOLLOW_8); 3467 pushFollow(FOLLOW_5);
3207 rule__ClassDeclaration__Group_3_0__0__Impl(); 3468 rule__ClassDeclaration__Group__1__Impl();
3208 3469
3209 state._fsp--; 3470 state._fsp--;
3210 3471
3211 pushFollow(FOLLOW_2); 3472 pushFollow(FOLLOW_2);
3212 rule__ClassDeclaration__Group_3_0__1(); 3473 rule__ClassDeclaration__Group__2();
3213 3474
3214 state._fsp--; 3475 state._fsp--;
3215 3476
@@ -3228,25 +3489,25 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3228 } 3489 }
3229 return ; 3490 return ;
3230 } 3491 }
3231 // $ANTLR end "rule__ClassDeclaration__Group_3_0__0" 3492 // $ANTLR end "rule__ClassDeclaration__Group__1"
3232 3493
3233 3494
3234 // $ANTLR start "rule__ClassDeclaration__Group_3_0__0__Impl" 3495 // $ANTLR start "rule__ClassDeclaration__Group__1__Impl"
3235 // InternalProblem.g:978:1: rule__ClassDeclaration__Group_3_0__0__Impl : ( 'extends' ) ; 3496 // InternalProblem.g:1074:1: rule__ClassDeclaration__Group__1__Impl : ( 'class' ) ;
3236 public final void rule__ClassDeclaration__Group_3_0__0__Impl() throws RecognitionException { 3497 public final void rule__ClassDeclaration__Group__1__Impl() throws RecognitionException {
3237 3498
3238 int stackSize = keepStackSize(); 3499 int stackSize = keepStackSize();
3239 3500
3240 try { 3501 try {
3241 // InternalProblem.g:982:1: ( ( 'extends' ) ) 3502 // InternalProblem.g:1078:1: ( ( 'class' ) )
3242 // InternalProblem.g:983:1: ( 'extends' ) 3503 // InternalProblem.g:1079:1: ( 'class' )
3243 { 3504 {
3244 // InternalProblem.g:983:1: ( 'extends' ) 3505 // InternalProblem.g:1079:1: ( 'class' )
3245 // InternalProblem.g:984:2: 'extends' 3506 // InternalProblem.g:1080:2: 'class'
3246 { 3507 {
3247 before(grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0_0()); 3508 before(grammarAccess.getClassDeclarationAccess().getClassKeyword_1());
3248 match(input,22,FOLLOW_2); 3509 match(input,23,FOLLOW_2);
3249 after(grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0_0()); 3510 after(grammarAccess.getClassDeclarationAccess().getClassKeyword_1());
3250 3511
3251 } 3512 }
3252 3513
@@ -3265,21 +3526,26 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3265 } 3526 }
3266 return ; 3527 return ;
3267 } 3528 }
3268 // $ANTLR end "rule__ClassDeclaration__Group_3_0__0__Impl" 3529 // $ANTLR end "rule__ClassDeclaration__Group__1__Impl"
3269 3530
3270 3531
3271 // $ANTLR start "rule__ClassDeclaration__Group_3_0__1" 3532 // $ANTLR start "rule__ClassDeclaration__Group__2"
3272 // InternalProblem.g:993:1: rule__ClassDeclaration__Group_3_0__1 : rule__ClassDeclaration__Group_3_0__1__Impl ; 3533 // InternalProblem.g:1089:1: rule__ClassDeclaration__Group__2 : rule__ClassDeclaration__Group__2__Impl rule__ClassDeclaration__Group__3 ;
3273 public final void rule__ClassDeclaration__Group_3_0__1() throws RecognitionException { 3534 public final void rule__ClassDeclaration__Group__2() throws RecognitionException {
3274 3535
3275 int stackSize = keepStackSize(); 3536 int stackSize = keepStackSize();
3276 3537
3277 try { 3538 try {
3278 // InternalProblem.g:997:1: ( rule__ClassDeclaration__Group_3_0__1__Impl ) 3539 // InternalProblem.g:1093:1: ( rule__ClassDeclaration__Group__2__Impl rule__ClassDeclaration__Group__3 )
3279 // InternalProblem.g:998:2: rule__ClassDeclaration__Group_3_0__1__Impl 3540 // InternalProblem.g:1094:2: rule__ClassDeclaration__Group__2__Impl rule__ClassDeclaration__Group__3
3280 { 3541 {
3542 pushFollow(FOLLOW_8);
3543 rule__ClassDeclaration__Group__2__Impl();
3544
3545 state._fsp--;
3546
3281 pushFollow(FOLLOW_2); 3547 pushFollow(FOLLOW_2);
3282 rule__ClassDeclaration__Group_3_0__1__Impl(); 3548 rule__ClassDeclaration__Group__3();
3283 3549
3284 state._fsp--; 3550 state._fsp--;
3285 3551
@@ -3298,35 +3564,35 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3298 } 3564 }
3299 return ; 3565 return ;
3300 } 3566 }
3301 // $ANTLR end "rule__ClassDeclaration__Group_3_0__1" 3567 // $ANTLR end "rule__ClassDeclaration__Group__2"
3302 3568
3303 3569
3304 // $ANTLR start "rule__ClassDeclaration__Group_3_0__1__Impl" 3570 // $ANTLR start "rule__ClassDeclaration__Group__2__Impl"
3305 // InternalProblem.g:1004:1: rule__ClassDeclaration__Group_3_0__1__Impl : ( ( rule__ClassDeclaration__Alternatives_3_0_1 ) ) ; 3571 // InternalProblem.g:1101:1: rule__ClassDeclaration__Group__2__Impl : ( ( rule__ClassDeclaration__NameAssignment_2 ) ) ;
3306 public final void rule__ClassDeclaration__Group_3_0__1__Impl() throws RecognitionException { 3572 public final void rule__ClassDeclaration__Group__2__Impl() throws RecognitionException {
3307 3573
3308 int stackSize = keepStackSize(); 3574 int stackSize = keepStackSize();
3309 3575
3310 try { 3576 try {
3311 // InternalProblem.g:1008:1: ( ( ( rule__ClassDeclaration__Alternatives_3_0_1 ) ) ) 3577 // InternalProblem.g:1105:1: ( ( ( rule__ClassDeclaration__NameAssignment_2 ) ) )
3312 // InternalProblem.g:1009:1: ( ( rule__ClassDeclaration__Alternatives_3_0_1 ) ) 3578 // InternalProblem.g:1106:1: ( ( rule__ClassDeclaration__NameAssignment_2 ) )
3313 { 3579 {
3314 // InternalProblem.g:1009:1: ( ( rule__ClassDeclaration__Alternatives_3_0_1 ) ) 3580 // InternalProblem.g:1106:1: ( ( rule__ClassDeclaration__NameAssignment_2 ) )
3315 // InternalProblem.g:1010:2: ( rule__ClassDeclaration__Alternatives_3_0_1 ) 3581 // InternalProblem.g:1107:2: ( rule__ClassDeclaration__NameAssignment_2 )
3316 { 3582 {
3317 before(grammarAccess.getClassDeclarationAccess().getAlternatives_3_0_1()); 3583 before(grammarAccess.getClassDeclarationAccess().getNameAssignment_2());
3318 // InternalProblem.g:1011:2: ( rule__ClassDeclaration__Alternatives_3_0_1 ) 3584 // InternalProblem.g:1108:2: ( rule__ClassDeclaration__NameAssignment_2 )
3319 // InternalProblem.g:1011:3: rule__ClassDeclaration__Alternatives_3_0_1 3585 // InternalProblem.g:1108:3: rule__ClassDeclaration__NameAssignment_2
3320 { 3586 {
3321 pushFollow(FOLLOW_2); 3587 pushFollow(FOLLOW_2);
3322 rule__ClassDeclaration__Alternatives_3_0_1(); 3588 rule__ClassDeclaration__NameAssignment_2();
3323 3589
3324 state._fsp--; 3590 state._fsp--;
3325 3591
3326 3592
3327 } 3593 }
3328 3594
3329 after(grammarAccess.getClassDeclarationAccess().getAlternatives_3_0_1()); 3595 after(grammarAccess.getClassDeclarationAccess().getNameAssignment_2());
3330 3596
3331 } 3597 }
3332 3598
@@ -3345,26 +3611,26 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3345 } 3611 }
3346 return ; 3612 return ;
3347 } 3613 }
3348 // $ANTLR end "rule__ClassDeclaration__Group_3_0__1__Impl" 3614 // $ANTLR end "rule__ClassDeclaration__Group__2__Impl"
3349 3615
3350 3616
3351 // $ANTLR start "rule__ClassDeclaration__Group_3_0_1_1__0" 3617 // $ANTLR start "rule__ClassDeclaration__Group__3"
3352 // InternalProblem.g:1020:1: rule__ClassDeclaration__Group_3_0_1_1__0 : rule__ClassDeclaration__Group_3_0_1_1__0__Impl rule__ClassDeclaration__Group_3_0_1_1__1 ; 3618 // InternalProblem.g:1116:1: rule__ClassDeclaration__Group__3 : rule__ClassDeclaration__Group__3__Impl rule__ClassDeclaration__Group__4 ;
3353 public final void rule__ClassDeclaration__Group_3_0_1_1__0() throws RecognitionException { 3619 public final void rule__ClassDeclaration__Group__3() throws RecognitionException {
3354 3620
3355 int stackSize = keepStackSize(); 3621 int stackSize = keepStackSize();
3356 3622
3357 try { 3623 try {
3358 // InternalProblem.g:1024:1: ( rule__ClassDeclaration__Group_3_0_1_1__0__Impl rule__ClassDeclaration__Group_3_0_1_1__1 ) 3624 // InternalProblem.g:1120:1: ( rule__ClassDeclaration__Group__3__Impl rule__ClassDeclaration__Group__4 )
3359 // InternalProblem.g:1025:2: rule__ClassDeclaration__Group_3_0_1_1__0__Impl rule__ClassDeclaration__Group_3_0_1_1__1 3625 // InternalProblem.g:1121:2: rule__ClassDeclaration__Group__3__Impl rule__ClassDeclaration__Group__4
3360 { 3626 {
3361 pushFollow(FOLLOW_9); 3627 pushFollow(FOLLOW_8);
3362 rule__ClassDeclaration__Group_3_0_1_1__0__Impl(); 3628 rule__ClassDeclaration__Group__3__Impl();
3363 3629
3364 state._fsp--; 3630 state._fsp--;
3365 3631
3366 pushFollow(FOLLOW_2); 3632 pushFollow(FOLLOW_2);
3367 rule__ClassDeclaration__Group_3_0_1_1__1(); 3633 rule__ClassDeclaration__Group__4();
3368 3634
3369 state._fsp--; 3635 state._fsp--;
3370 3636
@@ -3383,25 +3649,46 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3383 } 3649 }
3384 return ; 3650 return ;
3385 } 3651 }
3386 // $ANTLR end "rule__ClassDeclaration__Group_3_0_1_1__0" 3652 // $ANTLR end "rule__ClassDeclaration__Group__3"
3387 3653
3388 3654
3389 // $ANTLR start "rule__ClassDeclaration__Group_3_0_1_1__0__Impl" 3655 // $ANTLR start "rule__ClassDeclaration__Group__3__Impl"
3390 // InternalProblem.g:1032:1: rule__ClassDeclaration__Group_3_0_1_1__0__Impl : ( '[' ) ; 3656 // InternalProblem.g:1128:1: rule__ClassDeclaration__Group__3__Impl : ( ( rule__ClassDeclaration__Group_3__0 )? ) ;
3391 public final void rule__ClassDeclaration__Group_3_0_1_1__0__Impl() throws RecognitionException { 3657 public final void rule__ClassDeclaration__Group__3__Impl() throws RecognitionException {
3392 3658
3393 int stackSize = keepStackSize(); 3659 int stackSize = keepStackSize();
3394 3660
3395 try { 3661 try {
3396 // InternalProblem.g:1036:1: ( ( '[' ) ) 3662 // InternalProblem.g:1132:1: ( ( ( rule__ClassDeclaration__Group_3__0 )? ) )
3397 // InternalProblem.g:1037:1: ( '[' ) 3663 // InternalProblem.g:1133:1: ( ( rule__ClassDeclaration__Group_3__0 )? )
3398 { 3664 {
3399 // InternalProblem.g:1037:1: ( '[' ) 3665 // InternalProblem.g:1133:1: ( ( rule__ClassDeclaration__Group_3__0 )? )
3400 // InternalProblem.g:1038:2: '[' 3666 // InternalProblem.g:1134:2: ( rule__ClassDeclaration__Group_3__0 )?
3401 { 3667 {
3402 before(grammarAccess.getClassDeclarationAccess().getLeftSquareBracketKeyword_3_0_1_1_0()); 3668 before(grammarAccess.getClassDeclarationAccess().getGroup_3());
3403 match(input,23,FOLLOW_2); 3669 // InternalProblem.g:1135:2: ( rule__ClassDeclaration__Group_3__0 )?
3404 after(grammarAccess.getClassDeclarationAccess().getLeftSquareBracketKeyword_3_0_1_1_0()); 3670 int alt17=2;
3671 int LA17_0 = input.LA(1);
3672
3673 if ( (LA17_0==24) ) {
3674 alt17=1;
3675 }
3676 switch (alt17) {
3677 case 1 :
3678 // InternalProblem.g:1135:3: rule__ClassDeclaration__Group_3__0
3679 {
3680 pushFollow(FOLLOW_2);
3681 rule__ClassDeclaration__Group_3__0();
3682
3683 state._fsp--;
3684
3685
3686 }
3687 break;
3688
3689 }
3690
3691 after(grammarAccess.getClassDeclarationAccess().getGroup_3());
3405 3692
3406 } 3693 }
3407 3694
@@ -3420,26 +3707,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3420 } 3707 }
3421 return ; 3708 return ;
3422 } 3709 }
3423 // $ANTLR end "rule__ClassDeclaration__Group_3_0_1_1__0__Impl" 3710 // $ANTLR end "rule__ClassDeclaration__Group__3__Impl"
3424 3711
3425 3712
3426 // $ANTLR start "rule__ClassDeclaration__Group_3_0_1_1__1" 3713 // $ANTLR start "rule__ClassDeclaration__Group__4"
3427 // InternalProblem.g:1047:1: rule__ClassDeclaration__Group_3_0_1_1__1 : rule__ClassDeclaration__Group_3_0_1_1__1__Impl rule__ClassDeclaration__Group_3_0_1_1__2 ; 3714 // InternalProblem.g:1143:1: rule__ClassDeclaration__Group__4 : rule__ClassDeclaration__Group__4__Impl ;
3428 public final void rule__ClassDeclaration__Group_3_0_1_1__1() throws RecognitionException { 3715 public final void rule__ClassDeclaration__Group__4() throws RecognitionException {
3429 3716
3430 int stackSize = keepStackSize(); 3717 int stackSize = keepStackSize();
3431 3718
3432 try { 3719 try {
3433 // InternalProblem.g:1051:1: ( rule__ClassDeclaration__Group_3_0_1_1__1__Impl rule__ClassDeclaration__Group_3_0_1_1__2 ) 3720 // InternalProblem.g:1147:1: ( rule__ClassDeclaration__Group__4__Impl )
3434 // InternalProblem.g:1052:2: rule__ClassDeclaration__Group_3_0_1_1__1__Impl rule__ClassDeclaration__Group_3_0_1_1__2 3721 // InternalProblem.g:1148:2: rule__ClassDeclaration__Group__4__Impl
3435 { 3722 {
3436 pushFollow(FOLLOW_9);
3437 rule__ClassDeclaration__Group_3_0_1_1__1__Impl();
3438
3439 state._fsp--;
3440
3441 pushFollow(FOLLOW_2); 3723 pushFollow(FOLLOW_2);
3442 rule__ClassDeclaration__Group_3_0_1_1__2(); 3724 rule__ClassDeclaration__Group__4__Impl();
3443 3725
3444 state._fsp--; 3726 state._fsp--;
3445 3727
@@ -3458,46 +3740,35 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3458 } 3740 }
3459 return ; 3741 return ;
3460 } 3742 }
3461 // $ANTLR end "rule__ClassDeclaration__Group_3_0_1_1__1" 3743 // $ANTLR end "rule__ClassDeclaration__Group__4"
3462 3744
3463 3745
3464 // $ANTLR start "rule__ClassDeclaration__Group_3_0_1_1__1__Impl" 3746 // $ANTLR start "rule__ClassDeclaration__Group__4__Impl"
3465 // InternalProblem.g:1059:1: rule__ClassDeclaration__Group_3_0_1_1__1__Impl : ( ( rule__ClassDeclaration__Group_3_0_1_1_1__0 )? ) ; 3747 // InternalProblem.g:1154:1: rule__ClassDeclaration__Group__4__Impl : ( ( rule__ClassDeclaration__Alternatives_4 ) ) ;
3466 public final void rule__ClassDeclaration__Group_3_0_1_1__1__Impl() throws RecognitionException { 3748 public final void rule__ClassDeclaration__Group__4__Impl() throws RecognitionException {
3467 3749
3468 int stackSize = keepStackSize(); 3750 int stackSize = keepStackSize();
3469 3751
3470 try { 3752 try {
3471 // InternalProblem.g:1063:1: ( ( ( rule__ClassDeclaration__Group_3_0_1_1_1__0 )? ) ) 3753 // InternalProblem.g:1158:1: ( ( ( rule__ClassDeclaration__Alternatives_4 ) ) )
3472 // InternalProblem.g:1064:1: ( ( rule__ClassDeclaration__Group_3_0_1_1_1__0 )? ) 3754 // InternalProblem.g:1159:1: ( ( rule__ClassDeclaration__Alternatives_4 ) )
3473 { 3755 {
3474 // InternalProblem.g:1064:1: ( ( rule__ClassDeclaration__Group_3_0_1_1_1__0 )? ) 3756 // InternalProblem.g:1159:1: ( ( rule__ClassDeclaration__Alternatives_4 ) )
3475 // InternalProblem.g:1065:2: ( rule__ClassDeclaration__Group_3_0_1_1_1__0 )? 3757 // InternalProblem.g:1160:2: ( rule__ClassDeclaration__Alternatives_4 )
3476 { 3758 {
3477 before(grammarAccess.getClassDeclarationAccess().getGroup_3_0_1_1_1()); 3759 before(grammarAccess.getClassDeclarationAccess().getAlternatives_4());
3478 // InternalProblem.g:1066:2: ( rule__ClassDeclaration__Group_3_0_1_1_1__0 )? 3760 // InternalProblem.g:1161:2: ( rule__ClassDeclaration__Alternatives_4 )
3479 int alt17=2; 3761 // InternalProblem.g:1161:3: rule__ClassDeclaration__Alternatives_4
3480 int LA17_0 = input.LA(1); 3762 {
3481 3763 pushFollow(FOLLOW_2);
3482 if ( (LA17_0==RULE_ID) ) { 3764 rule__ClassDeclaration__Alternatives_4();
3483 alt17=1;
3484 }
3485 switch (alt17) {
3486 case 1 :
3487 // InternalProblem.g:1066:3: rule__ClassDeclaration__Group_3_0_1_1_1__0
3488 {
3489 pushFollow(FOLLOW_2);
3490 rule__ClassDeclaration__Group_3_0_1_1_1__0();
3491 3765
3492 state._fsp--; 3766 state._fsp--;
3493 3767
3494 3768
3495 }
3496 break;
3497
3498 } 3769 }
3499 3770
3500 after(grammarAccess.getClassDeclarationAccess().getGroup_3_0_1_1_1()); 3771 after(grammarAccess.getClassDeclarationAccess().getAlternatives_4());
3501 3772
3502 } 3773 }
3503 3774
@@ -3516,21 +3787,26 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3516 } 3787 }
3517 return ; 3788 return ;
3518 } 3789 }
3519 // $ANTLR end "rule__ClassDeclaration__Group_3_0_1_1__1__Impl" 3790 // $ANTLR end "rule__ClassDeclaration__Group__4__Impl"
3520 3791
3521 3792
3522 // $ANTLR start "rule__ClassDeclaration__Group_3_0_1_1__2" 3793 // $ANTLR start "rule__ClassDeclaration__Group_3__0"
3523 // InternalProblem.g:1074:1: rule__ClassDeclaration__Group_3_0_1_1__2 : rule__ClassDeclaration__Group_3_0_1_1__2__Impl ; 3794 // InternalProblem.g:1170:1: rule__ClassDeclaration__Group_3__0 : rule__ClassDeclaration__Group_3__0__Impl rule__ClassDeclaration__Group_3__1 ;
3524 public final void rule__ClassDeclaration__Group_3_0_1_1__2() throws RecognitionException { 3795 public final void rule__ClassDeclaration__Group_3__0() throws RecognitionException {
3525 3796
3526 int stackSize = keepStackSize(); 3797 int stackSize = keepStackSize();
3527 3798
3528 try { 3799 try {
3529 // InternalProblem.g:1078:1: ( rule__ClassDeclaration__Group_3_0_1_1__2__Impl ) 3800 // InternalProblem.g:1174:1: ( rule__ClassDeclaration__Group_3__0__Impl rule__ClassDeclaration__Group_3__1 )
3530 // InternalProblem.g:1079:2: rule__ClassDeclaration__Group_3_0_1_1__2__Impl 3801 // InternalProblem.g:1175:2: rule__ClassDeclaration__Group_3__0__Impl rule__ClassDeclaration__Group_3__1
3531 { 3802 {
3803 pushFollow(FOLLOW_9);
3804 rule__ClassDeclaration__Group_3__0__Impl();
3805
3806 state._fsp--;
3807
3532 pushFollow(FOLLOW_2); 3808 pushFollow(FOLLOW_2);
3533 rule__ClassDeclaration__Group_3_0_1_1__2__Impl(); 3809 rule__ClassDeclaration__Group_3__1();
3534 3810
3535 state._fsp--; 3811 state._fsp--;
3536 3812
@@ -3549,25 +3825,25 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3549 } 3825 }
3550 return ; 3826 return ;
3551 } 3827 }
3552 // $ANTLR end "rule__ClassDeclaration__Group_3_0_1_1__2" 3828 // $ANTLR end "rule__ClassDeclaration__Group_3__0"
3553 3829
3554 3830
3555 // $ANTLR start "rule__ClassDeclaration__Group_3_0_1_1__2__Impl" 3831 // $ANTLR start "rule__ClassDeclaration__Group_3__0__Impl"
3556 // InternalProblem.g:1085:1: rule__ClassDeclaration__Group_3_0_1_1__2__Impl : ( ']' ) ; 3832 // InternalProblem.g:1182:1: rule__ClassDeclaration__Group_3__0__Impl : ( 'extends' ) ;
3557 public final void rule__ClassDeclaration__Group_3_0_1_1__2__Impl() throws RecognitionException { 3833 public final void rule__ClassDeclaration__Group_3__0__Impl() throws RecognitionException {
3558 3834
3559 int stackSize = keepStackSize(); 3835 int stackSize = keepStackSize();
3560 3836
3561 try { 3837 try {
3562 // InternalProblem.g:1089:1: ( ( ']' ) ) 3838 // InternalProblem.g:1186:1: ( ( 'extends' ) )
3563 // InternalProblem.g:1090:1: ( ']' ) 3839 // InternalProblem.g:1187:1: ( 'extends' )
3564 { 3840 {
3565 // InternalProblem.g:1090:1: ( ']' ) 3841 // InternalProblem.g:1187:1: ( 'extends' )
3566 // InternalProblem.g:1091:2: ']' 3842 // InternalProblem.g:1188:2: 'extends'
3567 { 3843 {
3568 before(grammarAccess.getClassDeclarationAccess().getRightSquareBracketKeyword_3_0_1_1_2()); 3844 before(grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0());
3569 match(input,24,FOLLOW_2); 3845 match(input,24,FOLLOW_2);
3570 after(grammarAccess.getClassDeclarationAccess().getRightSquareBracketKeyword_3_0_1_1_2()); 3846 after(grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0());
3571 3847
3572 } 3848 }
3573 3849
@@ -3586,26 +3862,26 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3586 } 3862 }
3587 return ; 3863 return ;
3588 } 3864 }
3589 // $ANTLR end "rule__ClassDeclaration__Group_3_0_1_1__2__Impl" 3865 // $ANTLR end "rule__ClassDeclaration__Group_3__0__Impl"
3590 3866
3591 3867
3592 // $ANTLR start "rule__ClassDeclaration__Group_3_0_1_1_1__0" 3868 // $ANTLR start "rule__ClassDeclaration__Group_3__1"
3593 // InternalProblem.g:1101:1: rule__ClassDeclaration__Group_3_0_1_1_1__0 : rule__ClassDeclaration__Group_3_0_1_1_1__0__Impl rule__ClassDeclaration__Group_3_0_1_1_1__1 ; 3869 // InternalProblem.g:1197:1: rule__ClassDeclaration__Group_3__1 : rule__ClassDeclaration__Group_3__1__Impl rule__ClassDeclaration__Group_3__2 ;
3594 public final void rule__ClassDeclaration__Group_3_0_1_1_1__0() throws RecognitionException { 3870 public final void rule__ClassDeclaration__Group_3__1() throws RecognitionException {
3595 3871
3596 int stackSize = keepStackSize(); 3872 int stackSize = keepStackSize();
3597 3873
3598 try { 3874 try {
3599 // InternalProblem.g:1105:1: ( rule__ClassDeclaration__Group_3_0_1_1_1__0__Impl rule__ClassDeclaration__Group_3_0_1_1_1__1 ) 3875 // InternalProblem.g:1201:1: ( rule__ClassDeclaration__Group_3__1__Impl rule__ClassDeclaration__Group_3__2 )
3600 // InternalProblem.g:1106:2: rule__ClassDeclaration__Group_3_0_1_1_1__0__Impl rule__ClassDeclaration__Group_3_0_1_1_1__1 3876 // InternalProblem.g:1202:2: rule__ClassDeclaration__Group_3__1__Impl rule__ClassDeclaration__Group_3__2
3601 { 3877 {
3602 pushFollow(FOLLOW_10); 3878 pushFollow(FOLLOW_10);
3603 rule__ClassDeclaration__Group_3_0_1_1_1__0__Impl(); 3879 rule__ClassDeclaration__Group_3__1__Impl();
3604 3880
3605 state._fsp--; 3881 state._fsp--;
3606 3882
3607 pushFollow(FOLLOW_2); 3883 pushFollow(FOLLOW_2);
3608 rule__ClassDeclaration__Group_3_0_1_1_1__1(); 3884 rule__ClassDeclaration__Group_3__2();
3609 3885
3610 state._fsp--; 3886 state._fsp--;
3611 3887
@@ -3624,35 +3900,35 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3624 } 3900 }
3625 return ; 3901 return ;
3626 } 3902 }
3627 // $ANTLR end "rule__ClassDeclaration__Group_3_0_1_1_1__0" 3903 // $ANTLR end "rule__ClassDeclaration__Group_3__1"
3628 3904
3629 3905
3630 // $ANTLR start "rule__ClassDeclaration__Group_3_0_1_1_1__0__Impl" 3906 // $ANTLR start "rule__ClassDeclaration__Group_3__1__Impl"
3631 // InternalProblem.g:1113:1: rule__ClassDeclaration__Group_3_0_1_1_1__0__Impl : ( ( rule__ClassDeclaration__SuperTypesAssignment_3_0_1_1_1_0 ) ) ; 3907 // InternalProblem.g:1209:1: rule__ClassDeclaration__Group_3__1__Impl : ( ( rule__ClassDeclaration__SuperTypesAssignment_3_1 ) ) ;
3632 public final void rule__ClassDeclaration__Group_3_0_1_1_1__0__Impl() throws RecognitionException { 3908 public final void rule__ClassDeclaration__Group_3__1__Impl() throws RecognitionException {
3633 3909
3634 int stackSize = keepStackSize(); 3910 int stackSize = keepStackSize();
3635 3911
3636 try { 3912 try {
3637 // InternalProblem.g:1117:1: ( ( ( rule__ClassDeclaration__SuperTypesAssignment_3_0_1_1_1_0 ) ) ) 3913 // InternalProblem.g:1213:1: ( ( ( rule__ClassDeclaration__SuperTypesAssignment_3_1 ) ) )
3638 // InternalProblem.g:1118:1: ( ( rule__ClassDeclaration__SuperTypesAssignment_3_0_1_1_1_0 ) ) 3914 // InternalProblem.g:1214:1: ( ( rule__ClassDeclaration__SuperTypesAssignment_3_1 ) )
3639 { 3915 {
3640 // InternalProblem.g:1118:1: ( ( rule__ClassDeclaration__SuperTypesAssignment_3_0_1_1_1_0 ) ) 3916 // InternalProblem.g:1214:1: ( ( rule__ClassDeclaration__SuperTypesAssignment_3_1 ) )
3641 // InternalProblem.g:1119:2: ( rule__ClassDeclaration__SuperTypesAssignment_3_0_1_1_1_0 ) 3917 // InternalProblem.g:1215:2: ( rule__ClassDeclaration__SuperTypesAssignment_3_1 )
3642 { 3918 {
3643 before(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_0_1_1_1_0()); 3919 before(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_1());
3644 // InternalProblem.g:1120:2: ( rule__ClassDeclaration__SuperTypesAssignment_3_0_1_1_1_0 ) 3920 // InternalProblem.g:1216:2: ( rule__ClassDeclaration__SuperTypesAssignment_3_1 )
3645 // InternalProblem.g:1120:3: rule__ClassDeclaration__SuperTypesAssignment_3_0_1_1_1_0 3921 // InternalProblem.g:1216:3: rule__ClassDeclaration__SuperTypesAssignment_3_1
3646 { 3922 {
3647 pushFollow(FOLLOW_2); 3923 pushFollow(FOLLOW_2);
3648 rule__ClassDeclaration__SuperTypesAssignment_3_0_1_1_1_0(); 3924 rule__ClassDeclaration__SuperTypesAssignment_3_1();
3649 3925
3650 state._fsp--; 3926 state._fsp--;
3651 3927
3652 3928
3653 } 3929 }
3654 3930
3655 after(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_0_1_1_1_0()); 3931 after(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_1());
3656 3932
3657 } 3933 }
3658 3934
@@ -3671,21 +3947,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3671 } 3947 }
3672 return ; 3948 return ;
3673 } 3949 }
3674 // $ANTLR end "rule__ClassDeclaration__Group_3_0_1_1_1__0__Impl" 3950 // $ANTLR end "rule__ClassDeclaration__Group_3__1__Impl"
3675 3951
3676 3952
3677 // $ANTLR start "rule__ClassDeclaration__Group_3_0_1_1_1__1" 3953 // $ANTLR start "rule__ClassDeclaration__Group_3__2"
3678 // InternalProblem.g:1128:1: rule__ClassDeclaration__Group_3_0_1_1_1__1 : rule__ClassDeclaration__Group_3_0_1_1_1__1__Impl ; 3954 // InternalProblem.g:1224:1: rule__ClassDeclaration__Group_3__2 : rule__ClassDeclaration__Group_3__2__Impl ;
3679 public final void rule__ClassDeclaration__Group_3_0_1_1_1__1() throws RecognitionException { 3955 public final void rule__ClassDeclaration__Group_3__2() throws RecognitionException {
3680 3956
3681 int stackSize = keepStackSize(); 3957 int stackSize = keepStackSize();
3682 3958
3683 try { 3959 try {
3684 // InternalProblem.g:1132:1: ( rule__ClassDeclaration__Group_3_0_1_1_1__1__Impl ) 3960 // InternalProblem.g:1228:1: ( rule__ClassDeclaration__Group_3__2__Impl )
3685 // InternalProblem.g:1133:2: rule__ClassDeclaration__Group_3_0_1_1_1__1__Impl 3961 // InternalProblem.g:1229:2: rule__ClassDeclaration__Group_3__2__Impl
3686 { 3962 {
3687 pushFollow(FOLLOW_2); 3963 pushFollow(FOLLOW_2);
3688 rule__ClassDeclaration__Group_3_0_1_1_1__1__Impl(); 3964 rule__ClassDeclaration__Group_3__2__Impl();
3689 3965
3690 state._fsp--; 3966 state._fsp--;
3691 3967
@@ -3704,24 +3980,24 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3704 } 3980 }
3705 return ; 3981 return ;
3706 } 3982 }
3707 // $ANTLR end "rule__ClassDeclaration__Group_3_0_1_1_1__1" 3983 // $ANTLR end "rule__ClassDeclaration__Group_3__2"
3708 3984
3709 3985
3710 // $ANTLR start "rule__ClassDeclaration__Group_3_0_1_1_1__1__Impl" 3986 // $ANTLR start "rule__ClassDeclaration__Group_3__2__Impl"
3711 // InternalProblem.g:1139:1: rule__ClassDeclaration__Group_3_0_1_1_1__1__Impl : ( ( rule__ClassDeclaration__Group_3_0_1_1_1_1__0 )* ) ; 3987 // InternalProblem.g:1235:1: rule__ClassDeclaration__Group_3__2__Impl : ( ( rule__ClassDeclaration__Group_3_2__0 )* ) ;
3712 public final void rule__ClassDeclaration__Group_3_0_1_1_1__1__Impl() throws RecognitionException { 3988 public final void rule__ClassDeclaration__Group_3__2__Impl() throws RecognitionException {
3713 3989
3714 int stackSize = keepStackSize(); 3990 int stackSize = keepStackSize();
3715 3991
3716 try { 3992 try {
3717 // InternalProblem.g:1143:1: ( ( ( rule__ClassDeclaration__Group_3_0_1_1_1_1__0 )* ) ) 3993 // InternalProblem.g:1239:1: ( ( ( rule__ClassDeclaration__Group_3_2__0 )* ) )
3718 // InternalProblem.g:1144:1: ( ( rule__ClassDeclaration__Group_3_0_1_1_1_1__0 )* ) 3994 // InternalProblem.g:1240:1: ( ( rule__ClassDeclaration__Group_3_2__0 )* )
3719 { 3995 {
3720 // InternalProblem.g:1144:1: ( ( rule__ClassDeclaration__Group_3_0_1_1_1_1__0 )* ) 3996 // InternalProblem.g:1240:1: ( ( rule__ClassDeclaration__Group_3_2__0 )* )
3721 // InternalProblem.g:1145:2: ( rule__ClassDeclaration__Group_3_0_1_1_1_1__0 )* 3997 // InternalProblem.g:1241:2: ( rule__ClassDeclaration__Group_3_2__0 )*
3722 { 3998 {
3723 before(grammarAccess.getClassDeclarationAccess().getGroup_3_0_1_1_1_1()); 3999 before(grammarAccess.getClassDeclarationAccess().getGroup_3_2());
3724 // InternalProblem.g:1146:2: ( rule__ClassDeclaration__Group_3_0_1_1_1_1__0 )* 4000 // InternalProblem.g:1242:2: ( rule__ClassDeclaration__Group_3_2__0 )*
3725 loop18: 4001 loop18:
3726 do { 4002 do {
3727 int alt18=2; 4003 int alt18=2;
@@ -3734,10 +4010,10 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3734 4010
3735 switch (alt18) { 4011 switch (alt18) {
3736 case 1 : 4012 case 1 :
3737 // InternalProblem.g:1146:3: rule__ClassDeclaration__Group_3_0_1_1_1_1__0 4013 // InternalProblem.g:1242:3: rule__ClassDeclaration__Group_3_2__0
3738 { 4014 {
3739 pushFollow(FOLLOW_7); 4015 pushFollow(FOLLOW_11);
3740 rule__ClassDeclaration__Group_3_0_1_1_1_1__0(); 4016 rule__ClassDeclaration__Group_3_2__0();
3741 4017
3742 state._fsp--; 4018 state._fsp--;
3743 4019
@@ -3750,7 +4026,7 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3750 } 4026 }
3751 } while (true); 4027 } while (true);
3752 4028
3753 after(grammarAccess.getClassDeclarationAccess().getGroup_3_0_1_1_1_1()); 4029 after(grammarAccess.getClassDeclarationAccess().getGroup_3_2());
3754 4030
3755 } 4031 }
3756 4032
@@ -3769,26 +4045,26 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3769 } 4045 }
3770 return ; 4046 return ;
3771 } 4047 }
3772 // $ANTLR end "rule__ClassDeclaration__Group_3_0_1_1_1__1__Impl" 4048 // $ANTLR end "rule__ClassDeclaration__Group_3__2__Impl"
3773 4049
3774 4050
3775 // $ANTLR start "rule__ClassDeclaration__Group_3_0_1_1_1_1__0" 4051 // $ANTLR start "rule__ClassDeclaration__Group_3_2__0"
3776 // InternalProblem.g:1155:1: rule__ClassDeclaration__Group_3_0_1_1_1_1__0 : rule__ClassDeclaration__Group_3_0_1_1_1_1__0__Impl rule__ClassDeclaration__Group_3_0_1_1_1_1__1 ; 4052 // InternalProblem.g:1251:1: rule__ClassDeclaration__Group_3_2__0 : rule__ClassDeclaration__Group_3_2__0__Impl rule__ClassDeclaration__Group_3_2__1 ;
3777 public final void rule__ClassDeclaration__Group_3_0_1_1_1_1__0() throws RecognitionException { 4053 public final void rule__ClassDeclaration__Group_3_2__0() throws RecognitionException {
3778 4054
3779 int stackSize = keepStackSize(); 4055 int stackSize = keepStackSize();
3780 4056
3781 try { 4057 try {
3782 // InternalProblem.g:1159:1: ( rule__ClassDeclaration__Group_3_0_1_1_1_1__0__Impl rule__ClassDeclaration__Group_3_0_1_1_1_1__1 ) 4058 // InternalProblem.g:1255:1: ( rule__ClassDeclaration__Group_3_2__0__Impl rule__ClassDeclaration__Group_3_2__1 )
3783 // InternalProblem.g:1160:2: rule__ClassDeclaration__Group_3_0_1_1_1_1__0__Impl rule__ClassDeclaration__Group_3_0_1_1_1_1__1 4059 // InternalProblem.g:1256:2: rule__ClassDeclaration__Group_3_2__0__Impl rule__ClassDeclaration__Group_3_2__1
3784 { 4060 {
3785 pushFollow(FOLLOW_5); 4061 pushFollow(FOLLOW_9);
3786 rule__ClassDeclaration__Group_3_0_1_1_1_1__0__Impl(); 4062 rule__ClassDeclaration__Group_3_2__0__Impl();
3787 4063
3788 state._fsp--; 4064 state._fsp--;
3789 4065
3790 pushFollow(FOLLOW_2); 4066 pushFollow(FOLLOW_2);
3791 rule__ClassDeclaration__Group_3_0_1_1_1_1__1(); 4067 rule__ClassDeclaration__Group_3_2__1();
3792 4068
3793 state._fsp--; 4069 state._fsp--;
3794 4070
@@ -3807,25 +4083,25 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3807 } 4083 }
3808 return ; 4084 return ;
3809 } 4085 }
3810 // $ANTLR end "rule__ClassDeclaration__Group_3_0_1_1_1_1__0" 4086 // $ANTLR end "rule__ClassDeclaration__Group_3_2__0"
3811 4087
3812 4088
3813 // $ANTLR start "rule__ClassDeclaration__Group_3_0_1_1_1_1__0__Impl" 4089 // $ANTLR start "rule__ClassDeclaration__Group_3_2__0__Impl"
3814 // InternalProblem.g:1167:1: rule__ClassDeclaration__Group_3_0_1_1_1_1__0__Impl : ( ',' ) ; 4090 // InternalProblem.g:1263:1: rule__ClassDeclaration__Group_3_2__0__Impl : ( ',' ) ;
3815 public final void rule__ClassDeclaration__Group_3_0_1_1_1_1__0__Impl() throws RecognitionException { 4091 public final void rule__ClassDeclaration__Group_3_2__0__Impl() throws RecognitionException {
3816 4092
3817 int stackSize = keepStackSize(); 4093 int stackSize = keepStackSize();
3818 4094
3819 try { 4095 try {
3820 // InternalProblem.g:1171:1: ( ( ',' ) ) 4096 // InternalProblem.g:1267:1: ( ( ',' ) )
3821 // InternalProblem.g:1172:1: ( ',' ) 4097 // InternalProblem.g:1268:1: ( ',' )
3822 { 4098 {
3823 // InternalProblem.g:1172:1: ( ',' ) 4099 // InternalProblem.g:1268:1: ( ',' )
3824 // InternalProblem.g:1173:2: ',' 4100 // InternalProblem.g:1269:2: ','
3825 { 4101 {
3826 before(grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_0_1_1_1_1_0()); 4102 before(grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_2_0());
3827 match(input,25,FOLLOW_2); 4103 match(input,25,FOLLOW_2);
3828 after(grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_0_1_1_1_1_0()); 4104 after(grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_2_0());
3829 4105
3830 } 4106 }
3831 4107
@@ -3844,21 +4120,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3844 } 4120 }
3845 return ; 4121 return ;
3846 } 4122 }
3847 // $ANTLR end "rule__ClassDeclaration__Group_3_0_1_1_1_1__0__Impl" 4123 // $ANTLR end "rule__ClassDeclaration__Group_3_2__0__Impl"
3848 4124
3849 4125
3850 // $ANTLR start "rule__ClassDeclaration__Group_3_0_1_1_1_1__1" 4126 // $ANTLR start "rule__ClassDeclaration__Group_3_2__1"
3851 // InternalProblem.g:1182:1: rule__ClassDeclaration__Group_3_0_1_1_1_1__1 : rule__ClassDeclaration__Group_3_0_1_1_1_1__1__Impl ; 4127 // InternalProblem.g:1278:1: rule__ClassDeclaration__Group_3_2__1 : rule__ClassDeclaration__Group_3_2__1__Impl ;
3852 public final void rule__ClassDeclaration__Group_3_0_1_1_1_1__1() throws RecognitionException { 4128 public final void rule__ClassDeclaration__Group_3_2__1() throws RecognitionException {
3853 4129
3854 int stackSize = keepStackSize(); 4130 int stackSize = keepStackSize();
3855 4131
3856 try { 4132 try {
3857 // InternalProblem.g:1186:1: ( rule__ClassDeclaration__Group_3_0_1_1_1_1__1__Impl ) 4133 // InternalProblem.g:1282:1: ( rule__ClassDeclaration__Group_3_2__1__Impl )
3858 // InternalProblem.g:1187:2: rule__ClassDeclaration__Group_3_0_1_1_1_1__1__Impl 4134 // InternalProblem.g:1283:2: rule__ClassDeclaration__Group_3_2__1__Impl
3859 { 4135 {
3860 pushFollow(FOLLOW_2); 4136 pushFollow(FOLLOW_2);
3861 rule__ClassDeclaration__Group_3_0_1_1_1_1__1__Impl(); 4137 rule__ClassDeclaration__Group_3_2__1__Impl();
3862 4138
3863 state._fsp--; 4139 state._fsp--;
3864 4140
@@ -3877,35 +4153,35 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3877 } 4153 }
3878 return ; 4154 return ;
3879 } 4155 }
3880 // $ANTLR end "rule__ClassDeclaration__Group_3_0_1_1_1_1__1" 4156 // $ANTLR end "rule__ClassDeclaration__Group_3_2__1"
3881 4157
3882 4158
3883 // $ANTLR start "rule__ClassDeclaration__Group_3_0_1_1_1_1__1__Impl" 4159 // $ANTLR start "rule__ClassDeclaration__Group_3_2__1__Impl"
3884 // InternalProblem.g:1193:1: rule__ClassDeclaration__Group_3_0_1_1_1_1__1__Impl : ( ( rule__ClassDeclaration__SuperTypesAssignment_3_0_1_1_1_1_1 ) ) ; 4160 // InternalProblem.g:1289:1: rule__ClassDeclaration__Group_3_2__1__Impl : ( ( rule__ClassDeclaration__SuperTypesAssignment_3_2_1 ) ) ;
3885 public final void rule__ClassDeclaration__Group_3_0_1_1_1_1__1__Impl() throws RecognitionException { 4161 public final void rule__ClassDeclaration__Group_3_2__1__Impl() throws RecognitionException {
3886 4162
3887 int stackSize = keepStackSize(); 4163 int stackSize = keepStackSize();
3888 4164
3889 try { 4165 try {
3890 // InternalProblem.g:1197:1: ( ( ( rule__ClassDeclaration__SuperTypesAssignment_3_0_1_1_1_1_1 ) ) ) 4166 // InternalProblem.g:1293:1: ( ( ( rule__ClassDeclaration__SuperTypesAssignment_3_2_1 ) ) )
3891 // InternalProblem.g:1198:1: ( ( rule__ClassDeclaration__SuperTypesAssignment_3_0_1_1_1_1_1 ) ) 4167 // InternalProblem.g:1294:1: ( ( rule__ClassDeclaration__SuperTypesAssignment_3_2_1 ) )
3892 { 4168 {
3893 // InternalProblem.g:1198:1: ( ( rule__ClassDeclaration__SuperTypesAssignment_3_0_1_1_1_1_1 ) ) 4169 // InternalProblem.g:1294:1: ( ( rule__ClassDeclaration__SuperTypesAssignment_3_2_1 ) )
3894 // InternalProblem.g:1199:2: ( rule__ClassDeclaration__SuperTypesAssignment_3_0_1_1_1_1_1 ) 4170 // InternalProblem.g:1295:2: ( rule__ClassDeclaration__SuperTypesAssignment_3_2_1 )
3895 { 4171 {
3896 before(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_0_1_1_1_1_1()); 4172 before(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_2_1());
3897 // InternalProblem.g:1200:2: ( rule__ClassDeclaration__SuperTypesAssignment_3_0_1_1_1_1_1 ) 4173 // InternalProblem.g:1296:2: ( rule__ClassDeclaration__SuperTypesAssignment_3_2_1 )
3898 // InternalProblem.g:1200:3: rule__ClassDeclaration__SuperTypesAssignment_3_0_1_1_1_1_1 4174 // InternalProblem.g:1296:3: rule__ClassDeclaration__SuperTypesAssignment_3_2_1
3899 { 4175 {
3900 pushFollow(FOLLOW_2); 4176 pushFollow(FOLLOW_2);
3901 rule__ClassDeclaration__SuperTypesAssignment_3_0_1_1_1_1_1(); 4177 rule__ClassDeclaration__SuperTypesAssignment_3_2_1();
3902 4178
3903 state._fsp--; 4179 state._fsp--;
3904 4180
3905 4181
3906 } 4182 }
3907 4183
3908 after(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_0_1_1_1_1_1()); 4184 after(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_2_1());
3909 4185
3910 } 4186 }
3911 4187
@@ -3924,26 +4200,26 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3924 } 4200 }
3925 return ; 4201 return ;
3926 } 4202 }
3927 // $ANTLR end "rule__ClassDeclaration__Group_3_0_1_1_1_1__1__Impl" 4203 // $ANTLR end "rule__ClassDeclaration__Group_3_2__1__Impl"
3928 4204
3929 4205
3930 // $ANTLR start "rule__ClassDeclaration__Group_4__0" 4206 // $ANTLR start "rule__ClassDeclaration__Group_4_0__0"
3931 // InternalProblem.g:1209:1: rule__ClassDeclaration__Group_4__0 : rule__ClassDeclaration__Group_4__0__Impl rule__ClassDeclaration__Group_4__1 ; 4207 // InternalProblem.g:1305:1: rule__ClassDeclaration__Group_4_0__0 : rule__ClassDeclaration__Group_4_0__0__Impl rule__ClassDeclaration__Group_4_0__1 ;
3932 public final void rule__ClassDeclaration__Group_4__0() throws RecognitionException { 4208 public final void rule__ClassDeclaration__Group_4_0__0() throws RecognitionException {
3933 4209
3934 int stackSize = keepStackSize(); 4210 int stackSize = keepStackSize();
3935 4211
3936 try { 4212 try {
3937 // InternalProblem.g:1213:1: ( rule__ClassDeclaration__Group_4__0__Impl rule__ClassDeclaration__Group_4__1 ) 4213 // InternalProblem.g:1309:1: ( rule__ClassDeclaration__Group_4_0__0__Impl rule__ClassDeclaration__Group_4_0__1 )
3938 // InternalProblem.g:1214:2: rule__ClassDeclaration__Group_4__0__Impl rule__ClassDeclaration__Group_4__1 4214 // InternalProblem.g:1310:2: rule__ClassDeclaration__Group_4_0__0__Impl rule__ClassDeclaration__Group_4_0__1
3939 { 4215 {
3940 pushFollow(FOLLOW_11); 4216 pushFollow(FOLLOW_12);
3941 rule__ClassDeclaration__Group_4__0__Impl(); 4217 rule__ClassDeclaration__Group_4_0__0__Impl();
3942 4218
3943 state._fsp--; 4219 state._fsp--;
3944 4220
3945 pushFollow(FOLLOW_2); 4221 pushFollow(FOLLOW_2);
3946 rule__ClassDeclaration__Group_4__1(); 4222 rule__ClassDeclaration__Group_4_0__1();
3947 4223
3948 state._fsp--; 4224 state._fsp--;
3949 4225
@@ -3962,25 +4238,128 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3962 } 4238 }
3963 return ; 4239 return ;
3964 } 4240 }
3965 // $ANTLR end "rule__ClassDeclaration__Group_4__0" 4241 // $ANTLR end "rule__ClassDeclaration__Group_4_0__0"
3966 4242
3967 4243
3968 // $ANTLR start "rule__ClassDeclaration__Group_4__0__Impl" 4244 // $ANTLR start "rule__ClassDeclaration__Group_4_0__0__Impl"
3969 // InternalProblem.g:1221:1: rule__ClassDeclaration__Group_4__0__Impl : ( ',' ) ; 4245 // InternalProblem.g:1317:1: rule__ClassDeclaration__Group_4_0__0__Impl : ( '{' ) ;
3970 public final void rule__ClassDeclaration__Group_4__0__Impl() throws RecognitionException { 4246 public final void rule__ClassDeclaration__Group_4_0__0__Impl() throws RecognitionException {
3971 4247
3972 int stackSize = keepStackSize(); 4248 int stackSize = keepStackSize();
3973 4249
3974 try { 4250 try {
3975 // InternalProblem.g:1225:1: ( ( ',' ) ) 4251 // InternalProblem.g:1321:1: ( ( '{' ) )
3976 // InternalProblem.g:1226:1: ( ',' ) 4252 // InternalProblem.g:1322:1: ( '{' )
3977 { 4253 {
3978 // InternalProblem.g:1226:1: ( ',' ) 4254 // InternalProblem.g:1322:1: ( '{' )
3979 // InternalProblem.g:1227:2: ',' 4255 // InternalProblem.g:1323:2: '{'
3980 { 4256 {
3981 before(grammarAccess.getClassDeclarationAccess().getCommaKeyword_4_0()); 4257 before(grammarAccess.getClassDeclarationAccess().getLeftCurlyBracketKeyword_4_0_0());
3982 match(input,25,FOLLOW_2); 4258 match(input,26,FOLLOW_2);
3983 after(grammarAccess.getClassDeclarationAccess().getCommaKeyword_4_0()); 4259 after(grammarAccess.getClassDeclarationAccess().getLeftCurlyBracketKeyword_4_0_0());
4260
4261 }
4262
4263
4264 }
4265
4266 }
4267 catch (RecognitionException re) {
4268 reportError(re);
4269 recover(input,re);
4270 }
4271 finally {
4272
4273 restoreStackSize(stackSize);
4274
4275 }
4276 return ;
4277 }
4278 // $ANTLR end "rule__ClassDeclaration__Group_4_0__0__Impl"
4279
4280
4281 // $ANTLR start "rule__ClassDeclaration__Group_4_0__1"
4282 // InternalProblem.g:1332:1: rule__ClassDeclaration__Group_4_0__1 : rule__ClassDeclaration__Group_4_0__1__Impl rule__ClassDeclaration__Group_4_0__2 ;
4283 public final void rule__ClassDeclaration__Group_4_0__1() throws RecognitionException {
4284
4285 int stackSize = keepStackSize();
4286
4287 try {
4288 // InternalProblem.g:1336:1: ( rule__ClassDeclaration__Group_4_0__1__Impl rule__ClassDeclaration__Group_4_0__2 )
4289 // InternalProblem.g:1337:2: rule__ClassDeclaration__Group_4_0__1__Impl rule__ClassDeclaration__Group_4_0__2
4290 {
4291 pushFollow(FOLLOW_12);
4292 rule__ClassDeclaration__Group_4_0__1__Impl();
4293
4294 state._fsp--;
4295
4296 pushFollow(FOLLOW_2);
4297 rule__ClassDeclaration__Group_4_0__2();
4298
4299 state._fsp--;
4300
4301
4302 }
4303
4304 }
4305 catch (RecognitionException re) {
4306 reportError(re);
4307 recover(input,re);
4308 }
4309 finally {
4310
4311 restoreStackSize(stackSize);
4312
4313 }
4314 return ;
4315 }
4316 // $ANTLR end "rule__ClassDeclaration__Group_4_0__1"
4317
4318
4319 // $ANTLR start "rule__ClassDeclaration__Group_4_0__1__Impl"
4320 // InternalProblem.g:1344:1: rule__ClassDeclaration__Group_4_0__1__Impl : ( ( rule__ClassDeclaration__Group_4_0_1__0 )* ) ;
4321 public final void rule__ClassDeclaration__Group_4_0__1__Impl() throws RecognitionException {
4322
4323 int stackSize = keepStackSize();
4324
4325 try {
4326 // InternalProblem.g:1348:1: ( ( ( rule__ClassDeclaration__Group_4_0_1__0 )* ) )
4327 // InternalProblem.g:1349:1: ( ( rule__ClassDeclaration__Group_4_0_1__0 )* )
4328 {
4329 // InternalProblem.g:1349:1: ( ( rule__ClassDeclaration__Group_4_0_1__0 )* )
4330 // InternalProblem.g:1350:2: ( rule__ClassDeclaration__Group_4_0_1__0 )*
4331 {
4332 before(grammarAccess.getClassDeclarationAccess().getGroup_4_0_1());
4333 // InternalProblem.g:1351:2: ( rule__ClassDeclaration__Group_4_0_1__0 )*
4334 loop19:
4335 do {
4336 int alt19=2;
4337 int LA19_0 = input.LA(1);
4338
4339 if ( (LA19_0==13||LA19_0==39) ) {
4340 alt19=1;
4341 }
4342
4343
4344 switch (alt19) {
4345 case 1 :
4346 // InternalProblem.g:1351:3: rule__ClassDeclaration__Group_4_0_1__0
4347 {
4348 pushFollow(FOLLOW_13);
4349 rule__ClassDeclaration__Group_4_0_1__0();
4350
4351 state._fsp--;
4352
4353
4354 }
4355 break;
4356
4357 default :
4358 break loop19;
4359 }
4360 } while (true);
4361
4362 after(grammarAccess.getClassDeclarationAccess().getGroup_4_0_1());
3984 4363
3985 } 4364 }
3986 4365
@@ -3999,21 +4378,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3999 } 4378 }
4000 return ; 4379 return ;
4001 } 4380 }
4002 // $ANTLR end "rule__ClassDeclaration__Group_4__0__Impl" 4381 // $ANTLR end "rule__ClassDeclaration__Group_4_0__1__Impl"
4003 4382
4004 4383
4005 // $ANTLR start "rule__ClassDeclaration__Group_4__1" 4384 // $ANTLR start "rule__ClassDeclaration__Group_4_0__2"
4006 // InternalProblem.g:1236:1: rule__ClassDeclaration__Group_4__1 : rule__ClassDeclaration__Group_4__1__Impl ; 4385 // InternalProblem.g:1359:1: rule__ClassDeclaration__Group_4_0__2 : rule__ClassDeclaration__Group_4_0__2__Impl ;
4007 public final void rule__ClassDeclaration__Group_4__1() throws RecognitionException { 4386 public final void rule__ClassDeclaration__Group_4_0__2() throws RecognitionException {
4008 4387
4009 int stackSize = keepStackSize(); 4388 int stackSize = keepStackSize();
4010 4389
4011 try { 4390 try {
4012 // InternalProblem.g:1240:1: ( rule__ClassDeclaration__Group_4__1__Impl ) 4391 // InternalProblem.g:1363:1: ( rule__ClassDeclaration__Group_4_0__2__Impl )
4013 // InternalProblem.g:1241:2: rule__ClassDeclaration__Group_4__1__Impl 4392 // InternalProblem.g:1364:2: rule__ClassDeclaration__Group_4_0__2__Impl
4014 { 4393 {
4015 pushFollow(FOLLOW_2); 4394 pushFollow(FOLLOW_2);
4016 rule__ClassDeclaration__Group_4__1__Impl(); 4395 rule__ClassDeclaration__Group_4_0__2__Impl();
4017 4396
4018 state._fsp--; 4397 state._fsp--;
4019 4398
@@ -4032,35 +4411,110 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4032 } 4411 }
4033 return ; 4412 return ;
4034 } 4413 }
4035 // $ANTLR end "rule__ClassDeclaration__Group_4__1" 4414 // $ANTLR end "rule__ClassDeclaration__Group_4_0__2"
4036 4415
4037 4416
4038 // $ANTLR start "rule__ClassDeclaration__Group_4__1__Impl" 4417 // $ANTLR start "rule__ClassDeclaration__Group_4_0__2__Impl"
4039 // InternalProblem.g:1247:1: rule__ClassDeclaration__Group_4__1__Impl : ( ( rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_1 ) ) ; 4418 // InternalProblem.g:1370:1: rule__ClassDeclaration__Group_4_0__2__Impl : ( '}' ) ;
4040 public final void rule__ClassDeclaration__Group_4__1__Impl() throws RecognitionException { 4419 public final void rule__ClassDeclaration__Group_4_0__2__Impl() throws RecognitionException {
4041 4420
4042 int stackSize = keepStackSize(); 4421 int stackSize = keepStackSize();
4043 4422
4044 try { 4423 try {
4045 // InternalProblem.g:1251:1: ( ( ( rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_1 ) ) ) 4424 // InternalProblem.g:1374:1: ( ( '}' ) )
4046 // InternalProblem.g:1252:1: ( ( rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_1 ) ) 4425 // InternalProblem.g:1375:1: ( '}' )
4047 { 4426 {
4048 // InternalProblem.g:1252:1: ( ( rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_1 ) ) 4427 // InternalProblem.g:1375:1: ( '}' )
4049 // InternalProblem.g:1253:2: ( rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_1 ) 4428 // InternalProblem.g:1376:2: '}'
4050 { 4429 {
4051 before(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsAssignment_4_1()); 4430 before(grammarAccess.getClassDeclarationAccess().getRightCurlyBracketKeyword_4_0_2());
4052 // InternalProblem.g:1254:2: ( rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_1 ) 4431 match(input,27,FOLLOW_2);
4053 // InternalProblem.g:1254:3: rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_1 4432 after(grammarAccess.getClassDeclarationAccess().getRightCurlyBracketKeyword_4_0_2());
4433
4434 }
4435
4436
4437 }
4438
4439 }
4440 catch (RecognitionException re) {
4441 reportError(re);
4442 recover(input,re);
4443 }
4444 finally {
4445
4446 restoreStackSize(stackSize);
4447
4448 }
4449 return ;
4450 }
4451 // $ANTLR end "rule__ClassDeclaration__Group_4_0__2__Impl"
4452
4453
4454 // $ANTLR start "rule__ClassDeclaration__Group_4_0_1__0"
4455 // InternalProblem.g:1386:1: rule__ClassDeclaration__Group_4_0_1__0 : rule__ClassDeclaration__Group_4_0_1__0__Impl rule__ClassDeclaration__Group_4_0_1__1 ;
4456 public final void rule__ClassDeclaration__Group_4_0_1__0() throws RecognitionException {
4457
4458 int stackSize = keepStackSize();
4459
4460 try {
4461 // InternalProblem.g:1390:1: ( rule__ClassDeclaration__Group_4_0_1__0__Impl rule__ClassDeclaration__Group_4_0_1__1 )
4462 // InternalProblem.g:1391:2: rule__ClassDeclaration__Group_4_0_1__0__Impl rule__ClassDeclaration__Group_4_0_1__1
4054 { 4463 {
4464 pushFollow(FOLLOW_14);
4465 rule__ClassDeclaration__Group_4_0_1__0__Impl();
4466
4467 state._fsp--;
4468
4055 pushFollow(FOLLOW_2); 4469 pushFollow(FOLLOW_2);
4056 rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_1(); 4470 rule__ClassDeclaration__Group_4_0_1__1();
4057 4471
4058 state._fsp--; 4472 state._fsp--;
4059 4473
4060 4474
4061 } 4475 }
4062 4476
4063 after(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsAssignment_4_1()); 4477 }
4478 catch (RecognitionException re) {
4479 reportError(re);
4480 recover(input,re);
4481 }
4482 finally {
4483
4484 restoreStackSize(stackSize);
4485
4486 }
4487 return ;
4488 }
4489 // $ANTLR end "rule__ClassDeclaration__Group_4_0_1__0"
4490
4491
4492 // $ANTLR start "rule__ClassDeclaration__Group_4_0_1__0__Impl"
4493 // InternalProblem.g:1398:1: rule__ClassDeclaration__Group_4_0_1__0__Impl : ( ( rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0 ) ) ;
4494 public final void rule__ClassDeclaration__Group_4_0_1__0__Impl() throws RecognitionException {
4495
4496 int stackSize = keepStackSize();
4497
4498 try {
4499 // InternalProblem.g:1402:1: ( ( ( rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0 ) ) )
4500 // InternalProblem.g:1403:1: ( ( rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0 ) )
4501 {
4502 // InternalProblem.g:1403:1: ( ( rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0 ) )
4503 // InternalProblem.g:1404:2: ( rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0 )
4504 {
4505 before(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsAssignment_4_0_1_0());
4506 // InternalProblem.g:1405:2: ( rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0 )
4507 // InternalProblem.g:1405:3: rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0
4508 {
4509 pushFollow(FOLLOW_2);
4510 rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0();
4511
4512 state._fsp--;
4513
4514
4515 }
4516
4517 after(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsAssignment_4_0_1_0());
4064 4518
4065 } 4519 }
4066 4520
@@ -4079,20 +4533,107 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4079 } 4533 }
4080 return ; 4534 return ;
4081 } 4535 }
4082 // $ANTLR end "rule__ClassDeclaration__Group_4__1__Impl" 4536 // $ANTLR end "rule__ClassDeclaration__Group_4_0_1__0__Impl"
4537
4538
4539 // $ANTLR start "rule__ClassDeclaration__Group_4_0_1__1"
4540 // InternalProblem.g:1413:1: rule__ClassDeclaration__Group_4_0_1__1 : rule__ClassDeclaration__Group_4_0_1__1__Impl ;
4541 public final void rule__ClassDeclaration__Group_4_0_1__1() throws RecognitionException {
4542
4543 int stackSize = keepStackSize();
4544
4545 try {
4546 // InternalProblem.g:1417:1: ( rule__ClassDeclaration__Group_4_0_1__1__Impl )
4547 // InternalProblem.g:1418:2: rule__ClassDeclaration__Group_4_0_1__1__Impl
4548 {
4549 pushFollow(FOLLOW_2);
4550 rule__ClassDeclaration__Group_4_0_1__1__Impl();
4551
4552 state._fsp--;
4553
4554
4555 }
4556
4557 }
4558 catch (RecognitionException re) {
4559 reportError(re);
4560 recover(input,re);
4561 }
4562 finally {
4563
4564 restoreStackSize(stackSize);
4565
4566 }
4567 return ;
4568 }
4569 // $ANTLR end "rule__ClassDeclaration__Group_4_0_1__1"
4570
4571
4572 // $ANTLR start "rule__ClassDeclaration__Group_4_0_1__1__Impl"
4573 // InternalProblem.g:1424:1: rule__ClassDeclaration__Group_4_0_1__1__Impl : ( ( ';' )? ) ;
4574 public final void rule__ClassDeclaration__Group_4_0_1__1__Impl() throws RecognitionException {
4575
4576 int stackSize = keepStackSize();
4577
4578 try {
4579 // InternalProblem.g:1428:1: ( ( ( ';' )? ) )
4580 // InternalProblem.g:1429:1: ( ( ';' )? )
4581 {
4582 // InternalProblem.g:1429:1: ( ( ';' )? )
4583 // InternalProblem.g:1430:2: ( ';' )?
4584 {
4585 before(grammarAccess.getClassDeclarationAccess().getSemicolonKeyword_4_0_1_1());
4586 // InternalProblem.g:1431:2: ( ';' )?
4587 int alt20=2;
4588 int LA20_0 = input.LA(1);
4589
4590 if ( (LA20_0==28) ) {
4591 alt20=1;
4592 }
4593 switch (alt20) {
4594 case 1 :
4595 // InternalProblem.g:1431:3: ';'
4596 {
4597 match(input,28,FOLLOW_2);
4598
4599 }
4600 break;
4601
4602 }
4603
4604 after(grammarAccess.getClassDeclarationAccess().getSemicolonKeyword_4_0_1_1());
4605
4606 }
4607
4608
4609 }
4610
4611 }
4612 catch (RecognitionException re) {
4613 reportError(re);
4614 recover(input,re);
4615 }
4616 finally {
4617
4618 restoreStackSize(stackSize);
4619
4620 }
4621 return ;
4622 }
4623 // $ANTLR end "rule__ClassDeclaration__Group_4_0_1__1__Impl"
4083 4624
4084 4625
4085 // $ANTLR start "rule__ReferenceDeclaration__Group__0" 4626 // $ANTLR start "rule__ReferenceDeclaration__Group__0"
4086 // InternalProblem.g:1263:1: rule__ReferenceDeclaration__Group__0 : rule__ReferenceDeclaration__Group__0__Impl rule__ReferenceDeclaration__Group__1 ; 4627 // InternalProblem.g:1440:1: rule__ReferenceDeclaration__Group__0 : rule__ReferenceDeclaration__Group__0__Impl rule__ReferenceDeclaration__Group__1 ;
4087 public final void rule__ReferenceDeclaration__Group__0() throws RecognitionException { 4628 public final void rule__ReferenceDeclaration__Group__0() throws RecognitionException {
4088 4629
4089 int stackSize = keepStackSize(); 4630 int stackSize = keepStackSize();
4090 4631
4091 try { 4632 try {
4092 // InternalProblem.g:1267:1: ( rule__ReferenceDeclaration__Group__0__Impl rule__ReferenceDeclaration__Group__1 ) 4633 // InternalProblem.g:1444:1: ( rule__ReferenceDeclaration__Group__0__Impl rule__ReferenceDeclaration__Group__1 )
4093 // InternalProblem.g:1268:2: rule__ReferenceDeclaration__Group__0__Impl rule__ReferenceDeclaration__Group__1 4634 // InternalProblem.g:1445:2: rule__ReferenceDeclaration__Group__0__Impl rule__ReferenceDeclaration__Group__1
4094 { 4635 {
4095 pushFollow(FOLLOW_5); 4636 pushFollow(FOLLOW_9);
4096 rule__ReferenceDeclaration__Group__0__Impl(); 4637 rule__ReferenceDeclaration__Group__0__Impl();
4097 4638
4098 state._fsp--; 4639 state._fsp--;
@@ -4121,21 +4662,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4121 4662
4122 4663
4123 // $ANTLR start "rule__ReferenceDeclaration__Group__0__Impl" 4664 // $ANTLR start "rule__ReferenceDeclaration__Group__0__Impl"
4124 // InternalProblem.g:1275:1: rule__ReferenceDeclaration__Group__0__Impl : ( ( rule__ReferenceDeclaration__Alternatives_0 ) ) ; 4665 // InternalProblem.g:1452:1: rule__ReferenceDeclaration__Group__0__Impl : ( ( rule__ReferenceDeclaration__Alternatives_0 ) ) ;
4125 public final void rule__ReferenceDeclaration__Group__0__Impl() throws RecognitionException { 4666 public final void rule__ReferenceDeclaration__Group__0__Impl() throws RecognitionException {
4126 4667
4127 int stackSize = keepStackSize(); 4668 int stackSize = keepStackSize();
4128 4669
4129 try { 4670 try {
4130 // InternalProblem.g:1279:1: ( ( ( rule__ReferenceDeclaration__Alternatives_0 ) ) ) 4671 // InternalProblem.g:1456:1: ( ( ( rule__ReferenceDeclaration__Alternatives_0 ) ) )
4131 // InternalProblem.g:1280:1: ( ( rule__ReferenceDeclaration__Alternatives_0 ) ) 4672 // InternalProblem.g:1457:1: ( ( rule__ReferenceDeclaration__Alternatives_0 ) )
4132 { 4673 {
4133 // InternalProblem.g:1280:1: ( ( rule__ReferenceDeclaration__Alternatives_0 ) ) 4674 // InternalProblem.g:1457:1: ( ( rule__ReferenceDeclaration__Alternatives_0 ) )
4134 // InternalProblem.g:1281:2: ( rule__ReferenceDeclaration__Alternatives_0 ) 4675 // InternalProblem.g:1458:2: ( rule__ReferenceDeclaration__Alternatives_0 )
4135 { 4676 {
4136 before(grammarAccess.getReferenceDeclarationAccess().getAlternatives_0()); 4677 before(grammarAccess.getReferenceDeclarationAccess().getAlternatives_0());
4137 // InternalProblem.g:1282:2: ( rule__ReferenceDeclaration__Alternatives_0 ) 4678 // InternalProblem.g:1459:2: ( rule__ReferenceDeclaration__Alternatives_0 )
4138 // InternalProblem.g:1282:3: rule__ReferenceDeclaration__Alternatives_0 4679 // InternalProblem.g:1459:3: rule__ReferenceDeclaration__Alternatives_0
4139 { 4680 {
4140 pushFollow(FOLLOW_2); 4681 pushFollow(FOLLOW_2);
4141 rule__ReferenceDeclaration__Alternatives_0(); 4682 rule__ReferenceDeclaration__Alternatives_0();
@@ -4168,16 +4709,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4168 4709
4169 4710
4170 // $ANTLR start "rule__ReferenceDeclaration__Group__1" 4711 // $ANTLR start "rule__ReferenceDeclaration__Group__1"
4171 // InternalProblem.g:1290:1: rule__ReferenceDeclaration__Group__1 : rule__ReferenceDeclaration__Group__1__Impl rule__ReferenceDeclaration__Group__2 ; 4712 // InternalProblem.g:1467:1: rule__ReferenceDeclaration__Group__1 : rule__ReferenceDeclaration__Group__1__Impl rule__ReferenceDeclaration__Group__2 ;
4172 public final void rule__ReferenceDeclaration__Group__1() throws RecognitionException { 4713 public final void rule__ReferenceDeclaration__Group__1() throws RecognitionException {
4173 4714
4174 int stackSize = keepStackSize(); 4715 int stackSize = keepStackSize();
4175 4716
4176 try { 4717 try {
4177 // InternalProblem.g:1294:1: ( rule__ReferenceDeclaration__Group__1__Impl rule__ReferenceDeclaration__Group__2 ) 4718 // InternalProblem.g:1471:1: ( rule__ReferenceDeclaration__Group__1__Impl rule__ReferenceDeclaration__Group__2 )
4178 // InternalProblem.g:1295:2: rule__ReferenceDeclaration__Group__1__Impl rule__ReferenceDeclaration__Group__2 4719 // InternalProblem.g:1472:2: rule__ReferenceDeclaration__Group__1__Impl rule__ReferenceDeclaration__Group__2
4179 { 4720 {
4180 pushFollow(FOLLOW_12); 4721 pushFollow(FOLLOW_15);
4181 rule__ReferenceDeclaration__Group__1__Impl(); 4722 rule__ReferenceDeclaration__Group__1__Impl();
4182 4723
4183 state._fsp--; 4724 state._fsp--;
@@ -4206,21 +4747,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4206 4747
4207 4748
4208 // $ANTLR start "rule__ReferenceDeclaration__Group__1__Impl" 4749 // $ANTLR start "rule__ReferenceDeclaration__Group__1__Impl"
4209 // InternalProblem.g:1302:1: rule__ReferenceDeclaration__Group__1__Impl : ( ( rule__ReferenceDeclaration__ReferenceTypeAssignment_1 ) ) ; 4750 // InternalProblem.g:1479:1: rule__ReferenceDeclaration__Group__1__Impl : ( ( rule__ReferenceDeclaration__ReferenceTypeAssignment_1 ) ) ;
4210 public final void rule__ReferenceDeclaration__Group__1__Impl() throws RecognitionException { 4751 public final void rule__ReferenceDeclaration__Group__1__Impl() throws RecognitionException {
4211 4752
4212 int stackSize = keepStackSize(); 4753 int stackSize = keepStackSize();
4213 4754
4214 try { 4755 try {
4215 // InternalProblem.g:1306:1: ( ( ( rule__ReferenceDeclaration__ReferenceTypeAssignment_1 ) ) ) 4756 // InternalProblem.g:1483:1: ( ( ( rule__ReferenceDeclaration__ReferenceTypeAssignment_1 ) ) )
4216 // InternalProblem.g:1307:1: ( ( rule__ReferenceDeclaration__ReferenceTypeAssignment_1 ) ) 4757 // InternalProblem.g:1484:1: ( ( rule__ReferenceDeclaration__ReferenceTypeAssignment_1 ) )
4217 { 4758 {
4218 // InternalProblem.g:1307:1: ( ( rule__ReferenceDeclaration__ReferenceTypeAssignment_1 ) ) 4759 // InternalProblem.g:1484:1: ( ( rule__ReferenceDeclaration__ReferenceTypeAssignment_1 ) )
4219 // InternalProblem.g:1308:2: ( rule__ReferenceDeclaration__ReferenceTypeAssignment_1 ) 4760 // InternalProblem.g:1485:2: ( rule__ReferenceDeclaration__ReferenceTypeAssignment_1 )
4220 { 4761 {
4221 before(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeAssignment_1()); 4762 before(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeAssignment_1());
4222 // InternalProblem.g:1309:2: ( rule__ReferenceDeclaration__ReferenceTypeAssignment_1 ) 4763 // InternalProblem.g:1486:2: ( rule__ReferenceDeclaration__ReferenceTypeAssignment_1 )
4223 // InternalProblem.g:1309:3: rule__ReferenceDeclaration__ReferenceTypeAssignment_1 4764 // InternalProblem.g:1486:3: rule__ReferenceDeclaration__ReferenceTypeAssignment_1
4224 { 4765 {
4225 pushFollow(FOLLOW_2); 4766 pushFollow(FOLLOW_2);
4226 rule__ReferenceDeclaration__ReferenceTypeAssignment_1(); 4767 rule__ReferenceDeclaration__ReferenceTypeAssignment_1();
@@ -4253,16 +4794,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4253 4794
4254 4795
4255 // $ANTLR start "rule__ReferenceDeclaration__Group__2" 4796 // $ANTLR start "rule__ReferenceDeclaration__Group__2"
4256 // InternalProblem.g:1317:1: rule__ReferenceDeclaration__Group__2 : rule__ReferenceDeclaration__Group__2__Impl rule__ReferenceDeclaration__Group__3 ; 4797 // InternalProblem.g:1494:1: rule__ReferenceDeclaration__Group__2 : rule__ReferenceDeclaration__Group__2__Impl rule__ReferenceDeclaration__Group__3 ;
4257 public final void rule__ReferenceDeclaration__Group__2() throws RecognitionException { 4798 public final void rule__ReferenceDeclaration__Group__2() throws RecognitionException {
4258 4799
4259 int stackSize = keepStackSize(); 4800 int stackSize = keepStackSize();
4260 4801
4261 try { 4802 try {
4262 // InternalProblem.g:1321:1: ( rule__ReferenceDeclaration__Group__2__Impl rule__ReferenceDeclaration__Group__3 ) 4803 // InternalProblem.g:1498:1: ( rule__ReferenceDeclaration__Group__2__Impl rule__ReferenceDeclaration__Group__3 )
4263 // InternalProblem.g:1322:2: rule__ReferenceDeclaration__Group__2__Impl rule__ReferenceDeclaration__Group__3 4804 // InternalProblem.g:1499:2: rule__ReferenceDeclaration__Group__2__Impl rule__ReferenceDeclaration__Group__3
4264 { 4805 {
4265 pushFollow(FOLLOW_13); 4806 pushFollow(FOLLOW_15);
4266 rule__ReferenceDeclaration__Group__2__Impl(); 4807 rule__ReferenceDeclaration__Group__2__Impl();
4267 4808
4268 state._fsp--; 4809 state._fsp--;
@@ -4291,21 +4832,42 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4291 4832
4292 4833
4293 // $ANTLR start "rule__ReferenceDeclaration__Group__2__Impl" 4834 // $ANTLR start "rule__ReferenceDeclaration__Group__2__Impl"
4294 // InternalProblem.g:1329:1: rule__ReferenceDeclaration__Group__2__Impl : ( '[' ) ; 4835 // InternalProblem.g:1506:1: rule__ReferenceDeclaration__Group__2__Impl : ( ( rule__ReferenceDeclaration__Group_2__0 )? ) ;
4295 public final void rule__ReferenceDeclaration__Group__2__Impl() throws RecognitionException { 4836 public final void rule__ReferenceDeclaration__Group__2__Impl() throws RecognitionException {
4296 4837
4297 int stackSize = keepStackSize(); 4838 int stackSize = keepStackSize();
4298 4839
4299 try { 4840 try {
4300 // InternalProblem.g:1333:1: ( ( '[' ) ) 4841 // InternalProblem.g:1510:1: ( ( ( rule__ReferenceDeclaration__Group_2__0 )? ) )
4301 // InternalProblem.g:1334:1: ( '[' ) 4842 // InternalProblem.g:1511:1: ( ( rule__ReferenceDeclaration__Group_2__0 )? )
4302 { 4843 {
4303 // InternalProblem.g:1334:1: ( '[' ) 4844 // InternalProblem.g:1511:1: ( ( rule__ReferenceDeclaration__Group_2__0 )? )
4304 // InternalProblem.g:1335:2: '[' 4845 // InternalProblem.g:1512:2: ( rule__ReferenceDeclaration__Group_2__0 )?
4305 { 4846 {
4306 before(grammarAccess.getReferenceDeclarationAccess().getLeftSquareBracketKeyword_2()); 4847 before(grammarAccess.getReferenceDeclarationAccess().getGroup_2());
4307 match(input,23,FOLLOW_2); 4848 // InternalProblem.g:1513:2: ( rule__ReferenceDeclaration__Group_2__0 )?
4308 after(grammarAccess.getReferenceDeclarationAccess().getLeftSquareBracketKeyword_2()); 4849 int alt21=2;
4850 int LA21_0 = input.LA(1);
4851
4852 if ( (LA21_0==29) ) {
4853 alt21=1;
4854 }
4855 switch (alt21) {
4856 case 1 :
4857 // InternalProblem.g:1513:3: rule__ReferenceDeclaration__Group_2__0
4858 {
4859 pushFollow(FOLLOW_2);
4860 rule__ReferenceDeclaration__Group_2__0();
4861
4862 state._fsp--;
4863
4864
4865 }
4866 break;
4867
4868 }
4869
4870 after(grammarAccess.getReferenceDeclarationAccess().getGroup_2());
4309 4871
4310 } 4872 }
4311 4873
@@ -4328,16 +4890,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4328 4890
4329 4891
4330 // $ANTLR start "rule__ReferenceDeclaration__Group__3" 4892 // $ANTLR start "rule__ReferenceDeclaration__Group__3"
4331 // InternalProblem.g:1344:1: rule__ReferenceDeclaration__Group__3 : rule__ReferenceDeclaration__Group__3__Impl rule__ReferenceDeclaration__Group__4 ; 4893 // InternalProblem.g:1521:1: rule__ReferenceDeclaration__Group__3 : rule__ReferenceDeclaration__Group__3__Impl rule__ReferenceDeclaration__Group__4 ;
4332 public final void rule__ReferenceDeclaration__Group__3() throws RecognitionException { 4894 public final void rule__ReferenceDeclaration__Group__3() throws RecognitionException {
4333 4895
4334 int stackSize = keepStackSize(); 4896 int stackSize = keepStackSize();
4335 4897
4336 try { 4898 try {
4337 // InternalProblem.g:1348:1: ( rule__ReferenceDeclaration__Group__3__Impl rule__ReferenceDeclaration__Group__4 ) 4899 // InternalProblem.g:1525:1: ( rule__ReferenceDeclaration__Group__3__Impl rule__ReferenceDeclaration__Group__4 )
4338 // InternalProblem.g:1349:2: rule__ReferenceDeclaration__Group__3__Impl rule__ReferenceDeclaration__Group__4 4900 // InternalProblem.g:1526:2: rule__ReferenceDeclaration__Group__3__Impl rule__ReferenceDeclaration__Group__4
4339 { 4901 {
4340 pushFollow(FOLLOW_14); 4902 pushFollow(FOLLOW_16);
4341 rule__ReferenceDeclaration__Group__3__Impl(); 4903 rule__ReferenceDeclaration__Group__3__Impl();
4342 4904
4343 state._fsp--; 4905 state._fsp--;
@@ -4366,31 +4928,31 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4366 4928
4367 4929
4368 // $ANTLR start "rule__ReferenceDeclaration__Group__3__Impl" 4930 // $ANTLR start "rule__ReferenceDeclaration__Group__3__Impl"
4369 // InternalProblem.g:1356:1: rule__ReferenceDeclaration__Group__3__Impl : ( ( rule__ReferenceDeclaration__MultiplicityAssignment_3 ) ) ; 4931 // InternalProblem.g:1533:1: rule__ReferenceDeclaration__Group__3__Impl : ( ( rule__ReferenceDeclaration__NameAssignment_3 ) ) ;
4370 public final void rule__ReferenceDeclaration__Group__3__Impl() throws RecognitionException { 4932 public final void rule__ReferenceDeclaration__Group__3__Impl() throws RecognitionException {
4371 4933
4372 int stackSize = keepStackSize(); 4934 int stackSize = keepStackSize();
4373 4935
4374 try { 4936 try {
4375 // InternalProblem.g:1360:1: ( ( ( rule__ReferenceDeclaration__MultiplicityAssignment_3 ) ) ) 4937 // InternalProblem.g:1537:1: ( ( ( rule__ReferenceDeclaration__NameAssignment_3 ) ) )
4376 // InternalProblem.g:1361:1: ( ( rule__ReferenceDeclaration__MultiplicityAssignment_3 ) ) 4938 // InternalProblem.g:1538:1: ( ( rule__ReferenceDeclaration__NameAssignment_3 ) )
4377 { 4939 {
4378 // InternalProblem.g:1361:1: ( ( rule__ReferenceDeclaration__MultiplicityAssignment_3 ) ) 4940 // InternalProblem.g:1538:1: ( ( rule__ReferenceDeclaration__NameAssignment_3 ) )
4379 // InternalProblem.g:1362:2: ( rule__ReferenceDeclaration__MultiplicityAssignment_3 ) 4941 // InternalProblem.g:1539:2: ( rule__ReferenceDeclaration__NameAssignment_3 )
4380 { 4942 {
4381 before(grammarAccess.getReferenceDeclarationAccess().getMultiplicityAssignment_3()); 4943 before(grammarAccess.getReferenceDeclarationAccess().getNameAssignment_3());
4382 // InternalProblem.g:1363:2: ( rule__ReferenceDeclaration__MultiplicityAssignment_3 ) 4944 // InternalProblem.g:1540:2: ( rule__ReferenceDeclaration__NameAssignment_3 )
4383 // InternalProblem.g:1363:3: rule__ReferenceDeclaration__MultiplicityAssignment_3 4945 // InternalProblem.g:1540:3: rule__ReferenceDeclaration__NameAssignment_3
4384 { 4946 {
4385 pushFollow(FOLLOW_2); 4947 pushFollow(FOLLOW_2);
4386 rule__ReferenceDeclaration__MultiplicityAssignment_3(); 4948 rule__ReferenceDeclaration__NameAssignment_3();
4387 4949
4388 state._fsp--; 4950 state._fsp--;
4389 4951
4390 4952
4391 } 4953 }
4392 4954
4393 after(grammarAccess.getReferenceDeclarationAccess().getMultiplicityAssignment_3()); 4955 after(grammarAccess.getReferenceDeclarationAccess().getNameAssignment_3());
4394 4956
4395 } 4957 }
4396 4958
@@ -4413,22 +4975,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4413 4975
4414 4976
4415 // $ANTLR start "rule__ReferenceDeclaration__Group__4" 4977 // $ANTLR start "rule__ReferenceDeclaration__Group__4"
4416 // InternalProblem.g:1371:1: rule__ReferenceDeclaration__Group__4 : rule__ReferenceDeclaration__Group__4__Impl rule__ReferenceDeclaration__Group__5 ; 4978 // InternalProblem.g:1548:1: rule__ReferenceDeclaration__Group__4 : rule__ReferenceDeclaration__Group__4__Impl ;
4417 public final void rule__ReferenceDeclaration__Group__4() throws RecognitionException { 4979 public final void rule__ReferenceDeclaration__Group__4() throws RecognitionException {
4418 4980
4419 int stackSize = keepStackSize(); 4981 int stackSize = keepStackSize();
4420 4982
4421 try { 4983 try {
4422 // InternalProblem.g:1375:1: ( rule__ReferenceDeclaration__Group__4__Impl rule__ReferenceDeclaration__Group__5 ) 4984 // InternalProblem.g:1552:1: ( rule__ReferenceDeclaration__Group__4__Impl )
4423 // InternalProblem.g:1376:2: rule__ReferenceDeclaration__Group__4__Impl rule__ReferenceDeclaration__Group__5 4985 // InternalProblem.g:1553:2: rule__ReferenceDeclaration__Group__4__Impl
4424 { 4986 {
4425 pushFollow(FOLLOW_5);
4426 rule__ReferenceDeclaration__Group__4__Impl();
4427
4428 state._fsp--;
4429
4430 pushFollow(FOLLOW_2); 4987 pushFollow(FOLLOW_2);
4431 rule__ReferenceDeclaration__Group__5(); 4988 rule__ReferenceDeclaration__Group__4__Impl();
4432 4989
4433 state._fsp--; 4990 state._fsp--;
4434 4991
@@ -4451,21 +5008,42 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4451 5008
4452 5009
4453 // $ANTLR start "rule__ReferenceDeclaration__Group__4__Impl" 5010 // $ANTLR start "rule__ReferenceDeclaration__Group__4__Impl"
4454 // InternalProblem.g:1383:1: rule__ReferenceDeclaration__Group__4__Impl : ( ']' ) ; 5011 // InternalProblem.g:1559:1: rule__ReferenceDeclaration__Group__4__Impl : ( ( rule__ReferenceDeclaration__Group_4__0 )? ) ;
4455 public final void rule__ReferenceDeclaration__Group__4__Impl() throws RecognitionException { 5012 public final void rule__ReferenceDeclaration__Group__4__Impl() throws RecognitionException {
4456 5013
4457 int stackSize = keepStackSize(); 5014 int stackSize = keepStackSize();
4458 5015
4459 try { 5016 try {
4460 // InternalProblem.g:1387:1: ( ( ']' ) ) 5017 // InternalProblem.g:1563:1: ( ( ( rule__ReferenceDeclaration__Group_4__0 )? ) )
4461 // InternalProblem.g:1388:1: ( ']' ) 5018 // InternalProblem.g:1564:1: ( ( rule__ReferenceDeclaration__Group_4__0 )? )
4462 { 5019 {
4463 // InternalProblem.g:1388:1: ( ']' ) 5020 // InternalProblem.g:1564:1: ( ( rule__ReferenceDeclaration__Group_4__0 )? )
4464 // InternalProblem.g:1389:2: ']' 5021 // InternalProblem.g:1565:2: ( rule__ReferenceDeclaration__Group_4__0 )?
4465 { 5022 {
4466 before(grammarAccess.getReferenceDeclarationAccess().getRightSquareBracketKeyword_4()); 5023 before(grammarAccess.getReferenceDeclarationAccess().getGroup_4());
4467 match(input,24,FOLLOW_2); 5024 // InternalProblem.g:1566:2: ( rule__ReferenceDeclaration__Group_4__0 )?
4468 after(grammarAccess.getReferenceDeclarationAccess().getRightSquareBracketKeyword_4()); 5025 int alt22=2;
5026 int LA22_0 = input.LA(1);
5027
5028 if ( (LA22_0==31) ) {
5029 alt22=1;
5030 }
5031 switch (alt22) {
5032 case 1 :
5033 // InternalProblem.g:1566:3: rule__ReferenceDeclaration__Group_4__0
5034 {
5035 pushFollow(FOLLOW_2);
5036 rule__ReferenceDeclaration__Group_4__0();
5037
5038 state._fsp--;
5039
5040
5041 }
5042 break;
5043
5044 }
5045
5046 after(grammarAccess.getReferenceDeclarationAccess().getGroup_4());
4469 5047
4470 } 5048 }
4471 5049
@@ -4487,23 +5065,23 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4487 // $ANTLR end "rule__ReferenceDeclaration__Group__4__Impl" 5065 // $ANTLR end "rule__ReferenceDeclaration__Group__4__Impl"
4488 5066
4489 5067
4490 // $ANTLR start "rule__ReferenceDeclaration__Group__5" 5068 // $ANTLR start "rule__ReferenceDeclaration__Group_2__0"
4491 // InternalProblem.g:1398:1: rule__ReferenceDeclaration__Group__5 : rule__ReferenceDeclaration__Group__5__Impl rule__ReferenceDeclaration__Group__6 ; 5069 // InternalProblem.g:1575:1: rule__ReferenceDeclaration__Group_2__0 : rule__ReferenceDeclaration__Group_2__0__Impl rule__ReferenceDeclaration__Group_2__1 ;
4492 public final void rule__ReferenceDeclaration__Group__5() throws RecognitionException { 5070 public final void rule__ReferenceDeclaration__Group_2__0() throws RecognitionException {
4493 5071
4494 int stackSize = keepStackSize(); 5072 int stackSize = keepStackSize();
4495 5073
4496 try { 5074 try {
4497 // InternalProblem.g:1402:1: ( rule__ReferenceDeclaration__Group__5__Impl rule__ReferenceDeclaration__Group__6 ) 5075 // InternalProblem.g:1579:1: ( rule__ReferenceDeclaration__Group_2__0__Impl rule__ReferenceDeclaration__Group_2__1 )
4498 // InternalProblem.g:1403:2: rule__ReferenceDeclaration__Group__5__Impl rule__ReferenceDeclaration__Group__6 5076 // InternalProblem.g:1580:2: rule__ReferenceDeclaration__Group_2__0__Impl rule__ReferenceDeclaration__Group_2__1
4499 { 5077 {
4500 pushFollow(FOLLOW_15); 5078 pushFollow(FOLLOW_17);
4501 rule__ReferenceDeclaration__Group__5__Impl(); 5079 rule__ReferenceDeclaration__Group_2__0__Impl();
4502 5080
4503 state._fsp--; 5081 state._fsp--;
4504 5082
4505 pushFollow(FOLLOW_2); 5083 pushFollow(FOLLOW_2);
4506 rule__ReferenceDeclaration__Group__6(); 5084 rule__ReferenceDeclaration__Group_2__1();
4507 5085
4508 state._fsp--; 5086 state._fsp--;
4509 5087
@@ -4522,37 +5100,65 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4522 } 5100 }
4523 return ; 5101 return ;
4524 } 5102 }
4525 // $ANTLR end "rule__ReferenceDeclaration__Group__5" 5103 // $ANTLR end "rule__ReferenceDeclaration__Group_2__0"
4526 5104
4527 5105
4528 // $ANTLR start "rule__ReferenceDeclaration__Group__5__Impl" 5106 // $ANTLR start "rule__ReferenceDeclaration__Group_2__0__Impl"
4529 // InternalProblem.g:1410:1: rule__ReferenceDeclaration__Group__5__Impl : ( ( rule__ReferenceDeclaration__NameAssignment_5 ) ) ; 5107 // InternalProblem.g:1587:1: rule__ReferenceDeclaration__Group_2__0__Impl : ( '[' ) ;
4530 public final void rule__ReferenceDeclaration__Group__5__Impl() throws RecognitionException { 5108 public final void rule__ReferenceDeclaration__Group_2__0__Impl() throws RecognitionException {
4531 5109
4532 int stackSize = keepStackSize(); 5110 int stackSize = keepStackSize();
4533 5111
4534 try { 5112 try {
4535 // InternalProblem.g:1414:1: ( ( ( rule__ReferenceDeclaration__NameAssignment_5 ) ) ) 5113 // InternalProblem.g:1591:1: ( ( '[' ) )
4536 // InternalProblem.g:1415:1: ( ( rule__ReferenceDeclaration__NameAssignment_5 ) ) 5114 // InternalProblem.g:1592:1: ( '[' )
4537 { 5115 {
4538 // InternalProblem.g:1415:1: ( ( rule__ReferenceDeclaration__NameAssignment_5 ) ) 5116 // InternalProblem.g:1592:1: ( '[' )
4539 // InternalProblem.g:1416:2: ( rule__ReferenceDeclaration__NameAssignment_5 ) 5117 // InternalProblem.g:1593:2: '['
4540 { 5118 {
4541 before(grammarAccess.getReferenceDeclarationAccess().getNameAssignment_5()); 5119 before(grammarAccess.getReferenceDeclarationAccess().getLeftSquareBracketKeyword_2_0());
4542 // InternalProblem.g:1417:2: ( rule__ReferenceDeclaration__NameAssignment_5 ) 5120 match(input,29,FOLLOW_2);
4543 // InternalProblem.g:1417:3: rule__ReferenceDeclaration__NameAssignment_5 5121 after(grammarAccess.getReferenceDeclarationAccess().getLeftSquareBracketKeyword_2_0());
4544 {
4545 pushFollow(FOLLOW_2);
4546 rule__ReferenceDeclaration__NameAssignment_5();
4547 5122
4548 state._fsp--; 5123 }
4549 5124
4550 5125
4551 } 5126 }
4552 5127
4553 after(grammarAccess.getReferenceDeclarationAccess().getNameAssignment_5()); 5128 }
5129 catch (RecognitionException re) {
5130 reportError(re);
5131 recover(input,re);
5132 }
5133 finally {
4554 5134
4555 } 5135 restoreStackSize(stackSize);
5136
5137 }
5138 return ;
5139 }
5140 // $ANTLR end "rule__ReferenceDeclaration__Group_2__0__Impl"
5141
5142
5143 // $ANTLR start "rule__ReferenceDeclaration__Group_2__1"
5144 // InternalProblem.g:1602:1: rule__ReferenceDeclaration__Group_2__1 : rule__ReferenceDeclaration__Group_2__1__Impl rule__ReferenceDeclaration__Group_2__2 ;
5145 public final void rule__ReferenceDeclaration__Group_2__1() throws RecognitionException {
5146
5147 int stackSize = keepStackSize();
5148
5149 try {
5150 // InternalProblem.g:1606:1: ( rule__ReferenceDeclaration__Group_2__1__Impl rule__ReferenceDeclaration__Group_2__2 )
5151 // InternalProblem.g:1607:2: rule__ReferenceDeclaration__Group_2__1__Impl rule__ReferenceDeclaration__Group_2__2
5152 {
5153 pushFollow(FOLLOW_18);
5154 rule__ReferenceDeclaration__Group_2__1__Impl();
5155
5156 state._fsp--;
5157
5158 pushFollow(FOLLOW_2);
5159 rule__ReferenceDeclaration__Group_2__2();
5160
5161 state._fsp--;
4556 5162
4557 5163
4558 } 5164 }
@@ -4569,27 +5175,41 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4569 } 5175 }
4570 return ; 5176 return ;
4571 } 5177 }
4572 // $ANTLR end "rule__ReferenceDeclaration__Group__5__Impl" 5178 // $ANTLR end "rule__ReferenceDeclaration__Group_2__1"
4573 5179
4574 5180
4575 // $ANTLR start "rule__ReferenceDeclaration__Group__6" 5181 // $ANTLR start "rule__ReferenceDeclaration__Group_2__1__Impl"
4576 // InternalProblem.g:1425:1: rule__ReferenceDeclaration__Group__6 : rule__ReferenceDeclaration__Group__6__Impl ; 5182 // InternalProblem.g:1614:1: rule__ReferenceDeclaration__Group_2__1__Impl : ( ( rule__ReferenceDeclaration__MultiplicityAssignment_2_1 ) ) ;
4577 public final void rule__ReferenceDeclaration__Group__6() throws RecognitionException { 5183 public final void rule__ReferenceDeclaration__Group_2__1__Impl() throws RecognitionException {
4578 5184
4579 int stackSize = keepStackSize(); 5185 int stackSize = keepStackSize();
4580 5186
4581 try { 5187 try {
4582 // InternalProblem.g:1429:1: ( rule__ReferenceDeclaration__Group__6__Impl ) 5188 // InternalProblem.g:1618:1: ( ( ( rule__ReferenceDeclaration__MultiplicityAssignment_2_1 ) ) )
4583 // InternalProblem.g:1430:2: rule__ReferenceDeclaration__Group__6__Impl 5189 // InternalProblem.g:1619:1: ( ( rule__ReferenceDeclaration__MultiplicityAssignment_2_1 ) )
5190 {
5191 // InternalProblem.g:1619:1: ( ( rule__ReferenceDeclaration__MultiplicityAssignment_2_1 ) )
5192 // InternalProblem.g:1620:2: ( rule__ReferenceDeclaration__MultiplicityAssignment_2_1 )
5193 {
5194 before(grammarAccess.getReferenceDeclarationAccess().getMultiplicityAssignment_2_1());
5195 // InternalProblem.g:1621:2: ( rule__ReferenceDeclaration__MultiplicityAssignment_2_1 )
5196 // InternalProblem.g:1621:3: rule__ReferenceDeclaration__MultiplicityAssignment_2_1
4584 { 5197 {
4585 pushFollow(FOLLOW_2); 5198 pushFollow(FOLLOW_2);
4586 rule__ReferenceDeclaration__Group__6__Impl(); 5199 rule__ReferenceDeclaration__MultiplicityAssignment_2_1();
4587 5200
4588 state._fsp--; 5201 state._fsp--;
4589 5202
4590 5203
4591 } 5204 }
4592 5205
5206 after(grammarAccess.getReferenceDeclarationAccess().getMultiplicityAssignment_2_1());
5207
5208 }
5209
5210
5211 }
5212
4593 } 5213 }
4594 catch (RecognitionException re) { 5214 catch (RecognitionException re) {
4595 reportError(re); 5215 reportError(re);
@@ -4602,46 +5222,58 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4602 } 5222 }
4603 return ; 5223 return ;
4604 } 5224 }
4605 // $ANTLR end "rule__ReferenceDeclaration__Group__6" 5225 // $ANTLR end "rule__ReferenceDeclaration__Group_2__1__Impl"
4606 5226
4607 5227
4608 // $ANTLR start "rule__ReferenceDeclaration__Group__6__Impl" 5228 // $ANTLR start "rule__ReferenceDeclaration__Group_2__2"
4609 // InternalProblem.g:1436:1: rule__ReferenceDeclaration__Group__6__Impl : ( ( rule__ReferenceDeclaration__Group_6__0 )? ) ; 5229 // InternalProblem.g:1629:1: rule__ReferenceDeclaration__Group_2__2 : rule__ReferenceDeclaration__Group_2__2__Impl ;
4610 public final void rule__ReferenceDeclaration__Group__6__Impl() throws RecognitionException { 5230 public final void rule__ReferenceDeclaration__Group_2__2() throws RecognitionException {
4611 5231
4612 int stackSize = keepStackSize(); 5232 int stackSize = keepStackSize();
4613 5233
4614 try { 5234 try {
4615 // InternalProblem.g:1440:1: ( ( ( rule__ReferenceDeclaration__Group_6__0 )? ) ) 5235 // InternalProblem.g:1633:1: ( rule__ReferenceDeclaration__Group_2__2__Impl )
4616 // InternalProblem.g:1441:1: ( ( rule__ReferenceDeclaration__Group_6__0 )? ) 5236 // InternalProblem.g:1634:2: rule__ReferenceDeclaration__Group_2__2__Impl
4617 {
4618 // InternalProblem.g:1441:1: ( ( rule__ReferenceDeclaration__Group_6__0 )? )
4619 // InternalProblem.g:1442:2: ( rule__ReferenceDeclaration__Group_6__0 )?
4620 { 5237 {
4621 before(grammarAccess.getReferenceDeclarationAccess().getGroup_6()); 5238 pushFollow(FOLLOW_2);
4622 // InternalProblem.g:1443:2: ( rule__ReferenceDeclaration__Group_6__0 )? 5239 rule__ReferenceDeclaration__Group_2__2__Impl();
4623 int alt19=2; 5240
4624 int LA19_0 = input.LA(1); 5241 state._fsp--;
5242
4625 5243
4626 if ( (LA19_0==26) ) {
4627 alt19=1;
4628 } 5244 }
4629 switch (alt19) {
4630 case 1 :
4631 // InternalProblem.g:1443:3: rule__ReferenceDeclaration__Group_6__0
4632 {
4633 pushFollow(FOLLOW_2);
4634 rule__ReferenceDeclaration__Group_6__0();
4635 5245
4636 state._fsp--; 5246 }
5247 catch (RecognitionException re) {
5248 reportError(re);
5249 recover(input,re);
5250 }
5251 finally {
4637 5252
5253 restoreStackSize(stackSize);
4638 5254
4639 } 5255 }
4640 break; 5256 return ;
5257 }
5258 // $ANTLR end "rule__ReferenceDeclaration__Group_2__2"
4641 5259
4642 }
4643 5260
4644 after(grammarAccess.getReferenceDeclarationAccess().getGroup_6()); 5261 // $ANTLR start "rule__ReferenceDeclaration__Group_2__2__Impl"
5262 // InternalProblem.g:1640:1: rule__ReferenceDeclaration__Group_2__2__Impl : ( ']' ) ;
5263 public final void rule__ReferenceDeclaration__Group_2__2__Impl() throws RecognitionException {
5264
5265 int stackSize = keepStackSize();
5266
5267 try {
5268 // InternalProblem.g:1644:1: ( ( ']' ) )
5269 // InternalProblem.g:1645:1: ( ']' )
5270 {
5271 // InternalProblem.g:1645:1: ( ']' )
5272 // InternalProblem.g:1646:2: ']'
5273 {
5274 before(grammarAccess.getReferenceDeclarationAccess().getRightSquareBracketKeyword_2_2());
5275 match(input,30,FOLLOW_2);
5276 after(grammarAccess.getReferenceDeclarationAccess().getRightSquareBracketKeyword_2_2());
4645 5277
4646 } 5278 }
4647 5279
@@ -4660,26 +5292,26 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4660 } 5292 }
4661 return ; 5293 return ;
4662 } 5294 }
4663 // $ANTLR end "rule__ReferenceDeclaration__Group__6__Impl" 5295 // $ANTLR end "rule__ReferenceDeclaration__Group_2__2__Impl"
4664 5296
4665 5297
4666 // $ANTLR start "rule__ReferenceDeclaration__Group_6__0" 5298 // $ANTLR start "rule__ReferenceDeclaration__Group_4__0"
4667 // InternalProblem.g:1452:1: rule__ReferenceDeclaration__Group_6__0 : rule__ReferenceDeclaration__Group_6__0__Impl rule__ReferenceDeclaration__Group_6__1 ; 5299 // InternalProblem.g:1656:1: rule__ReferenceDeclaration__Group_4__0 : rule__ReferenceDeclaration__Group_4__0__Impl rule__ReferenceDeclaration__Group_4__1 ;
4668 public final void rule__ReferenceDeclaration__Group_6__0() throws RecognitionException { 5300 public final void rule__ReferenceDeclaration__Group_4__0() throws RecognitionException {
4669 5301
4670 int stackSize = keepStackSize(); 5302 int stackSize = keepStackSize();
4671 5303
4672 try { 5304 try {
4673 // InternalProblem.g:1456:1: ( rule__ReferenceDeclaration__Group_6__0__Impl rule__ReferenceDeclaration__Group_6__1 ) 5305 // InternalProblem.g:1660:1: ( rule__ReferenceDeclaration__Group_4__0__Impl rule__ReferenceDeclaration__Group_4__1 )
4674 // InternalProblem.g:1457:2: rule__ReferenceDeclaration__Group_6__0__Impl rule__ReferenceDeclaration__Group_6__1 5306 // InternalProblem.g:1661:2: rule__ReferenceDeclaration__Group_4__0__Impl rule__ReferenceDeclaration__Group_4__1
4675 { 5307 {
4676 pushFollow(FOLLOW_5); 5308 pushFollow(FOLLOW_9);
4677 rule__ReferenceDeclaration__Group_6__0__Impl(); 5309 rule__ReferenceDeclaration__Group_4__0__Impl();
4678 5310
4679 state._fsp--; 5311 state._fsp--;
4680 5312
4681 pushFollow(FOLLOW_2); 5313 pushFollow(FOLLOW_2);
4682 rule__ReferenceDeclaration__Group_6__1(); 5314 rule__ReferenceDeclaration__Group_4__1();
4683 5315
4684 state._fsp--; 5316 state._fsp--;
4685 5317
@@ -4698,25 +5330,25 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4698 } 5330 }
4699 return ; 5331 return ;
4700 } 5332 }
4701 // $ANTLR end "rule__ReferenceDeclaration__Group_6__0" 5333 // $ANTLR end "rule__ReferenceDeclaration__Group_4__0"
4702 5334
4703 5335
4704 // $ANTLR start "rule__ReferenceDeclaration__Group_6__0__Impl" 5336 // $ANTLR start "rule__ReferenceDeclaration__Group_4__0__Impl"
4705 // InternalProblem.g:1464:1: rule__ReferenceDeclaration__Group_6__0__Impl : ( 'opposite' ) ; 5337 // InternalProblem.g:1668:1: rule__ReferenceDeclaration__Group_4__0__Impl : ( 'opposite' ) ;
4706 public final void rule__ReferenceDeclaration__Group_6__0__Impl() throws RecognitionException { 5338 public final void rule__ReferenceDeclaration__Group_4__0__Impl() throws RecognitionException {
4707 5339
4708 int stackSize = keepStackSize(); 5340 int stackSize = keepStackSize();
4709 5341
4710 try { 5342 try {
4711 // InternalProblem.g:1468:1: ( ( 'opposite' ) ) 5343 // InternalProblem.g:1672:1: ( ( 'opposite' ) )
4712 // InternalProblem.g:1469:1: ( 'opposite' ) 5344 // InternalProblem.g:1673:1: ( 'opposite' )
4713 { 5345 {
4714 // InternalProblem.g:1469:1: ( 'opposite' ) 5346 // InternalProblem.g:1673:1: ( 'opposite' )
4715 // InternalProblem.g:1470:2: 'opposite' 5347 // InternalProblem.g:1674:2: 'opposite'
4716 { 5348 {
4717 before(grammarAccess.getReferenceDeclarationAccess().getOppositeKeyword_6_0()); 5349 before(grammarAccess.getReferenceDeclarationAccess().getOppositeKeyword_4_0());
4718 match(input,26,FOLLOW_2); 5350 match(input,31,FOLLOW_2);
4719 after(grammarAccess.getReferenceDeclarationAccess().getOppositeKeyword_6_0()); 5351 after(grammarAccess.getReferenceDeclarationAccess().getOppositeKeyword_4_0());
4720 5352
4721 } 5353 }
4722 5354
@@ -4735,21 +5367,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4735 } 5367 }
4736 return ; 5368 return ;
4737 } 5369 }
4738 // $ANTLR end "rule__ReferenceDeclaration__Group_6__0__Impl" 5370 // $ANTLR end "rule__ReferenceDeclaration__Group_4__0__Impl"
4739 5371
4740 5372
4741 // $ANTLR start "rule__ReferenceDeclaration__Group_6__1" 5373 // $ANTLR start "rule__ReferenceDeclaration__Group_4__1"
4742 // InternalProblem.g:1479:1: rule__ReferenceDeclaration__Group_6__1 : rule__ReferenceDeclaration__Group_6__1__Impl ; 5374 // InternalProblem.g:1683:1: rule__ReferenceDeclaration__Group_4__1 : rule__ReferenceDeclaration__Group_4__1__Impl ;
4743 public final void rule__ReferenceDeclaration__Group_6__1() throws RecognitionException { 5375 public final void rule__ReferenceDeclaration__Group_4__1() throws RecognitionException {
4744 5376
4745 int stackSize = keepStackSize(); 5377 int stackSize = keepStackSize();
4746 5378
4747 try { 5379 try {
4748 // InternalProblem.g:1483:1: ( rule__ReferenceDeclaration__Group_6__1__Impl ) 5380 // InternalProblem.g:1687:1: ( rule__ReferenceDeclaration__Group_4__1__Impl )
4749 // InternalProblem.g:1484:2: rule__ReferenceDeclaration__Group_6__1__Impl 5381 // InternalProblem.g:1688:2: rule__ReferenceDeclaration__Group_4__1__Impl
4750 { 5382 {
4751 pushFollow(FOLLOW_2); 5383 pushFollow(FOLLOW_2);
4752 rule__ReferenceDeclaration__Group_6__1__Impl(); 5384 rule__ReferenceDeclaration__Group_4__1__Impl();
4753 5385
4754 state._fsp--; 5386 state._fsp--;
4755 5387
@@ -4768,35 +5400,35 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4768 } 5400 }
4769 return ; 5401 return ;
4770 } 5402 }
4771 // $ANTLR end "rule__ReferenceDeclaration__Group_6__1" 5403 // $ANTLR end "rule__ReferenceDeclaration__Group_4__1"
4772 5404
4773 5405
4774 // $ANTLR start "rule__ReferenceDeclaration__Group_6__1__Impl" 5406 // $ANTLR start "rule__ReferenceDeclaration__Group_4__1__Impl"
4775 // InternalProblem.g:1490:1: rule__ReferenceDeclaration__Group_6__1__Impl : ( ( rule__ReferenceDeclaration__OppositeAssignment_6_1 ) ) ; 5407 // InternalProblem.g:1694:1: rule__ReferenceDeclaration__Group_4__1__Impl : ( ( rule__ReferenceDeclaration__OppositeAssignment_4_1 ) ) ;
4776 public final void rule__ReferenceDeclaration__Group_6__1__Impl() throws RecognitionException { 5408 public final void rule__ReferenceDeclaration__Group_4__1__Impl() throws RecognitionException {
4777 5409
4778 int stackSize = keepStackSize(); 5410 int stackSize = keepStackSize();
4779 5411
4780 try { 5412 try {
4781 // InternalProblem.g:1494:1: ( ( ( rule__ReferenceDeclaration__OppositeAssignment_6_1 ) ) ) 5413 // InternalProblem.g:1698:1: ( ( ( rule__ReferenceDeclaration__OppositeAssignment_4_1 ) ) )
4782 // InternalProblem.g:1495:1: ( ( rule__ReferenceDeclaration__OppositeAssignment_6_1 ) ) 5414 // InternalProblem.g:1699:1: ( ( rule__ReferenceDeclaration__OppositeAssignment_4_1 ) )
4783 { 5415 {
4784 // InternalProblem.g:1495:1: ( ( rule__ReferenceDeclaration__OppositeAssignment_6_1 ) ) 5416 // InternalProblem.g:1699:1: ( ( rule__ReferenceDeclaration__OppositeAssignment_4_1 ) )
4785 // InternalProblem.g:1496:2: ( rule__ReferenceDeclaration__OppositeAssignment_6_1 ) 5417 // InternalProblem.g:1700:2: ( rule__ReferenceDeclaration__OppositeAssignment_4_1 )
4786 { 5418 {
4787 before(grammarAccess.getReferenceDeclarationAccess().getOppositeAssignment_6_1()); 5419 before(grammarAccess.getReferenceDeclarationAccess().getOppositeAssignment_4_1());
4788 // InternalProblem.g:1497:2: ( rule__ReferenceDeclaration__OppositeAssignment_6_1 ) 5420 // InternalProblem.g:1701:2: ( rule__ReferenceDeclaration__OppositeAssignment_4_1 )
4789 // InternalProblem.g:1497:3: rule__ReferenceDeclaration__OppositeAssignment_6_1 5421 // InternalProblem.g:1701:3: rule__ReferenceDeclaration__OppositeAssignment_4_1
4790 { 5422 {
4791 pushFollow(FOLLOW_2); 5423 pushFollow(FOLLOW_2);
4792 rule__ReferenceDeclaration__OppositeAssignment_6_1(); 5424 rule__ReferenceDeclaration__OppositeAssignment_4_1();
4793 5425
4794 state._fsp--; 5426 state._fsp--;
4795 5427
4796 5428
4797 } 5429 }
4798 5430
4799 after(grammarAccess.getReferenceDeclarationAccess().getOppositeAssignment_6_1()); 5431 after(grammarAccess.getReferenceDeclarationAccess().getOppositeAssignment_4_1());
4800 5432
4801 } 5433 }
4802 5434
@@ -4815,18 +5447,18 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4815 } 5447 }
4816 return ; 5448 return ;
4817 } 5449 }
4818 // $ANTLR end "rule__ReferenceDeclaration__Group_6__1__Impl" 5450 // $ANTLR end "rule__ReferenceDeclaration__Group_4__1__Impl"
4819 5451
4820 5452
4821 // $ANTLR start "rule__PredicateDefinition__Group__0" 5453 // $ANTLR start "rule__PredicateDefinition__Group__0"
4822 // InternalProblem.g:1506:1: rule__PredicateDefinition__Group__0 : rule__PredicateDefinition__Group__0__Impl rule__PredicateDefinition__Group__1 ; 5454 // InternalProblem.g:1710:1: rule__PredicateDefinition__Group__0 : rule__PredicateDefinition__Group__0__Impl rule__PredicateDefinition__Group__1 ;
4823 public final void rule__PredicateDefinition__Group__0() throws RecognitionException { 5455 public final void rule__PredicateDefinition__Group__0() throws RecognitionException {
4824 5456
4825 int stackSize = keepStackSize(); 5457 int stackSize = keepStackSize();
4826 5458
4827 try { 5459 try {
4828 // InternalProblem.g:1510:1: ( rule__PredicateDefinition__Group__0__Impl rule__PredicateDefinition__Group__1 ) 5460 // InternalProblem.g:1714:1: ( rule__PredicateDefinition__Group__0__Impl rule__PredicateDefinition__Group__1 )
4829 // InternalProblem.g:1511:2: rule__PredicateDefinition__Group__0__Impl rule__PredicateDefinition__Group__1 5461 // InternalProblem.g:1715:2: rule__PredicateDefinition__Group__0__Impl rule__PredicateDefinition__Group__1
4830 { 5462 {
4831 pushFollow(FOLLOW_5); 5463 pushFollow(FOLLOW_5);
4832 rule__PredicateDefinition__Group__0__Impl(); 5464 rule__PredicateDefinition__Group__0__Impl();
@@ -4857,21 +5489,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4857 5489
4858 5490
4859 // $ANTLR start "rule__PredicateDefinition__Group__0__Impl" 5491 // $ANTLR start "rule__PredicateDefinition__Group__0__Impl"
4860 // InternalProblem.g:1518:1: rule__PredicateDefinition__Group__0__Impl : ( ( rule__PredicateDefinition__Alternatives_0 ) ) ; 5492 // InternalProblem.g:1722:1: rule__PredicateDefinition__Group__0__Impl : ( ( rule__PredicateDefinition__Alternatives_0 ) ) ;
4861 public final void rule__PredicateDefinition__Group__0__Impl() throws RecognitionException { 5493 public final void rule__PredicateDefinition__Group__0__Impl() throws RecognitionException {
4862 5494
4863 int stackSize = keepStackSize(); 5495 int stackSize = keepStackSize();
4864 5496
4865 try { 5497 try {
4866 // InternalProblem.g:1522:1: ( ( ( rule__PredicateDefinition__Alternatives_0 ) ) ) 5498 // InternalProblem.g:1726:1: ( ( ( rule__PredicateDefinition__Alternatives_0 ) ) )
4867 // InternalProblem.g:1523:1: ( ( rule__PredicateDefinition__Alternatives_0 ) ) 5499 // InternalProblem.g:1727:1: ( ( rule__PredicateDefinition__Alternatives_0 ) )
4868 { 5500 {
4869 // InternalProblem.g:1523:1: ( ( rule__PredicateDefinition__Alternatives_0 ) ) 5501 // InternalProblem.g:1727:1: ( ( rule__PredicateDefinition__Alternatives_0 ) )
4870 // InternalProblem.g:1524:2: ( rule__PredicateDefinition__Alternatives_0 ) 5502 // InternalProblem.g:1728:2: ( rule__PredicateDefinition__Alternatives_0 )
4871 { 5503 {
4872 before(grammarAccess.getPredicateDefinitionAccess().getAlternatives_0()); 5504 before(grammarAccess.getPredicateDefinitionAccess().getAlternatives_0());
4873 // InternalProblem.g:1525:2: ( rule__PredicateDefinition__Alternatives_0 ) 5505 // InternalProblem.g:1729:2: ( rule__PredicateDefinition__Alternatives_0 )
4874 // InternalProblem.g:1525:3: rule__PredicateDefinition__Alternatives_0 5506 // InternalProblem.g:1729:3: rule__PredicateDefinition__Alternatives_0
4875 { 5507 {
4876 pushFollow(FOLLOW_2); 5508 pushFollow(FOLLOW_2);
4877 rule__PredicateDefinition__Alternatives_0(); 5509 rule__PredicateDefinition__Alternatives_0();
@@ -4904,16 +5536,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4904 5536
4905 5537
4906 // $ANTLR start "rule__PredicateDefinition__Group__1" 5538 // $ANTLR start "rule__PredicateDefinition__Group__1"
4907 // InternalProblem.g:1533:1: rule__PredicateDefinition__Group__1 : rule__PredicateDefinition__Group__1__Impl rule__PredicateDefinition__Group__2 ; 5539 // InternalProblem.g:1737:1: rule__PredicateDefinition__Group__1 : rule__PredicateDefinition__Group__1__Impl rule__PredicateDefinition__Group__2 ;
4908 public final void rule__PredicateDefinition__Group__1() throws RecognitionException { 5540 public final void rule__PredicateDefinition__Group__1() throws RecognitionException {
4909 5541
4910 int stackSize = keepStackSize(); 5542 int stackSize = keepStackSize();
4911 5543
4912 try { 5544 try {
4913 // InternalProblem.g:1537:1: ( rule__PredicateDefinition__Group__1__Impl rule__PredicateDefinition__Group__2 ) 5545 // InternalProblem.g:1741:1: ( rule__PredicateDefinition__Group__1__Impl rule__PredicateDefinition__Group__2 )
4914 // InternalProblem.g:1538:2: rule__PredicateDefinition__Group__1__Impl rule__PredicateDefinition__Group__2 5546 // InternalProblem.g:1742:2: rule__PredicateDefinition__Group__1__Impl rule__PredicateDefinition__Group__2
4915 { 5547 {
4916 pushFollow(FOLLOW_16); 5548 pushFollow(FOLLOW_19);
4917 rule__PredicateDefinition__Group__1__Impl(); 5549 rule__PredicateDefinition__Group__1__Impl();
4918 5550
4919 state._fsp--; 5551 state._fsp--;
@@ -4942,21 +5574,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4942 5574
4943 5575
4944 // $ANTLR start "rule__PredicateDefinition__Group__1__Impl" 5576 // $ANTLR start "rule__PredicateDefinition__Group__1__Impl"
4945 // InternalProblem.g:1545:1: rule__PredicateDefinition__Group__1__Impl : ( ( rule__PredicateDefinition__NameAssignment_1 ) ) ; 5577 // InternalProblem.g:1749:1: rule__PredicateDefinition__Group__1__Impl : ( ( rule__PredicateDefinition__NameAssignment_1 ) ) ;
4946 public final void rule__PredicateDefinition__Group__1__Impl() throws RecognitionException { 5578 public final void rule__PredicateDefinition__Group__1__Impl() throws RecognitionException {
4947 5579
4948 int stackSize = keepStackSize(); 5580 int stackSize = keepStackSize();
4949 5581
4950 try { 5582 try {
4951 // InternalProblem.g:1549:1: ( ( ( rule__PredicateDefinition__NameAssignment_1 ) ) ) 5583 // InternalProblem.g:1753:1: ( ( ( rule__PredicateDefinition__NameAssignment_1 ) ) )
4952 // InternalProblem.g:1550:1: ( ( rule__PredicateDefinition__NameAssignment_1 ) ) 5584 // InternalProblem.g:1754:1: ( ( rule__PredicateDefinition__NameAssignment_1 ) )
4953 { 5585 {
4954 // InternalProblem.g:1550:1: ( ( rule__PredicateDefinition__NameAssignment_1 ) ) 5586 // InternalProblem.g:1754:1: ( ( rule__PredicateDefinition__NameAssignment_1 ) )
4955 // InternalProblem.g:1551:2: ( rule__PredicateDefinition__NameAssignment_1 ) 5587 // InternalProblem.g:1755:2: ( rule__PredicateDefinition__NameAssignment_1 )
4956 { 5588 {
4957 before(grammarAccess.getPredicateDefinitionAccess().getNameAssignment_1()); 5589 before(grammarAccess.getPredicateDefinitionAccess().getNameAssignment_1());
4958 // InternalProblem.g:1552:2: ( rule__PredicateDefinition__NameAssignment_1 ) 5590 // InternalProblem.g:1756:2: ( rule__PredicateDefinition__NameAssignment_1 )
4959 // InternalProblem.g:1552:3: rule__PredicateDefinition__NameAssignment_1 5591 // InternalProblem.g:1756:3: rule__PredicateDefinition__NameAssignment_1
4960 { 5592 {
4961 pushFollow(FOLLOW_2); 5593 pushFollow(FOLLOW_2);
4962 rule__PredicateDefinition__NameAssignment_1(); 5594 rule__PredicateDefinition__NameAssignment_1();
@@ -4989,16 +5621,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4989 5621
4990 5622
4991 // $ANTLR start "rule__PredicateDefinition__Group__2" 5623 // $ANTLR start "rule__PredicateDefinition__Group__2"
4992 // InternalProblem.g:1560:1: rule__PredicateDefinition__Group__2 : rule__PredicateDefinition__Group__2__Impl rule__PredicateDefinition__Group__3 ; 5624 // InternalProblem.g:1764:1: rule__PredicateDefinition__Group__2 : rule__PredicateDefinition__Group__2__Impl rule__PredicateDefinition__Group__3 ;
4993 public final void rule__PredicateDefinition__Group__2() throws RecognitionException { 5625 public final void rule__PredicateDefinition__Group__2() throws RecognitionException {
4994 5626
4995 int stackSize = keepStackSize(); 5627 int stackSize = keepStackSize();
4996 5628
4997 try { 5629 try {
4998 // InternalProblem.g:1564:1: ( rule__PredicateDefinition__Group__2__Impl rule__PredicateDefinition__Group__3 ) 5630 // InternalProblem.g:1768:1: ( rule__PredicateDefinition__Group__2__Impl rule__PredicateDefinition__Group__3 )
4999 // InternalProblem.g:1565:2: rule__PredicateDefinition__Group__2__Impl rule__PredicateDefinition__Group__3 5631 // InternalProblem.g:1769:2: rule__PredicateDefinition__Group__2__Impl rule__PredicateDefinition__Group__3
5000 { 5632 {
5001 pushFollow(FOLLOW_17); 5633 pushFollow(FOLLOW_20);
5002 rule__PredicateDefinition__Group__2__Impl(); 5634 rule__PredicateDefinition__Group__2__Impl();
5003 5635
5004 state._fsp--; 5636 state._fsp--;
@@ -5027,20 +5659,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5027 5659
5028 5660
5029 // $ANTLR start "rule__PredicateDefinition__Group__2__Impl" 5661 // $ANTLR start "rule__PredicateDefinition__Group__2__Impl"
5030 // InternalProblem.g:1572:1: rule__PredicateDefinition__Group__2__Impl : ( '(' ) ; 5662 // InternalProblem.g:1776:1: rule__PredicateDefinition__Group__2__Impl : ( '(' ) ;
5031 public final void rule__PredicateDefinition__Group__2__Impl() throws RecognitionException { 5663 public final void rule__PredicateDefinition__Group__2__Impl() throws RecognitionException {
5032 5664
5033 int stackSize = keepStackSize(); 5665 int stackSize = keepStackSize();
5034 5666
5035 try { 5667 try {
5036 // InternalProblem.g:1576:1: ( ( '(' ) ) 5668 // InternalProblem.g:1780:1: ( ( '(' ) )
5037 // InternalProblem.g:1577:1: ( '(' ) 5669 // InternalProblem.g:1781:1: ( '(' )
5038 { 5670 {
5039 // InternalProblem.g:1577:1: ( '(' ) 5671 // InternalProblem.g:1781:1: ( '(' )
5040 // InternalProblem.g:1578:2: '(' 5672 // InternalProblem.g:1782:2: '('
5041 { 5673 {
5042 before(grammarAccess.getPredicateDefinitionAccess().getLeftParenthesisKeyword_2()); 5674 before(grammarAccess.getPredicateDefinitionAccess().getLeftParenthesisKeyword_2());
5043 match(input,27,FOLLOW_2); 5675 match(input,32,FOLLOW_2);
5044 after(grammarAccess.getPredicateDefinitionAccess().getLeftParenthesisKeyword_2()); 5676 after(grammarAccess.getPredicateDefinitionAccess().getLeftParenthesisKeyword_2());
5045 5677
5046 } 5678 }
@@ -5064,16 +5696,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5064 5696
5065 5697
5066 // $ANTLR start "rule__PredicateDefinition__Group__3" 5698 // $ANTLR start "rule__PredicateDefinition__Group__3"
5067 // InternalProblem.g:1587:1: rule__PredicateDefinition__Group__3 : rule__PredicateDefinition__Group__3__Impl rule__PredicateDefinition__Group__4 ; 5699 // InternalProblem.g:1791:1: rule__PredicateDefinition__Group__3 : rule__PredicateDefinition__Group__3__Impl rule__PredicateDefinition__Group__4 ;
5068 public final void rule__PredicateDefinition__Group__3() throws RecognitionException { 5700 public final void rule__PredicateDefinition__Group__3() throws RecognitionException {
5069 5701
5070 int stackSize = keepStackSize(); 5702 int stackSize = keepStackSize();
5071 5703
5072 try { 5704 try {
5073 // InternalProblem.g:1591:1: ( rule__PredicateDefinition__Group__3__Impl rule__PredicateDefinition__Group__4 ) 5705 // InternalProblem.g:1795:1: ( rule__PredicateDefinition__Group__3__Impl rule__PredicateDefinition__Group__4 )
5074 // InternalProblem.g:1592:2: rule__PredicateDefinition__Group__3__Impl rule__PredicateDefinition__Group__4 5706 // InternalProblem.g:1796:2: rule__PredicateDefinition__Group__3__Impl rule__PredicateDefinition__Group__4
5075 { 5707 {
5076 pushFollow(FOLLOW_17); 5708 pushFollow(FOLLOW_20);
5077 rule__PredicateDefinition__Group__3__Impl(); 5709 rule__PredicateDefinition__Group__3__Impl();
5078 5710
5079 state._fsp--; 5711 state._fsp--;
@@ -5102,29 +5734,29 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5102 5734
5103 5735
5104 // $ANTLR start "rule__PredicateDefinition__Group__3__Impl" 5736 // $ANTLR start "rule__PredicateDefinition__Group__3__Impl"
5105 // InternalProblem.g:1599:1: rule__PredicateDefinition__Group__3__Impl : ( ( rule__PredicateDefinition__Group_3__0 )? ) ; 5737 // InternalProblem.g:1803:1: rule__PredicateDefinition__Group__3__Impl : ( ( rule__PredicateDefinition__Group_3__0 )? ) ;
5106 public final void rule__PredicateDefinition__Group__3__Impl() throws RecognitionException { 5738 public final void rule__PredicateDefinition__Group__3__Impl() throws RecognitionException {
5107 5739
5108 int stackSize = keepStackSize(); 5740 int stackSize = keepStackSize();
5109 5741
5110 try { 5742 try {
5111 // InternalProblem.g:1603:1: ( ( ( rule__PredicateDefinition__Group_3__0 )? ) ) 5743 // InternalProblem.g:1807:1: ( ( ( rule__PredicateDefinition__Group_3__0 )? ) )
5112 // InternalProblem.g:1604:1: ( ( rule__PredicateDefinition__Group_3__0 )? ) 5744 // InternalProblem.g:1808:1: ( ( rule__PredicateDefinition__Group_3__0 )? )
5113 { 5745 {
5114 // InternalProblem.g:1604:1: ( ( rule__PredicateDefinition__Group_3__0 )? ) 5746 // InternalProblem.g:1808:1: ( ( rule__PredicateDefinition__Group_3__0 )? )
5115 // InternalProblem.g:1605:2: ( rule__PredicateDefinition__Group_3__0 )? 5747 // InternalProblem.g:1809:2: ( rule__PredicateDefinition__Group_3__0 )?
5116 { 5748 {
5117 before(grammarAccess.getPredicateDefinitionAccess().getGroup_3()); 5749 before(grammarAccess.getPredicateDefinitionAccess().getGroup_3());
5118 // InternalProblem.g:1606:2: ( rule__PredicateDefinition__Group_3__0 )? 5750 // InternalProblem.g:1810:2: ( rule__PredicateDefinition__Group_3__0 )?
5119 int alt20=2; 5751 int alt23=2;
5120 int LA20_0 = input.LA(1); 5752 int LA23_0 = input.LA(1);
5121 5753
5122 if ( (LA20_0==RULE_ID) ) { 5754 if ( (LA23_0==RULE_ID) ) {
5123 alt20=1; 5755 alt23=1;
5124 } 5756 }
5125 switch (alt20) { 5757 switch (alt23) {
5126 case 1 : 5758 case 1 :
5127 // InternalProblem.g:1606:3: rule__PredicateDefinition__Group_3__0 5759 // InternalProblem.g:1810:3: rule__PredicateDefinition__Group_3__0
5128 { 5760 {
5129 pushFollow(FOLLOW_2); 5761 pushFollow(FOLLOW_2);
5130 rule__PredicateDefinition__Group_3__0(); 5762 rule__PredicateDefinition__Group_3__0();
@@ -5160,16 +5792,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5160 5792
5161 5793
5162 // $ANTLR start "rule__PredicateDefinition__Group__4" 5794 // $ANTLR start "rule__PredicateDefinition__Group__4"
5163 // InternalProblem.g:1614:1: rule__PredicateDefinition__Group__4 : rule__PredicateDefinition__Group__4__Impl rule__PredicateDefinition__Group__5 ; 5795 // InternalProblem.g:1818:1: rule__PredicateDefinition__Group__4 : rule__PredicateDefinition__Group__4__Impl rule__PredicateDefinition__Group__5 ;
5164 public final void rule__PredicateDefinition__Group__4() throws RecognitionException { 5796 public final void rule__PredicateDefinition__Group__4() throws RecognitionException {
5165 5797
5166 int stackSize = keepStackSize(); 5798 int stackSize = keepStackSize();
5167 5799
5168 try { 5800 try {
5169 // InternalProblem.g:1618:1: ( rule__PredicateDefinition__Group__4__Impl rule__PredicateDefinition__Group__5 ) 5801 // InternalProblem.g:1822:1: ( rule__PredicateDefinition__Group__4__Impl rule__PredicateDefinition__Group__5 )
5170 // InternalProblem.g:1619:2: rule__PredicateDefinition__Group__4__Impl rule__PredicateDefinition__Group__5 5802 // InternalProblem.g:1823:2: rule__PredicateDefinition__Group__4__Impl rule__PredicateDefinition__Group__5
5171 { 5803 {
5172 pushFollow(FOLLOW_18); 5804 pushFollow(FOLLOW_21);
5173 rule__PredicateDefinition__Group__4__Impl(); 5805 rule__PredicateDefinition__Group__4__Impl();
5174 5806
5175 state._fsp--; 5807 state._fsp--;
@@ -5198,20 +5830,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5198 5830
5199 5831
5200 // $ANTLR start "rule__PredicateDefinition__Group__4__Impl" 5832 // $ANTLR start "rule__PredicateDefinition__Group__4__Impl"
5201 // InternalProblem.g:1626:1: rule__PredicateDefinition__Group__4__Impl : ( ')' ) ; 5833 // InternalProblem.g:1830:1: rule__PredicateDefinition__Group__4__Impl : ( ')' ) ;
5202 public final void rule__PredicateDefinition__Group__4__Impl() throws RecognitionException { 5834 public final void rule__PredicateDefinition__Group__4__Impl() throws RecognitionException {
5203 5835
5204 int stackSize = keepStackSize(); 5836 int stackSize = keepStackSize();
5205 5837
5206 try { 5838 try {
5207 // InternalProblem.g:1630:1: ( ( ')' ) ) 5839 // InternalProblem.g:1834:1: ( ( ')' ) )
5208 // InternalProblem.g:1631:1: ( ')' ) 5840 // InternalProblem.g:1835:1: ( ')' )
5209 { 5841 {
5210 // InternalProblem.g:1631:1: ( ')' ) 5842 // InternalProblem.g:1835:1: ( ')' )
5211 // InternalProblem.g:1632:2: ')' 5843 // InternalProblem.g:1836:2: ')'
5212 { 5844 {
5213 before(grammarAccess.getPredicateDefinitionAccess().getRightParenthesisKeyword_4()); 5845 before(grammarAccess.getPredicateDefinitionAccess().getRightParenthesisKeyword_4());
5214 match(input,28,FOLLOW_2); 5846 match(input,33,FOLLOW_2);
5215 after(grammarAccess.getPredicateDefinitionAccess().getRightParenthesisKeyword_4()); 5847 after(grammarAccess.getPredicateDefinitionAccess().getRightParenthesisKeyword_4());
5216 5848
5217 } 5849 }
@@ -5235,16 +5867,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5235 5867
5236 5868
5237 // $ANTLR start "rule__PredicateDefinition__Group__5" 5869 // $ANTLR start "rule__PredicateDefinition__Group__5"
5238 // InternalProblem.g:1641:1: rule__PredicateDefinition__Group__5 : rule__PredicateDefinition__Group__5__Impl rule__PredicateDefinition__Group__6 ; 5870 // InternalProblem.g:1845:1: rule__PredicateDefinition__Group__5 : rule__PredicateDefinition__Group__5__Impl rule__PredicateDefinition__Group__6 ;
5239 public final void rule__PredicateDefinition__Group__5() throws RecognitionException { 5871 public final void rule__PredicateDefinition__Group__5() throws RecognitionException {
5240 5872
5241 int stackSize = keepStackSize(); 5873 int stackSize = keepStackSize();
5242 5874
5243 try { 5875 try {
5244 // InternalProblem.g:1645:1: ( rule__PredicateDefinition__Group__5__Impl rule__PredicateDefinition__Group__6 ) 5876 // InternalProblem.g:1849:1: ( rule__PredicateDefinition__Group__5__Impl rule__PredicateDefinition__Group__6 )
5245 // InternalProblem.g:1646:2: rule__PredicateDefinition__Group__5__Impl rule__PredicateDefinition__Group__6 5877 // InternalProblem.g:1850:2: rule__PredicateDefinition__Group__5__Impl rule__PredicateDefinition__Group__6
5246 { 5878 {
5247 pushFollow(FOLLOW_18); 5879 pushFollow(FOLLOW_21);
5248 rule__PredicateDefinition__Group__5__Impl(); 5880 rule__PredicateDefinition__Group__5__Impl();
5249 5881
5250 state._fsp--; 5882 state._fsp--;
@@ -5273,29 +5905,29 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5273 5905
5274 5906
5275 // $ANTLR start "rule__PredicateDefinition__Group__5__Impl" 5907 // $ANTLR start "rule__PredicateDefinition__Group__5__Impl"
5276 // InternalProblem.g:1653:1: rule__PredicateDefinition__Group__5__Impl : ( ( rule__PredicateDefinition__Group_5__0 )? ) ; 5908 // InternalProblem.g:1857:1: rule__PredicateDefinition__Group__5__Impl : ( ( rule__PredicateDefinition__Group_5__0 )? ) ;
5277 public final void rule__PredicateDefinition__Group__5__Impl() throws RecognitionException { 5909 public final void rule__PredicateDefinition__Group__5__Impl() throws RecognitionException {
5278 5910
5279 int stackSize = keepStackSize(); 5911 int stackSize = keepStackSize();
5280 5912
5281 try { 5913 try {
5282 // InternalProblem.g:1657:1: ( ( ( rule__PredicateDefinition__Group_5__0 )? ) ) 5914 // InternalProblem.g:1861:1: ( ( ( rule__PredicateDefinition__Group_5__0 )? ) )
5283 // InternalProblem.g:1658:1: ( ( rule__PredicateDefinition__Group_5__0 )? ) 5915 // InternalProblem.g:1862:1: ( ( rule__PredicateDefinition__Group_5__0 )? )
5284 { 5916 {
5285 // InternalProblem.g:1658:1: ( ( rule__PredicateDefinition__Group_5__0 )? ) 5917 // InternalProblem.g:1862:1: ( ( rule__PredicateDefinition__Group_5__0 )? )
5286 // InternalProblem.g:1659:2: ( rule__PredicateDefinition__Group_5__0 )? 5918 // InternalProblem.g:1863:2: ( rule__PredicateDefinition__Group_5__0 )?
5287 { 5919 {
5288 before(grammarAccess.getPredicateDefinitionAccess().getGroup_5()); 5920 before(grammarAccess.getPredicateDefinitionAccess().getGroup_5());
5289 // InternalProblem.g:1660:2: ( rule__PredicateDefinition__Group_5__0 )? 5921 // InternalProblem.g:1864:2: ( rule__PredicateDefinition__Group_5__0 )?
5290 int alt21=2; 5922 int alt24=2;
5291 int LA21_0 = input.LA(1); 5923 int LA24_0 = input.LA(1);
5292 5924
5293 if ( (LA21_0==29) ) { 5925 if ( (LA24_0==34) ) {
5294 alt21=1; 5926 alt24=1;
5295 } 5927 }
5296 switch (alt21) { 5928 switch (alt24) {
5297 case 1 : 5929 case 1 :
5298 // InternalProblem.g:1660:3: rule__PredicateDefinition__Group_5__0 5930 // InternalProblem.g:1864:3: rule__PredicateDefinition__Group_5__0
5299 { 5931 {
5300 pushFollow(FOLLOW_2); 5932 pushFollow(FOLLOW_2);
5301 rule__PredicateDefinition__Group_5__0(); 5933 rule__PredicateDefinition__Group_5__0();
@@ -5331,14 +5963,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5331 5963
5332 5964
5333 // $ANTLR start "rule__PredicateDefinition__Group__6" 5965 // $ANTLR start "rule__PredicateDefinition__Group__6"
5334 // InternalProblem.g:1668:1: rule__PredicateDefinition__Group__6 : rule__PredicateDefinition__Group__6__Impl ; 5966 // InternalProblem.g:1872:1: rule__PredicateDefinition__Group__6 : rule__PredicateDefinition__Group__6__Impl ;
5335 public final void rule__PredicateDefinition__Group__6() throws RecognitionException { 5967 public final void rule__PredicateDefinition__Group__6() throws RecognitionException {
5336 5968
5337 int stackSize = keepStackSize(); 5969 int stackSize = keepStackSize();
5338 5970
5339 try { 5971 try {
5340 // InternalProblem.g:1672:1: ( rule__PredicateDefinition__Group__6__Impl ) 5972 // InternalProblem.g:1876:1: ( rule__PredicateDefinition__Group__6__Impl )
5341 // InternalProblem.g:1673:2: rule__PredicateDefinition__Group__6__Impl 5973 // InternalProblem.g:1877:2: rule__PredicateDefinition__Group__6__Impl
5342 { 5974 {
5343 pushFollow(FOLLOW_2); 5975 pushFollow(FOLLOW_2);
5344 rule__PredicateDefinition__Group__6__Impl(); 5976 rule__PredicateDefinition__Group__6__Impl();
@@ -5364,20 +5996,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5364 5996
5365 5997
5366 // $ANTLR start "rule__PredicateDefinition__Group__6__Impl" 5998 // $ANTLR start "rule__PredicateDefinition__Group__6__Impl"
5367 // InternalProblem.g:1679:1: rule__PredicateDefinition__Group__6__Impl : ( '.' ) ; 5999 // InternalProblem.g:1883:1: rule__PredicateDefinition__Group__6__Impl : ( '.' ) ;
5368 public final void rule__PredicateDefinition__Group__6__Impl() throws RecognitionException { 6000 public final void rule__PredicateDefinition__Group__6__Impl() throws RecognitionException {
5369 6001
5370 int stackSize = keepStackSize(); 6002 int stackSize = keepStackSize();
5371 6003
5372 try { 6004 try {
5373 // InternalProblem.g:1683:1: ( ( '.' ) ) 6005 // InternalProblem.g:1887:1: ( ( '.' ) )
5374 // InternalProblem.g:1684:1: ( '.' ) 6006 // InternalProblem.g:1888:1: ( '.' )
5375 { 6007 {
5376 // InternalProblem.g:1684:1: ( '.' ) 6008 // InternalProblem.g:1888:1: ( '.' )
5377 // InternalProblem.g:1685:2: '.' 6009 // InternalProblem.g:1889:2: '.'
5378 { 6010 {
5379 before(grammarAccess.getPredicateDefinitionAccess().getFullStopKeyword_6()); 6011 before(grammarAccess.getPredicateDefinitionAccess().getFullStopKeyword_6());
5380 match(input,21,FOLLOW_2); 6012 match(input,12,FOLLOW_2);
5381 after(grammarAccess.getPredicateDefinitionAccess().getFullStopKeyword_6()); 6013 after(grammarAccess.getPredicateDefinitionAccess().getFullStopKeyword_6());
5382 6014
5383 } 6015 }
@@ -5401,16 +6033,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5401 6033
5402 6034
5403 // $ANTLR start "rule__PredicateDefinition__Group_0_0__0" 6035 // $ANTLR start "rule__PredicateDefinition__Group_0_0__0"
5404 // InternalProblem.g:1695:1: rule__PredicateDefinition__Group_0_0__0 : rule__PredicateDefinition__Group_0_0__0__Impl rule__PredicateDefinition__Group_0_0__1 ; 6036 // InternalProblem.g:1899:1: rule__PredicateDefinition__Group_0_0__0 : rule__PredicateDefinition__Group_0_0__0__Impl rule__PredicateDefinition__Group_0_0__1 ;
5405 public final void rule__PredicateDefinition__Group_0_0__0() throws RecognitionException { 6037 public final void rule__PredicateDefinition__Group_0_0__0() throws RecognitionException {
5406 6038
5407 int stackSize = keepStackSize(); 6039 int stackSize = keepStackSize();
5408 6040
5409 try { 6041 try {
5410 // InternalProblem.g:1699:1: ( rule__PredicateDefinition__Group_0_0__0__Impl rule__PredicateDefinition__Group_0_0__1 ) 6042 // InternalProblem.g:1903:1: ( rule__PredicateDefinition__Group_0_0__0__Impl rule__PredicateDefinition__Group_0_0__1 )
5411 // InternalProblem.g:1700:2: rule__PredicateDefinition__Group_0_0__0__Impl rule__PredicateDefinition__Group_0_0__1 6043 // InternalProblem.g:1904:2: rule__PredicateDefinition__Group_0_0__0__Impl rule__PredicateDefinition__Group_0_0__1
5412 { 6044 {
5413 pushFollow(FOLLOW_19); 6045 pushFollow(FOLLOW_22);
5414 rule__PredicateDefinition__Group_0_0__0__Impl(); 6046 rule__PredicateDefinition__Group_0_0__0__Impl();
5415 6047
5416 state._fsp--; 6048 state._fsp--;
@@ -5439,21 +6071,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5439 6071
5440 6072
5441 // $ANTLR start "rule__PredicateDefinition__Group_0_0__0__Impl" 6073 // $ANTLR start "rule__PredicateDefinition__Group_0_0__0__Impl"
5442 // InternalProblem.g:1707:1: rule__PredicateDefinition__Group_0_0__0__Impl : ( ( rule__PredicateDefinition__ErrorAssignment_0_0_0 ) ) ; 6074 // InternalProblem.g:1911:1: rule__PredicateDefinition__Group_0_0__0__Impl : ( ( rule__PredicateDefinition__ErrorAssignment_0_0_0 ) ) ;
5443 public final void rule__PredicateDefinition__Group_0_0__0__Impl() throws RecognitionException { 6075 public final void rule__PredicateDefinition__Group_0_0__0__Impl() throws RecognitionException {
5444 6076
5445 int stackSize = keepStackSize(); 6077 int stackSize = keepStackSize();
5446 6078
5447 try { 6079 try {
5448 // InternalProblem.g:1711:1: ( ( ( rule__PredicateDefinition__ErrorAssignment_0_0_0 ) ) ) 6080 // InternalProblem.g:1915:1: ( ( ( rule__PredicateDefinition__ErrorAssignment_0_0_0 ) ) )
5449 // InternalProblem.g:1712:1: ( ( rule__PredicateDefinition__ErrorAssignment_0_0_0 ) ) 6081 // InternalProblem.g:1916:1: ( ( rule__PredicateDefinition__ErrorAssignment_0_0_0 ) )
5450 { 6082 {
5451 // InternalProblem.g:1712:1: ( ( rule__PredicateDefinition__ErrorAssignment_0_0_0 ) ) 6083 // InternalProblem.g:1916:1: ( ( rule__PredicateDefinition__ErrorAssignment_0_0_0 ) )
5452 // InternalProblem.g:1713:2: ( rule__PredicateDefinition__ErrorAssignment_0_0_0 ) 6084 // InternalProblem.g:1917:2: ( rule__PredicateDefinition__ErrorAssignment_0_0_0 )
5453 { 6085 {
5454 before(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_0_0()); 6086 before(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_0_0());
5455 // InternalProblem.g:1714:2: ( rule__PredicateDefinition__ErrorAssignment_0_0_0 ) 6087 // InternalProblem.g:1918:2: ( rule__PredicateDefinition__ErrorAssignment_0_0_0 )
5456 // InternalProblem.g:1714:3: rule__PredicateDefinition__ErrorAssignment_0_0_0 6088 // InternalProblem.g:1918:3: rule__PredicateDefinition__ErrorAssignment_0_0_0
5457 { 6089 {
5458 pushFollow(FOLLOW_2); 6090 pushFollow(FOLLOW_2);
5459 rule__PredicateDefinition__ErrorAssignment_0_0_0(); 6091 rule__PredicateDefinition__ErrorAssignment_0_0_0();
@@ -5486,14 +6118,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5486 6118
5487 6119
5488 // $ANTLR start "rule__PredicateDefinition__Group_0_0__1" 6120 // $ANTLR start "rule__PredicateDefinition__Group_0_0__1"
5489 // InternalProblem.g:1722:1: rule__PredicateDefinition__Group_0_0__1 : rule__PredicateDefinition__Group_0_0__1__Impl ; 6121 // InternalProblem.g:1926:1: rule__PredicateDefinition__Group_0_0__1 : rule__PredicateDefinition__Group_0_0__1__Impl ;
5490 public final void rule__PredicateDefinition__Group_0_0__1() throws RecognitionException { 6122 public final void rule__PredicateDefinition__Group_0_0__1() throws RecognitionException {
5491 6123
5492 int stackSize = keepStackSize(); 6124 int stackSize = keepStackSize();
5493 6125
5494 try { 6126 try {
5495 // InternalProblem.g:1726:1: ( rule__PredicateDefinition__Group_0_0__1__Impl ) 6127 // InternalProblem.g:1930:1: ( rule__PredicateDefinition__Group_0_0__1__Impl )
5496 // InternalProblem.g:1727:2: rule__PredicateDefinition__Group_0_0__1__Impl 6128 // InternalProblem.g:1931:2: rule__PredicateDefinition__Group_0_0__1__Impl
5497 { 6129 {
5498 pushFollow(FOLLOW_2); 6130 pushFollow(FOLLOW_2);
5499 rule__PredicateDefinition__Group_0_0__1__Impl(); 6131 rule__PredicateDefinition__Group_0_0__1__Impl();
@@ -5519,31 +6151,31 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5519 6151
5520 6152
5521 // $ANTLR start "rule__PredicateDefinition__Group_0_0__1__Impl" 6153 // $ANTLR start "rule__PredicateDefinition__Group_0_0__1__Impl"
5522 // InternalProblem.g:1733:1: rule__PredicateDefinition__Group_0_0__1__Impl : ( ( 'pred' )? ) ; 6154 // InternalProblem.g:1937:1: rule__PredicateDefinition__Group_0_0__1__Impl : ( ( 'pred' )? ) ;
5523 public final void rule__PredicateDefinition__Group_0_0__1__Impl() throws RecognitionException { 6155 public final void rule__PredicateDefinition__Group_0_0__1__Impl() throws RecognitionException {
5524 6156
5525 int stackSize = keepStackSize(); 6157 int stackSize = keepStackSize();
5526 6158
5527 try { 6159 try {
5528 // InternalProblem.g:1737:1: ( ( ( 'pred' )? ) ) 6160 // InternalProblem.g:1941:1: ( ( ( 'pred' )? ) )
5529 // InternalProblem.g:1738:1: ( ( 'pred' )? ) 6161 // InternalProblem.g:1942:1: ( ( 'pred' )? )
5530 { 6162 {
5531 // InternalProblem.g:1738:1: ( ( 'pred' )? ) 6163 // InternalProblem.g:1942:1: ( ( 'pred' )? )
5532 // InternalProblem.g:1739:2: ( 'pred' )? 6164 // InternalProblem.g:1943:2: ( 'pred' )?
5533 { 6165 {
5534 before(grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_0_1()); 6166 before(grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_0_1());
5535 // InternalProblem.g:1740:2: ( 'pred' )? 6167 // InternalProblem.g:1944:2: ( 'pred' )?
5536 int alt22=2; 6168 int alt25=2;
5537 int LA22_0 = input.LA(1); 6169 int LA25_0 = input.LA(1);
5538 6170
5539 if ( (LA22_0==12) ) { 6171 if ( (LA25_0==14) ) {
5540 alt22=1; 6172 alt25=1;
5541 } 6173 }
5542 switch (alt22) { 6174 switch (alt25) {
5543 case 1 : 6175 case 1 :
5544 // InternalProblem.g:1740:3: 'pred' 6176 // InternalProblem.g:1944:3: 'pred'
5545 { 6177 {
5546 match(input,12,FOLLOW_2); 6178 match(input,14,FOLLOW_2);
5547 6179
5548 } 6180 }
5549 break; 6181 break;
@@ -5573,14 +6205,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5573 6205
5574 6206
5575 // $ANTLR start "rule__PredicateDefinition__Group_3__0" 6207 // $ANTLR start "rule__PredicateDefinition__Group_3__0"
5576 // InternalProblem.g:1749:1: rule__PredicateDefinition__Group_3__0 : rule__PredicateDefinition__Group_3__0__Impl rule__PredicateDefinition__Group_3__1 ; 6208 // InternalProblem.g:1953:1: rule__PredicateDefinition__Group_3__0 : rule__PredicateDefinition__Group_3__0__Impl rule__PredicateDefinition__Group_3__1 ;
5577 public final void rule__PredicateDefinition__Group_3__0() throws RecognitionException { 6209 public final void rule__PredicateDefinition__Group_3__0() throws RecognitionException {
5578 6210
5579 int stackSize = keepStackSize(); 6211 int stackSize = keepStackSize();
5580 6212
5581 try { 6213 try {
5582 // InternalProblem.g:1753:1: ( rule__PredicateDefinition__Group_3__0__Impl rule__PredicateDefinition__Group_3__1 ) 6214 // InternalProblem.g:1957:1: ( rule__PredicateDefinition__Group_3__0__Impl rule__PredicateDefinition__Group_3__1 )
5583 // InternalProblem.g:1754:2: rule__PredicateDefinition__Group_3__0__Impl rule__PredicateDefinition__Group_3__1 6215 // InternalProblem.g:1958:2: rule__PredicateDefinition__Group_3__0__Impl rule__PredicateDefinition__Group_3__1
5584 { 6216 {
5585 pushFollow(FOLLOW_10); 6217 pushFollow(FOLLOW_10);
5586 rule__PredicateDefinition__Group_3__0__Impl(); 6218 rule__PredicateDefinition__Group_3__0__Impl();
@@ -5611,21 +6243,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5611 6243
5612 6244
5613 // $ANTLR start "rule__PredicateDefinition__Group_3__0__Impl" 6245 // $ANTLR start "rule__PredicateDefinition__Group_3__0__Impl"
5614 // InternalProblem.g:1761:1: rule__PredicateDefinition__Group_3__0__Impl : ( ( rule__PredicateDefinition__ParametersAssignment_3_0 ) ) ; 6246 // InternalProblem.g:1965:1: rule__PredicateDefinition__Group_3__0__Impl : ( ( rule__PredicateDefinition__ParametersAssignment_3_0 ) ) ;
5615 public final void rule__PredicateDefinition__Group_3__0__Impl() throws RecognitionException { 6247 public final void rule__PredicateDefinition__Group_3__0__Impl() throws RecognitionException {
5616 6248
5617 int stackSize = keepStackSize(); 6249 int stackSize = keepStackSize();
5618 6250
5619 try { 6251 try {
5620 // InternalProblem.g:1765:1: ( ( ( rule__PredicateDefinition__ParametersAssignment_3_0 ) ) ) 6252 // InternalProblem.g:1969:1: ( ( ( rule__PredicateDefinition__ParametersAssignment_3_0 ) ) )
5621 // InternalProblem.g:1766:1: ( ( rule__PredicateDefinition__ParametersAssignment_3_0 ) ) 6253 // InternalProblem.g:1970:1: ( ( rule__PredicateDefinition__ParametersAssignment_3_0 ) )
5622 { 6254 {
5623 // InternalProblem.g:1766:1: ( ( rule__PredicateDefinition__ParametersAssignment_3_0 ) ) 6255 // InternalProblem.g:1970:1: ( ( rule__PredicateDefinition__ParametersAssignment_3_0 ) )
5624 // InternalProblem.g:1767:2: ( rule__PredicateDefinition__ParametersAssignment_3_0 ) 6256 // InternalProblem.g:1971:2: ( rule__PredicateDefinition__ParametersAssignment_3_0 )
5625 { 6257 {
5626 before(grammarAccess.getPredicateDefinitionAccess().getParametersAssignment_3_0()); 6258 before(grammarAccess.getPredicateDefinitionAccess().getParametersAssignment_3_0());
5627 // InternalProblem.g:1768:2: ( rule__PredicateDefinition__ParametersAssignment_3_0 ) 6259 // InternalProblem.g:1972:2: ( rule__PredicateDefinition__ParametersAssignment_3_0 )
5628 // InternalProblem.g:1768:3: rule__PredicateDefinition__ParametersAssignment_3_0 6260 // InternalProblem.g:1972:3: rule__PredicateDefinition__ParametersAssignment_3_0
5629 { 6261 {
5630 pushFollow(FOLLOW_2); 6262 pushFollow(FOLLOW_2);
5631 rule__PredicateDefinition__ParametersAssignment_3_0(); 6263 rule__PredicateDefinition__ParametersAssignment_3_0();
@@ -5658,14 +6290,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5658 6290
5659 6291
5660 // $ANTLR start "rule__PredicateDefinition__Group_3__1" 6292 // $ANTLR start "rule__PredicateDefinition__Group_3__1"
5661 // InternalProblem.g:1776:1: rule__PredicateDefinition__Group_3__1 : rule__PredicateDefinition__Group_3__1__Impl ; 6293 // InternalProblem.g:1980:1: rule__PredicateDefinition__Group_3__1 : rule__PredicateDefinition__Group_3__1__Impl ;
5662 public final void rule__PredicateDefinition__Group_3__1() throws RecognitionException { 6294 public final void rule__PredicateDefinition__Group_3__1() throws RecognitionException {
5663 6295
5664 int stackSize = keepStackSize(); 6296 int stackSize = keepStackSize();
5665 6297
5666 try { 6298 try {
5667 // InternalProblem.g:1780:1: ( rule__PredicateDefinition__Group_3__1__Impl ) 6299 // InternalProblem.g:1984:1: ( rule__PredicateDefinition__Group_3__1__Impl )
5668 // InternalProblem.g:1781:2: rule__PredicateDefinition__Group_3__1__Impl 6300 // InternalProblem.g:1985:2: rule__PredicateDefinition__Group_3__1__Impl
5669 { 6301 {
5670 pushFollow(FOLLOW_2); 6302 pushFollow(FOLLOW_2);
5671 rule__PredicateDefinition__Group_3__1__Impl(); 6303 rule__PredicateDefinition__Group_3__1__Impl();
@@ -5691,35 +6323,35 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5691 6323
5692 6324
5693 // $ANTLR start "rule__PredicateDefinition__Group_3__1__Impl" 6325 // $ANTLR start "rule__PredicateDefinition__Group_3__1__Impl"
5694 // InternalProblem.g:1787:1: rule__PredicateDefinition__Group_3__1__Impl : ( ( rule__PredicateDefinition__Group_3_1__0 )* ) ; 6326 // InternalProblem.g:1991:1: rule__PredicateDefinition__Group_3__1__Impl : ( ( rule__PredicateDefinition__Group_3_1__0 )* ) ;
5695 public final void rule__PredicateDefinition__Group_3__1__Impl() throws RecognitionException { 6327 public final void rule__PredicateDefinition__Group_3__1__Impl() throws RecognitionException {
5696 6328
5697 int stackSize = keepStackSize(); 6329 int stackSize = keepStackSize();
5698 6330
5699 try { 6331 try {
5700 // InternalProblem.g:1791:1: ( ( ( rule__PredicateDefinition__Group_3_1__0 )* ) ) 6332 // InternalProblem.g:1995:1: ( ( ( rule__PredicateDefinition__Group_3_1__0 )* ) )
5701 // InternalProblem.g:1792:1: ( ( rule__PredicateDefinition__Group_3_1__0 )* ) 6333 // InternalProblem.g:1996:1: ( ( rule__PredicateDefinition__Group_3_1__0 )* )
5702 { 6334 {
5703 // InternalProblem.g:1792:1: ( ( rule__PredicateDefinition__Group_3_1__0 )* ) 6335 // InternalProblem.g:1996:1: ( ( rule__PredicateDefinition__Group_3_1__0 )* )
5704 // InternalProblem.g:1793:2: ( rule__PredicateDefinition__Group_3_1__0 )* 6336 // InternalProblem.g:1997:2: ( rule__PredicateDefinition__Group_3_1__0 )*
5705 { 6337 {
5706 before(grammarAccess.getPredicateDefinitionAccess().getGroup_3_1()); 6338 before(grammarAccess.getPredicateDefinitionAccess().getGroup_3_1());
5707 // InternalProblem.g:1794:2: ( rule__PredicateDefinition__Group_3_1__0 )* 6339 // InternalProblem.g:1998:2: ( rule__PredicateDefinition__Group_3_1__0 )*
5708 loop23: 6340 loop26:
5709 do { 6341 do {
5710 int alt23=2; 6342 int alt26=2;
5711 int LA23_0 = input.LA(1); 6343 int LA26_0 = input.LA(1);
5712 6344
5713 if ( (LA23_0==25) ) { 6345 if ( (LA26_0==25) ) {
5714 alt23=1; 6346 alt26=1;
5715 } 6347 }
5716 6348
5717 6349
5718 switch (alt23) { 6350 switch (alt26) {
5719 case 1 : 6351 case 1 :
5720 // InternalProblem.g:1794:3: rule__PredicateDefinition__Group_3_1__0 6352 // InternalProblem.g:1998:3: rule__PredicateDefinition__Group_3_1__0
5721 { 6353 {
5722 pushFollow(FOLLOW_7); 6354 pushFollow(FOLLOW_11);
5723 rule__PredicateDefinition__Group_3_1__0(); 6355 rule__PredicateDefinition__Group_3_1__0();
5724 6356
5725 state._fsp--; 6357 state._fsp--;
@@ -5729,7 +6361,7 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5729 break; 6361 break;
5730 6362
5731 default : 6363 default :
5732 break loop23; 6364 break loop26;
5733 } 6365 }
5734 } while (true); 6366 } while (true);
5735 6367
@@ -5756,14 +6388,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5756 6388
5757 6389
5758 // $ANTLR start "rule__PredicateDefinition__Group_3_1__0" 6390 // $ANTLR start "rule__PredicateDefinition__Group_3_1__0"
5759 // InternalProblem.g:1803:1: rule__PredicateDefinition__Group_3_1__0 : rule__PredicateDefinition__Group_3_1__0__Impl rule__PredicateDefinition__Group_3_1__1 ; 6391 // InternalProblem.g:2007:1: rule__PredicateDefinition__Group_3_1__0 : rule__PredicateDefinition__Group_3_1__0__Impl rule__PredicateDefinition__Group_3_1__1 ;
5760 public final void rule__PredicateDefinition__Group_3_1__0() throws RecognitionException { 6392 public final void rule__PredicateDefinition__Group_3_1__0() throws RecognitionException {
5761 6393
5762 int stackSize = keepStackSize(); 6394 int stackSize = keepStackSize();
5763 6395
5764 try { 6396 try {
5765 // InternalProblem.g:1807:1: ( rule__PredicateDefinition__Group_3_1__0__Impl rule__PredicateDefinition__Group_3_1__1 ) 6397 // InternalProblem.g:2011:1: ( rule__PredicateDefinition__Group_3_1__0__Impl rule__PredicateDefinition__Group_3_1__1 )
5766 // InternalProblem.g:1808:2: rule__PredicateDefinition__Group_3_1__0__Impl rule__PredicateDefinition__Group_3_1__1 6398 // InternalProblem.g:2012:2: rule__PredicateDefinition__Group_3_1__0__Impl rule__PredicateDefinition__Group_3_1__1
5767 { 6399 {
5768 pushFollow(FOLLOW_5); 6400 pushFollow(FOLLOW_5);
5769 rule__PredicateDefinition__Group_3_1__0__Impl(); 6401 rule__PredicateDefinition__Group_3_1__0__Impl();
@@ -5794,17 +6426,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5794 6426
5795 6427
5796 // $ANTLR start "rule__PredicateDefinition__Group_3_1__0__Impl" 6428 // $ANTLR start "rule__PredicateDefinition__Group_3_1__0__Impl"
5797 // InternalProblem.g:1815:1: rule__PredicateDefinition__Group_3_1__0__Impl : ( ',' ) ; 6429 // InternalProblem.g:2019:1: rule__PredicateDefinition__Group_3_1__0__Impl : ( ',' ) ;
5798 public final void rule__PredicateDefinition__Group_3_1__0__Impl() throws RecognitionException { 6430 public final void rule__PredicateDefinition__Group_3_1__0__Impl() throws RecognitionException {
5799 6431
5800 int stackSize = keepStackSize(); 6432 int stackSize = keepStackSize();
5801 6433
5802 try { 6434 try {
5803 // InternalProblem.g:1819:1: ( ( ',' ) ) 6435 // InternalProblem.g:2023:1: ( ( ',' ) )
5804 // InternalProblem.g:1820:1: ( ',' ) 6436 // InternalProblem.g:2024:1: ( ',' )
5805 { 6437 {
5806 // InternalProblem.g:1820:1: ( ',' ) 6438 // InternalProblem.g:2024:1: ( ',' )
5807 // InternalProblem.g:1821:2: ',' 6439 // InternalProblem.g:2025:2: ','
5808 { 6440 {
5809 before(grammarAccess.getPredicateDefinitionAccess().getCommaKeyword_3_1_0()); 6441 before(grammarAccess.getPredicateDefinitionAccess().getCommaKeyword_3_1_0());
5810 match(input,25,FOLLOW_2); 6442 match(input,25,FOLLOW_2);
@@ -5831,14 +6463,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5831 6463
5832 6464
5833 // $ANTLR start "rule__PredicateDefinition__Group_3_1__1" 6465 // $ANTLR start "rule__PredicateDefinition__Group_3_1__1"
5834 // InternalProblem.g:1830:1: rule__PredicateDefinition__Group_3_1__1 : rule__PredicateDefinition__Group_3_1__1__Impl ; 6466 // InternalProblem.g:2034:1: rule__PredicateDefinition__Group_3_1__1 : rule__PredicateDefinition__Group_3_1__1__Impl ;
5835 public final void rule__PredicateDefinition__Group_3_1__1() throws RecognitionException { 6467 public final void rule__PredicateDefinition__Group_3_1__1() throws RecognitionException {
5836 6468
5837 int stackSize = keepStackSize(); 6469 int stackSize = keepStackSize();
5838 6470
5839 try { 6471 try {
5840 // InternalProblem.g:1834:1: ( rule__PredicateDefinition__Group_3_1__1__Impl ) 6472 // InternalProblem.g:2038:1: ( rule__PredicateDefinition__Group_3_1__1__Impl )
5841 // InternalProblem.g:1835:2: rule__PredicateDefinition__Group_3_1__1__Impl 6473 // InternalProblem.g:2039:2: rule__PredicateDefinition__Group_3_1__1__Impl
5842 { 6474 {
5843 pushFollow(FOLLOW_2); 6475 pushFollow(FOLLOW_2);
5844 rule__PredicateDefinition__Group_3_1__1__Impl(); 6476 rule__PredicateDefinition__Group_3_1__1__Impl();
@@ -5864,21 +6496,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5864 6496
5865 6497
5866 // $ANTLR start "rule__PredicateDefinition__Group_3_1__1__Impl" 6498 // $ANTLR start "rule__PredicateDefinition__Group_3_1__1__Impl"
5867 // InternalProblem.g:1841:1: rule__PredicateDefinition__Group_3_1__1__Impl : ( ( rule__PredicateDefinition__ParametersAssignment_3_1_1 ) ) ; 6499 // InternalProblem.g:2045:1: rule__PredicateDefinition__Group_3_1__1__Impl : ( ( rule__PredicateDefinition__ParametersAssignment_3_1_1 ) ) ;
5868 public final void rule__PredicateDefinition__Group_3_1__1__Impl() throws RecognitionException { 6500 public final void rule__PredicateDefinition__Group_3_1__1__Impl() throws RecognitionException {
5869 6501
5870 int stackSize = keepStackSize(); 6502 int stackSize = keepStackSize();
5871 6503
5872 try { 6504 try {
5873 // InternalProblem.g:1845:1: ( ( ( rule__PredicateDefinition__ParametersAssignment_3_1_1 ) ) ) 6505 // InternalProblem.g:2049:1: ( ( ( rule__PredicateDefinition__ParametersAssignment_3_1_1 ) ) )
5874 // InternalProblem.g:1846:1: ( ( rule__PredicateDefinition__ParametersAssignment_3_1_1 ) ) 6506 // InternalProblem.g:2050:1: ( ( rule__PredicateDefinition__ParametersAssignment_3_1_1 ) )
5875 { 6507 {
5876 // InternalProblem.g:1846:1: ( ( rule__PredicateDefinition__ParametersAssignment_3_1_1 ) ) 6508 // InternalProblem.g:2050:1: ( ( rule__PredicateDefinition__ParametersAssignment_3_1_1 ) )
5877 // InternalProblem.g:1847:2: ( rule__PredicateDefinition__ParametersAssignment_3_1_1 ) 6509 // InternalProblem.g:2051:2: ( rule__PredicateDefinition__ParametersAssignment_3_1_1 )
5878 { 6510 {
5879 before(grammarAccess.getPredicateDefinitionAccess().getParametersAssignment_3_1_1()); 6511 before(grammarAccess.getPredicateDefinitionAccess().getParametersAssignment_3_1_1());
5880 // InternalProblem.g:1848:2: ( rule__PredicateDefinition__ParametersAssignment_3_1_1 ) 6512 // InternalProblem.g:2052:2: ( rule__PredicateDefinition__ParametersAssignment_3_1_1 )
5881 // InternalProblem.g:1848:3: rule__PredicateDefinition__ParametersAssignment_3_1_1 6513 // InternalProblem.g:2052:3: rule__PredicateDefinition__ParametersAssignment_3_1_1
5882 { 6514 {
5883 pushFollow(FOLLOW_2); 6515 pushFollow(FOLLOW_2);
5884 rule__PredicateDefinition__ParametersAssignment_3_1_1(); 6516 rule__PredicateDefinition__ParametersAssignment_3_1_1();
@@ -5911,16 +6543,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5911 6543
5912 6544
5913 // $ANTLR start "rule__PredicateDefinition__Group_5__0" 6545 // $ANTLR start "rule__PredicateDefinition__Group_5__0"
5914 // InternalProblem.g:1857:1: rule__PredicateDefinition__Group_5__0 : rule__PredicateDefinition__Group_5__0__Impl rule__PredicateDefinition__Group_5__1 ; 6546 // InternalProblem.g:2061:1: rule__PredicateDefinition__Group_5__0 : rule__PredicateDefinition__Group_5__0__Impl rule__PredicateDefinition__Group_5__1 ;
5915 public final void rule__PredicateDefinition__Group_5__0() throws RecognitionException { 6547 public final void rule__PredicateDefinition__Group_5__0() throws RecognitionException {
5916 6548
5917 int stackSize = keepStackSize(); 6549 int stackSize = keepStackSize();
5918 6550
5919 try { 6551 try {
5920 // InternalProblem.g:1861:1: ( rule__PredicateDefinition__Group_5__0__Impl rule__PredicateDefinition__Group_5__1 ) 6552 // InternalProblem.g:2065:1: ( rule__PredicateDefinition__Group_5__0__Impl rule__PredicateDefinition__Group_5__1 )
5921 // InternalProblem.g:1862:2: rule__PredicateDefinition__Group_5__0__Impl rule__PredicateDefinition__Group_5__1 6553 // InternalProblem.g:2066:2: rule__PredicateDefinition__Group_5__0__Impl rule__PredicateDefinition__Group_5__1
5922 { 6554 {
5923 pushFollow(FOLLOW_20); 6555 pushFollow(FOLLOW_23);
5924 rule__PredicateDefinition__Group_5__0__Impl(); 6556 rule__PredicateDefinition__Group_5__0__Impl();
5925 6557
5926 state._fsp--; 6558 state._fsp--;
@@ -5949,21 +6581,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5949 6581
5950 6582
5951 // $ANTLR start "rule__PredicateDefinition__Group_5__0__Impl" 6583 // $ANTLR start "rule__PredicateDefinition__Group_5__0__Impl"
5952 // InternalProblem.g:1869:1: rule__PredicateDefinition__Group_5__0__Impl : ( ':=' ) ; 6584 // InternalProblem.g:2073:1: rule__PredicateDefinition__Group_5__0__Impl : ( ':-' ) ;
5953 public final void rule__PredicateDefinition__Group_5__0__Impl() throws RecognitionException { 6585 public final void rule__PredicateDefinition__Group_5__0__Impl() throws RecognitionException {
5954 6586
5955 int stackSize = keepStackSize(); 6587 int stackSize = keepStackSize();
5956 6588
5957 try { 6589 try {
5958 // InternalProblem.g:1873:1: ( ( ':=' ) ) 6590 // InternalProblem.g:2077:1: ( ( ':-' ) )
5959 // InternalProblem.g:1874:1: ( ':=' ) 6591 // InternalProblem.g:2078:1: ( ':-' )
5960 { 6592 {
5961 // InternalProblem.g:1874:1: ( ':=' ) 6593 // InternalProblem.g:2078:1: ( ':-' )
5962 // InternalProblem.g:1875:2: ':=' 6594 // InternalProblem.g:2079:2: ':-'
5963 { 6595 {
5964 before(grammarAccess.getPredicateDefinitionAccess().getColonEqualsSignKeyword_5_0()); 6596 before(grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_5_0());
5965 match(input,29,FOLLOW_2); 6597 match(input,34,FOLLOW_2);
5966 after(grammarAccess.getPredicateDefinitionAccess().getColonEqualsSignKeyword_5_0()); 6598 after(grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_5_0());
5967 6599
5968 } 6600 }
5969 6601
@@ -5986,16 +6618,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5986 6618
5987 6619
5988 // $ANTLR start "rule__PredicateDefinition__Group_5__1" 6620 // $ANTLR start "rule__PredicateDefinition__Group_5__1"
5989 // InternalProblem.g:1884:1: rule__PredicateDefinition__Group_5__1 : rule__PredicateDefinition__Group_5__1__Impl rule__PredicateDefinition__Group_5__2 ; 6621 // InternalProblem.g:2088:1: rule__PredicateDefinition__Group_5__1 : rule__PredicateDefinition__Group_5__1__Impl rule__PredicateDefinition__Group_5__2 ;
5990 public final void rule__PredicateDefinition__Group_5__1() throws RecognitionException { 6622 public final void rule__PredicateDefinition__Group_5__1() throws RecognitionException {
5991 6623
5992 int stackSize = keepStackSize(); 6624 int stackSize = keepStackSize();
5993 6625
5994 try { 6626 try {
5995 // InternalProblem.g:1888:1: ( rule__PredicateDefinition__Group_5__1__Impl rule__PredicateDefinition__Group_5__2 ) 6627 // InternalProblem.g:2092:1: ( rule__PredicateDefinition__Group_5__1__Impl rule__PredicateDefinition__Group_5__2 )
5996 // InternalProblem.g:1889:2: rule__PredicateDefinition__Group_5__1__Impl rule__PredicateDefinition__Group_5__2 6628 // InternalProblem.g:2093:2: rule__PredicateDefinition__Group_5__1__Impl rule__PredicateDefinition__Group_5__2
5997 { 6629 {
5998 pushFollow(FOLLOW_21); 6630 pushFollow(FOLLOW_14);
5999 rule__PredicateDefinition__Group_5__1__Impl(); 6631 rule__PredicateDefinition__Group_5__1__Impl();
6000 6632
6001 state._fsp--; 6633 state._fsp--;
@@ -6024,21 +6656,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6024 6656
6025 6657
6026 // $ANTLR start "rule__PredicateDefinition__Group_5__1__Impl" 6658 // $ANTLR start "rule__PredicateDefinition__Group_5__1__Impl"
6027 // InternalProblem.g:1896:1: rule__PredicateDefinition__Group_5__1__Impl : ( ( rule__PredicateDefinition__BodiesAssignment_5_1 ) ) ; 6659 // InternalProblem.g:2100:1: rule__PredicateDefinition__Group_5__1__Impl : ( ( rule__PredicateDefinition__BodiesAssignment_5_1 ) ) ;
6028 public final void rule__PredicateDefinition__Group_5__1__Impl() throws RecognitionException { 6660 public final void rule__PredicateDefinition__Group_5__1__Impl() throws RecognitionException {
6029 6661
6030 int stackSize = keepStackSize(); 6662 int stackSize = keepStackSize();
6031 6663
6032 try { 6664 try {
6033 // InternalProblem.g:1900:1: ( ( ( rule__PredicateDefinition__BodiesAssignment_5_1 ) ) ) 6665 // InternalProblem.g:2104:1: ( ( ( rule__PredicateDefinition__BodiesAssignment_5_1 ) ) )
6034 // InternalProblem.g:1901:1: ( ( rule__PredicateDefinition__BodiesAssignment_5_1 ) ) 6666 // InternalProblem.g:2105:1: ( ( rule__PredicateDefinition__BodiesAssignment_5_1 ) )
6035 { 6667 {
6036 // InternalProblem.g:1901:1: ( ( rule__PredicateDefinition__BodiesAssignment_5_1 ) ) 6668 // InternalProblem.g:2105:1: ( ( rule__PredicateDefinition__BodiesAssignment_5_1 ) )
6037 // InternalProblem.g:1902:2: ( rule__PredicateDefinition__BodiesAssignment_5_1 ) 6669 // InternalProblem.g:2106:2: ( rule__PredicateDefinition__BodiesAssignment_5_1 )
6038 { 6670 {
6039 before(grammarAccess.getPredicateDefinitionAccess().getBodiesAssignment_5_1()); 6671 before(grammarAccess.getPredicateDefinitionAccess().getBodiesAssignment_5_1());
6040 // InternalProblem.g:1903:2: ( rule__PredicateDefinition__BodiesAssignment_5_1 ) 6672 // InternalProblem.g:2107:2: ( rule__PredicateDefinition__BodiesAssignment_5_1 )
6041 // InternalProblem.g:1903:3: rule__PredicateDefinition__BodiesAssignment_5_1 6673 // InternalProblem.g:2107:3: rule__PredicateDefinition__BodiesAssignment_5_1
6042 { 6674 {
6043 pushFollow(FOLLOW_2); 6675 pushFollow(FOLLOW_2);
6044 rule__PredicateDefinition__BodiesAssignment_5_1(); 6676 rule__PredicateDefinition__BodiesAssignment_5_1();
@@ -6071,14 +6703,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6071 6703
6072 6704
6073 // $ANTLR start "rule__PredicateDefinition__Group_5__2" 6705 // $ANTLR start "rule__PredicateDefinition__Group_5__2"
6074 // InternalProblem.g:1911:1: rule__PredicateDefinition__Group_5__2 : rule__PredicateDefinition__Group_5__2__Impl ; 6706 // InternalProblem.g:2115:1: rule__PredicateDefinition__Group_5__2 : rule__PredicateDefinition__Group_5__2__Impl ;
6075 public final void rule__PredicateDefinition__Group_5__2() throws RecognitionException { 6707 public final void rule__PredicateDefinition__Group_5__2() throws RecognitionException {
6076 6708
6077 int stackSize = keepStackSize(); 6709 int stackSize = keepStackSize();
6078 6710
6079 try { 6711 try {
6080 // InternalProblem.g:1915:1: ( rule__PredicateDefinition__Group_5__2__Impl ) 6712 // InternalProblem.g:2119:1: ( rule__PredicateDefinition__Group_5__2__Impl )
6081 // InternalProblem.g:1916:2: rule__PredicateDefinition__Group_5__2__Impl 6713 // InternalProblem.g:2120:2: rule__PredicateDefinition__Group_5__2__Impl
6082 { 6714 {
6083 pushFollow(FOLLOW_2); 6715 pushFollow(FOLLOW_2);
6084 rule__PredicateDefinition__Group_5__2__Impl(); 6716 rule__PredicateDefinition__Group_5__2__Impl();
@@ -6104,35 +6736,35 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6104 6736
6105 6737
6106 // $ANTLR start "rule__PredicateDefinition__Group_5__2__Impl" 6738 // $ANTLR start "rule__PredicateDefinition__Group_5__2__Impl"
6107 // InternalProblem.g:1922:1: rule__PredicateDefinition__Group_5__2__Impl : ( ( rule__PredicateDefinition__Group_5_2__0 )* ) ; 6739 // InternalProblem.g:2126:1: rule__PredicateDefinition__Group_5__2__Impl : ( ( rule__PredicateDefinition__Group_5_2__0 )* ) ;
6108 public final void rule__PredicateDefinition__Group_5__2__Impl() throws RecognitionException { 6740 public final void rule__PredicateDefinition__Group_5__2__Impl() throws RecognitionException {
6109 6741
6110 int stackSize = keepStackSize(); 6742 int stackSize = keepStackSize();
6111 6743
6112 try { 6744 try {
6113 // InternalProblem.g:1926:1: ( ( ( rule__PredicateDefinition__Group_5_2__0 )* ) ) 6745 // InternalProblem.g:2130:1: ( ( ( rule__PredicateDefinition__Group_5_2__0 )* ) )
6114 // InternalProblem.g:1927:1: ( ( rule__PredicateDefinition__Group_5_2__0 )* ) 6746 // InternalProblem.g:2131:1: ( ( rule__PredicateDefinition__Group_5_2__0 )* )
6115 { 6747 {
6116 // InternalProblem.g:1927:1: ( ( rule__PredicateDefinition__Group_5_2__0 )* ) 6748 // InternalProblem.g:2131:1: ( ( rule__PredicateDefinition__Group_5_2__0 )* )
6117 // InternalProblem.g:1928:2: ( rule__PredicateDefinition__Group_5_2__0 )* 6749 // InternalProblem.g:2132:2: ( rule__PredicateDefinition__Group_5_2__0 )*
6118 { 6750 {
6119 before(grammarAccess.getPredicateDefinitionAccess().getGroup_5_2()); 6751 before(grammarAccess.getPredicateDefinitionAccess().getGroup_5_2());
6120 // InternalProblem.g:1929:2: ( rule__PredicateDefinition__Group_5_2__0 )* 6752 // InternalProblem.g:2133:2: ( rule__PredicateDefinition__Group_5_2__0 )*
6121 loop24: 6753 loop27:
6122 do { 6754 do {
6123 int alt24=2; 6755 int alt27=2;
6124 int LA24_0 = input.LA(1); 6756 int LA27_0 = input.LA(1);
6125 6757
6126 if ( (LA24_0==30) ) { 6758 if ( (LA27_0==28) ) {
6127 alt24=1; 6759 alt27=1;
6128 } 6760 }
6129 6761
6130 6762
6131 switch (alt24) { 6763 switch (alt27) {
6132 case 1 : 6764 case 1 :
6133 // InternalProblem.g:1929:3: rule__PredicateDefinition__Group_5_2__0 6765 // InternalProblem.g:2133:3: rule__PredicateDefinition__Group_5_2__0
6134 { 6766 {
6135 pushFollow(FOLLOW_22); 6767 pushFollow(FOLLOW_24);
6136 rule__PredicateDefinition__Group_5_2__0(); 6768 rule__PredicateDefinition__Group_5_2__0();
6137 6769
6138 state._fsp--; 6770 state._fsp--;
@@ -6142,7 +6774,7 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6142 break; 6774 break;
6143 6775
6144 default : 6776 default :
6145 break loop24; 6777 break loop27;
6146 } 6778 }
6147 } while (true); 6779 } while (true);
6148 6780
@@ -6169,16 +6801,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6169 6801
6170 6802
6171 // $ANTLR start "rule__PredicateDefinition__Group_5_2__0" 6803 // $ANTLR start "rule__PredicateDefinition__Group_5_2__0"
6172 // InternalProblem.g:1938:1: rule__PredicateDefinition__Group_5_2__0 : rule__PredicateDefinition__Group_5_2__0__Impl rule__PredicateDefinition__Group_5_2__1 ; 6804 // InternalProblem.g:2142:1: rule__PredicateDefinition__Group_5_2__0 : rule__PredicateDefinition__Group_5_2__0__Impl rule__PredicateDefinition__Group_5_2__1 ;
6173 public final void rule__PredicateDefinition__Group_5_2__0() throws RecognitionException { 6805 public final void rule__PredicateDefinition__Group_5_2__0() throws RecognitionException {
6174 6806
6175 int stackSize = keepStackSize(); 6807 int stackSize = keepStackSize();
6176 6808
6177 try { 6809 try {
6178 // InternalProblem.g:1942:1: ( rule__PredicateDefinition__Group_5_2__0__Impl rule__PredicateDefinition__Group_5_2__1 ) 6810 // InternalProblem.g:2146:1: ( rule__PredicateDefinition__Group_5_2__0__Impl rule__PredicateDefinition__Group_5_2__1 )
6179 // InternalProblem.g:1943:2: rule__PredicateDefinition__Group_5_2__0__Impl rule__PredicateDefinition__Group_5_2__1 6811 // InternalProblem.g:2147:2: rule__PredicateDefinition__Group_5_2__0__Impl rule__PredicateDefinition__Group_5_2__1
6180 { 6812 {
6181 pushFollow(FOLLOW_20); 6813 pushFollow(FOLLOW_23);
6182 rule__PredicateDefinition__Group_5_2__0__Impl(); 6814 rule__PredicateDefinition__Group_5_2__0__Impl();
6183 6815
6184 state._fsp--; 6816 state._fsp--;
@@ -6207,20 +6839,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6207 6839
6208 6840
6209 // $ANTLR start "rule__PredicateDefinition__Group_5_2__0__Impl" 6841 // $ANTLR start "rule__PredicateDefinition__Group_5_2__0__Impl"
6210 // InternalProblem.g:1950:1: rule__PredicateDefinition__Group_5_2__0__Impl : ( ';' ) ; 6842 // InternalProblem.g:2154:1: rule__PredicateDefinition__Group_5_2__0__Impl : ( ';' ) ;
6211 public final void rule__PredicateDefinition__Group_5_2__0__Impl() throws RecognitionException { 6843 public final void rule__PredicateDefinition__Group_5_2__0__Impl() throws RecognitionException {
6212 6844
6213 int stackSize = keepStackSize(); 6845 int stackSize = keepStackSize();
6214 6846
6215 try { 6847 try {
6216 // InternalProblem.g:1954:1: ( ( ';' ) ) 6848 // InternalProblem.g:2158:1: ( ( ';' ) )
6217 // InternalProblem.g:1955:1: ( ';' ) 6849 // InternalProblem.g:2159:1: ( ';' )
6218 { 6850 {
6219 // InternalProblem.g:1955:1: ( ';' ) 6851 // InternalProblem.g:2159:1: ( ';' )
6220 // InternalProblem.g:1956:2: ';' 6852 // InternalProblem.g:2160:2: ';'
6221 { 6853 {
6222 before(grammarAccess.getPredicateDefinitionAccess().getSemicolonKeyword_5_2_0()); 6854 before(grammarAccess.getPredicateDefinitionAccess().getSemicolonKeyword_5_2_0());
6223 match(input,30,FOLLOW_2); 6855 match(input,28,FOLLOW_2);
6224 after(grammarAccess.getPredicateDefinitionAccess().getSemicolonKeyword_5_2_0()); 6856 after(grammarAccess.getPredicateDefinitionAccess().getSemicolonKeyword_5_2_0());
6225 6857
6226 } 6858 }
@@ -6244,14 +6876,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6244 6876
6245 6877
6246 // $ANTLR start "rule__PredicateDefinition__Group_5_2__1" 6878 // $ANTLR start "rule__PredicateDefinition__Group_5_2__1"
6247 // InternalProblem.g:1965:1: rule__PredicateDefinition__Group_5_2__1 : rule__PredicateDefinition__Group_5_2__1__Impl ; 6879 // InternalProblem.g:2169:1: rule__PredicateDefinition__Group_5_2__1 : rule__PredicateDefinition__Group_5_2__1__Impl ;
6248 public final void rule__PredicateDefinition__Group_5_2__1() throws RecognitionException { 6880 public final void rule__PredicateDefinition__Group_5_2__1() throws RecognitionException {
6249 6881
6250 int stackSize = keepStackSize(); 6882 int stackSize = keepStackSize();
6251 6883
6252 try { 6884 try {
6253 // InternalProblem.g:1969:1: ( rule__PredicateDefinition__Group_5_2__1__Impl ) 6885 // InternalProblem.g:2173:1: ( rule__PredicateDefinition__Group_5_2__1__Impl )
6254 // InternalProblem.g:1970:2: rule__PredicateDefinition__Group_5_2__1__Impl 6886 // InternalProblem.g:2174:2: rule__PredicateDefinition__Group_5_2__1__Impl
6255 { 6887 {
6256 pushFollow(FOLLOW_2); 6888 pushFollow(FOLLOW_2);
6257 rule__PredicateDefinition__Group_5_2__1__Impl(); 6889 rule__PredicateDefinition__Group_5_2__1__Impl();
@@ -6277,21 +6909,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6277 6909
6278 6910
6279 // $ANTLR start "rule__PredicateDefinition__Group_5_2__1__Impl" 6911 // $ANTLR start "rule__PredicateDefinition__Group_5_2__1__Impl"
6280 // InternalProblem.g:1976:1: rule__PredicateDefinition__Group_5_2__1__Impl : ( ( rule__PredicateDefinition__BodiesAssignment_5_2_1 ) ) ; 6912 // InternalProblem.g:2180:1: rule__PredicateDefinition__Group_5_2__1__Impl : ( ( rule__PredicateDefinition__BodiesAssignment_5_2_1 ) ) ;
6281 public final void rule__PredicateDefinition__Group_5_2__1__Impl() throws RecognitionException { 6913 public final void rule__PredicateDefinition__Group_5_2__1__Impl() throws RecognitionException {
6282 6914
6283 int stackSize = keepStackSize(); 6915 int stackSize = keepStackSize();
6284 6916
6285 try { 6917 try {
6286 // InternalProblem.g:1980:1: ( ( ( rule__PredicateDefinition__BodiesAssignment_5_2_1 ) ) ) 6918 // InternalProblem.g:2184:1: ( ( ( rule__PredicateDefinition__BodiesAssignment_5_2_1 ) ) )
6287 // InternalProblem.g:1981:1: ( ( rule__PredicateDefinition__BodiesAssignment_5_2_1 ) ) 6919 // InternalProblem.g:2185:1: ( ( rule__PredicateDefinition__BodiesAssignment_5_2_1 ) )
6288 { 6920 {
6289 // InternalProblem.g:1981:1: ( ( rule__PredicateDefinition__BodiesAssignment_5_2_1 ) ) 6921 // InternalProblem.g:2185:1: ( ( rule__PredicateDefinition__BodiesAssignment_5_2_1 ) )
6290 // InternalProblem.g:1982:2: ( rule__PredicateDefinition__BodiesAssignment_5_2_1 ) 6922 // InternalProblem.g:2186:2: ( rule__PredicateDefinition__BodiesAssignment_5_2_1 )
6291 { 6923 {
6292 before(grammarAccess.getPredicateDefinitionAccess().getBodiesAssignment_5_2_1()); 6924 before(grammarAccess.getPredicateDefinitionAccess().getBodiesAssignment_5_2_1());
6293 // InternalProblem.g:1983:2: ( rule__PredicateDefinition__BodiesAssignment_5_2_1 ) 6925 // InternalProblem.g:2187:2: ( rule__PredicateDefinition__BodiesAssignment_5_2_1 )
6294 // InternalProblem.g:1983:3: rule__PredicateDefinition__BodiesAssignment_5_2_1 6926 // InternalProblem.g:2187:3: rule__PredicateDefinition__BodiesAssignment_5_2_1
6295 { 6927 {
6296 pushFollow(FOLLOW_2); 6928 pushFollow(FOLLOW_2);
6297 rule__PredicateDefinition__BodiesAssignment_5_2_1(); 6929 rule__PredicateDefinition__BodiesAssignment_5_2_1();
@@ -6324,14 +6956,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6324 6956
6325 6957
6326 // $ANTLR start "rule__Parameter__Group__0" 6958 // $ANTLR start "rule__Parameter__Group__0"
6327 // InternalProblem.g:1992:1: rule__Parameter__Group__0 : rule__Parameter__Group__0__Impl rule__Parameter__Group__1 ; 6959 // InternalProblem.g:2196:1: rule__Parameter__Group__0 : rule__Parameter__Group__0__Impl rule__Parameter__Group__1 ;
6328 public final void rule__Parameter__Group__0() throws RecognitionException { 6960 public final void rule__Parameter__Group__0() throws RecognitionException {
6329 6961
6330 int stackSize = keepStackSize(); 6962 int stackSize = keepStackSize();
6331 6963
6332 try { 6964 try {
6333 // InternalProblem.g:1996:1: ( rule__Parameter__Group__0__Impl rule__Parameter__Group__1 ) 6965 // InternalProblem.g:2200:1: ( rule__Parameter__Group__0__Impl rule__Parameter__Group__1 )
6334 // InternalProblem.g:1997:2: rule__Parameter__Group__0__Impl rule__Parameter__Group__1 6966 // InternalProblem.g:2201:2: rule__Parameter__Group__0__Impl rule__Parameter__Group__1
6335 { 6967 {
6336 pushFollow(FOLLOW_5); 6968 pushFollow(FOLLOW_5);
6337 rule__Parameter__Group__0__Impl(); 6969 rule__Parameter__Group__0__Impl();
@@ -6362,21 +6994,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6362 6994
6363 6995
6364 // $ANTLR start "rule__Parameter__Group__0__Impl" 6996 // $ANTLR start "rule__Parameter__Group__0__Impl"
6365 // InternalProblem.g:2004:1: rule__Parameter__Group__0__Impl : ( ( rule__Parameter__ParameterTypeAssignment_0 ) ) ; 6997 // InternalProblem.g:2208:1: rule__Parameter__Group__0__Impl : ( ( rule__Parameter__ParameterTypeAssignment_0 ) ) ;
6366 public final void rule__Parameter__Group__0__Impl() throws RecognitionException { 6998 public final void rule__Parameter__Group__0__Impl() throws RecognitionException {
6367 6999
6368 int stackSize = keepStackSize(); 7000 int stackSize = keepStackSize();
6369 7001
6370 try { 7002 try {
6371 // InternalProblem.g:2008:1: ( ( ( rule__Parameter__ParameterTypeAssignment_0 ) ) ) 7003 // InternalProblem.g:2212:1: ( ( ( rule__Parameter__ParameterTypeAssignment_0 ) ) )
6372 // InternalProblem.g:2009:1: ( ( rule__Parameter__ParameterTypeAssignment_0 ) ) 7004 // InternalProblem.g:2213:1: ( ( rule__Parameter__ParameterTypeAssignment_0 ) )
6373 { 7005 {
6374 // InternalProblem.g:2009:1: ( ( rule__Parameter__ParameterTypeAssignment_0 ) ) 7006 // InternalProblem.g:2213:1: ( ( rule__Parameter__ParameterTypeAssignment_0 ) )
6375 // InternalProblem.g:2010:2: ( rule__Parameter__ParameterTypeAssignment_0 ) 7007 // InternalProblem.g:2214:2: ( rule__Parameter__ParameterTypeAssignment_0 )
6376 { 7008 {
6377 before(grammarAccess.getParameterAccess().getParameterTypeAssignment_0()); 7009 before(grammarAccess.getParameterAccess().getParameterTypeAssignment_0());
6378 // InternalProblem.g:2011:2: ( rule__Parameter__ParameterTypeAssignment_0 ) 7010 // InternalProblem.g:2215:2: ( rule__Parameter__ParameterTypeAssignment_0 )
6379 // InternalProblem.g:2011:3: rule__Parameter__ParameterTypeAssignment_0 7011 // InternalProblem.g:2215:3: rule__Parameter__ParameterTypeAssignment_0
6380 { 7012 {
6381 pushFollow(FOLLOW_2); 7013 pushFollow(FOLLOW_2);
6382 rule__Parameter__ParameterTypeAssignment_0(); 7014 rule__Parameter__ParameterTypeAssignment_0();
@@ -6409,14 +7041,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6409 7041
6410 7042
6411 // $ANTLR start "rule__Parameter__Group__1" 7043 // $ANTLR start "rule__Parameter__Group__1"
6412 // InternalProblem.g:2019:1: rule__Parameter__Group__1 : rule__Parameter__Group__1__Impl ; 7044 // InternalProblem.g:2223:1: rule__Parameter__Group__1 : rule__Parameter__Group__1__Impl ;
6413 public final void rule__Parameter__Group__1() throws RecognitionException { 7045 public final void rule__Parameter__Group__1() throws RecognitionException {
6414 7046
6415 int stackSize = keepStackSize(); 7047 int stackSize = keepStackSize();
6416 7048
6417 try { 7049 try {
6418 // InternalProblem.g:2023:1: ( rule__Parameter__Group__1__Impl ) 7050 // InternalProblem.g:2227:1: ( rule__Parameter__Group__1__Impl )
6419 // InternalProblem.g:2024:2: rule__Parameter__Group__1__Impl 7051 // InternalProblem.g:2228:2: rule__Parameter__Group__1__Impl
6420 { 7052 {
6421 pushFollow(FOLLOW_2); 7053 pushFollow(FOLLOW_2);
6422 rule__Parameter__Group__1__Impl(); 7054 rule__Parameter__Group__1__Impl();
@@ -6442,21 +7074,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6442 7074
6443 7075
6444 // $ANTLR start "rule__Parameter__Group__1__Impl" 7076 // $ANTLR start "rule__Parameter__Group__1__Impl"
6445 // InternalProblem.g:2030:1: rule__Parameter__Group__1__Impl : ( ( rule__Parameter__NameAssignment_1 ) ) ; 7077 // InternalProblem.g:2234:1: rule__Parameter__Group__1__Impl : ( ( rule__Parameter__NameAssignment_1 ) ) ;
6446 public final void rule__Parameter__Group__1__Impl() throws RecognitionException { 7078 public final void rule__Parameter__Group__1__Impl() throws RecognitionException {
6447 7079
6448 int stackSize = keepStackSize(); 7080 int stackSize = keepStackSize();
6449 7081
6450 try { 7082 try {
6451 // InternalProblem.g:2034:1: ( ( ( rule__Parameter__NameAssignment_1 ) ) ) 7083 // InternalProblem.g:2238:1: ( ( ( rule__Parameter__NameAssignment_1 ) ) )
6452 // InternalProblem.g:2035:1: ( ( rule__Parameter__NameAssignment_1 ) ) 7084 // InternalProblem.g:2239:1: ( ( rule__Parameter__NameAssignment_1 ) )
6453 { 7085 {
6454 // InternalProblem.g:2035:1: ( ( rule__Parameter__NameAssignment_1 ) ) 7086 // InternalProblem.g:2239:1: ( ( rule__Parameter__NameAssignment_1 ) )
6455 // InternalProblem.g:2036:2: ( rule__Parameter__NameAssignment_1 ) 7087 // InternalProblem.g:2240:2: ( rule__Parameter__NameAssignment_1 )
6456 { 7088 {
6457 before(grammarAccess.getParameterAccess().getNameAssignment_1()); 7089 before(grammarAccess.getParameterAccess().getNameAssignment_1());
6458 // InternalProblem.g:2037:2: ( rule__Parameter__NameAssignment_1 ) 7090 // InternalProblem.g:2241:2: ( rule__Parameter__NameAssignment_1 )
6459 // InternalProblem.g:2037:3: rule__Parameter__NameAssignment_1 7091 // InternalProblem.g:2241:3: rule__Parameter__NameAssignment_1
6460 { 7092 {
6461 pushFollow(FOLLOW_2); 7093 pushFollow(FOLLOW_2);
6462 rule__Parameter__NameAssignment_1(); 7094 rule__Parameter__NameAssignment_1();
@@ -6489,14 +7121,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6489 7121
6490 7122
6491 // $ANTLR start "rule__Conjunction__Group__0" 7123 // $ANTLR start "rule__Conjunction__Group__0"
6492 // InternalProblem.g:2046:1: rule__Conjunction__Group__0 : rule__Conjunction__Group__0__Impl rule__Conjunction__Group__1 ; 7124 // InternalProblem.g:2250:1: rule__Conjunction__Group__0 : rule__Conjunction__Group__0__Impl rule__Conjunction__Group__1 ;
6493 public final void rule__Conjunction__Group__0() throws RecognitionException { 7125 public final void rule__Conjunction__Group__0() throws RecognitionException {
6494 7126
6495 int stackSize = keepStackSize(); 7127 int stackSize = keepStackSize();
6496 7128
6497 try { 7129 try {
6498 // InternalProblem.g:2050:1: ( rule__Conjunction__Group__0__Impl rule__Conjunction__Group__1 ) 7130 // InternalProblem.g:2254:1: ( rule__Conjunction__Group__0__Impl rule__Conjunction__Group__1 )
6499 // InternalProblem.g:2051:2: rule__Conjunction__Group__0__Impl rule__Conjunction__Group__1 7131 // InternalProblem.g:2255:2: rule__Conjunction__Group__0__Impl rule__Conjunction__Group__1
6500 { 7132 {
6501 pushFollow(FOLLOW_10); 7133 pushFollow(FOLLOW_10);
6502 rule__Conjunction__Group__0__Impl(); 7134 rule__Conjunction__Group__0__Impl();
@@ -6527,21 +7159,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6527 7159
6528 7160
6529 // $ANTLR start "rule__Conjunction__Group__0__Impl" 7161 // $ANTLR start "rule__Conjunction__Group__0__Impl"
6530 // InternalProblem.g:2058:1: rule__Conjunction__Group__0__Impl : ( ( rule__Conjunction__LiteralsAssignment_0 ) ) ; 7162 // InternalProblem.g:2262:1: rule__Conjunction__Group__0__Impl : ( ( rule__Conjunction__LiteralsAssignment_0 ) ) ;
6531 public final void rule__Conjunction__Group__0__Impl() throws RecognitionException { 7163 public final void rule__Conjunction__Group__0__Impl() throws RecognitionException {
6532 7164
6533 int stackSize = keepStackSize(); 7165 int stackSize = keepStackSize();
6534 7166
6535 try { 7167 try {
6536 // InternalProblem.g:2062:1: ( ( ( rule__Conjunction__LiteralsAssignment_0 ) ) ) 7168 // InternalProblem.g:2266:1: ( ( ( rule__Conjunction__LiteralsAssignment_0 ) ) )
6537 // InternalProblem.g:2063:1: ( ( rule__Conjunction__LiteralsAssignment_0 ) ) 7169 // InternalProblem.g:2267:1: ( ( rule__Conjunction__LiteralsAssignment_0 ) )
6538 { 7170 {
6539 // InternalProblem.g:2063:1: ( ( rule__Conjunction__LiteralsAssignment_0 ) ) 7171 // InternalProblem.g:2267:1: ( ( rule__Conjunction__LiteralsAssignment_0 ) )
6540 // InternalProblem.g:2064:2: ( rule__Conjunction__LiteralsAssignment_0 ) 7172 // InternalProblem.g:2268:2: ( rule__Conjunction__LiteralsAssignment_0 )
6541 { 7173 {
6542 before(grammarAccess.getConjunctionAccess().getLiteralsAssignment_0()); 7174 before(grammarAccess.getConjunctionAccess().getLiteralsAssignment_0());
6543 // InternalProblem.g:2065:2: ( rule__Conjunction__LiteralsAssignment_0 ) 7175 // InternalProblem.g:2269:2: ( rule__Conjunction__LiteralsAssignment_0 )
6544 // InternalProblem.g:2065:3: rule__Conjunction__LiteralsAssignment_0 7176 // InternalProblem.g:2269:3: rule__Conjunction__LiteralsAssignment_0
6545 { 7177 {
6546 pushFollow(FOLLOW_2); 7178 pushFollow(FOLLOW_2);
6547 rule__Conjunction__LiteralsAssignment_0(); 7179 rule__Conjunction__LiteralsAssignment_0();
@@ -6574,14 +7206,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6574 7206
6575 7207
6576 // $ANTLR start "rule__Conjunction__Group__1" 7208 // $ANTLR start "rule__Conjunction__Group__1"
6577 // InternalProblem.g:2073:1: rule__Conjunction__Group__1 : rule__Conjunction__Group__1__Impl ; 7209 // InternalProblem.g:2277:1: rule__Conjunction__Group__1 : rule__Conjunction__Group__1__Impl ;
6578 public final void rule__Conjunction__Group__1() throws RecognitionException { 7210 public final void rule__Conjunction__Group__1() throws RecognitionException {
6579 7211
6580 int stackSize = keepStackSize(); 7212 int stackSize = keepStackSize();
6581 7213
6582 try { 7214 try {
6583 // InternalProblem.g:2077:1: ( rule__Conjunction__Group__1__Impl ) 7215 // InternalProblem.g:2281:1: ( rule__Conjunction__Group__1__Impl )
6584 // InternalProblem.g:2078:2: rule__Conjunction__Group__1__Impl 7216 // InternalProblem.g:2282:2: rule__Conjunction__Group__1__Impl
6585 { 7217 {
6586 pushFollow(FOLLOW_2); 7218 pushFollow(FOLLOW_2);
6587 rule__Conjunction__Group__1__Impl(); 7219 rule__Conjunction__Group__1__Impl();
@@ -6607,35 +7239,35 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6607 7239
6608 7240
6609 // $ANTLR start "rule__Conjunction__Group__1__Impl" 7241 // $ANTLR start "rule__Conjunction__Group__1__Impl"
6610 // InternalProblem.g:2084:1: rule__Conjunction__Group__1__Impl : ( ( rule__Conjunction__Group_1__0 )* ) ; 7242 // InternalProblem.g:2288:1: rule__Conjunction__Group__1__Impl : ( ( rule__Conjunction__Group_1__0 )* ) ;
6611 public final void rule__Conjunction__Group__1__Impl() throws RecognitionException { 7243 public final void rule__Conjunction__Group__1__Impl() throws RecognitionException {
6612 7244
6613 int stackSize = keepStackSize(); 7245 int stackSize = keepStackSize();
6614 7246
6615 try { 7247 try {
6616 // InternalProblem.g:2088:1: ( ( ( rule__Conjunction__Group_1__0 )* ) ) 7248 // InternalProblem.g:2292:1: ( ( ( rule__Conjunction__Group_1__0 )* ) )
6617 // InternalProblem.g:2089:1: ( ( rule__Conjunction__Group_1__0 )* ) 7249 // InternalProblem.g:2293:1: ( ( rule__Conjunction__Group_1__0 )* )
6618 { 7250 {
6619 // InternalProblem.g:2089:1: ( ( rule__Conjunction__Group_1__0 )* ) 7251 // InternalProblem.g:2293:1: ( ( rule__Conjunction__Group_1__0 )* )
6620 // InternalProblem.g:2090:2: ( rule__Conjunction__Group_1__0 )* 7252 // InternalProblem.g:2294:2: ( rule__Conjunction__Group_1__0 )*
6621 { 7253 {
6622 before(grammarAccess.getConjunctionAccess().getGroup_1()); 7254 before(grammarAccess.getConjunctionAccess().getGroup_1());
6623 // InternalProblem.g:2091:2: ( rule__Conjunction__Group_1__0 )* 7255 // InternalProblem.g:2295:2: ( rule__Conjunction__Group_1__0 )*
6624 loop25: 7256 loop28:
6625 do { 7257 do {
6626 int alt25=2; 7258 int alt28=2;
6627 int LA25_0 = input.LA(1); 7259 int LA28_0 = input.LA(1);
6628 7260
6629 if ( (LA25_0==25) ) { 7261 if ( (LA28_0==25) ) {
6630 alt25=1; 7262 alt28=1;
6631 } 7263 }
6632 7264
6633 7265
6634 switch (alt25) { 7266 switch (alt28) {
6635 case 1 : 7267 case 1 :
6636 // InternalProblem.g:2091:3: rule__Conjunction__Group_1__0 7268 // InternalProblem.g:2295:3: rule__Conjunction__Group_1__0
6637 { 7269 {
6638 pushFollow(FOLLOW_7); 7270 pushFollow(FOLLOW_11);
6639 rule__Conjunction__Group_1__0(); 7271 rule__Conjunction__Group_1__0();
6640 7272
6641 state._fsp--; 7273 state._fsp--;
@@ -6645,7 +7277,7 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6645 break; 7277 break;
6646 7278
6647 default : 7279 default :
6648 break loop25; 7280 break loop28;
6649 } 7281 }
6650 } while (true); 7282 } while (true);
6651 7283
@@ -6672,16 +7304,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6672 7304
6673 7305
6674 // $ANTLR start "rule__Conjunction__Group_1__0" 7306 // $ANTLR start "rule__Conjunction__Group_1__0"
6675 // InternalProblem.g:2100:1: rule__Conjunction__Group_1__0 : rule__Conjunction__Group_1__0__Impl rule__Conjunction__Group_1__1 ; 7307 // InternalProblem.g:2304:1: rule__Conjunction__Group_1__0 : rule__Conjunction__Group_1__0__Impl rule__Conjunction__Group_1__1 ;
6676 public final void rule__Conjunction__Group_1__0() throws RecognitionException { 7308 public final void rule__Conjunction__Group_1__0() throws RecognitionException {
6677 7309
6678 int stackSize = keepStackSize(); 7310 int stackSize = keepStackSize();
6679 7311
6680 try { 7312 try {
6681 // InternalProblem.g:2104:1: ( rule__Conjunction__Group_1__0__Impl rule__Conjunction__Group_1__1 ) 7313 // InternalProblem.g:2308:1: ( rule__Conjunction__Group_1__0__Impl rule__Conjunction__Group_1__1 )
6682 // InternalProblem.g:2105:2: rule__Conjunction__Group_1__0__Impl rule__Conjunction__Group_1__1 7314 // InternalProblem.g:2309:2: rule__Conjunction__Group_1__0__Impl rule__Conjunction__Group_1__1
6683 { 7315 {
6684 pushFollow(FOLLOW_20); 7316 pushFollow(FOLLOW_23);
6685 rule__Conjunction__Group_1__0__Impl(); 7317 rule__Conjunction__Group_1__0__Impl();
6686 7318
6687 state._fsp--; 7319 state._fsp--;
@@ -6710,17 +7342,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6710 7342
6711 7343
6712 // $ANTLR start "rule__Conjunction__Group_1__0__Impl" 7344 // $ANTLR start "rule__Conjunction__Group_1__0__Impl"
6713 // InternalProblem.g:2112:1: rule__Conjunction__Group_1__0__Impl : ( ',' ) ; 7345 // InternalProblem.g:2316:1: rule__Conjunction__Group_1__0__Impl : ( ',' ) ;
6714 public final void rule__Conjunction__Group_1__0__Impl() throws RecognitionException { 7346 public final void rule__Conjunction__Group_1__0__Impl() throws RecognitionException {
6715 7347
6716 int stackSize = keepStackSize(); 7348 int stackSize = keepStackSize();
6717 7349
6718 try { 7350 try {
6719 // InternalProblem.g:2116:1: ( ( ',' ) ) 7351 // InternalProblem.g:2320:1: ( ( ',' ) )
6720 // InternalProblem.g:2117:1: ( ',' ) 7352 // InternalProblem.g:2321:1: ( ',' )
6721 { 7353 {
6722 // InternalProblem.g:2117:1: ( ',' ) 7354 // InternalProblem.g:2321:1: ( ',' )
6723 // InternalProblem.g:2118:2: ',' 7355 // InternalProblem.g:2322:2: ','
6724 { 7356 {
6725 before(grammarAccess.getConjunctionAccess().getCommaKeyword_1_0()); 7357 before(grammarAccess.getConjunctionAccess().getCommaKeyword_1_0());
6726 match(input,25,FOLLOW_2); 7358 match(input,25,FOLLOW_2);
@@ -6747,14 +7379,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6747 7379
6748 7380
6749 // $ANTLR start "rule__Conjunction__Group_1__1" 7381 // $ANTLR start "rule__Conjunction__Group_1__1"
6750 // InternalProblem.g:2127:1: rule__Conjunction__Group_1__1 : rule__Conjunction__Group_1__1__Impl ; 7382 // InternalProblem.g:2331:1: rule__Conjunction__Group_1__1 : rule__Conjunction__Group_1__1__Impl ;
6751 public final void rule__Conjunction__Group_1__1() throws RecognitionException { 7383 public final void rule__Conjunction__Group_1__1() throws RecognitionException {
6752 7384
6753 int stackSize = keepStackSize(); 7385 int stackSize = keepStackSize();
6754 7386
6755 try { 7387 try {
6756 // InternalProblem.g:2131:1: ( rule__Conjunction__Group_1__1__Impl ) 7388 // InternalProblem.g:2335:1: ( rule__Conjunction__Group_1__1__Impl )
6757 // InternalProblem.g:2132:2: rule__Conjunction__Group_1__1__Impl 7389 // InternalProblem.g:2336:2: rule__Conjunction__Group_1__1__Impl
6758 { 7390 {
6759 pushFollow(FOLLOW_2); 7391 pushFollow(FOLLOW_2);
6760 rule__Conjunction__Group_1__1__Impl(); 7392 rule__Conjunction__Group_1__1__Impl();
@@ -6780,21 +7412,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6780 7412
6781 7413
6782 // $ANTLR start "rule__Conjunction__Group_1__1__Impl" 7414 // $ANTLR start "rule__Conjunction__Group_1__1__Impl"
6783 // InternalProblem.g:2138:1: rule__Conjunction__Group_1__1__Impl : ( ( rule__Conjunction__LiteralsAssignment_1_1 ) ) ; 7415 // InternalProblem.g:2342:1: rule__Conjunction__Group_1__1__Impl : ( ( rule__Conjunction__LiteralsAssignment_1_1 ) ) ;
6784 public final void rule__Conjunction__Group_1__1__Impl() throws RecognitionException { 7416 public final void rule__Conjunction__Group_1__1__Impl() throws RecognitionException {
6785 7417
6786 int stackSize = keepStackSize(); 7418 int stackSize = keepStackSize();
6787 7419
6788 try { 7420 try {
6789 // InternalProblem.g:2142:1: ( ( ( rule__Conjunction__LiteralsAssignment_1_1 ) ) ) 7421 // InternalProblem.g:2346:1: ( ( ( rule__Conjunction__LiteralsAssignment_1_1 ) ) )
6790 // InternalProblem.g:2143:1: ( ( rule__Conjunction__LiteralsAssignment_1_1 ) ) 7422 // InternalProblem.g:2347:1: ( ( rule__Conjunction__LiteralsAssignment_1_1 ) )
6791 { 7423 {
6792 // InternalProblem.g:2143:1: ( ( rule__Conjunction__LiteralsAssignment_1_1 ) ) 7424 // InternalProblem.g:2347:1: ( ( rule__Conjunction__LiteralsAssignment_1_1 ) )
6793 // InternalProblem.g:2144:2: ( rule__Conjunction__LiteralsAssignment_1_1 ) 7425 // InternalProblem.g:2348:2: ( rule__Conjunction__LiteralsAssignment_1_1 )
6794 { 7426 {
6795 before(grammarAccess.getConjunctionAccess().getLiteralsAssignment_1_1()); 7427 before(grammarAccess.getConjunctionAccess().getLiteralsAssignment_1_1());
6796 // InternalProblem.g:2145:2: ( rule__Conjunction__LiteralsAssignment_1_1 ) 7428 // InternalProblem.g:2349:2: ( rule__Conjunction__LiteralsAssignment_1_1 )
6797 // InternalProblem.g:2145:3: rule__Conjunction__LiteralsAssignment_1_1 7429 // InternalProblem.g:2349:3: rule__Conjunction__LiteralsAssignment_1_1
6798 { 7430 {
6799 pushFollow(FOLLOW_2); 7431 pushFollow(FOLLOW_2);
6800 rule__Conjunction__LiteralsAssignment_1_1(); 7432 rule__Conjunction__LiteralsAssignment_1_1();
@@ -6827,16 +7459,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6827 7459
6828 7460
6829 // $ANTLR start "rule__NegativeLiteral__Group__0" 7461 // $ANTLR start "rule__NegativeLiteral__Group__0"
6830 // InternalProblem.g:2154:1: rule__NegativeLiteral__Group__0 : rule__NegativeLiteral__Group__0__Impl rule__NegativeLiteral__Group__1 ; 7462 // InternalProblem.g:2358:1: rule__NegativeLiteral__Group__0 : rule__NegativeLiteral__Group__0__Impl rule__NegativeLiteral__Group__1 ;
6831 public final void rule__NegativeLiteral__Group__0() throws RecognitionException { 7463 public final void rule__NegativeLiteral__Group__0() throws RecognitionException {
6832 7464
6833 int stackSize = keepStackSize(); 7465 int stackSize = keepStackSize();
6834 7466
6835 try { 7467 try {
6836 // InternalProblem.g:2158:1: ( rule__NegativeLiteral__Group__0__Impl rule__NegativeLiteral__Group__1 ) 7468 // InternalProblem.g:2362:1: ( rule__NegativeLiteral__Group__0__Impl rule__NegativeLiteral__Group__1 )
6837 // InternalProblem.g:2159:2: rule__NegativeLiteral__Group__0__Impl rule__NegativeLiteral__Group__1 7469 // InternalProblem.g:2363:2: rule__NegativeLiteral__Group__0__Impl rule__NegativeLiteral__Group__1
6838 { 7470 {
6839 pushFollow(FOLLOW_5); 7471 pushFollow(FOLLOW_9);
6840 rule__NegativeLiteral__Group__0__Impl(); 7472 rule__NegativeLiteral__Group__0__Impl();
6841 7473
6842 state._fsp--; 7474 state._fsp--;
@@ -6865,20 +7497,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6865 7497
6866 7498
6867 // $ANTLR start "rule__NegativeLiteral__Group__0__Impl" 7499 // $ANTLR start "rule__NegativeLiteral__Group__0__Impl"
6868 // InternalProblem.g:2166:1: rule__NegativeLiteral__Group__0__Impl : ( '!' ) ; 7500 // InternalProblem.g:2370:1: rule__NegativeLiteral__Group__0__Impl : ( '!' ) ;
6869 public final void rule__NegativeLiteral__Group__0__Impl() throws RecognitionException { 7501 public final void rule__NegativeLiteral__Group__0__Impl() throws RecognitionException {
6870 7502
6871 int stackSize = keepStackSize(); 7503 int stackSize = keepStackSize();
6872 7504
6873 try { 7505 try {
6874 // InternalProblem.g:2170:1: ( ( '!' ) ) 7506 // InternalProblem.g:2374:1: ( ( '!' ) )
6875 // InternalProblem.g:2171:1: ( '!' ) 7507 // InternalProblem.g:2375:1: ( '!' )
6876 { 7508 {
6877 // InternalProblem.g:2171:1: ( '!' ) 7509 // InternalProblem.g:2375:1: ( '!' )
6878 // InternalProblem.g:2172:2: '!' 7510 // InternalProblem.g:2376:2: '!'
6879 { 7511 {
6880 before(grammarAccess.getNegativeLiteralAccess().getExclamationMarkKeyword_0()); 7512 before(grammarAccess.getNegativeLiteralAccess().getExclamationMarkKeyword_0());
6881 match(input,18,FOLLOW_2); 7513 match(input,20,FOLLOW_2);
6882 after(grammarAccess.getNegativeLiteralAccess().getExclamationMarkKeyword_0()); 7514 after(grammarAccess.getNegativeLiteralAccess().getExclamationMarkKeyword_0());
6883 7515
6884 } 7516 }
@@ -6902,14 +7534,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6902 7534
6903 7535
6904 // $ANTLR start "rule__NegativeLiteral__Group__1" 7536 // $ANTLR start "rule__NegativeLiteral__Group__1"
6905 // InternalProblem.g:2181:1: rule__NegativeLiteral__Group__1 : rule__NegativeLiteral__Group__1__Impl ; 7537 // InternalProblem.g:2385:1: rule__NegativeLiteral__Group__1 : rule__NegativeLiteral__Group__1__Impl ;
6906 public final void rule__NegativeLiteral__Group__1() throws RecognitionException { 7538 public final void rule__NegativeLiteral__Group__1() throws RecognitionException {
6907 7539
6908 int stackSize = keepStackSize(); 7540 int stackSize = keepStackSize();
6909 7541
6910 try { 7542 try {
6911 // InternalProblem.g:2185:1: ( rule__NegativeLiteral__Group__1__Impl ) 7543 // InternalProblem.g:2389:1: ( rule__NegativeLiteral__Group__1__Impl )
6912 // InternalProblem.g:2186:2: rule__NegativeLiteral__Group__1__Impl 7544 // InternalProblem.g:2390:2: rule__NegativeLiteral__Group__1__Impl
6913 { 7545 {
6914 pushFollow(FOLLOW_2); 7546 pushFollow(FOLLOW_2);
6915 rule__NegativeLiteral__Group__1__Impl(); 7547 rule__NegativeLiteral__Group__1__Impl();
@@ -6935,21 +7567,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6935 7567
6936 7568
6937 // $ANTLR start "rule__NegativeLiteral__Group__1__Impl" 7569 // $ANTLR start "rule__NegativeLiteral__Group__1__Impl"
6938 // InternalProblem.g:2192:1: rule__NegativeLiteral__Group__1__Impl : ( ( rule__NegativeLiteral__AtomAssignment_1 ) ) ; 7570 // InternalProblem.g:2396:1: rule__NegativeLiteral__Group__1__Impl : ( ( rule__NegativeLiteral__AtomAssignment_1 ) ) ;
6939 public final void rule__NegativeLiteral__Group__1__Impl() throws RecognitionException { 7571 public final void rule__NegativeLiteral__Group__1__Impl() throws RecognitionException {
6940 7572
6941 int stackSize = keepStackSize(); 7573 int stackSize = keepStackSize();
6942 7574
6943 try { 7575 try {
6944 // InternalProblem.g:2196:1: ( ( ( rule__NegativeLiteral__AtomAssignment_1 ) ) ) 7576 // InternalProblem.g:2400:1: ( ( ( rule__NegativeLiteral__AtomAssignment_1 ) ) )
6945 // InternalProblem.g:2197:1: ( ( rule__NegativeLiteral__AtomAssignment_1 ) ) 7577 // InternalProblem.g:2401:1: ( ( rule__NegativeLiteral__AtomAssignment_1 ) )
6946 { 7578 {
6947 // InternalProblem.g:2197:1: ( ( rule__NegativeLiteral__AtomAssignment_1 ) ) 7579 // InternalProblem.g:2401:1: ( ( rule__NegativeLiteral__AtomAssignment_1 ) )
6948 // InternalProblem.g:2198:2: ( rule__NegativeLiteral__AtomAssignment_1 ) 7580 // InternalProblem.g:2402:2: ( rule__NegativeLiteral__AtomAssignment_1 )
6949 { 7581 {
6950 before(grammarAccess.getNegativeLiteralAccess().getAtomAssignment_1()); 7582 before(grammarAccess.getNegativeLiteralAccess().getAtomAssignment_1());
6951 // InternalProblem.g:2199:2: ( rule__NegativeLiteral__AtomAssignment_1 ) 7583 // InternalProblem.g:2403:2: ( rule__NegativeLiteral__AtomAssignment_1 )
6952 // InternalProblem.g:2199:3: rule__NegativeLiteral__AtomAssignment_1 7584 // InternalProblem.g:2403:3: rule__NegativeLiteral__AtomAssignment_1
6953 { 7585 {
6954 pushFollow(FOLLOW_2); 7586 pushFollow(FOLLOW_2);
6955 rule__NegativeLiteral__AtomAssignment_1(); 7587 rule__NegativeLiteral__AtomAssignment_1();
@@ -6982,16 +7614,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6982 7614
6983 7615
6984 // $ANTLR start "rule__Atom__Group__0" 7616 // $ANTLR start "rule__Atom__Group__0"
6985 // InternalProblem.g:2208:1: rule__Atom__Group__0 : rule__Atom__Group__0__Impl rule__Atom__Group__1 ; 7617 // InternalProblem.g:2412:1: rule__Atom__Group__0 : rule__Atom__Group__0__Impl rule__Atom__Group__1 ;
6986 public final void rule__Atom__Group__0() throws RecognitionException { 7618 public final void rule__Atom__Group__0() throws RecognitionException {
6987 7619
6988 int stackSize = keepStackSize(); 7620 int stackSize = keepStackSize();
6989 7621
6990 try { 7622 try {
6991 // InternalProblem.g:2212:1: ( rule__Atom__Group__0__Impl rule__Atom__Group__1 ) 7623 // InternalProblem.g:2416:1: ( rule__Atom__Group__0__Impl rule__Atom__Group__1 )
6992 // InternalProblem.g:2213:2: rule__Atom__Group__0__Impl rule__Atom__Group__1 7624 // InternalProblem.g:2417:2: rule__Atom__Group__0__Impl rule__Atom__Group__1
6993 { 7625 {
6994 pushFollow(FOLLOW_23); 7626 pushFollow(FOLLOW_25);
6995 rule__Atom__Group__0__Impl(); 7627 rule__Atom__Group__0__Impl();
6996 7628
6997 state._fsp--; 7629 state._fsp--;
@@ -7020,21 +7652,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7020 7652
7021 7653
7022 // $ANTLR start "rule__Atom__Group__0__Impl" 7654 // $ANTLR start "rule__Atom__Group__0__Impl"
7023 // InternalProblem.g:2220:1: rule__Atom__Group__0__Impl : ( ( rule__Atom__RelationAssignment_0 ) ) ; 7655 // InternalProblem.g:2424:1: rule__Atom__Group__0__Impl : ( ( rule__Atom__RelationAssignment_0 ) ) ;
7024 public final void rule__Atom__Group__0__Impl() throws RecognitionException { 7656 public final void rule__Atom__Group__0__Impl() throws RecognitionException {
7025 7657
7026 int stackSize = keepStackSize(); 7658 int stackSize = keepStackSize();
7027 7659
7028 try { 7660 try {
7029 // InternalProblem.g:2224:1: ( ( ( rule__Atom__RelationAssignment_0 ) ) ) 7661 // InternalProblem.g:2428:1: ( ( ( rule__Atom__RelationAssignment_0 ) ) )
7030 // InternalProblem.g:2225:1: ( ( rule__Atom__RelationAssignment_0 ) ) 7662 // InternalProblem.g:2429:1: ( ( rule__Atom__RelationAssignment_0 ) )
7031 { 7663 {
7032 // InternalProblem.g:2225:1: ( ( rule__Atom__RelationAssignment_0 ) ) 7664 // InternalProblem.g:2429:1: ( ( rule__Atom__RelationAssignment_0 ) )
7033 // InternalProblem.g:2226:2: ( rule__Atom__RelationAssignment_0 ) 7665 // InternalProblem.g:2430:2: ( rule__Atom__RelationAssignment_0 )
7034 { 7666 {
7035 before(grammarAccess.getAtomAccess().getRelationAssignment_0()); 7667 before(grammarAccess.getAtomAccess().getRelationAssignment_0());
7036 // InternalProblem.g:2227:2: ( rule__Atom__RelationAssignment_0 ) 7668 // InternalProblem.g:2431:2: ( rule__Atom__RelationAssignment_0 )
7037 // InternalProblem.g:2227:3: rule__Atom__RelationAssignment_0 7669 // InternalProblem.g:2431:3: rule__Atom__RelationAssignment_0
7038 { 7670 {
7039 pushFollow(FOLLOW_2); 7671 pushFollow(FOLLOW_2);
7040 rule__Atom__RelationAssignment_0(); 7672 rule__Atom__RelationAssignment_0();
@@ -7067,16 +7699,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7067 7699
7068 7700
7069 // $ANTLR start "rule__Atom__Group__1" 7701 // $ANTLR start "rule__Atom__Group__1"
7070 // InternalProblem.g:2235:1: rule__Atom__Group__1 : rule__Atom__Group__1__Impl rule__Atom__Group__2 ; 7702 // InternalProblem.g:2439:1: rule__Atom__Group__1 : rule__Atom__Group__1__Impl rule__Atom__Group__2 ;
7071 public final void rule__Atom__Group__1() throws RecognitionException { 7703 public final void rule__Atom__Group__1() throws RecognitionException {
7072 7704
7073 int stackSize = keepStackSize(); 7705 int stackSize = keepStackSize();
7074 7706
7075 try { 7707 try {
7076 // InternalProblem.g:2239:1: ( rule__Atom__Group__1__Impl rule__Atom__Group__2 ) 7708 // InternalProblem.g:2443:1: ( rule__Atom__Group__1__Impl rule__Atom__Group__2 )
7077 // InternalProblem.g:2240:2: rule__Atom__Group__1__Impl rule__Atom__Group__2 7709 // InternalProblem.g:2444:2: rule__Atom__Group__1__Impl rule__Atom__Group__2
7078 { 7710 {
7079 pushFollow(FOLLOW_23); 7711 pushFollow(FOLLOW_25);
7080 rule__Atom__Group__1__Impl(); 7712 rule__Atom__Group__1__Impl();
7081 7713
7082 state._fsp--; 7714 state._fsp--;
@@ -7105,29 +7737,29 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7105 7737
7106 7738
7107 // $ANTLR start "rule__Atom__Group__1__Impl" 7739 // $ANTLR start "rule__Atom__Group__1__Impl"
7108 // InternalProblem.g:2247:1: rule__Atom__Group__1__Impl : ( ( rule__Atom__TransitiveClosureAssignment_1 )? ) ; 7740 // InternalProblem.g:2451:1: rule__Atom__Group__1__Impl : ( ( rule__Atom__TransitiveClosureAssignment_1 )? ) ;
7109 public final void rule__Atom__Group__1__Impl() throws RecognitionException { 7741 public final void rule__Atom__Group__1__Impl() throws RecognitionException {
7110 7742
7111 int stackSize = keepStackSize(); 7743 int stackSize = keepStackSize();
7112 7744
7113 try { 7745 try {
7114 // InternalProblem.g:2251:1: ( ( ( rule__Atom__TransitiveClosureAssignment_1 )? ) ) 7746 // InternalProblem.g:2455:1: ( ( ( rule__Atom__TransitiveClosureAssignment_1 )? ) )
7115 // InternalProblem.g:2252:1: ( ( rule__Atom__TransitiveClosureAssignment_1 )? ) 7747 // InternalProblem.g:2456:1: ( ( rule__Atom__TransitiveClosureAssignment_1 )? )
7116 { 7748 {
7117 // InternalProblem.g:2252:1: ( ( rule__Atom__TransitiveClosureAssignment_1 )? ) 7749 // InternalProblem.g:2456:1: ( ( rule__Atom__TransitiveClosureAssignment_1 )? )
7118 // InternalProblem.g:2253:2: ( rule__Atom__TransitiveClosureAssignment_1 )? 7750 // InternalProblem.g:2457:2: ( rule__Atom__TransitiveClosureAssignment_1 )?
7119 { 7751 {
7120 before(grammarAccess.getAtomAccess().getTransitiveClosureAssignment_1()); 7752 before(grammarAccess.getAtomAccess().getTransitiveClosureAssignment_1());
7121 // InternalProblem.g:2254:2: ( rule__Atom__TransitiveClosureAssignment_1 )? 7753 // InternalProblem.g:2458:2: ( rule__Atom__TransitiveClosureAssignment_1 )?
7122 int alt26=2; 7754 int alt29=2;
7123 int LA26_0 = input.LA(1); 7755 int LA29_0 = input.LA(1);
7124 7756
7125 if ( (LA26_0==38) ) { 7757 if ( (LA29_0==41) ) {
7126 alt26=1; 7758 alt29=1;
7127 } 7759 }
7128 switch (alt26) { 7760 switch (alt29) {
7129 case 1 : 7761 case 1 :
7130 // InternalProblem.g:2254:3: rule__Atom__TransitiveClosureAssignment_1 7762 // InternalProblem.g:2458:3: rule__Atom__TransitiveClosureAssignment_1
7131 { 7763 {
7132 pushFollow(FOLLOW_2); 7764 pushFollow(FOLLOW_2);
7133 rule__Atom__TransitiveClosureAssignment_1(); 7765 rule__Atom__TransitiveClosureAssignment_1();
@@ -7163,16 +7795,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7163 7795
7164 7796
7165 // $ANTLR start "rule__Atom__Group__2" 7797 // $ANTLR start "rule__Atom__Group__2"
7166 // InternalProblem.g:2262:1: rule__Atom__Group__2 : rule__Atom__Group__2__Impl rule__Atom__Group__3 ; 7798 // InternalProblem.g:2466:1: rule__Atom__Group__2 : rule__Atom__Group__2__Impl rule__Atom__Group__3 ;
7167 public final void rule__Atom__Group__2() throws RecognitionException { 7799 public final void rule__Atom__Group__2() throws RecognitionException {
7168 7800
7169 int stackSize = keepStackSize(); 7801 int stackSize = keepStackSize();
7170 7802
7171 try { 7803 try {
7172 // InternalProblem.g:2266:1: ( rule__Atom__Group__2__Impl rule__Atom__Group__3 ) 7804 // InternalProblem.g:2470:1: ( rule__Atom__Group__2__Impl rule__Atom__Group__3 )
7173 // InternalProblem.g:2267:2: rule__Atom__Group__2__Impl rule__Atom__Group__3 7805 // InternalProblem.g:2471:2: rule__Atom__Group__2__Impl rule__Atom__Group__3
7174 { 7806 {
7175 pushFollow(FOLLOW_17); 7807 pushFollow(FOLLOW_20);
7176 rule__Atom__Group__2__Impl(); 7808 rule__Atom__Group__2__Impl();
7177 7809
7178 state._fsp--; 7810 state._fsp--;
@@ -7201,20 +7833,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7201 7833
7202 7834
7203 // $ANTLR start "rule__Atom__Group__2__Impl" 7835 // $ANTLR start "rule__Atom__Group__2__Impl"
7204 // InternalProblem.g:2274:1: rule__Atom__Group__2__Impl : ( '(' ) ; 7836 // InternalProblem.g:2478:1: rule__Atom__Group__2__Impl : ( '(' ) ;
7205 public final void rule__Atom__Group__2__Impl() throws RecognitionException { 7837 public final void rule__Atom__Group__2__Impl() throws RecognitionException {
7206 7838
7207 int stackSize = keepStackSize(); 7839 int stackSize = keepStackSize();
7208 7840
7209 try { 7841 try {
7210 // InternalProblem.g:2278:1: ( ( '(' ) ) 7842 // InternalProblem.g:2482:1: ( ( '(' ) )
7211 // InternalProblem.g:2279:1: ( '(' ) 7843 // InternalProblem.g:2483:1: ( '(' )
7212 { 7844 {
7213 // InternalProblem.g:2279:1: ( '(' ) 7845 // InternalProblem.g:2483:1: ( '(' )
7214 // InternalProblem.g:2280:2: '(' 7846 // InternalProblem.g:2484:2: '('
7215 { 7847 {
7216 before(grammarAccess.getAtomAccess().getLeftParenthesisKeyword_2()); 7848 before(grammarAccess.getAtomAccess().getLeftParenthesisKeyword_2());
7217 match(input,27,FOLLOW_2); 7849 match(input,32,FOLLOW_2);
7218 after(grammarAccess.getAtomAccess().getLeftParenthesisKeyword_2()); 7850 after(grammarAccess.getAtomAccess().getLeftParenthesisKeyword_2());
7219 7851
7220 } 7852 }
@@ -7238,16 +7870,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7238 7870
7239 7871
7240 // $ANTLR start "rule__Atom__Group__3" 7872 // $ANTLR start "rule__Atom__Group__3"
7241 // InternalProblem.g:2289:1: rule__Atom__Group__3 : rule__Atom__Group__3__Impl rule__Atom__Group__4 ; 7873 // InternalProblem.g:2493:1: rule__Atom__Group__3 : rule__Atom__Group__3__Impl rule__Atom__Group__4 ;
7242 public final void rule__Atom__Group__3() throws RecognitionException { 7874 public final void rule__Atom__Group__3() throws RecognitionException {
7243 7875
7244 int stackSize = keepStackSize(); 7876 int stackSize = keepStackSize();
7245 7877
7246 try { 7878 try {
7247 // InternalProblem.g:2293:1: ( rule__Atom__Group__3__Impl rule__Atom__Group__4 ) 7879 // InternalProblem.g:2497:1: ( rule__Atom__Group__3__Impl rule__Atom__Group__4 )
7248 // InternalProblem.g:2294:2: rule__Atom__Group__3__Impl rule__Atom__Group__4 7880 // InternalProblem.g:2498:2: rule__Atom__Group__3__Impl rule__Atom__Group__4
7249 { 7881 {
7250 pushFollow(FOLLOW_17); 7882 pushFollow(FOLLOW_20);
7251 rule__Atom__Group__3__Impl(); 7883 rule__Atom__Group__3__Impl();
7252 7884
7253 state._fsp--; 7885 state._fsp--;
@@ -7276,29 +7908,29 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7276 7908
7277 7909
7278 // $ANTLR start "rule__Atom__Group__3__Impl" 7910 // $ANTLR start "rule__Atom__Group__3__Impl"
7279 // InternalProblem.g:2301:1: rule__Atom__Group__3__Impl : ( ( rule__Atom__Group_3__0 )? ) ; 7911 // InternalProblem.g:2505:1: rule__Atom__Group__3__Impl : ( ( rule__Atom__Group_3__0 )? ) ;
7280 public final void rule__Atom__Group__3__Impl() throws RecognitionException { 7912 public final void rule__Atom__Group__3__Impl() throws RecognitionException {
7281 7913
7282 int stackSize = keepStackSize(); 7914 int stackSize = keepStackSize();
7283 7915
7284 try { 7916 try {
7285 // InternalProblem.g:2305:1: ( ( ( rule__Atom__Group_3__0 )? ) ) 7917 // InternalProblem.g:2509:1: ( ( ( rule__Atom__Group_3__0 )? ) )
7286 // InternalProblem.g:2306:1: ( ( rule__Atom__Group_3__0 )? ) 7918 // InternalProblem.g:2510:1: ( ( rule__Atom__Group_3__0 )? )
7287 { 7919 {
7288 // InternalProblem.g:2306:1: ( ( rule__Atom__Group_3__0 )? ) 7920 // InternalProblem.g:2510:1: ( ( rule__Atom__Group_3__0 )? )
7289 // InternalProblem.g:2307:2: ( rule__Atom__Group_3__0 )? 7921 // InternalProblem.g:2511:2: ( rule__Atom__Group_3__0 )?
7290 { 7922 {
7291 before(grammarAccess.getAtomAccess().getGroup_3()); 7923 before(grammarAccess.getAtomAccess().getGroup_3());
7292 // InternalProblem.g:2308:2: ( rule__Atom__Group_3__0 )? 7924 // InternalProblem.g:2512:2: ( rule__Atom__Group_3__0 )?
7293 int alt27=2; 7925 int alt30=2;
7294 int LA27_0 = input.LA(1); 7926 int LA30_0 = input.LA(1);
7295 7927
7296 if ( (LA27_0==RULE_ID) ) { 7928 if ( (LA30_0==RULE_ID) ) {
7297 alt27=1; 7929 alt30=1;
7298 } 7930 }
7299 switch (alt27) { 7931 switch (alt30) {
7300 case 1 : 7932 case 1 :
7301 // InternalProblem.g:2308:3: rule__Atom__Group_3__0 7933 // InternalProblem.g:2512:3: rule__Atom__Group_3__0
7302 { 7934 {
7303 pushFollow(FOLLOW_2); 7935 pushFollow(FOLLOW_2);
7304 rule__Atom__Group_3__0(); 7936 rule__Atom__Group_3__0();
@@ -7334,14 +7966,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7334 7966
7335 7967
7336 // $ANTLR start "rule__Atom__Group__4" 7968 // $ANTLR start "rule__Atom__Group__4"
7337 // InternalProblem.g:2316:1: rule__Atom__Group__4 : rule__Atom__Group__4__Impl ; 7969 // InternalProblem.g:2520:1: rule__Atom__Group__4 : rule__Atom__Group__4__Impl ;
7338 public final void rule__Atom__Group__4() throws RecognitionException { 7970 public final void rule__Atom__Group__4() throws RecognitionException {
7339 7971
7340 int stackSize = keepStackSize(); 7972 int stackSize = keepStackSize();
7341 7973
7342 try { 7974 try {
7343 // InternalProblem.g:2320:1: ( rule__Atom__Group__4__Impl ) 7975 // InternalProblem.g:2524:1: ( rule__Atom__Group__4__Impl )
7344 // InternalProblem.g:2321:2: rule__Atom__Group__4__Impl 7976 // InternalProblem.g:2525:2: rule__Atom__Group__4__Impl
7345 { 7977 {
7346 pushFollow(FOLLOW_2); 7978 pushFollow(FOLLOW_2);
7347 rule__Atom__Group__4__Impl(); 7979 rule__Atom__Group__4__Impl();
@@ -7367,20 +7999,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7367 7999
7368 8000
7369 // $ANTLR start "rule__Atom__Group__4__Impl" 8001 // $ANTLR start "rule__Atom__Group__4__Impl"
7370 // InternalProblem.g:2327:1: rule__Atom__Group__4__Impl : ( ')' ) ; 8002 // InternalProblem.g:2531:1: rule__Atom__Group__4__Impl : ( ')' ) ;
7371 public final void rule__Atom__Group__4__Impl() throws RecognitionException { 8003 public final void rule__Atom__Group__4__Impl() throws RecognitionException {
7372 8004
7373 int stackSize = keepStackSize(); 8005 int stackSize = keepStackSize();
7374 8006
7375 try { 8007 try {
7376 // InternalProblem.g:2331:1: ( ( ')' ) ) 8008 // InternalProblem.g:2535:1: ( ( ')' ) )
7377 // InternalProblem.g:2332:1: ( ')' ) 8009 // InternalProblem.g:2536:1: ( ')' )
7378 { 8010 {
7379 // InternalProblem.g:2332:1: ( ')' ) 8011 // InternalProblem.g:2536:1: ( ')' )
7380 // InternalProblem.g:2333:2: ')' 8012 // InternalProblem.g:2537:2: ')'
7381 { 8013 {
7382 before(grammarAccess.getAtomAccess().getRightParenthesisKeyword_4()); 8014 before(grammarAccess.getAtomAccess().getRightParenthesisKeyword_4());
7383 match(input,28,FOLLOW_2); 8015 match(input,33,FOLLOW_2);
7384 after(grammarAccess.getAtomAccess().getRightParenthesisKeyword_4()); 8016 after(grammarAccess.getAtomAccess().getRightParenthesisKeyword_4());
7385 8017
7386 } 8018 }
@@ -7404,14 +8036,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7404 8036
7405 8037
7406 // $ANTLR start "rule__Atom__Group_3__0" 8038 // $ANTLR start "rule__Atom__Group_3__0"
7407 // InternalProblem.g:2343:1: rule__Atom__Group_3__0 : rule__Atom__Group_3__0__Impl rule__Atom__Group_3__1 ; 8039 // InternalProblem.g:2547:1: rule__Atom__Group_3__0 : rule__Atom__Group_3__0__Impl rule__Atom__Group_3__1 ;
7408 public final void rule__Atom__Group_3__0() throws RecognitionException { 8040 public final void rule__Atom__Group_3__0() throws RecognitionException {
7409 8041
7410 int stackSize = keepStackSize(); 8042 int stackSize = keepStackSize();
7411 8043
7412 try { 8044 try {
7413 // InternalProblem.g:2347:1: ( rule__Atom__Group_3__0__Impl rule__Atom__Group_3__1 ) 8045 // InternalProblem.g:2551:1: ( rule__Atom__Group_3__0__Impl rule__Atom__Group_3__1 )
7414 // InternalProblem.g:2348:2: rule__Atom__Group_3__0__Impl rule__Atom__Group_3__1 8046 // InternalProblem.g:2552:2: rule__Atom__Group_3__0__Impl rule__Atom__Group_3__1
7415 { 8047 {
7416 pushFollow(FOLLOW_10); 8048 pushFollow(FOLLOW_10);
7417 rule__Atom__Group_3__0__Impl(); 8049 rule__Atom__Group_3__0__Impl();
@@ -7442,21 +8074,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7442 8074
7443 8075
7444 // $ANTLR start "rule__Atom__Group_3__0__Impl" 8076 // $ANTLR start "rule__Atom__Group_3__0__Impl"
7445 // InternalProblem.g:2355:1: rule__Atom__Group_3__0__Impl : ( ( rule__Atom__ArgumentsAssignment_3_0 ) ) ; 8077 // InternalProblem.g:2559:1: rule__Atom__Group_3__0__Impl : ( ( rule__Atom__ArgumentsAssignment_3_0 ) ) ;
7446 public final void rule__Atom__Group_3__0__Impl() throws RecognitionException { 8078 public final void rule__Atom__Group_3__0__Impl() throws RecognitionException {
7447 8079
7448 int stackSize = keepStackSize(); 8080 int stackSize = keepStackSize();
7449 8081
7450 try { 8082 try {
7451 // InternalProblem.g:2359:1: ( ( ( rule__Atom__ArgumentsAssignment_3_0 ) ) ) 8083 // InternalProblem.g:2563:1: ( ( ( rule__Atom__ArgumentsAssignment_3_0 ) ) )
7452 // InternalProblem.g:2360:1: ( ( rule__Atom__ArgumentsAssignment_3_0 ) ) 8084 // InternalProblem.g:2564:1: ( ( rule__Atom__ArgumentsAssignment_3_0 ) )
7453 { 8085 {
7454 // InternalProblem.g:2360:1: ( ( rule__Atom__ArgumentsAssignment_3_0 ) ) 8086 // InternalProblem.g:2564:1: ( ( rule__Atom__ArgumentsAssignment_3_0 ) )
7455 // InternalProblem.g:2361:2: ( rule__Atom__ArgumentsAssignment_3_0 ) 8087 // InternalProblem.g:2565:2: ( rule__Atom__ArgumentsAssignment_3_0 )
7456 { 8088 {
7457 before(grammarAccess.getAtomAccess().getArgumentsAssignment_3_0()); 8089 before(grammarAccess.getAtomAccess().getArgumentsAssignment_3_0());
7458 // InternalProblem.g:2362:2: ( rule__Atom__ArgumentsAssignment_3_0 ) 8090 // InternalProblem.g:2566:2: ( rule__Atom__ArgumentsAssignment_3_0 )
7459 // InternalProblem.g:2362:3: rule__Atom__ArgumentsAssignment_3_0 8091 // InternalProblem.g:2566:3: rule__Atom__ArgumentsAssignment_3_0
7460 { 8092 {
7461 pushFollow(FOLLOW_2); 8093 pushFollow(FOLLOW_2);
7462 rule__Atom__ArgumentsAssignment_3_0(); 8094 rule__Atom__ArgumentsAssignment_3_0();
@@ -7489,14 +8121,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7489 8121
7490 8122
7491 // $ANTLR start "rule__Atom__Group_3__1" 8123 // $ANTLR start "rule__Atom__Group_3__1"
7492 // InternalProblem.g:2370:1: rule__Atom__Group_3__1 : rule__Atom__Group_3__1__Impl ; 8124 // InternalProblem.g:2574:1: rule__Atom__Group_3__1 : rule__Atom__Group_3__1__Impl ;
7493 public final void rule__Atom__Group_3__1() throws RecognitionException { 8125 public final void rule__Atom__Group_3__1() throws RecognitionException {
7494 8126
7495 int stackSize = keepStackSize(); 8127 int stackSize = keepStackSize();
7496 8128
7497 try { 8129 try {
7498 // InternalProblem.g:2374:1: ( rule__Atom__Group_3__1__Impl ) 8130 // InternalProblem.g:2578:1: ( rule__Atom__Group_3__1__Impl )
7499 // InternalProblem.g:2375:2: rule__Atom__Group_3__1__Impl 8131 // InternalProblem.g:2579:2: rule__Atom__Group_3__1__Impl
7500 { 8132 {
7501 pushFollow(FOLLOW_2); 8133 pushFollow(FOLLOW_2);
7502 rule__Atom__Group_3__1__Impl(); 8134 rule__Atom__Group_3__1__Impl();
@@ -7522,35 +8154,35 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7522 8154
7523 8155
7524 // $ANTLR start "rule__Atom__Group_3__1__Impl" 8156 // $ANTLR start "rule__Atom__Group_3__1__Impl"
7525 // InternalProblem.g:2381:1: rule__Atom__Group_3__1__Impl : ( ( rule__Atom__Group_3_1__0 )* ) ; 8157 // InternalProblem.g:2585:1: rule__Atom__Group_3__1__Impl : ( ( rule__Atom__Group_3_1__0 )* ) ;
7526 public final void rule__Atom__Group_3__1__Impl() throws RecognitionException { 8158 public final void rule__Atom__Group_3__1__Impl() throws RecognitionException {
7527 8159
7528 int stackSize = keepStackSize(); 8160 int stackSize = keepStackSize();
7529 8161
7530 try { 8162 try {
7531 // InternalProblem.g:2385:1: ( ( ( rule__Atom__Group_3_1__0 )* ) ) 8163 // InternalProblem.g:2589:1: ( ( ( rule__Atom__Group_3_1__0 )* ) )
7532 // InternalProblem.g:2386:1: ( ( rule__Atom__Group_3_1__0 )* ) 8164 // InternalProblem.g:2590:1: ( ( rule__Atom__Group_3_1__0 )* )
7533 { 8165 {
7534 // InternalProblem.g:2386:1: ( ( rule__Atom__Group_3_1__0 )* ) 8166 // InternalProblem.g:2590:1: ( ( rule__Atom__Group_3_1__0 )* )
7535 // InternalProblem.g:2387:2: ( rule__Atom__Group_3_1__0 )* 8167 // InternalProblem.g:2591:2: ( rule__Atom__Group_3_1__0 )*
7536 { 8168 {
7537 before(grammarAccess.getAtomAccess().getGroup_3_1()); 8169 before(grammarAccess.getAtomAccess().getGroup_3_1());
7538 // InternalProblem.g:2388:2: ( rule__Atom__Group_3_1__0 )* 8170 // InternalProblem.g:2592:2: ( rule__Atom__Group_3_1__0 )*
7539 loop28: 8171 loop31:
7540 do { 8172 do {
7541 int alt28=2; 8173 int alt31=2;
7542 int LA28_0 = input.LA(1); 8174 int LA31_0 = input.LA(1);
7543 8175
7544 if ( (LA28_0==25) ) { 8176 if ( (LA31_0==25) ) {
7545 alt28=1; 8177 alt31=1;
7546 } 8178 }
7547 8179
7548 8180
7549 switch (alt28) { 8181 switch (alt31) {
7550 case 1 : 8182 case 1 :
7551 // InternalProblem.g:2388:3: rule__Atom__Group_3_1__0 8183 // InternalProblem.g:2592:3: rule__Atom__Group_3_1__0
7552 { 8184 {
7553 pushFollow(FOLLOW_7); 8185 pushFollow(FOLLOW_11);
7554 rule__Atom__Group_3_1__0(); 8186 rule__Atom__Group_3_1__0();
7555 8187
7556 state._fsp--; 8188 state._fsp--;
@@ -7560,7 +8192,7 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7560 break; 8192 break;
7561 8193
7562 default : 8194 default :
7563 break loop28; 8195 break loop31;
7564 } 8196 }
7565 } while (true); 8197 } while (true);
7566 8198
@@ -7587,14 +8219,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7587 8219
7588 8220
7589 // $ANTLR start "rule__Atom__Group_3_1__0" 8221 // $ANTLR start "rule__Atom__Group_3_1__0"
7590 // InternalProblem.g:2397:1: rule__Atom__Group_3_1__0 : rule__Atom__Group_3_1__0__Impl rule__Atom__Group_3_1__1 ; 8222 // InternalProblem.g:2601:1: rule__Atom__Group_3_1__0 : rule__Atom__Group_3_1__0__Impl rule__Atom__Group_3_1__1 ;
7591 public final void rule__Atom__Group_3_1__0() throws RecognitionException { 8223 public final void rule__Atom__Group_3_1__0() throws RecognitionException {
7592 8224
7593 int stackSize = keepStackSize(); 8225 int stackSize = keepStackSize();
7594 8226
7595 try { 8227 try {
7596 // InternalProblem.g:2401:1: ( rule__Atom__Group_3_1__0__Impl rule__Atom__Group_3_1__1 ) 8228 // InternalProblem.g:2605:1: ( rule__Atom__Group_3_1__0__Impl rule__Atom__Group_3_1__1 )
7597 // InternalProblem.g:2402:2: rule__Atom__Group_3_1__0__Impl rule__Atom__Group_3_1__1 8229 // InternalProblem.g:2606:2: rule__Atom__Group_3_1__0__Impl rule__Atom__Group_3_1__1
7598 { 8230 {
7599 pushFollow(FOLLOW_5); 8231 pushFollow(FOLLOW_5);
7600 rule__Atom__Group_3_1__0__Impl(); 8232 rule__Atom__Group_3_1__0__Impl();
@@ -7625,17 +8257,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7625 8257
7626 8258
7627 // $ANTLR start "rule__Atom__Group_3_1__0__Impl" 8259 // $ANTLR start "rule__Atom__Group_3_1__0__Impl"
7628 // InternalProblem.g:2409:1: rule__Atom__Group_3_1__0__Impl : ( ',' ) ; 8260 // InternalProblem.g:2613:1: rule__Atom__Group_3_1__0__Impl : ( ',' ) ;
7629 public final void rule__Atom__Group_3_1__0__Impl() throws RecognitionException { 8261 public final void rule__Atom__Group_3_1__0__Impl() throws RecognitionException {
7630 8262
7631 int stackSize = keepStackSize(); 8263 int stackSize = keepStackSize();
7632 8264
7633 try { 8265 try {
7634 // InternalProblem.g:2413:1: ( ( ',' ) ) 8266 // InternalProblem.g:2617:1: ( ( ',' ) )
7635 // InternalProblem.g:2414:1: ( ',' ) 8267 // InternalProblem.g:2618:1: ( ',' )
7636 { 8268 {
7637 // InternalProblem.g:2414:1: ( ',' ) 8269 // InternalProblem.g:2618:1: ( ',' )
7638 // InternalProblem.g:2415:2: ',' 8270 // InternalProblem.g:2619:2: ','
7639 { 8271 {
7640 before(grammarAccess.getAtomAccess().getCommaKeyword_3_1_0()); 8272 before(grammarAccess.getAtomAccess().getCommaKeyword_3_1_0());
7641 match(input,25,FOLLOW_2); 8273 match(input,25,FOLLOW_2);
@@ -7662,14 +8294,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7662 8294
7663 8295
7664 // $ANTLR start "rule__Atom__Group_3_1__1" 8296 // $ANTLR start "rule__Atom__Group_3_1__1"
7665 // InternalProblem.g:2424:1: rule__Atom__Group_3_1__1 : rule__Atom__Group_3_1__1__Impl ; 8297 // InternalProblem.g:2628:1: rule__Atom__Group_3_1__1 : rule__Atom__Group_3_1__1__Impl ;
7666 public final void rule__Atom__Group_3_1__1() throws RecognitionException { 8298 public final void rule__Atom__Group_3_1__1() throws RecognitionException {
7667 8299
7668 int stackSize = keepStackSize(); 8300 int stackSize = keepStackSize();
7669 8301
7670 try { 8302 try {
7671 // InternalProblem.g:2428:1: ( rule__Atom__Group_3_1__1__Impl ) 8303 // InternalProblem.g:2632:1: ( rule__Atom__Group_3_1__1__Impl )
7672 // InternalProblem.g:2429:2: rule__Atom__Group_3_1__1__Impl 8304 // InternalProblem.g:2633:2: rule__Atom__Group_3_1__1__Impl
7673 { 8305 {
7674 pushFollow(FOLLOW_2); 8306 pushFollow(FOLLOW_2);
7675 rule__Atom__Group_3_1__1__Impl(); 8307 rule__Atom__Group_3_1__1__Impl();
@@ -7695,21 +8327,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7695 8327
7696 8328
7697 // $ANTLR start "rule__Atom__Group_3_1__1__Impl" 8329 // $ANTLR start "rule__Atom__Group_3_1__1__Impl"
7698 // InternalProblem.g:2435:1: rule__Atom__Group_3_1__1__Impl : ( ( rule__Atom__ArgumentsAssignment_3_1_1 ) ) ; 8330 // InternalProblem.g:2639:1: rule__Atom__Group_3_1__1__Impl : ( ( rule__Atom__ArgumentsAssignment_3_1_1 ) ) ;
7699 public final void rule__Atom__Group_3_1__1__Impl() throws RecognitionException { 8331 public final void rule__Atom__Group_3_1__1__Impl() throws RecognitionException {
7700 8332
7701 int stackSize = keepStackSize(); 8333 int stackSize = keepStackSize();
7702 8334
7703 try { 8335 try {
7704 // InternalProblem.g:2439:1: ( ( ( rule__Atom__ArgumentsAssignment_3_1_1 ) ) ) 8336 // InternalProblem.g:2643:1: ( ( ( rule__Atom__ArgumentsAssignment_3_1_1 ) ) )
7705 // InternalProblem.g:2440:1: ( ( rule__Atom__ArgumentsAssignment_3_1_1 ) ) 8337 // InternalProblem.g:2644:1: ( ( rule__Atom__ArgumentsAssignment_3_1_1 ) )
7706 { 8338 {
7707 // InternalProblem.g:2440:1: ( ( rule__Atom__ArgumentsAssignment_3_1_1 ) ) 8339 // InternalProblem.g:2644:1: ( ( rule__Atom__ArgumentsAssignment_3_1_1 ) )
7708 // InternalProblem.g:2441:2: ( rule__Atom__ArgumentsAssignment_3_1_1 ) 8340 // InternalProblem.g:2645:2: ( rule__Atom__ArgumentsAssignment_3_1_1 )
7709 { 8341 {
7710 before(grammarAccess.getAtomAccess().getArgumentsAssignment_3_1_1()); 8342 before(grammarAccess.getAtomAccess().getArgumentsAssignment_3_1_1());
7711 // InternalProblem.g:2442:2: ( rule__Atom__ArgumentsAssignment_3_1_1 ) 8343 // InternalProblem.g:2646:2: ( rule__Atom__ArgumentsAssignment_3_1_1 )
7712 // InternalProblem.g:2442:3: rule__Atom__ArgumentsAssignment_3_1_1 8344 // InternalProblem.g:2646:3: rule__Atom__ArgumentsAssignment_3_1_1
7713 { 8345 {
7714 pushFollow(FOLLOW_2); 8346 pushFollow(FOLLOW_2);
7715 rule__Atom__ArgumentsAssignment_3_1_1(); 8347 rule__Atom__ArgumentsAssignment_3_1_1();
@@ -7742,16 +8374,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7742 8374
7743 8375
7744 // $ANTLR start "rule__Assertion__Group__0" 8376 // $ANTLR start "rule__Assertion__Group__0"
7745 // InternalProblem.g:2451:1: rule__Assertion__Group__0 : rule__Assertion__Group__0__Impl rule__Assertion__Group__1 ; 8377 // InternalProblem.g:2655:1: rule__Assertion__Group__0 : rule__Assertion__Group__0__Impl rule__Assertion__Group__1 ;
7746 public final void rule__Assertion__Group__0() throws RecognitionException { 8378 public final void rule__Assertion__Group__0() throws RecognitionException {
7747 8379
7748 int stackSize = keepStackSize(); 8380 int stackSize = keepStackSize();
7749 8381
7750 try { 8382 try {
7751 // InternalProblem.g:2455:1: ( rule__Assertion__Group__0__Impl rule__Assertion__Group__1 ) 8383 // InternalProblem.g:2659:1: ( rule__Assertion__Group__0__Impl rule__Assertion__Group__1 )
7752 // InternalProblem.g:2456:2: rule__Assertion__Group__0__Impl rule__Assertion__Group__1 8384 // InternalProblem.g:2660:2: rule__Assertion__Group__0__Impl rule__Assertion__Group__1
7753 { 8385 {
7754 pushFollow(FOLLOW_24); 8386 pushFollow(FOLLOW_6);
7755 rule__Assertion__Group__0__Impl(); 8387 rule__Assertion__Group__0__Impl();
7756 8388
7757 state._fsp--; 8389 state._fsp--;
@@ -7780,21 +8412,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7780 8412
7781 8413
7782 // $ANTLR start "rule__Assertion__Group__0__Impl" 8414 // $ANTLR start "rule__Assertion__Group__0__Impl"
7783 // InternalProblem.g:2463:1: rule__Assertion__Group__0__Impl : ( ( rule__Assertion__Alternatives_0 ) ) ; 8415 // InternalProblem.g:2667:1: rule__Assertion__Group__0__Impl : ( ( rule__Assertion__Alternatives_0 ) ) ;
7784 public final void rule__Assertion__Group__0__Impl() throws RecognitionException { 8416 public final void rule__Assertion__Group__0__Impl() throws RecognitionException {
7785 8417
7786 int stackSize = keepStackSize(); 8418 int stackSize = keepStackSize();
7787 8419
7788 try { 8420 try {
7789 // InternalProblem.g:2467:1: ( ( ( rule__Assertion__Alternatives_0 ) ) ) 8421 // InternalProblem.g:2671:1: ( ( ( rule__Assertion__Alternatives_0 ) ) )
7790 // InternalProblem.g:2468:1: ( ( rule__Assertion__Alternatives_0 ) ) 8422 // InternalProblem.g:2672:1: ( ( rule__Assertion__Alternatives_0 ) )
7791 { 8423 {
7792 // InternalProblem.g:2468:1: ( ( rule__Assertion__Alternatives_0 ) ) 8424 // InternalProblem.g:2672:1: ( ( rule__Assertion__Alternatives_0 ) )
7793 // InternalProblem.g:2469:2: ( rule__Assertion__Alternatives_0 ) 8425 // InternalProblem.g:2673:2: ( rule__Assertion__Alternatives_0 )
7794 { 8426 {
7795 before(grammarAccess.getAssertionAccess().getAlternatives_0()); 8427 before(grammarAccess.getAssertionAccess().getAlternatives_0());
7796 // InternalProblem.g:2470:2: ( rule__Assertion__Alternatives_0 ) 8428 // InternalProblem.g:2674:2: ( rule__Assertion__Alternatives_0 )
7797 // InternalProblem.g:2470:3: rule__Assertion__Alternatives_0 8429 // InternalProblem.g:2674:3: rule__Assertion__Alternatives_0
7798 { 8430 {
7799 pushFollow(FOLLOW_2); 8431 pushFollow(FOLLOW_2);
7800 rule__Assertion__Alternatives_0(); 8432 rule__Assertion__Alternatives_0();
@@ -7827,14 +8459,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7827 8459
7828 8460
7829 // $ANTLR start "rule__Assertion__Group__1" 8461 // $ANTLR start "rule__Assertion__Group__1"
7830 // InternalProblem.g:2478:1: rule__Assertion__Group__1 : rule__Assertion__Group__1__Impl ; 8462 // InternalProblem.g:2682:1: rule__Assertion__Group__1 : rule__Assertion__Group__1__Impl ;
7831 public final void rule__Assertion__Group__1() throws RecognitionException { 8463 public final void rule__Assertion__Group__1() throws RecognitionException {
7832 8464
7833 int stackSize = keepStackSize(); 8465 int stackSize = keepStackSize();
7834 8466
7835 try { 8467 try {
7836 // InternalProblem.g:2482:1: ( rule__Assertion__Group__1__Impl ) 8468 // InternalProblem.g:2686:1: ( rule__Assertion__Group__1__Impl )
7837 // InternalProblem.g:2483:2: rule__Assertion__Group__1__Impl 8469 // InternalProblem.g:2687:2: rule__Assertion__Group__1__Impl
7838 { 8470 {
7839 pushFollow(FOLLOW_2); 8471 pushFollow(FOLLOW_2);
7840 rule__Assertion__Group__1__Impl(); 8472 rule__Assertion__Group__1__Impl();
@@ -7860,20 +8492,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7860 8492
7861 8493
7862 // $ANTLR start "rule__Assertion__Group__1__Impl" 8494 // $ANTLR start "rule__Assertion__Group__1__Impl"
7863 // InternalProblem.g:2489:1: rule__Assertion__Group__1__Impl : ( '.' ) ; 8495 // InternalProblem.g:2693:1: rule__Assertion__Group__1__Impl : ( '.' ) ;
7864 public final void rule__Assertion__Group__1__Impl() throws RecognitionException { 8496 public final void rule__Assertion__Group__1__Impl() throws RecognitionException {
7865 8497
7866 int stackSize = keepStackSize(); 8498 int stackSize = keepStackSize();
7867 8499
7868 try { 8500 try {
7869 // InternalProblem.g:2493:1: ( ( '.' ) ) 8501 // InternalProblem.g:2697:1: ( ( '.' ) )
7870 // InternalProblem.g:2494:1: ( '.' ) 8502 // InternalProblem.g:2698:1: ( '.' )
7871 { 8503 {
7872 // InternalProblem.g:2494:1: ( '.' ) 8504 // InternalProblem.g:2698:1: ( '.' )
7873 // InternalProblem.g:2495:2: '.' 8505 // InternalProblem.g:2699:2: '.'
7874 { 8506 {
7875 before(grammarAccess.getAssertionAccess().getFullStopKeyword_1()); 8507 before(grammarAccess.getAssertionAccess().getFullStopKeyword_1());
7876 match(input,21,FOLLOW_2); 8508 match(input,12,FOLLOW_2);
7877 after(grammarAccess.getAssertionAccess().getFullStopKeyword_1()); 8509 after(grammarAccess.getAssertionAccess().getFullStopKeyword_1());
7878 8510
7879 } 8511 }
@@ -7897,16 +8529,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7897 8529
7898 8530
7899 // $ANTLR start "rule__Assertion__Group_0_0__0" 8531 // $ANTLR start "rule__Assertion__Group_0_0__0"
7900 // InternalProblem.g:2505:1: rule__Assertion__Group_0_0__0 : rule__Assertion__Group_0_0__0__Impl rule__Assertion__Group_0_0__1 ; 8532 // InternalProblem.g:2709:1: rule__Assertion__Group_0_0__0 : rule__Assertion__Group_0_0__0__Impl rule__Assertion__Group_0_0__1 ;
7901 public final void rule__Assertion__Group_0_0__0() throws RecognitionException { 8533 public final void rule__Assertion__Group_0_0__0() throws RecognitionException {
7902 8534
7903 int stackSize = keepStackSize(); 8535 int stackSize = keepStackSize();
7904 8536
7905 try { 8537 try {
7906 // InternalProblem.g:2509:1: ( rule__Assertion__Group_0_0__0__Impl rule__Assertion__Group_0_0__1 ) 8538 // InternalProblem.g:2713:1: ( rule__Assertion__Group_0_0__0__Impl rule__Assertion__Group_0_0__1 )
7907 // InternalProblem.g:2510:2: rule__Assertion__Group_0_0__0__Impl rule__Assertion__Group_0_0__1 8539 // InternalProblem.g:2714:2: rule__Assertion__Group_0_0__0__Impl rule__Assertion__Group_0_0__1
7908 { 8540 {
7909 pushFollow(FOLLOW_16); 8541 pushFollow(FOLLOW_19);
7910 rule__Assertion__Group_0_0__0__Impl(); 8542 rule__Assertion__Group_0_0__0__Impl();
7911 8543
7912 state._fsp--; 8544 state._fsp--;
@@ -7935,21 +8567,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7935 8567
7936 8568
7937 // $ANTLR start "rule__Assertion__Group_0_0__0__Impl" 8569 // $ANTLR start "rule__Assertion__Group_0_0__0__Impl"
7938 // InternalProblem.g:2517:1: rule__Assertion__Group_0_0__0__Impl : ( ( rule__Assertion__RelationAssignment_0_0_0 ) ) ; 8570 // InternalProblem.g:2721:1: rule__Assertion__Group_0_0__0__Impl : ( ( rule__Assertion__RelationAssignment_0_0_0 ) ) ;
7939 public final void rule__Assertion__Group_0_0__0__Impl() throws RecognitionException { 8571 public final void rule__Assertion__Group_0_0__0__Impl() throws RecognitionException {
7940 8572
7941 int stackSize = keepStackSize(); 8573 int stackSize = keepStackSize();
7942 8574
7943 try { 8575 try {
7944 // InternalProblem.g:2521:1: ( ( ( rule__Assertion__RelationAssignment_0_0_0 ) ) ) 8576 // InternalProblem.g:2725:1: ( ( ( rule__Assertion__RelationAssignment_0_0_0 ) ) )
7945 // InternalProblem.g:2522:1: ( ( rule__Assertion__RelationAssignment_0_0_0 ) ) 8577 // InternalProblem.g:2726:1: ( ( rule__Assertion__RelationAssignment_0_0_0 ) )
7946 { 8578 {
7947 // InternalProblem.g:2522:1: ( ( rule__Assertion__RelationAssignment_0_0_0 ) ) 8579 // InternalProblem.g:2726:1: ( ( rule__Assertion__RelationAssignment_0_0_0 ) )
7948 // InternalProblem.g:2523:2: ( rule__Assertion__RelationAssignment_0_0_0 ) 8580 // InternalProblem.g:2727:2: ( rule__Assertion__RelationAssignment_0_0_0 )
7949 { 8581 {
7950 before(grammarAccess.getAssertionAccess().getRelationAssignment_0_0_0()); 8582 before(grammarAccess.getAssertionAccess().getRelationAssignment_0_0_0());
7951 // InternalProblem.g:2524:2: ( rule__Assertion__RelationAssignment_0_0_0 ) 8583 // InternalProblem.g:2728:2: ( rule__Assertion__RelationAssignment_0_0_0 )
7952 // InternalProblem.g:2524:3: rule__Assertion__RelationAssignment_0_0_0 8584 // InternalProblem.g:2728:3: rule__Assertion__RelationAssignment_0_0_0
7953 { 8585 {
7954 pushFollow(FOLLOW_2); 8586 pushFollow(FOLLOW_2);
7955 rule__Assertion__RelationAssignment_0_0_0(); 8587 rule__Assertion__RelationAssignment_0_0_0();
@@ -7982,16 +8614,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7982 8614
7983 8615
7984 // $ANTLR start "rule__Assertion__Group_0_0__1" 8616 // $ANTLR start "rule__Assertion__Group_0_0__1"
7985 // InternalProblem.g:2532:1: rule__Assertion__Group_0_0__1 : rule__Assertion__Group_0_0__1__Impl rule__Assertion__Group_0_0__2 ; 8617 // InternalProblem.g:2736:1: rule__Assertion__Group_0_0__1 : rule__Assertion__Group_0_0__1__Impl rule__Assertion__Group_0_0__2 ;
7986 public final void rule__Assertion__Group_0_0__1() throws RecognitionException { 8618 public final void rule__Assertion__Group_0_0__1() throws RecognitionException {
7987 8619
7988 int stackSize = keepStackSize(); 8620 int stackSize = keepStackSize();
7989 8621
7990 try { 8622 try {
7991 // InternalProblem.g:2536:1: ( rule__Assertion__Group_0_0__1__Impl rule__Assertion__Group_0_0__2 ) 8623 // InternalProblem.g:2740:1: ( rule__Assertion__Group_0_0__1__Impl rule__Assertion__Group_0_0__2 )
7992 // InternalProblem.g:2537:2: rule__Assertion__Group_0_0__1__Impl rule__Assertion__Group_0_0__2 8624 // InternalProblem.g:2741:2: rule__Assertion__Group_0_0__1__Impl rule__Assertion__Group_0_0__2
7993 { 8625 {
7994 pushFollow(FOLLOW_17); 8626 pushFollow(FOLLOW_26);
7995 rule__Assertion__Group_0_0__1__Impl(); 8627 rule__Assertion__Group_0_0__1__Impl();
7996 8628
7997 state._fsp--; 8629 state._fsp--;
@@ -8020,20 +8652,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8020 8652
8021 8653
8022 // $ANTLR start "rule__Assertion__Group_0_0__1__Impl" 8654 // $ANTLR start "rule__Assertion__Group_0_0__1__Impl"
8023 // InternalProblem.g:2544:1: rule__Assertion__Group_0_0__1__Impl : ( '(' ) ; 8655 // InternalProblem.g:2748:1: rule__Assertion__Group_0_0__1__Impl : ( '(' ) ;
8024 public final void rule__Assertion__Group_0_0__1__Impl() throws RecognitionException { 8656 public final void rule__Assertion__Group_0_0__1__Impl() throws RecognitionException {
8025 8657
8026 int stackSize = keepStackSize(); 8658 int stackSize = keepStackSize();
8027 8659
8028 try { 8660 try {
8029 // InternalProblem.g:2548:1: ( ( '(' ) ) 8661 // InternalProblem.g:2752:1: ( ( '(' ) )
8030 // InternalProblem.g:2549:1: ( '(' ) 8662 // InternalProblem.g:2753:1: ( '(' )
8031 { 8663 {
8032 // InternalProblem.g:2549:1: ( '(' ) 8664 // InternalProblem.g:2753:1: ( '(' )
8033 // InternalProblem.g:2550:2: '(' 8665 // InternalProblem.g:2754:2: '('
8034 { 8666 {
8035 before(grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_0_1()); 8667 before(grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_0_1());
8036 match(input,27,FOLLOW_2); 8668 match(input,32,FOLLOW_2);
8037 after(grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_0_1()); 8669 after(grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_0_1());
8038 8670
8039 } 8671 }
@@ -8057,16 +8689,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8057 8689
8058 8690
8059 // $ANTLR start "rule__Assertion__Group_0_0__2" 8691 // $ANTLR start "rule__Assertion__Group_0_0__2"
8060 // InternalProblem.g:2559:1: rule__Assertion__Group_0_0__2 : rule__Assertion__Group_0_0__2__Impl rule__Assertion__Group_0_0__3 ; 8692 // InternalProblem.g:2763:1: rule__Assertion__Group_0_0__2 : rule__Assertion__Group_0_0__2__Impl rule__Assertion__Group_0_0__3 ;
8061 public final void rule__Assertion__Group_0_0__2() throws RecognitionException { 8693 public final void rule__Assertion__Group_0_0__2() throws RecognitionException {
8062 8694
8063 int stackSize = keepStackSize(); 8695 int stackSize = keepStackSize();
8064 8696
8065 try { 8697 try {
8066 // InternalProblem.g:2563:1: ( rule__Assertion__Group_0_0__2__Impl rule__Assertion__Group_0_0__3 ) 8698 // InternalProblem.g:2767:1: ( rule__Assertion__Group_0_0__2__Impl rule__Assertion__Group_0_0__3 )
8067 // InternalProblem.g:2564:2: rule__Assertion__Group_0_0__2__Impl rule__Assertion__Group_0_0__3 8699 // InternalProblem.g:2768:2: rule__Assertion__Group_0_0__2__Impl rule__Assertion__Group_0_0__3
8068 { 8700 {
8069 pushFollow(FOLLOW_17); 8701 pushFollow(FOLLOW_26);
8070 rule__Assertion__Group_0_0__2__Impl(); 8702 rule__Assertion__Group_0_0__2__Impl();
8071 8703
8072 state._fsp--; 8704 state._fsp--;
@@ -8095,29 +8727,29 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8095 8727
8096 8728
8097 // $ANTLR start "rule__Assertion__Group_0_0__2__Impl" 8729 // $ANTLR start "rule__Assertion__Group_0_0__2__Impl"
8098 // InternalProblem.g:2571:1: rule__Assertion__Group_0_0__2__Impl : ( ( rule__Assertion__Group_0_0_2__0 )? ) ; 8730 // InternalProblem.g:2775:1: rule__Assertion__Group_0_0__2__Impl : ( ( rule__Assertion__Group_0_0_2__0 )? ) ;
8099 public final void rule__Assertion__Group_0_0__2__Impl() throws RecognitionException { 8731 public final void rule__Assertion__Group_0_0__2__Impl() throws RecognitionException {
8100 8732
8101 int stackSize = keepStackSize(); 8733 int stackSize = keepStackSize();
8102 8734
8103 try { 8735 try {
8104 // InternalProblem.g:2575:1: ( ( ( rule__Assertion__Group_0_0_2__0 )? ) ) 8736 // InternalProblem.g:2779:1: ( ( ( rule__Assertion__Group_0_0_2__0 )? ) )
8105 // InternalProblem.g:2576:1: ( ( rule__Assertion__Group_0_0_2__0 )? ) 8737 // InternalProblem.g:2780:1: ( ( rule__Assertion__Group_0_0_2__0 )? )
8106 { 8738 {
8107 // InternalProblem.g:2576:1: ( ( rule__Assertion__Group_0_0_2__0 )? ) 8739 // InternalProblem.g:2780:1: ( ( rule__Assertion__Group_0_0_2__0 )? )
8108 // InternalProblem.g:2577:2: ( rule__Assertion__Group_0_0_2__0 )? 8740 // InternalProblem.g:2781:2: ( rule__Assertion__Group_0_0_2__0 )?
8109 { 8741 {
8110 before(grammarAccess.getAssertionAccess().getGroup_0_0_2()); 8742 before(grammarAccess.getAssertionAccess().getGroup_0_0_2());
8111 // InternalProblem.g:2578:2: ( rule__Assertion__Group_0_0_2__0 )? 8743 // InternalProblem.g:2782:2: ( rule__Assertion__Group_0_0_2__0 )?
8112 int alt29=2; 8744 int alt32=2;
8113 int LA29_0 = input.LA(1); 8745 int LA32_0 = input.LA(1);
8114 8746
8115 if ( (LA29_0==RULE_ID) ) { 8747 if ( ((LA32_0>=RULE_QUOTED_ID && LA32_0<=RULE_ID)) ) {
8116 alt29=1; 8748 alt32=1;
8117 } 8749 }
8118 switch (alt29) { 8750 switch (alt32) {
8119 case 1 : 8751 case 1 :
8120 // InternalProblem.g:2578:3: rule__Assertion__Group_0_0_2__0 8752 // InternalProblem.g:2782:3: rule__Assertion__Group_0_0_2__0
8121 { 8753 {
8122 pushFollow(FOLLOW_2); 8754 pushFollow(FOLLOW_2);
8123 rule__Assertion__Group_0_0_2__0(); 8755 rule__Assertion__Group_0_0_2__0();
@@ -8153,16 +8785,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8153 8785
8154 8786
8155 // $ANTLR start "rule__Assertion__Group_0_0__3" 8787 // $ANTLR start "rule__Assertion__Group_0_0__3"
8156 // InternalProblem.g:2586:1: rule__Assertion__Group_0_0__3 : rule__Assertion__Group_0_0__3__Impl rule__Assertion__Group_0_0__4 ; 8788 // InternalProblem.g:2790:1: rule__Assertion__Group_0_0__3 : rule__Assertion__Group_0_0__3__Impl rule__Assertion__Group_0_0__4 ;
8157 public final void rule__Assertion__Group_0_0__3() throws RecognitionException { 8789 public final void rule__Assertion__Group_0_0__3() throws RecognitionException {
8158 8790
8159 int stackSize = keepStackSize(); 8791 int stackSize = keepStackSize();
8160 8792
8161 try { 8793 try {
8162 // InternalProblem.g:2590:1: ( rule__Assertion__Group_0_0__3__Impl rule__Assertion__Group_0_0__4 ) 8794 // InternalProblem.g:2794:1: ( rule__Assertion__Group_0_0__3__Impl rule__Assertion__Group_0_0__4 )
8163 // InternalProblem.g:2591:2: rule__Assertion__Group_0_0__3__Impl rule__Assertion__Group_0_0__4 8795 // InternalProblem.g:2795:2: rule__Assertion__Group_0_0__3__Impl rule__Assertion__Group_0_0__4
8164 { 8796 {
8165 pushFollow(FOLLOW_25); 8797 pushFollow(FOLLOW_27);
8166 rule__Assertion__Group_0_0__3__Impl(); 8798 rule__Assertion__Group_0_0__3__Impl();
8167 8799
8168 state._fsp--; 8800 state._fsp--;
@@ -8191,20 +8823,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8191 8823
8192 8824
8193 // $ANTLR start "rule__Assertion__Group_0_0__3__Impl" 8825 // $ANTLR start "rule__Assertion__Group_0_0__3__Impl"
8194 // InternalProblem.g:2598:1: rule__Assertion__Group_0_0__3__Impl : ( ')' ) ; 8826 // InternalProblem.g:2802:1: rule__Assertion__Group_0_0__3__Impl : ( ')' ) ;
8195 public final void rule__Assertion__Group_0_0__3__Impl() throws RecognitionException { 8827 public final void rule__Assertion__Group_0_0__3__Impl() throws RecognitionException {
8196 8828
8197 int stackSize = keepStackSize(); 8829 int stackSize = keepStackSize();
8198 8830
8199 try { 8831 try {
8200 // InternalProblem.g:2602:1: ( ( ')' ) ) 8832 // InternalProblem.g:2806:1: ( ( ')' ) )
8201 // InternalProblem.g:2603:1: ( ')' ) 8833 // InternalProblem.g:2807:1: ( ')' )
8202 { 8834 {
8203 // InternalProblem.g:2603:1: ( ')' ) 8835 // InternalProblem.g:2807:1: ( ')' )
8204 // InternalProblem.g:2604:2: ')' 8836 // InternalProblem.g:2808:2: ')'
8205 { 8837 {
8206 before(grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_0_3()); 8838 before(grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_0_3());
8207 match(input,28,FOLLOW_2); 8839 match(input,33,FOLLOW_2);
8208 after(grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_0_3()); 8840 after(grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_0_3());
8209 8841
8210 } 8842 }
@@ -8228,16 +8860,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8228 8860
8229 8861
8230 // $ANTLR start "rule__Assertion__Group_0_0__4" 8862 // $ANTLR start "rule__Assertion__Group_0_0__4"
8231 // InternalProblem.g:2613:1: rule__Assertion__Group_0_0__4 : rule__Assertion__Group_0_0__4__Impl rule__Assertion__Group_0_0__5 ; 8863 // InternalProblem.g:2817:1: rule__Assertion__Group_0_0__4 : rule__Assertion__Group_0_0__4__Impl rule__Assertion__Group_0_0__5 ;
8232 public final void rule__Assertion__Group_0_0__4() throws RecognitionException { 8864 public final void rule__Assertion__Group_0_0__4() throws RecognitionException {
8233 8865
8234 int stackSize = keepStackSize(); 8866 int stackSize = keepStackSize();
8235 8867
8236 try { 8868 try {
8237 // InternalProblem.g:2617:1: ( rule__Assertion__Group_0_0__4__Impl rule__Assertion__Group_0_0__5 ) 8869 // InternalProblem.g:2821:1: ( rule__Assertion__Group_0_0__4__Impl rule__Assertion__Group_0_0__5 )
8238 // InternalProblem.g:2618:2: rule__Assertion__Group_0_0__4__Impl rule__Assertion__Group_0_0__5 8870 // InternalProblem.g:2822:2: rule__Assertion__Group_0_0__4__Impl rule__Assertion__Group_0_0__5
8239 { 8871 {
8240 pushFollow(FOLLOW_26); 8872 pushFollow(FOLLOW_28);
8241 rule__Assertion__Group_0_0__4__Impl(); 8873 rule__Assertion__Group_0_0__4__Impl();
8242 8874
8243 state._fsp--; 8875 state._fsp--;
@@ -8266,20 +8898,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8266 8898
8267 8899
8268 // $ANTLR start "rule__Assertion__Group_0_0__4__Impl" 8900 // $ANTLR start "rule__Assertion__Group_0_0__4__Impl"
8269 // InternalProblem.g:2625:1: rule__Assertion__Group_0_0__4__Impl : ( ':' ) ; 8901 // InternalProblem.g:2829:1: rule__Assertion__Group_0_0__4__Impl : ( ':' ) ;
8270 public final void rule__Assertion__Group_0_0__4__Impl() throws RecognitionException { 8902 public final void rule__Assertion__Group_0_0__4__Impl() throws RecognitionException {
8271 8903
8272 int stackSize = keepStackSize(); 8904 int stackSize = keepStackSize();
8273 8905
8274 try { 8906 try {
8275 // InternalProblem.g:2629:1: ( ( ':' ) ) 8907 // InternalProblem.g:2833:1: ( ( ':' ) )
8276 // InternalProblem.g:2630:1: ( ':' ) 8908 // InternalProblem.g:2834:1: ( ':' )
8277 { 8909 {
8278 // InternalProblem.g:2630:1: ( ':' ) 8910 // InternalProblem.g:2834:1: ( ':' )
8279 // InternalProblem.g:2631:2: ':' 8911 // InternalProblem.g:2835:2: ':'
8280 { 8912 {
8281 before(grammarAccess.getAssertionAccess().getColonKeyword_0_0_4()); 8913 before(grammarAccess.getAssertionAccess().getColonKeyword_0_0_4());
8282 match(input,31,FOLLOW_2); 8914 match(input,35,FOLLOW_2);
8283 after(grammarAccess.getAssertionAccess().getColonKeyword_0_0_4()); 8915 after(grammarAccess.getAssertionAccess().getColonKeyword_0_0_4());
8284 8916
8285 } 8917 }
@@ -8303,14 +8935,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8303 8935
8304 8936
8305 // $ANTLR start "rule__Assertion__Group_0_0__5" 8937 // $ANTLR start "rule__Assertion__Group_0_0__5"
8306 // InternalProblem.g:2640:1: rule__Assertion__Group_0_0__5 : rule__Assertion__Group_0_0__5__Impl ; 8938 // InternalProblem.g:2844:1: rule__Assertion__Group_0_0__5 : rule__Assertion__Group_0_0__5__Impl ;
8307 public final void rule__Assertion__Group_0_0__5() throws RecognitionException { 8939 public final void rule__Assertion__Group_0_0__5() throws RecognitionException {
8308 8940
8309 int stackSize = keepStackSize(); 8941 int stackSize = keepStackSize();
8310 8942
8311 try { 8943 try {
8312 // InternalProblem.g:2644:1: ( rule__Assertion__Group_0_0__5__Impl ) 8944 // InternalProblem.g:2848:1: ( rule__Assertion__Group_0_0__5__Impl )
8313 // InternalProblem.g:2645:2: rule__Assertion__Group_0_0__5__Impl 8945 // InternalProblem.g:2849:2: rule__Assertion__Group_0_0__5__Impl
8314 { 8946 {
8315 pushFollow(FOLLOW_2); 8947 pushFollow(FOLLOW_2);
8316 rule__Assertion__Group_0_0__5__Impl(); 8948 rule__Assertion__Group_0_0__5__Impl();
@@ -8336,21 +8968,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8336 8968
8337 8969
8338 // $ANTLR start "rule__Assertion__Group_0_0__5__Impl" 8970 // $ANTLR start "rule__Assertion__Group_0_0__5__Impl"
8339 // InternalProblem.g:2651:1: rule__Assertion__Group_0_0__5__Impl : ( ( rule__Assertion__ValueAssignment_0_0_5 ) ) ; 8971 // InternalProblem.g:2855:1: rule__Assertion__Group_0_0__5__Impl : ( ( rule__Assertion__ValueAssignment_0_0_5 ) ) ;
8340 public final void rule__Assertion__Group_0_0__5__Impl() throws RecognitionException { 8972 public final void rule__Assertion__Group_0_0__5__Impl() throws RecognitionException {
8341 8973
8342 int stackSize = keepStackSize(); 8974 int stackSize = keepStackSize();
8343 8975
8344 try { 8976 try {
8345 // InternalProblem.g:2655:1: ( ( ( rule__Assertion__ValueAssignment_0_0_5 ) ) ) 8977 // InternalProblem.g:2859:1: ( ( ( rule__Assertion__ValueAssignment_0_0_5 ) ) )
8346 // InternalProblem.g:2656:1: ( ( rule__Assertion__ValueAssignment_0_0_5 ) ) 8978 // InternalProblem.g:2860:1: ( ( rule__Assertion__ValueAssignment_0_0_5 ) )
8347 { 8979 {
8348 // InternalProblem.g:2656:1: ( ( rule__Assertion__ValueAssignment_0_0_5 ) ) 8980 // InternalProblem.g:2860:1: ( ( rule__Assertion__ValueAssignment_0_0_5 ) )
8349 // InternalProblem.g:2657:2: ( rule__Assertion__ValueAssignment_0_0_5 ) 8981 // InternalProblem.g:2861:2: ( rule__Assertion__ValueAssignment_0_0_5 )
8350 { 8982 {
8351 before(grammarAccess.getAssertionAccess().getValueAssignment_0_0_5()); 8983 before(grammarAccess.getAssertionAccess().getValueAssignment_0_0_5());
8352 // InternalProblem.g:2658:2: ( rule__Assertion__ValueAssignment_0_0_5 ) 8984 // InternalProblem.g:2862:2: ( rule__Assertion__ValueAssignment_0_0_5 )
8353 // InternalProblem.g:2658:3: rule__Assertion__ValueAssignment_0_0_5 8985 // InternalProblem.g:2862:3: rule__Assertion__ValueAssignment_0_0_5
8354 { 8986 {
8355 pushFollow(FOLLOW_2); 8987 pushFollow(FOLLOW_2);
8356 rule__Assertion__ValueAssignment_0_0_5(); 8988 rule__Assertion__ValueAssignment_0_0_5();
@@ -8383,14 +9015,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8383 9015
8384 9016
8385 // $ANTLR start "rule__Assertion__Group_0_0_2__0" 9017 // $ANTLR start "rule__Assertion__Group_0_0_2__0"
8386 // InternalProblem.g:2667:1: rule__Assertion__Group_0_0_2__0 : rule__Assertion__Group_0_0_2__0__Impl rule__Assertion__Group_0_0_2__1 ; 9018 // InternalProblem.g:2871:1: rule__Assertion__Group_0_0_2__0 : rule__Assertion__Group_0_0_2__0__Impl rule__Assertion__Group_0_0_2__1 ;
8387 public final void rule__Assertion__Group_0_0_2__0() throws RecognitionException { 9019 public final void rule__Assertion__Group_0_0_2__0() throws RecognitionException {
8388 9020
8389 int stackSize = keepStackSize(); 9021 int stackSize = keepStackSize();
8390 9022
8391 try { 9023 try {
8392 // InternalProblem.g:2671:1: ( rule__Assertion__Group_0_0_2__0__Impl rule__Assertion__Group_0_0_2__1 ) 9024 // InternalProblem.g:2875:1: ( rule__Assertion__Group_0_0_2__0__Impl rule__Assertion__Group_0_0_2__1 )
8393 // InternalProblem.g:2672:2: rule__Assertion__Group_0_0_2__0__Impl rule__Assertion__Group_0_0_2__1 9025 // InternalProblem.g:2876:2: rule__Assertion__Group_0_0_2__0__Impl rule__Assertion__Group_0_0_2__1
8394 { 9026 {
8395 pushFollow(FOLLOW_10); 9027 pushFollow(FOLLOW_10);
8396 rule__Assertion__Group_0_0_2__0__Impl(); 9028 rule__Assertion__Group_0_0_2__0__Impl();
@@ -8421,21 +9053,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8421 9053
8422 9054
8423 // $ANTLR start "rule__Assertion__Group_0_0_2__0__Impl" 9055 // $ANTLR start "rule__Assertion__Group_0_0_2__0__Impl"
8424 // InternalProblem.g:2679:1: rule__Assertion__Group_0_0_2__0__Impl : ( ( rule__Assertion__ArgumentsAssignment_0_0_2_0 ) ) ; 9056 // InternalProblem.g:2883:1: rule__Assertion__Group_0_0_2__0__Impl : ( ( rule__Assertion__ArgumentsAssignment_0_0_2_0 ) ) ;
8425 public final void rule__Assertion__Group_0_0_2__0__Impl() throws RecognitionException { 9057 public final void rule__Assertion__Group_0_0_2__0__Impl() throws RecognitionException {
8426 9058
8427 int stackSize = keepStackSize(); 9059 int stackSize = keepStackSize();
8428 9060
8429 try { 9061 try {
8430 // InternalProblem.g:2683:1: ( ( ( rule__Assertion__ArgumentsAssignment_0_0_2_0 ) ) ) 9062 // InternalProblem.g:2887:1: ( ( ( rule__Assertion__ArgumentsAssignment_0_0_2_0 ) ) )
8431 // InternalProblem.g:2684:1: ( ( rule__Assertion__ArgumentsAssignment_0_0_2_0 ) ) 9063 // InternalProblem.g:2888:1: ( ( rule__Assertion__ArgumentsAssignment_0_0_2_0 ) )
8432 { 9064 {
8433 // InternalProblem.g:2684:1: ( ( rule__Assertion__ArgumentsAssignment_0_0_2_0 ) ) 9065 // InternalProblem.g:2888:1: ( ( rule__Assertion__ArgumentsAssignment_0_0_2_0 ) )
8434 // InternalProblem.g:2685:2: ( rule__Assertion__ArgumentsAssignment_0_0_2_0 ) 9066 // InternalProblem.g:2889:2: ( rule__Assertion__ArgumentsAssignment_0_0_2_0 )
8435 { 9067 {
8436 before(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_0_2_0()); 9068 before(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_0_2_0());
8437 // InternalProblem.g:2686:2: ( rule__Assertion__ArgumentsAssignment_0_0_2_0 ) 9069 // InternalProblem.g:2890:2: ( rule__Assertion__ArgumentsAssignment_0_0_2_0 )
8438 // InternalProblem.g:2686:3: rule__Assertion__ArgumentsAssignment_0_0_2_0 9070 // InternalProblem.g:2890:3: rule__Assertion__ArgumentsAssignment_0_0_2_0
8439 { 9071 {
8440 pushFollow(FOLLOW_2); 9072 pushFollow(FOLLOW_2);
8441 rule__Assertion__ArgumentsAssignment_0_0_2_0(); 9073 rule__Assertion__ArgumentsAssignment_0_0_2_0();
@@ -8468,14 +9100,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8468 9100
8469 9101
8470 // $ANTLR start "rule__Assertion__Group_0_0_2__1" 9102 // $ANTLR start "rule__Assertion__Group_0_0_2__1"
8471 // InternalProblem.g:2694:1: rule__Assertion__Group_0_0_2__1 : rule__Assertion__Group_0_0_2__1__Impl ; 9103 // InternalProblem.g:2898:1: rule__Assertion__Group_0_0_2__1 : rule__Assertion__Group_0_0_2__1__Impl ;
8472 public final void rule__Assertion__Group_0_0_2__1() throws RecognitionException { 9104 public final void rule__Assertion__Group_0_0_2__1() throws RecognitionException {
8473 9105
8474 int stackSize = keepStackSize(); 9106 int stackSize = keepStackSize();
8475 9107
8476 try { 9108 try {
8477 // InternalProblem.g:2698:1: ( rule__Assertion__Group_0_0_2__1__Impl ) 9109 // InternalProblem.g:2902:1: ( rule__Assertion__Group_0_0_2__1__Impl )
8478 // InternalProblem.g:2699:2: rule__Assertion__Group_0_0_2__1__Impl 9110 // InternalProblem.g:2903:2: rule__Assertion__Group_0_0_2__1__Impl
8479 { 9111 {
8480 pushFollow(FOLLOW_2); 9112 pushFollow(FOLLOW_2);
8481 rule__Assertion__Group_0_0_2__1__Impl(); 9113 rule__Assertion__Group_0_0_2__1__Impl();
@@ -8501,35 +9133,35 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8501 9133
8502 9134
8503 // $ANTLR start "rule__Assertion__Group_0_0_2__1__Impl" 9135 // $ANTLR start "rule__Assertion__Group_0_0_2__1__Impl"
8504 // InternalProblem.g:2705:1: rule__Assertion__Group_0_0_2__1__Impl : ( ( rule__Assertion__Group_0_0_2_1__0 )* ) ; 9136 // InternalProblem.g:2909:1: rule__Assertion__Group_0_0_2__1__Impl : ( ( rule__Assertion__Group_0_0_2_1__0 )* ) ;
8505 public final void rule__Assertion__Group_0_0_2__1__Impl() throws RecognitionException { 9137 public final void rule__Assertion__Group_0_0_2__1__Impl() throws RecognitionException {
8506 9138
8507 int stackSize = keepStackSize(); 9139 int stackSize = keepStackSize();
8508 9140
8509 try { 9141 try {
8510 // InternalProblem.g:2709:1: ( ( ( rule__Assertion__Group_0_0_2_1__0 )* ) ) 9142 // InternalProblem.g:2913:1: ( ( ( rule__Assertion__Group_0_0_2_1__0 )* ) )
8511 // InternalProblem.g:2710:1: ( ( rule__Assertion__Group_0_0_2_1__0 )* ) 9143 // InternalProblem.g:2914:1: ( ( rule__Assertion__Group_0_0_2_1__0 )* )
8512 { 9144 {
8513 // InternalProblem.g:2710:1: ( ( rule__Assertion__Group_0_0_2_1__0 )* ) 9145 // InternalProblem.g:2914:1: ( ( rule__Assertion__Group_0_0_2_1__0 )* )
8514 // InternalProblem.g:2711:2: ( rule__Assertion__Group_0_0_2_1__0 )* 9146 // InternalProblem.g:2915:2: ( rule__Assertion__Group_0_0_2_1__0 )*
8515 { 9147 {
8516 before(grammarAccess.getAssertionAccess().getGroup_0_0_2_1()); 9148 before(grammarAccess.getAssertionAccess().getGroup_0_0_2_1());
8517 // InternalProblem.g:2712:2: ( rule__Assertion__Group_0_0_2_1__0 )* 9149 // InternalProblem.g:2916:2: ( rule__Assertion__Group_0_0_2_1__0 )*
8518 loop30: 9150 loop33:
8519 do { 9151 do {
8520 int alt30=2; 9152 int alt33=2;
8521 int LA30_0 = input.LA(1); 9153 int LA33_0 = input.LA(1);
8522 9154
8523 if ( (LA30_0==25) ) { 9155 if ( (LA33_0==25) ) {
8524 alt30=1; 9156 alt33=1;
8525 } 9157 }
8526 9158
8527 9159
8528 switch (alt30) { 9160 switch (alt33) {
8529 case 1 : 9161 case 1 :
8530 // InternalProblem.g:2712:3: rule__Assertion__Group_0_0_2_1__0 9162 // InternalProblem.g:2916:3: rule__Assertion__Group_0_0_2_1__0
8531 { 9163 {
8532 pushFollow(FOLLOW_7); 9164 pushFollow(FOLLOW_11);
8533 rule__Assertion__Group_0_0_2_1__0(); 9165 rule__Assertion__Group_0_0_2_1__0();
8534 9166
8535 state._fsp--; 9167 state._fsp--;
@@ -8539,7 +9171,7 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8539 break; 9171 break;
8540 9172
8541 default : 9173 default :
8542 break loop30; 9174 break loop33;
8543 } 9175 }
8544 } while (true); 9176 } while (true);
8545 9177
@@ -8566,16 +9198,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8566 9198
8567 9199
8568 // $ANTLR start "rule__Assertion__Group_0_0_2_1__0" 9200 // $ANTLR start "rule__Assertion__Group_0_0_2_1__0"
8569 // InternalProblem.g:2721:1: rule__Assertion__Group_0_0_2_1__0 : rule__Assertion__Group_0_0_2_1__0__Impl rule__Assertion__Group_0_0_2_1__1 ; 9201 // InternalProblem.g:2925:1: rule__Assertion__Group_0_0_2_1__0 : rule__Assertion__Group_0_0_2_1__0__Impl rule__Assertion__Group_0_0_2_1__1 ;
8570 public final void rule__Assertion__Group_0_0_2_1__0() throws RecognitionException { 9202 public final void rule__Assertion__Group_0_0_2_1__0() throws RecognitionException {
8571 9203
8572 int stackSize = keepStackSize(); 9204 int stackSize = keepStackSize();
8573 9205
8574 try { 9206 try {
8575 // InternalProblem.g:2725:1: ( rule__Assertion__Group_0_0_2_1__0__Impl rule__Assertion__Group_0_0_2_1__1 ) 9207 // InternalProblem.g:2929:1: ( rule__Assertion__Group_0_0_2_1__0__Impl rule__Assertion__Group_0_0_2_1__1 )
8576 // InternalProblem.g:2726:2: rule__Assertion__Group_0_0_2_1__0__Impl rule__Assertion__Group_0_0_2_1__1 9208 // InternalProblem.g:2930:2: rule__Assertion__Group_0_0_2_1__0__Impl rule__Assertion__Group_0_0_2_1__1
8577 { 9209 {
8578 pushFollow(FOLLOW_5); 9210 pushFollow(FOLLOW_9);
8579 rule__Assertion__Group_0_0_2_1__0__Impl(); 9211 rule__Assertion__Group_0_0_2_1__0__Impl();
8580 9212
8581 state._fsp--; 9213 state._fsp--;
@@ -8604,17 +9236,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8604 9236
8605 9237
8606 // $ANTLR start "rule__Assertion__Group_0_0_2_1__0__Impl" 9238 // $ANTLR start "rule__Assertion__Group_0_0_2_1__0__Impl"
8607 // InternalProblem.g:2733:1: rule__Assertion__Group_0_0_2_1__0__Impl : ( ',' ) ; 9239 // InternalProblem.g:2937:1: rule__Assertion__Group_0_0_2_1__0__Impl : ( ',' ) ;
8608 public final void rule__Assertion__Group_0_0_2_1__0__Impl() throws RecognitionException { 9240 public final void rule__Assertion__Group_0_0_2_1__0__Impl() throws RecognitionException {
8609 9241
8610 int stackSize = keepStackSize(); 9242 int stackSize = keepStackSize();
8611 9243
8612 try { 9244 try {
8613 // InternalProblem.g:2737:1: ( ( ',' ) ) 9245 // InternalProblem.g:2941:1: ( ( ',' ) )
8614 // InternalProblem.g:2738:1: ( ',' ) 9246 // InternalProblem.g:2942:1: ( ',' )
8615 { 9247 {
8616 // InternalProblem.g:2738:1: ( ',' ) 9248 // InternalProblem.g:2942:1: ( ',' )
8617 // InternalProblem.g:2739:2: ',' 9249 // InternalProblem.g:2943:2: ','
8618 { 9250 {
8619 before(grammarAccess.getAssertionAccess().getCommaKeyword_0_0_2_1_0()); 9251 before(grammarAccess.getAssertionAccess().getCommaKeyword_0_0_2_1_0());
8620 match(input,25,FOLLOW_2); 9252 match(input,25,FOLLOW_2);
@@ -8641,14 +9273,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8641 9273
8642 9274
8643 // $ANTLR start "rule__Assertion__Group_0_0_2_1__1" 9275 // $ANTLR start "rule__Assertion__Group_0_0_2_1__1"
8644 // InternalProblem.g:2748:1: rule__Assertion__Group_0_0_2_1__1 : rule__Assertion__Group_0_0_2_1__1__Impl ; 9276 // InternalProblem.g:2952:1: rule__Assertion__Group_0_0_2_1__1 : rule__Assertion__Group_0_0_2_1__1__Impl ;
8645 public final void rule__Assertion__Group_0_0_2_1__1() throws RecognitionException { 9277 public final void rule__Assertion__Group_0_0_2_1__1() throws RecognitionException {
8646 9278
8647 int stackSize = keepStackSize(); 9279 int stackSize = keepStackSize();
8648 9280
8649 try { 9281 try {
8650 // InternalProblem.g:2752:1: ( rule__Assertion__Group_0_0_2_1__1__Impl ) 9282 // InternalProblem.g:2956:1: ( rule__Assertion__Group_0_0_2_1__1__Impl )
8651 // InternalProblem.g:2753:2: rule__Assertion__Group_0_0_2_1__1__Impl 9283 // InternalProblem.g:2957:2: rule__Assertion__Group_0_0_2_1__1__Impl
8652 { 9284 {
8653 pushFollow(FOLLOW_2); 9285 pushFollow(FOLLOW_2);
8654 rule__Assertion__Group_0_0_2_1__1__Impl(); 9286 rule__Assertion__Group_0_0_2_1__1__Impl();
@@ -8674,21 +9306,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8674 9306
8675 9307
8676 // $ANTLR start "rule__Assertion__Group_0_0_2_1__1__Impl" 9308 // $ANTLR start "rule__Assertion__Group_0_0_2_1__1__Impl"
8677 // InternalProblem.g:2759:1: rule__Assertion__Group_0_0_2_1__1__Impl : ( ( rule__Assertion__ArgumentsAssignment_0_0_2_1_1 ) ) ; 9309 // InternalProblem.g:2963:1: rule__Assertion__Group_0_0_2_1__1__Impl : ( ( rule__Assertion__ArgumentsAssignment_0_0_2_1_1 ) ) ;
8678 public final void rule__Assertion__Group_0_0_2_1__1__Impl() throws RecognitionException { 9310 public final void rule__Assertion__Group_0_0_2_1__1__Impl() throws RecognitionException {
8679 9311
8680 int stackSize = keepStackSize(); 9312 int stackSize = keepStackSize();
8681 9313
8682 try { 9314 try {
8683 // InternalProblem.g:2763:1: ( ( ( rule__Assertion__ArgumentsAssignment_0_0_2_1_1 ) ) ) 9315 // InternalProblem.g:2967:1: ( ( ( rule__Assertion__ArgumentsAssignment_0_0_2_1_1 ) ) )
8684 // InternalProblem.g:2764:1: ( ( rule__Assertion__ArgumentsAssignment_0_0_2_1_1 ) ) 9316 // InternalProblem.g:2968:1: ( ( rule__Assertion__ArgumentsAssignment_0_0_2_1_1 ) )
8685 { 9317 {
8686 // InternalProblem.g:2764:1: ( ( rule__Assertion__ArgumentsAssignment_0_0_2_1_1 ) ) 9318 // InternalProblem.g:2968:1: ( ( rule__Assertion__ArgumentsAssignment_0_0_2_1_1 ) )
8687 // InternalProblem.g:2765:2: ( rule__Assertion__ArgumentsAssignment_0_0_2_1_1 ) 9319 // InternalProblem.g:2969:2: ( rule__Assertion__ArgumentsAssignment_0_0_2_1_1 )
8688 { 9320 {
8689 before(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_0_2_1_1()); 9321 before(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_0_2_1_1());
8690 // InternalProblem.g:2766:2: ( rule__Assertion__ArgumentsAssignment_0_0_2_1_1 ) 9322 // InternalProblem.g:2970:2: ( rule__Assertion__ArgumentsAssignment_0_0_2_1_1 )
8691 // InternalProblem.g:2766:3: rule__Assertion__ArgumentsAssignment_0_0_2_1_1 9323 // InternalProblem.g:2970:3: rule__Assertion__ArgumentsAssignment_0_0_2_1_1
8692 { 9324 {
8693 pushFollow(FOLLOW_2); 9325 pushFollow(FOLLOW_2);
8694 rule__Assertion__ArgumentsAssignment_0_0_2_1_1(); 9326 rule__Assertion__ArgumentsAssignment_0_0_2_1_1();
@@ -8721,16 +9353,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8721 9353
8722 9354
8723 // $ANTLR start "rule__Assertion__Group_0_1__0" 9355 // $ANTLR start "rule__Assertion__Group_0_1__0"
8724 // InternalProblem.g:2775:1: rule__Assertion__Group_0_1__0 : rule__Assertion__Group_0_1__0__Impl rule__Assertion__Group_0_1__1 ; 9356 // InternalProblem.g:2979:1: rule__Assertion__Group_0_1__0 : rule__Assertion__Group_0_1__0__Impl rule__Assertion__Group_0_1__1 ;
8725 public final void rule__Assertion__Group_0_1__0() throws RecognitionException { 9357 public final void rule__Assertion__Group_0_1__0() throws RecognitionException {
8726 9358
8727 int stackSize = keepStackSize(); 9359 int stackSize = keepStackSize();
8728 9360
8729 try { 9361 try {
8730 // InternalProblem.g:2779:1: ( rule__Assertion__Group_0_1__0__Impl rule__Assertion__Group_0_1__1 ) 9362 // InternalProblem.g:2983:1: ( rule__Assertion__Group_0_1__0__Impl rule__Assertion__Group_0_1__1 )
8731 // InternalProblem.g:2780:2: rule__Assertion__Group_0_1__0__Impl rule__Assertion__Group_0_1__1 9363 // InternalProblem.g:2984:2: rule__Assertion__Group_0_1__0__Impl rule__Assertion__Group_0_1__1
8732 { 9364 {
8733 pushFollow(FOLLOW_27); 9365 pushFollow(FOLLOW_29);
8734 rule__Assertion__Group_0_1__0__Impl(); 9366 rule__Assertion__Group_0_1__0__Impl();
8735 9367
8736 state._fsp--; 9368 state._fsp--;
@@ -8759,29 +9391,29 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8759 9391
8760 9392
8761 // $ANTLR start "rule__Assertion__Group_0_1__0__Impl" 9393 // $ANTLR start "rule__Assertion__Group_0_1__0__Impl"
8762 // InternalProblem.g:2787:1: rule__Assertion__Group_0_1__0__Impl : ( ( rule__Assertion__ValueAssignment_0_1_0 )? ) ; 9394 // InternalProblem.g:2991:1: rule__Assertion__Group_0_1__0__Impl : ( ( rule__Assertion__ValueAssignment_0_1_0 )? ) ;
8763 public final void rule__Assertion__Group_0_1__0__Impl() throws RecognitionException { 9395 public final void rule__Assertion__Group_0_1__0__Impl() throws RecognitionException {
8764 9396
8765 int stackSize = keepStackSize(); 9397 int stackSize = keepStackSize();
8766 9398
8767 try { 9399 try {
8768 // InternalProblem.g:2791:1: ( ( ( rule__Assertion__ValueAssignment_0_1_0 )? ) ) 9400 // InternalProblem.g:2995:1: ( ( ( rule__Assertion__ValueAssignment_0_1_0 )? ) )
8769 // InternalProblem.g:2792:1: ( ( rule__Assertion__ValueAssignment_0_1_0 )? ) 9401 // InternalProblem.g:2996:1: ( ( rule__Assertion__ValueAssignment_0_1_0 )? )
8770 { 9402 {
8771 // InternalProblem.g:2792:1: ( ( rule__Assertion__ValueAssignment_0_1_0 )? ) 9403 // InternalProblem.g:2996:1: ( ( rule__Assertion__ValueAssignment_0_1_0 )? )
8772 // InternalProblem.g:2793:2: ( rule__Assertion__ValueAssignment_0_1_0 )? 9404 // InternalProblem.g:2997:2: ( rule__Assertion__ValueAssignment_0_1_0 )?
8773 { 9405 {
8774 before(grammarAccess.getAssertionAccess().getValueAssignment_0_1_0()); 9406 before(grammarAccess.getAssertionAccess().getValueAssignment_0_1_0());
8775 // InternalProblem.g:2794:2: ( rule__Assertion__ValueAssignment_0_1_0 )? 9407 // InternalProblem.g:2998:2: ( rule__Assertion__ValueAssignment_0_1_0 )?
8776 int alt31=2; 9408 int alt34=2;
8777 int LA31_0 = input.LA(1); 9409 int LA34_0 = input.LA(1);
8778 9410
8779 if ( ((LA31_0>=18 && LA31_0<=19)) ) { 9411 if ( ((LA34_0>=20 && LA34_0<=21)) ) {
8780 alt31=1; 9412 alt34=1;
8781 } 9413 }
8782 switch (alt31) { 9414 switch (alt34) {
8783 case 1 : 9415 case 1 :
8784 // InternalProblem.g:2794:3: rule__Assertion__ValueAssignment_0_1_0 9416 // InternalProblem.g:2998:3: rule__Assertion__ValueAssignment_0_1_0
8785 { 9417 {
8786 pushFollow(FOLLOW_2); 9418 pushFollow(FOLLOW_2);
8787 rule__Assertion__ValueAssignment_0_1_0(); 9419 rule__Assertion__ValueAssignment_0_1_0();
@@ -8817,16 +9449,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8817 9449
8818 9450
8819 // $ANTLR start "rule__Assertion__Group_0_1__1" 9451 // $ANTLR start "rule__Assertion__Group_0_1__1"
8820 // InternalProblem.g:2802:1: rule__Assertion__Group_0_1__1 : rule__Assertion__Group_0_1__1__Impl rule__Assertion__Group_0_1__2 ; 9452 // InternalProblem.g:3006:1: rule__Assertion__Group_0_1__1 : rule__Assertion__Group_0_1__1__Impl rule__Assertion__Group_0_1__2 ;
8821 public final void rule__Assertion__Group_0_1__1() throws RecognitionException { 9453 public final void rule__Assertion__Group_0_1__1() throws RecognitionException {
8822 9454
8823 int stackSize = keepStackSize(); 9455 int stackSize = keepStackSize();
8824 9456
8825 try { 9457 try {
8826 // InternalProblem.g:2806:1: ( rule__Assertion__Group_0_1__1__Impl rule__Assertion__Group_0_1__2 ) 9458 // InternalProblem.g:3010:1: ( rule__Assertion__Group_0_1__1__Impl rule__Assertion__Group_0_1__2 )
8827 // InternalProblem.g:2807:2: rule__Assertion__Group_0_1__1__Impl rule__Assertion__Group_0_1__2 9459 // InternalProblem.g:3011:2: rule__Assertion__Group_0_1__1__Impl rule__Assertion__Group_0_1__2
8828 { 9460 {
8829 pushFollow(FOLLOW_16); 9461 pushFollow(FOLLOW_19);
8830 rule__Assertion__Group_0_1__1__Impl(); 9462 rule__Assertion__Group_0_1__1__Impl();
8831 9463
8832 state._fsp--; 9464 state._fsp--;
@@ -8855,21 +9487,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8855 9487
8856 9488
8857 // $ANTLR start "rule__Assertion__Group_0_1__1__Impl" 9489 // $ANTLR start "rule__Assertion__Group_0_1__1__Impl"
8858 // InternalProblem.g:2814:1: rule__Assertion__Group_0_1__1__Impl : ( ( rule__Assertion__RelationAssignment_0_1_1 ) ) ; 9490 // InternalProblem.g:3018:1: rule__Assertion__Group_0_1__1__Impl : ( ( rule__Assertion__RelationAssignment_0_1_1 ) ) ;
8859 public final void rule__Assertion__Group_0_1__1__Impl() throws RecognitionException { 9491 public final void rule__Assertion__Group_0_1__1__Impl() throws RecognitionException {
8860 9492
8861 int stackSize = keepStackSize(); 9493 int stackSize = keepStackSize();
8862 9494
8863 try { 9495 try {
8864 // InternalProblem.g:2818:1: ( ( ( rule__Assertion__RelationAssignment_0_1_1 ) ) ) 9496 // InternalProblem.g:3022:1: ( ( ( rule__Assertion__RelationAssignment_0_1_1 ) ) )
8865 // InternalProblem.g:2819:1: ( ( rule__Assertion__RelationAssignment_0_1_1 ) ) 9497 // InternalProblem.g:3023:1: ( ( rule__Assertion__RelationAssignment_0_1_1 ) )
8866 { 9498 {
8867 // InternalProblem.g:2819:1: ( ( rule__Assertion__RelationAssignment_0_1_1 ) ) 9499 // InternalProblem.g:3023:1: ( ( rule__Assertion__RelationAssignment_0_1_1 ) )
8868 // InternalProblem.g:2820:2: ( rule__Assertion__RelationAssignment_0_1_1 ) 9500 // InternalProblem.g:3024:2: ( rule__Assertion__RelationAssignment_0_1_1 )
8869 { 9501 {
8870 before(grammarAccess.getAssertionAccess().getRelationAssignment_0_1_1()); 9502 before(grammarAccess.getAssertionAccess().getRelationAssignment_0_1_1());
8871 // InternalProblem.g:2821:2: ( rule__Assertion__RelationAssignment_0_1_1 ) 9503 // InternalProblem.g:3025:2: ( rule__Assertion__RelationAssignment_0_1_1 )
8872 // InternalProblem.g:2821:3: rule__Assertion__RelationAssignment_0_1_1 9504 // InternalProblem.g:3025:3: rule__Assertion__RelationAssignment_0_1_1
8873 { 9505 {
8874 pushFollow(FOLLOW_2); 9506 pushFollow(FOLLOW_2);
8875 rule__Assertion__RelationAssignment_0_1_1(); 9507 rule__Assertion__RelationAssignment_0_1_1();
@@ -8902,16 +9534,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8902 9534
8903 9535
8904 // $ANTLR start "rule__Assertion__Group_0_1__2" 9536 // $ANTLR start "rule__Assertion__Group_0_1__2"
8905 // InternalProblem.g:2829:1: rule__Assertion__Group_0_1__2 : rule__Assertion__Group_0_1__2__Impl rule__Assertion__Group_0_1__3 ; 9537 // InternalProblem.g:3033:1: rule__Assertion__Group_0_1__2 : rule__Assertion__Group_0_1__2__Impl rule__Assertion__Group_0_1__3 ;
8906 public final void rule__Assertion__Group_0_1__2() throws RecognitionException { 9538 public final void rule__Assertion__Group_0_1__2() throws RecognitionException {
8907 9539
8908 int stackSize = keepStackSize(); 9540 int stackSize = keepStackSize();
8909 9541
8910 try { 9542 try {
8911 // InternalProblem.g:2833:1: ( rule__Assertion__Group_0_1__2__Impl rule__Assertion__Group_0_1__3 ) 9543 // InternalProblem.g:3037:1: ( rule__Assertion__Group_0_1__2__Impl rule__Assertion__Group_0_1__3 )
8912 // InternalProblem.g:2834:2: rule__Assertion__Group_0_1__2__Impl rule__Assertion__Group_0_1__3 9544 // InternalProblem.g:3038:2: rule__Assertion__Group_0_1__2__Impl rule__Assertion__Group_0_1__3
8913 { 9545 {
8914 pushFollow(FOLLOW_17); 9546 pushFollow(FOLLOW_26);
8915 rule__Assertion__Group_0_1__2__Impl(); 9547 rule__Assertion__Group_0_1__2__Impl();
8916 9548
8917 state._fsp--; 9549 state._fsp--;
@@ -8940,20 +9572,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8940 9572
8941 9573
8942 // $ANTLR start "rule__Assertion__Group_0_1__2__Impl" 9574 // $ANTLR start "rule__Assertion__Group_0_1__2__Impl"
8943 // InternalProblem.g:2841:1: rule__Assertion__Group_0_1__2__Impl : ( '(' ) ; 9575 // InternalProblem.g:3045:1: rule__Assertion__Group_0_1__2__Impl : ( '(' ) ;
8944 public final void rule__Assertion__Group_0_1__2__Impl() throws RecognitionException { 9576 public final void rule__Assertion__Group_0_1__2__Impl() throws RecognitionException {
8945 9577
8946 int stackSize = keepStackSize(); 9578 int stackSize = keepStackSize();
8947 9579
8948 try { 9580 try {
8949 // InternalProblem.g:2845:1: ( ( '(' ) ) 9581 // InternalProblem.g:3049:1: ( ( '(' ) )
8950 // InternalProblem.g:2846:1: ( '(' ) 9582 // InternalProblem.g:3050:1: ( '(' )
8951 { 9583 {
8952 // InternalProblem.g:2846:1: ( '(' ) 9584 // InternalProblem.g:3050:1: ( '(' )
8953 // InternalProblem.g:2847:2: '(' 9585 // InternalProblem.g:3051:2: '('
8954 { 9586 {
8955 before(grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_1_2()); 9587 before(grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_1_2());
8956 match(input,27,FOLLOW_2); 9588 match(input,32,FOLLOW_2);
8957 after(grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_1_2()); 9589 after(grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_1_2());
8958 9590
8959 } 9591 }
@@ -8977,16 +9609,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8977 9609
8978 9610
8979 // $ANTLR start "rule__Assertion__Group_0_1__3" 9611 // $ANTLR start "rule__Assertion__Group_0_1__3"
8980 // InternalProblem.g:2856:1: rule__Assertion__Group_0_1__3 : rule__Assertion__Group_0_1__3__Impl rule__Assertion__Group_0_1__4 ; 9612 // InternalProblem.g:3060:1: rule__Assertion__Group_0_1__3 : rule__Assertion__Group_0_1__3__Impl rule__Assertion__Group_0_1__4 ;
8981 public final void rule__Assertion__Group_0_1__3() throws RecognitionException { 9613 public final void rule__Assertion__Group_0_1__3() throws RecognitionException {
8982 9614
8983 int stackSize = keepStackSize(); 9615 int stackSize = keepStackSize();
8984 9616
8985 try { 9617 try {
8986 // InternalProblem.g:2860:1: ( rule__Assertion__Group_0_1__3__Impl rule__Assertion__Group_0_1__4 ) 9618 // InternalProblem.g:3064:1: ( rule__Assertion__Group_0_1__3__Impl rule__Assertion__Group_0_1__4 )
8987 // InternalProblem.g:2861:2: rule__Assertion__Group_0_1__3__Impl rule__Assertion__Group_0_1__4 9619 // InternalProblem.g:3065:2: rule__Assertion__Group_0_1__3__Impl rule__Assertion__Group_0_1__4
8988 { 9620 {
8989 pushFollow(FOLLOW_17); 9621 pushFollow(FOLLOW_26);
8990 rule__Assertion__Group_0_1__3__Impl(); 9622 rule__Assertion__Group_0_1__3__Impl();
8991 9623
8992 state._fsp--; 9624 state._fsp--;
@@ -9015,29 +9647,29 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9015 9647
9016 9648
9017 // $ANTLR start "rule__Assertion__Group_0_1__3__Impl" 9649 // $ANTLR start "rule__Assertion__Group_0_1__3__Impl"
9018 // InternalProblem.g:2868:1: rule__Assertion__Group_0_1__3__Impl : ( ( rule__Assertion__Group_0_1_3__0 )? ) ; 9650 // InternalProblem.g:3072:1: rule__Assertion__Group_0_1__3__Impl : ( ( rule__Assertion__Group_0_1_3__0 )? ) ;
9019 public final void rule__Assertion__Group_0_1__3__Impl() throws RecognitionException { 9651 public final void rule__Assertion__Group_0_1__3__Impl() throws RecognitionException {
9020 9652
9021 int stackSize = keepStackSize(); 9653 int stackSize = keepStackSize();
9022 9654
9023 try { 9655 try {
9024 // InternalProblem.g:2872:1: ( ( ( rule__Assertion__Group_0_1_3__0 )? ) ) 9656 // InternalProblem.g:3076:1: ( ( ( rule__Assertion__Group_0_1_3__0 )? ) )
9025 // InternalProblem.g:2873:1: ( ( rule__Assertion__Group_0_1_3__0 )? ) 9657 // InternalProblem.g:3077:1: ( ( rule__Assertion__Group_0_1_3__0 )? )
9026 { 9658 {
9027 // InternalProblem.g:2873:1: ( ( rule__Assertion__Group_0_1_3__0 )? ) 9659 // InternalProblem.g:3077:1: ( ( rule__Assertion__Group_0_1_3__0 )? )
9028 // InternalProblem.g:2874:2: ( rule__Assertion__Group_0_1_3__0 )? 9660 // InternalProblem.g:3078:2: ( rule__Assertion__Group_0_1_3__0 )?
9029 { 9661 {
9030 before(grammarAccess.getAssertionAccess().getGroup_0_1_3()); 9662 before(grammarAccess.getAssertionAccess().getGroup_0_1_3());
9031 // InternalProblem.g:2875:2: ( rule__Assertion__Group_0_1_3__0 )? 9663 // InternalProblem.g:3079:2: ( rule__Assertion__Group_0_1_3__0 )?
9032 int alt32=2; 9664 int alt35=2;
9033 int LA32_0 = input.LA(1); 9665 int LA35_0 = input.LA(1);
9034 9666
9035 if ( (LA32_0==RULE_ID) ) { 9667 if ( ((LA35_0>=RULE_QUOTED_ID && LA35_0<=RULE_ID)) ) {
9036 alt32=1; 9668 alt35=1;
9037 } 9669 }
9038 switch (alt32) { 9670 switch (alt35) {
9039 case 1 : 9671 case 1 :
9040 // InternalProblem.g:2875:3: rule__Assertion__Group_0_1_3__0 9672 // InternalProblem.g:3079:3: rule__Assertion__Group_0_1_3__0
9041 { 9673 {
9042 pushFollow(FOLLOW_2); 9674 pushFollow(FOLLOW_2);
9043 rule__Assertion__Group_0_1_3__0(); 9675 rule__Assertion__Group_0_1_3__0();
@@ -9073,14 +9705,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9073 9705
9074 9706
9075 // $ANTLR start "rule__Assertion__Group_0_1__4" 9707 // $ANTLR start "rule__Assertion__Group_0_1__4"
9076 // InternalProblem.g:2883:1: rule__Assertion__Group_0_1__4 : rule__Assertion__Group_0_1__4__Impl ; 9708 // InternalProblem.g:3087:1: rule__Assertion__Group_0_1__4 : rule__Assertion__Group_0_1__4__Impl ;
9077 public final void rule__Assertion__Group_0_1__4() throws RecognitionException { 9709 public final void rule__Assertion__Group_0_1__4() throws RecognitionException {
9078 9710
9079 int stackSize = keepStackSize(); 9711 int stackSize = keepStackSize();
9080 9712
9081 try { 9713 try {
9082 // InternalProblem.g:2887:1: ( rule__Assertion__Group_0_1__4__Impl ) 9714 // InternalProblem.g:3091:1: ( rule__Assertion__Group_0_1__4__Impl )
9083 // InternalProblem.g:2888:2: rule__Assertion__Group_0_1__4__Impl 9715 // InternalProblem.g:3092:2: rule__Assertion__Group_0_1__4__Impl
9084 { 9716 {
9085 pushFollow(FOLLOW_2); 9717 pushFollow(FOLLOW_2);
9086 rule__Assertion__Group_0_1__4__Impl(); 9718 rule__Assertion__Group_0_1__4__Impl();
@@ -9106,20 +9738,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9106 9738
9107 9739
9108 // $ANTLR start "rule__Assertion__Group_0_1__4__Impl" 9740 // $ANTLR start "rule__Assertion__Group_0_1__4__Impl"
9109 // InternalProblem.g:2894:1: rule__Assertion__Group_0_1__4__Impl : ( ')' ) ; 9741 // InternalProblem.g:3098:1: rule__Assertion__Group_0_1__4__Impl : ( ')' ) ;
9110 public final void rule__Assertion__Group_0_1__4__Impl() throws RecognitionException { 9742 public final void rule__Assertion__Group_0_1__4__Impl() throws RecognitionException {
9111 9743
9112 int stackSize = keepStackSize(); 9744 int stackSize = keepStackSize();
9113 9745
9114 try { 9746 try {
9115 // InternalProblem.g:2898:1: ( ( ')' ) ) 9747 // InternalProblem.g:3102:1: ( ( ')' ) )
9116 // InternalProblem.g:2899:1: ( ')' ) 9748 // InternalProblem.g:3103:1: ( ')' )
9117 { 9749 {
9118 // InternalProblem.g:2899:1: ( ')' ) 9750 // InternalProblem.g:3103:1: ( ')' )
9119 // InternalProblem.g:2900:2: ')' 9751 // InternalProblem.g:3104:2: ')'
9120 { 9752 {
9121 before(grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_1_4()); 9753 before(grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_1_4());
9122 match(input,28,FOLLOW_2); 9754 match(input,33,FOLLOW_2);
9123 after(grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_1_4()); 9755 after(grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_1_4());
9124 9756
9125 } 9757 }
@@ -9143,14 +9775,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9143 9775
9144 9776
9145 // $ANTLR start "rule__Assertion__Group_0_1_3__0" 9777 // $ANTLR start "rule__Assertion__Group_0_1_3__0"
9146 // InternalProblem.g:2910:1: rule__Assertion__Group_0_1_3__0 : rule__Assertion__Group_0_1_3__0__Impl rule__Assertion__Group_0_1_3__1 ; 9778 // InternalProblem.g:3114:1: rule__Assertion__Group_0_1_3__0 : rule__Assertion__Group_0_1_3__0__Impl rule__Assertion__Group_0_1_3__1 ;
9147 public final void rule__Assertion__Group_0_1_3__0() throws RecognitionException { 9779 public final void rule__Assertion__Group_0_1_3__0() throws RecognitionException {
9148 9780
9149 int stackSize = keepStackSize(); 9781 int stackSize = keepStackSize();
9150 9782
9151 try { 9783 try {
9152 // InternalProblem.g:2914:1: ( rule__Assertion__Group_0_1_3__0__Impl rule__Assertion__Group_0_1_3__1 ) 9784 // InternalProblem.g:3118:1: ( rule__Assertion__Group_0_1_3__0__Impl rule__Assertion__Group_0_1_3__1 )
9153 // InternalProblem.g:2915:2: rule__Assertion__Group_0_1_3__0__Impl rule__Assertion__Group_0_1_3__1 9785 // InternalProblem.g:3119:2: rule__Assertion__Group_0_1_3__0__Impl rule__Assertion__Group_0_1_3__1
9154 { 9786 {
9155 pushFollow(FOLLOW_10); 9787 pushFollow(FOLLOW_10);
9156 rule__Assertion__Group_0_1_3__0__Impl(); 9788 rule__Assertion__Group_0_1_3__0__Impl();
@@ -9181,21 +9813,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9181 9813
9182 9814
9183 // $ANTLR start "rule__Assertion__Group_0_1_3__0__Impl" 9815 // $ANTLR start "rule__Assertion__Group_0_1_3__0__Impl"
9184 // InternalProblem.g:2922:1: rule__Assertion__Group_0_1_3__0__Impl : ( ( rule__Assertion__ArgumentsAssignment_0_1_3_0 ) ) ; 9816 // InternalProblem.g:3126:1: rule__Assertion__Group_0_1_3__0__Impl : ( ( rule__Assertion__ArgumentsAssignment_0_1_3_0 ) ) ;
9185 public final void rule__Assertion__Group_0_1_3__0__Impl() throws RecognitionException { 9817 public final void rule__Assertion__Group_0_1_3__0__Impl() throws RecognitionException {
9186 9818
9187 int stackSize = keepStackSize(); 9819 int stackSize = keepStackSize();
9188 9820
9189 try { 9821 try {
9190 // InternalProblem.g:2926:1: ( ( ( rule__Assertion__ArgumentsAssignment_0_1_3_0 ) ) ) 9822 // InternalProblem.g:3130:1: ( ( ( rule__Assertion__ArgumentsAssignment_0_1_3_0 ) ) )
9191 // InternalProblem.g:2927:1: ( ( rule__Assertion__ArgumentsAssignment_0_1_3_0 ) ) 9823 // InternalProblem.g:3131:1: ( ( rule__Assertion__ArgumentsAssignment_0_1_3_0 ) )
9192 { 9824 {
9193 // InternalProblem.g:2927:1: ( ( rule__Assertion__ArgumentsAssignment_0_1_3_0 ) ) 9825 // InternalProblem.g:3131:1: ( ( rule__Assertion__ArgumentsAssignment_0_1_3_0 ) )
9194 // InternalProblem.g:2928:2: ( rule__Assertion__ArgumentsAssignment_0_1_3_0 ) 9826 // InternalProblem.g:3132:2: ( rule__Assertion__ArgumentsAssignment_0_1_3_0 )
9195 { 9827 {
9196 before(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_1_3_0()); 9828 before(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_1_3_0());
9197 // InternalProblem.g:2929:2: ( rule__Assertion__ArgumentsAssignment_0_1_3_0 ) 9829 // InternalProblem.g:3133:2: ( rule__Assertion__ArgumentsAssignment_0_1_3_0 )
9198 // InternalProblem.g:2929:3: rule__Assertion__ArgumentsAssignment_0_1_3_0 9830 // InternalProblem.g:3133:3: rule__Assertion__ArgumentsAssignment_0_1_3_0
9199 { 9831 {
9200 pushFollow(FOLLOW_2); 9832 pushFollow(FOLLOW_2);
9201 rule__Assertion__ArgumentsAssignment_0_1_3_0(); 9833 rule__Assertion__ArgumentsAssignment_0_1_3_0();
@@ -9228,14 +9860,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9228 9860
9229 9861
9230 // $ANTLR start "rule__Assertion__Group_0_1_3__1" 9862 // $ANTLR start "rule__Assertion__Group_0_1_3__1"
9231 // InternalProblem.g:2937:1: rule__Assertion__Group_0_1_3__1 : rule__Assertion__Group_0_1_3__1__Impl ; 9863 // InternalProblem.g:3141:1: rule__Assertion__Group_0_1_3__1 : rule__Assertion__Group_0_1_3__1__Impl ;
9232 public final void rule__Assertion__Group_0_1_3__1() throws RecognitionException { 9864 public final void rule__Assertion__Group_0_1_3__1() throws RecognitionException {
9233 9865
9234 int stackSize = keepStackSize(); 9866 int stackSize = keepStackSize();
9235 9867
9236 try { 9868 try {
9237 // InternalProblem.g:2941:1: ( rule__Assertion__Group_0_1_3__1__Impl ) 9869 // InternalProblem.g:3145:1: ( rule__Assertion__Group_0_1_3__1__Impl )
9238 // InternalProblem.g:2942:2: rule__Assertion__Group_0_1_3__1__Impl 9870 // InternalProblem.g:3146:2: rule__Assertion__Group_0_1_3__1__Impl
9239 { 9871 {
9240 pushFollow(FOLLOW_2); 9872 pushFollow(FOLLOW_2);
9241 rule__Assertion__Group_0_1_3__1__Impl(); 9873 rule__Assertion__Group_0_1_3__1__Impl();
@@ -9261,35 +9893,35 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9261 9893
9262 9894
9263 // $ANTLR start "rule__Assertion__Group_0_1_3__1__Impl" 9895 // $ANTLR start "rule__Assertion__Group_0_1_3__1__Impl"
9264 // InternalProblem.g:2948:1: rule__Assertion__Group_0_1_3__1__Impl : ( ( rule__Assertion__Group_0_1_3_1__0 )* ) ; 9896 // InternalProblem.g:3152:1: rule__Assertion__Group_0_1_3__1__Impl : ( ( rule__Assertion__Group_0_1_3_1__0 )* ) ;
9265 public final void rule__Assertion__Group_0_1_3__1__Impl() throws RecognitionException { 9897 public final void rule__Assertion__Group_0_1_3__1__Impl() throws RecognitionException {
9266 9898
9267 int stackSize = keepStackSize(); 9899 int stackSize = keepStackSize();
9268 9900
9269 try { 9901 try {
9270 // InternalProblem.g:2952:1: ( ( ( rule__Assertion__Group_0_1_3_1__0 )* ) ) 9902 // InternalProblem.g:3156:1: ( ( ( rule__Assertion__Group_0_1_3_1__0 )* ) )
9271 // InternalProblem.g:2953:1: ( ( rule__Assertion__Group_0_1_3_1__0 )* ) 9903 // InternalProblem.g:3157:1: ( ( rule__Assertion__Group_0_1_3_1__0 )* )
9272 { 9904 {
9273 // InternalProblem.g:2953:1: ( ( rule__Assertion__Group_0_1_3_1__0 )* ) 9905 // InternalProblem.g:3157:1: ( ( rule__Assertion__Group_0_1_3_1__0 )* )
9274 // InternalProblem.g:2954:2: ( rule__Assertion__Group_0_1_3_1__0 )* 9906 // InternalProblem.g:3158:2: ( rule__Assertion__Group_0_1_3_1__0 )*
9275 { 9907 {
9276 before(grammarAccess.getAssertionAccess().getGroup_0_1_3_1()); 9908 before(grammarAccess.getAssertionAccess().getGroup_0_1_3_1());
9277 // InternalProblem.g:2955:2: ( rule__Assertion__Group_0_1_3_1__0 )* 9909 // InternalProblem.g:3159:2: ( rule__Assertion__Group_0_1_3_1__0 )*
9278 loop33: 9910 loop36:
9279 do { 9911 do {
9280 int alt33=2; 9912 int alt36=2;
9281 int LA33_0 = input.LA(1); 9913 int LA36_0 = input.LA(1);
9282 9914
9283 if ( (LA33_0==25) ) { 9915 if ( (LA36_0==25) ) {
9284 alt33=1; 9916 alt36=1;
9285 } 9917 }
9286 9918
9287 9919
9288 switch (alt33) { 9920 switch (alt36) {
9289 case 1 : 9921 case 1 :
9290 // InternalProblem.g:2955:3: rule__Assertion__Group_0_1_3_1__0 9922 // InternalProblem.g:3159:3: rule__Assertion__Group_0_1_3_1__0
9291 { 9923 {
9292 pushFollow(FOLLOW_7); 9924 pushFollow(FOLLOW_11);
9293 rule__Assertion__Group_0_1_3_1__0(); 9925 rule__Assertion__Group_0_1_3_1__0();
9294 9926
9295 state._fsp--; 9927 state._fsp--;
@@ -9299,7 +9931,7 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9299 break; 9931 break;
9300 9932
9301 default : 9933 default :
9302 break loop33; 9934 break loop36;
9303 } 9935 }
9304 } while (true); 9936 } while (true);
9305 9937
@@ -9326,16 +9958,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9326 9958
9327 9959
9328 // $ANTLR start "rule__Assertion__Group_0_1_3_1__0" 9960 // $ANTLR start "rule__Assertion__Group_0_1_3_1__0"
9329 // InternalProblem.g:2964:1: rule__Assertion__Group_0_1_3_1__0 : rule__Assertion__Group_0_1_3_1__0__Impl rule__Assertion__Group_0_1_3_1__1 ; 9961 // InternalProblem.g:3168:1: rule__Assertion__Group_0_1_3_1__0 : rule__Assertion__Group_0_1_3_1__0__Impl rule__Assertion__Group_0_1_3_1__1 ;
9330 public final void rule__Assertion__Group_0_1_3_1__0() throws RecognitionException { 9962 public final void rule__Assertion__Group_0_1_3_1__0() throws RecognitionException {
9331 9963
9332 int stackSize = keepStackSize(); 9964 int stackSize = keepStackSize();
9333 9965
9334 try { 9966 try {
9335 // InternalProblem.g:2968:1: ( rule__Assertion__Group_0_1_3_1__0__Impl rule__Assertion__Group_0_1_3_1__1 ) 9967 // InternalProblem.g:3172:1: ( rule__Assertion__Group_0_1_3_1__0__Impl rule__Assertion__Group_0_1_3_1__1 )
9336 // InternalProblem.g:2969:2: rule__Assertion__Group_0_1_3_1__0__Impl rule__Assertion__Group_0_1_3_1__1 9968 // InternalProblem.g:3173:2: rule__Assertion__Group_0_1_3_1__0__Impl rule__Assertion__Group_0_1_3_1__1
9337 { 9969 {
9338 pushFollow(FOLLOW_5); 9970 pushFollow(FOLLOW_9);
9339 rule__Assertion__Group_0_1_3_1__0__Impl(); 9971 rule__Assertion__Group_0_1_3_1__0__Impl();
9340 9972
9341 state._fsp--; 9973 state._fsp--;
@@ -9364,17 +9996,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9364 9996
9365 9997
9366 // $ANTLR start "rule__Assertion__Group_0_1_3_1__0__Impl" 9998 // $ANTLR start "rule__Assertion__Group_0_1_3_1__0__Impl"
9367 // InternalProblem.g:2976:1: rule__Assertion__Group_0_1_3_1__0__Impl : ( ',' ) ; 9999 // InternalProblem.g:3180:1: rule__Assertion__Group_0_1_3_1__0__Impl : ( ',' ) ;
9368 public final void rule__Assertion__Group_0_1_3_1__0__Impl() throws RecognitionException { 10000 public final void rule__Assertion__Group_0_1_3_1__0__Impl() throws RecognitionException {
9369 10001
9370 int stackSize = keepStackSize(); 10002 int stackSize = keepStackSize();
9371 10003
9372 try { 10004 try {
9373 // InternalProblem.g:2980:1: ( ( ',' ) ) 10005 // InternalProblem.g:3184:1: ( ( ',' ) )
9374 // InternalProblem.g:2981:1: ( ',' ) 10006 // InternalProblem.g:3185:1: ( ',' )
9375 { 10007 {
9376 // InternalProblem.g:2981:1: ( ',' ) 10008 // InternalProblem.g:3185:1: ( ',' )
9377 // InternalProblem.g:2982:2: ',' 10009 // InternalProblem.g:3186:2: ','
9378 { 10010 {
9379 before(grammarAccess.getAssertionAccess().getCommaKeyword_0_1_3_1_0()); 10011 before(grammarAccess.getAssertionAccess().getCommaKeyword_0_1_3_1_0());
9380 match(input,25,FOLLOW_2); 10012 match(input,25,FOLLOW_2);
@@ -9401,14 +10033,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9401 10033
9402 10034
9403 // $ANTLR start "rule__Assertion__Group_0_1_3_1__1" 10035 // $ANTLR start "rule__Assertion__Group_0_1_3_1__1"
9404 // InternalProblem.g:2991:1: rule__Assertion__Group_0_1_3_1__1 : rule__Assertion__Group_0_1_3_1__1__Impl ; 10036 // InternalProblem.g:3195:1: rule__Assertion__Group_0_1_3_1__1 : rule__Assertion__Group_0_1_3_1__1__Impl ;
9405 public final void rule__Assertion__Group_0_1_3_1__1() throws RecognitionException { 10037 public final void rule__Assertion__Group_0_1_3_1__1() throws RecognitionException {
9406 10038
9407 int stackSize = keepStackSize(); 10039 int stackSize = keepStackSize();
9408 10040
9409 try { 10041 try {
9410 // InternalProblem.g:2995:1: ( rule__Assertion__Group_0_1_3_1__1__Impl ) 10042 // InternalProblem.g:3199:1: ( rule__Assertion__Group_0_1_3_1__1__Impl )
9411 // InternalProblem.g:2996:2: rule__Assertion__Group_0_1_3_1__1__Impl 10043 // InternalProblem.g:3200:2: rule__Assertion__Group_0_1_3_1__1__Impl
9412 { 10044 {
9413 pushFollow(FOLLOW_2); 10045 pushFollow(FOLLOW_2);
9414 rule__Assertion__Group_0_1_3_1__1__Impl(); 10046 rule__Assertion__Group_0_1_3_1__1__Impl();
@@ -9434,21 +10066,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9434 10066
9435 10067
9436 // $ANTLR start "rule__Assertion__Group_0_1_3_1__1__Impl" 10068 // $ANTLR start "rule__Assertion__Group_0_1_3_1__1__Impl"
9437 // InternalProblem.g:3002:1: rule__Assertion__Group_0_1_3_1__1__Impl : ( ( rule__Assertion__ArgumentsAssignment_0_1_3_1_1 ) ) ; 10069 // InternalProblem.g:3206:1: rule__Assertion__Group_0_1_3_1__1__Impl : ( ( rule__Assertion__ArgumentsAssignment_0_1_3_1_1 ) ) ;
9438 public final void rule__Assertion__Group_0_1_3_1__1__Impl() throws RecognitionException { 10070 public final void rule__Assertion__Group_0_1_3_1__1__Impl() throws RecognitionException {
9439 10071
9440 int stackSize = keepStackSize(); 10072 int stackSize = keepStackSize();
9441 10073
9442 try { 10074 try {
9443 // InternalProblem.g:3006:1: ( ( ( rule__Assertion__ArgumentsAssignment_0_1_3_1_1 ) ) ) 10075 // InternalProblem.g:3210:1: ( ( ( rule__Assertion__ArgumentsAssignment_0_1_3_1_1 ) ) )
9444 // InternalProblem.g:3007:1: ( ( rule__Assertion__ArgumentsAssignment_0_1_3_1_1 ) ) 10076 // InternalProblem.g:3211:1: ( ( rule__Assertion__ArgumentsAssignment_0_1_3_1_1 ) )
9445 { 10077 {
9446 // InternalProblem.g:3007:1: ( ( rule__Assertion__ArgumentsAssignment_0_1_3_1_1 ) ) 10078 // InternalProblem.g:3211:1: ( ( rule__Assertion__ArgumentsAssignment_0_1_3_1_1 ) )
9447 // InternalProblem.g:3008:2: ( rule__Assertion__ArgumentsAssignment_0_1_3_1_1 ) 10079 // InternalProblem.g:3212:2: ( rule__Assertion__ArgumentsAssignment_0_1_3_1_1 )
9448 { 10080 {
9449 before(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_1_3_1_1()); 10081 before(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_1_3_1_1());
9450 // InternalProblem.g:3009:2: ( rule__Assertion__ArgumentsAssignment_0_1_3_1_1 ) 10082 // InternalProblem.g:3213:2: ( rule__Assertion__ArgumentsAssignment_0_1_3_1_1 )
9451 // InternalProblem.g:3009:3: rule__Assertion__ArgumentsAssignment_0_1_3_1_1 10083 // InternalProblem.g:3213:3: rule__Assertion__ArgumentsAssignment_0_1_3_1_1
9452 { 10084 {
9453 pushFollow(FOLLOW_2); 10085 pushFollow(FOLLOW_2);
9454 rule__Assertion__ArgumentsAssignment_0_1_3_1_1(); 10086 rule__Assertion__ArgumentsAssignment_0_1_3_1_1();
@@ -9481,14 +10113,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9481 10113
9482 10114
9483 // $ANTLR start "rule__ScopeDeclaration__Group__0" 10115 // $ANTLR start "rule__ScopeDeclaration__Group__0"
9484 // InternalProblem.g:3018:1: rule__ScopeDeclaration__Group__0 : rule__ScopeDeclaration__Group__0__Impl rule__ScopeDeclaration__Group__1 ; 10116 // InternalProblem.g:3222:1: rule__ScopeDeclaration__Group__0 : rule__ScopeDeclaration__Group__0__Impl rule__ScopeDeclaration__Group__1 ;
9485 public final void rule__ScopeDeclaration__Group__0() throws RecognitionException { 10117 public final void rule__ScopeDeclaration__Group__0() throws RecognitionException {
9486 10118
9487 int stackSize = keepStackSize(); 10119 int stackSize = keepStackSize();
9488 10120
9489 try { 10121 try {
9490 // InternalProblem.g:3022:1: ( rule__ScopeDeclaration__Group__0__Impl rule__ScopeDeclaration__Group__1 ) 10122 // InternalProblem.g:3226:1: ( rule__ScopeDeclaration__Group__0__Impl rule__ScopeDeclaration__Group__1 )
9491 // InternalProblem.g:3023:2: rule__ScopeDeclaration__Group__0__Impl rule__ScopeDeclaration__Group__1 10123 // InternalProblem.g:3227:2: rule__ScopeDeclaration__Group__0__Impl rule__ScopeDeclaration__Group__1
9492 { 10124 {
9493 pushFollow(FOLLOW_5); 10125 pushFollow(FOLLOW_5);
9494 rule__ScopeDeclaration__Group__0__Impl(); 10126 rule__ScopeDeclaration__Group__0__Impl();
@@ -9519,20 +10151,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9519 10151
9520 10152
9521 // $ANTLR start "rule__ScopeDeclaration__Group__0__Impl" 10153 // $ANTLR start "rule__ScopeDeclaration__Group__0__Impl"
9522 // InternalProblem.g:3030:1: rule__ScopeDeclaration__Group__0__Impl : ( 'scope' ) ; 10154 // InternalProblem.g:3234:1: rule__ScopeDeclaration__Group__0__Impl : ( 'scope' ) ;
9523 public final void rule__ScopeDeclaration__Group__0__Impl() throws RecognitionException { 10155 public final void rule__ScopeDeclaration__Group__0__Impl() throws RecognitionException {
9524 10156
9525 int stackSize = keepStackSize(); 10157 int stackSize = keepStackSize();
9526 10158
9527 try { 10159 try {
9528 // InternalProblem.g:3034:1: ( ( 'scope' ) ) 10160 // InternalProblem.g:3238:1: ( ( 'scope' ) )
9529 // InternalProblem.g:3035:1: ( 'scope' ) 10161 // InternalProblem.g:3239:1: ( 'scope' )
9530 { 10162 {
9531 // InternalProblem.g:3035:1: ( 'scope' ) 10163 // InternalProblem.g:3239:1: ( 'scope' )
9532 // InternalProblem.g:3036:2: 'scope' 10164 // InternalProblem.g:3240:2: 'scope'
9533 { 10165 {
9534 before(grammarAccess.getScopeDeclarationAccess().getScopeKeyword_0()); 10166 before(grammarAccess.getScopeDeclarationAccess().getScopeKeyword_0());
9535 match(input,32,FOLLOW_2); 10167 match(input,36,FOLLOW_2);
9536 after(grammarAccess.getScopeDeclarationAccess().getScopeKeyword_0()); 10168 after(grammarAccess.getScopeDeclarationAccess().getScopeKeyword_0());
9537 10169
9538 } 10170 }
@@ -9556,16 +10188,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9556 10188
9557 10189
9558 // $ANTLR start "rule__ScopeDeclaration__Group__1" 10190 // $ANTLR start "rule__ScopeDeclaration__Group__1"
9559 // InternalProblem.g:3045:1: rule__ScopeDeclaration__Group__1 : rule__ScopeDeclaration__Group__1__Impl rule__ScopeDeclaration__Group__2 ; 10191 // InternalProblem.g:3249:1: rule__ScopeDeclaration__Group__1 : rule__ScopeDeclaration__Group__1__Impl rule__ScopeDeclaration__Group__2 ;
9560 public final void rule__ScopeDeclaration__Group__1() throws RecognitionException { 10192 public final void rule__ScopeDeclaration__Group__1() throws RecognitionException {
9561 10193
9562 int stackSize = keepStackSize(); 10194 int stackSize = keepStackSize();
9563 10195
9564 try { 10196 try {
9565 // InternalProblem.g:3049:1: ( rule__ScopeDeclaration__Group__1__Impl rule__ScopeDeclaration__Group__2 ) 10197 // InternalProblem.g:3253:1: ( rule__ScopeDeclaration__Group__1__Impl rule__ScopeDeclaration__Group__2 )
9566 // InternalProblem.g:3050:2: rule__ScopeDeclaration__Group__1__Impl rule__ScopeDeclaration__Group__2 10198 // InternalProblem.g:3254:2: rule__ScopeDeclaration__Group__1__Impl rule__ScopeDeclaration__Group__2
9567 { 10199 {
9568 pushFollow(FOLLOW_28); 10200 pushFollow(FOLLOW_30);
9569 rule__ScopeDeclaration__Group__1__Impl(); 10201 rule__ScopeDeclaration__Group__1__Impl();
9570 10202
9571 state._fsp--; 10203 state._fsp--;
@@ -9594,21 +10226,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9594 10226
9595 10227
9596 // $ANTLR start "rule__ScopeDeclaration__Group__1__Impl" 10228 // $ANTLR start "rule__ScopeDeclaration__Group__1__Impl"
9597 // InternalProblem.g:3057:1: rule__ScopeDeclaration__Group__1__Impl : ( ( rule__ScopeDeclaration__TypeScopesAssignment_1 ) ) ; 10229 // InternalProblem.g:3261:1: rule__ScopeDeclaration__Group__1__Impl : ( ( rule__ScopeDeclaration__TypeScopesAssignment_1 ) ) ;
9598 public final void rule__ScopeDeclaration__Group__1__Impl() throws RecognitionException { 10230 public final void rule__ScopeDeclaration__Group__1__Impl() throws RecognitionException {
9599 10231
9600 int stackSize = keepStackSize(); 10232 int stackSize = keepStackSize();
9601 10233
9602 try { 10234 try {
9603 // InternalProblem.g:3061:1: ( ( ( rule__ScopeDeclaration__TypeScopesAssignment_1 ) ) ) 10235 // InternalProblem.g:3265:1: ( ( ( rule__ScopeDeclaration__TypeScopesAssignment_1 ) ) )
9604 // InternalProblem.g:3062:1: ( ( rule__ScopeDeclaration__TypeScopesAssignment_1 ) ) 10236 // InternalProblem.g:3266:1: ( ( rule__ScopeDeclaration__TypeScopesAssignment_1 ) )
9605 { 10237 {
9606 // InternalProblem.g:3062:1: ( ( rule__ScopeDeclaration__TypeScopesAssignment_1 ) ) 10238 // InternalProblem.g:3266:1: ( ( rule__ScopeDeclaration__TypeScopesAssignment_1 ) )
9607 // InternalProblem.g:3063:2: ( rule__ScopeDeclaration__TypeScopesAssignment_1 ) 10239 // InternalProblem.g:3267:2: ( rule__ScopeDeclaration__TypeScopesAssignment_1 )
9608 { 10240 {
9609 before(grammarAccess.getScopeDeclarationAccess().getTypeScopesAssignment_1()); 10241 before(grammarAccess.getScopeDeclarationAccess().getTypeScopesAssignment_1());
9610 // InternalProblem.g:3064:2: ( rule__ScopeDeclaration__TypeScopesAssignment_1 ) 10242 // InternalProblem.g:3268:2: ( rule__ScopeDeclaration__TypeScopesAssignment_1 )
9611 // InternalProblem.g:3064:3: rule__ScopeDeclaration__TypeScopesAssignment_1 10243 // InternalProblem.g:3268:3: rule__ScopeDeclaration__TypeScopesAssignment_1
9612 { 10244 {
9613 pushFollow(FOLLOW_2); 10245 pushFollow(FOLLOW_2);
9614 rule__ScopeDeclaration__TypeScopesAssignment_1(); 10246 rule__ScopeDeclaration__TypeScopesAssignment_1();
@@ -9641,16 +10273,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9641 10273
9642 10274
9643 // $ANTLR start "rule__ScopeDeclaration__Group__2" 10275 // $ANTLR start "rule__ScopeDeclaration__Group__2"
9644 // InternalProblem.g:3072:1: rule__ScopeDeclaration__Group__2 : rule__ScopeDeclaration__Group__2__Impl rule__ScopeDeclaration__Group__3 ; 10276 // InternalProblem.g:3276:1: rule__ScopeDeclaration__Group__2 : rule__ScopeDeclaration__Group__2__Impl rule__ScopeDeclaration__Group__3 ;
9645 public final void rule__ScopeDeclaration__Group__2() throws RecognitionException { 10277 public final void rule__ScopeDeclaration__Group__2() throws RecognitionException {
9646 10278
9647 int stackSize = keepStackSize(); 10279 int stackSize = keepStackSize();
9648 10280
9649 try { 10281 try {
9650 // InternalProblem.g:3076:1: ( rule__ScopeDeclaration__Group__2__Impl rule__ScopeDeclaration__Group__3 ) 10282 // InternalProblem.g:3280:1: ( rule__ScopeDeclaration__Group__2__Impl rule__ScopeDeclaration__Group__3 )
9651 // InternalProblem.g:3077:2: rule__ScopeDeclaration__Group__2__Impl rule__ScopeDeclaration__Group__3 10283 // InternalProblem.g:3281:2: rule__ScopeDeclaration__Group__2__Impl rule__ScopeDeclaration__Group__3
9652 { 10284 {
9653 pushFollow(FOLLOW_28); 10285 pushFollow(FOLLOW_30);
9654 rule__ScopeDeclaration__Group__2__Impl(); 10286 rule__ScopeDeclaration__Group__2__Impl();
9655 10287
9656 state._fsp--; 10288 state._fsp--;
@@ -9679,35 +10311,35 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9679 10311
9680 10312
9681 // $ANTLR start "rule__ScopeDeclaration__Group__2__Impl" 10313 // $ANTLR start "rule__ScopeDeclaration__Group__2__Impl"
9682 // InternalProblem.g:3084:1: rule__ScopeDeclaration__Group__2__Impl : ( ( rule__ScopeDeclaration__Group_2__0 )* ) ; 10314 // InternalProblem.g:3288:1: rule__ScopeDeclaration__Group__2__Impl : ( ( rule__ScopeDeclaration__Group_2__0 )* ) ;
9683 public final void rule__ScopeDeclaration__Group__2__Impl() throws RecognitionException { 10315 public final void rule__ScopeDeclaration__Group__2__Impl() throws RecognitionException {
9684 10316
9685 int stackSize = keepStackSize(); 10317 int stackSize = keepStackSize();
9686 10318
9687 try { 10319 try {
9688 // InternalProblem.g:3088:1: ( ( ( rule__ScopeDeclaration__Group_2__0 )* ) ) 10320 // InternalProblem.g:3292:1: ( ( ( rule__ScopeDeclaration__Group_2__0 )* ) )
9689 // InternalProblem.g:3089:1: ( ( rule__ScopeDeclaration__Group_2__0 )* ) 10321 // InternalProblem.g:3293:1: ( ( rule__ScopeDeclaration__Group_2__0 )* )
9690 { 10322 {
9691 // InternalProblem.g:3089:1: ( ( rule__ScopeDeclaration__Group_2__0 )* ) 10323 // InternalProblem.g:3293:1: ( ( rule__ScopeDeclaration__Group_2__0 )* )
9692 // InternalProblem.g:3090:2: ( rule__ScopeDeclaration__Group_2__0 )* 10324 // InternalProblem.g:3294:2: ( rule__ScopeDeclaration__Group_2__0 )*
9693 { 10325 {
9694 before(grammarAccess.getScopeDeclarationAccess().getGroup_2()); 10326 before(grammarAccess.getScopeDeclarationAccess().getGroup_2());
9695 // InternalProblem.g:3091:2: ( rule__ScopeDeclaration__Group_2__0 )* 10327 // InternalProblem.g:3295:2: ( rule__ScopeDeclaration__Group_2__0 )*
9696 loop34: 10328 loop37:
9697 do { 10329 do {
9698 int alt34=2; 10330 int alt37=2;
9699 int LA34_0 = input.LA(1); 10331 int LA37_0 = input.LA(1);
9700 10332
9701 if ( (LA34_0==25) ) { 10333 if ( (LA37_0==25) ) {
9702 alt34=1; 10334 alt37=1;
9703 } 10335 }
9704 10336
9705 10337
9706 switch (alt34) { 10338 switch (alt37) {
9707 case 1 : 10339 case 1 :
9708 // InternalProblem.g:3091:3: rule__ScopeDeclaration__Group_2__0 10340 // InternalProblem.g:3295:3: rule__ScopeDeclaration__Group_2__0
9709 { 10341 {
9710 pushFollow(FOLLOW_7); 10342 pushFollow(FOLLOW_11);
9711 rule__ScopeDeclaration__Group_2__0(); 10343 rule__ScopeDeclaration__Group_2__0();
9712 10344
9713 state._fsp--; 10345 state._fsp--;
@@ -9717,7 +10349,7 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9717 break; 10349 break;
9718 10350
9719 default : 10351 default :
9720 break loop34; 10352 break loop37;
9721 } 10353 }
9722 } while (true); 10354 } while (true);
9723 10355
@@ -9744,14 +10376,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9744 10376
9745 10377
9746 // $ANTLR start "rule__ScopeDeclaration__Group__3" 10378 // $ANTLR start "rule__ScopeDeclaration__Group__3"
9747 // InternalProblem.g:3099:1: rule__ScopeDeclaration__Group__3 : rule__ScopeDeclaration__Group__3__Impl ; 10379 // InternalProblem.g:3303:1: rule__ScopeDeclaration__Group__3 : rule__ScopeDeclaration__Group__3__Impl ;
9748 public final void rule__ScopeDeclaration__Group__3() throws RecognitionException { 10380 public final void rule__ScopeDeclaration__Group__3() throws RecognitionException {
9749 10381
9750 int stackSize = keepStackSize(); 10382 int stackSize = keepStackSize();
9751 10383
9752 try { 10384 try {
9753 // InternalProblem.g:3103:1: ( rule__ScopeDeclaration__Group__3__Impl ) 10385 // InternalProblem.g:3307:1: ( rule__ScopeDeclaration__Group__3__Impl )
9754 // InternalProblem.g:3104:2: rule__ScopeDeclaration__Group__3__Impl 10386 // InternalProblem.g:3308:2: rule__ScopeDeclaration__Group__3__Impl
9755 { 10387 {
9756 pushFollow(FOLLOW_2); 10388 pushFollow(FOLLOW_2);
9757 rule__ScopeDeclaration__Group__3__Impl(); 10389 rule__ScopeDeclaration__Group__3__Impl();
@@ -9777,20 +10409,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9777 10409
9778 10410
9779 // $ANTLR start "rule__ScopeDeclaration__Group__3__Impl" 10411 // $ANTLR start "rule__ScopeDeclaration__Group__3__Impl"
9780 // InternalProblem.g:3110:1: rule__ScopeDeclaration__Group__3__Impl : ( '.' ) ; 10412 // InternalProblem.g:3314:1: rule__ScopeDeclaration__Group__3__Impl : ( '.' ) ;
9781 public final void rule__ScopeDeclaration__Group__3__Impl() throws RecognitionException { 10413 public final void rule__ScopeDeclaration__Group__3__Impl() throws RecognitionException {
9782 10414
9783 int stackSize = keepStackSize(); 10415 int stackSize = keepStackSize();
9784 10416
9785 try { 10417 try {
9786 // InternalProblem.g:3114:1: ( ( '.' ) ) 10418 // InternalProblem.g:3318:1: ( ( '.' ) )
9787 // InternalProblem.g:3115:1: ( '.' ) 10419 // InternalProblem.g:3319:1: ( '.' )
9788 { 10420 {
9789 // InternalProblem.g:3115:1: ( '.' ) 10421 // InternalProblem.g:3319:1: ( '.' )
9790 // InternalProblem.g:3116:2: '.' 10422 // InternalProblem.g:3320:2: '.'
9791 { 10423 {
9792 before(grammarAccess.getScopeDeclarationAccess().getFullStopKeyword_3()); 10424 before(grammarAccess.getScopeDeclarationAccess().getFullStopKeyword_3());
9793 match(input,21,FOLLOW_2); 10425 match(input,12,FOLLOW_2);
9794 after(grammarAccess.getScopeDeclarationAccess().getFullStopKeyword_3()); 10426 after(grammarAccess.getScopeDeclarationAccess().getFullStopKeyword_3());
9795 10427
9796 } 10428 }
@@ -9814,14 +10446,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9814 10446
9815 10447
9816 // $ANTLR start "rule__ScopeDeclaration__Group_2__0" 10448 // $ANTLR start "rule__ScopeDeclaration__Group_2__0"
9817 // InternalProblem.g:3126:1: rule__ScopeDeclaration__Group_2__0 : rule__ScopeDeclaration__Group_2__0__Impl rule__ScopeDeclaration__Group_2__1 ; 10449 // InternalProblem.g:3330:1: rule__ScopeDeclaration__Group_2__0 : rule__ScopeDeclaration__Group_2__0__Impl rule__ScopeDeclaration__Group_2__1 ;
9818 public final void rule__ScopeDeclaration__Group_2__0() throws RecognitionException { 10450 public final void rule__ScopeDeclaration__Group_2__0() throws RecognitionException {
9819 10451
9820 int stackSize = keepStackSize(); 10452 int stackSize = keepStackSize();
9821 10453
9822 try { 10454 try {
9823 // InternalProblem.g:3130:1: ( rule__ScopeDeclaration__Group_2__0__Impl rule__ScopeDeclaration__Group_2__1 ) 10455 // InternalProblem.g:3334:1: ( rule__ScopeDeclaration__Group_2__0__Impl rule__ScopeDeclaration__Group_2__1 )
9824 // InternalProblem.g:3131:2: rule__ScopeDeclaration__Group_2__0__Impl rule__ScopeDeclaration__Group_2__1 10456 // InternalProblem.g:3335:2: rule__ScopeDeclaration__Group_2__0__Impl rule__ScopeDeclaration__Group_2__1
9825 { 10457 {
9826 pushFollow(FOLLOW_5); 10458 pushFollow(FOLLOW_5);
9827 rule__ScopeDeclaration__Group_2__0__Impl(); 10459 rule__ScopeDeclaration__Group_2__0__Impl();
@@ -9852,17 +10484,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9852 10484
9853 10485
9854 // $ANTLR start "rule__ScopeDeclaration__Group_2__0__Impl" 10486 // $ANTLR start "rule__ScopeDeclaration__Group_2__0__Impl"
9855 // InternalProblem.g:3138:1: rule__ScopeDeclaration__Group_2__0__Impl : ( ',' ) ; 10487 // InternalProblem.g:3342:1: rule__ScopeDeclaration__Group_2__0__Impl : ( ',' ) ;
9856 public final void rule__ScopeDeclaration__Group_2__0__Impl() throws RecognitionException { 10488 public final void rule__ScopeDeclaration__Group_2__0__Impl() throws RecognitionException {
9857 10489
9858 int stackSize = keepStackSize(); 10490 int stackSize = keepStackSize();
9859 10491
9860 try { 10492 try {
9861 // InternalProblem.g:3142:1: ( ( ',' ) ) 10493 // InternalProblem.g:3346:1: ( ( ',' ) )
9862 // InternalProblem.g:3143:1: ( ',' ) 10494 // InternalProblem.g:3347:1: ( ',' )
9863 { 10495 {
9864 // InternalProblem.g:3143:1: ( ',' ) 10496 // InternalProblem.g:3347:1: ( ',' )
9865 // InternalProblem.g:3144:2: ',' 10497 // InternalProblem.g:3348:2: ','
9866 { 10498 {
9867 before(grammarAccess.getScopeDeclarationAccess().getCommaKeyword_2_0()); 10499 before(grammarAccess.getScopeDeclarationAccess().getCommaKeyword_2_0());
9868 match(input,25,FOLLOW_2); 10500 match(input,25,FOLLOW_2);
@@ -9889,14 +10521,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9889 10521
9890 10522
9891 // $ANTLR start "rule__ScopeDeclaration__Group_2__1" 10523 // $ANTLR start "rule__ScopeDeclaration__Group_2__1"
9892 // InternalProblem.g:3153:1: rule__ScopeDeclaration__Group_2__1 : rule__ScopeDeclaration__Group_2__1__Impl ; 10524 // InternalProblem.g:3357:1: rule__ScopeDeclaration__Group_2__1 : rule__ScopeDeclaration__Group_2__1__Impl ;
9893 public final void rule__ScopeDeclaration__Group_2__1() throws RecognitionException { 10525 public final void rule__ScopeDeclaration__Group_2__1() throws RecognitionException {
9894 10526
9895 int stackSize = keepStackSize(); 10527 int stackSize = keepStackSize();
9896 10528
9897 try { 10529 try {
9898 // InternalProblem.g:3157:1: ( rule__ScopeDeclaration__Group_2__1__Impl ) 10530 // InternalProblem.g:3361:1: ( rule__ScopeDeclaration__Group_2__1__Impl )
9899 // InternalProblem.g:3158:2: rule__ScopeDeclaration__Group_2__1__Impl 10531 // InternalProblem.g:3362:2: rule__ScopeDeclaration__Group_2__1__Impl
9900 { 10532 {
9901 pushFollow(FOLLOW_2); 10533 pushFollow(FOLLOW_2);
9902 rule__ScopeDeclaration__Group_2__1__Impl(); 10534 rule__ScopeDeclaration__Group_2__1__Impl();
@@ -9922,21 +10554,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9922 10554
9923 10555
9924 // $ANTLR start "rule__ScopeDeclaration__Group_2__1__Impl" 10556 // $ANTLR start "rule__ScopeDeclaration__Group_2__1__Impl"
9925 // InternalProblem.g:3164:1: rule__ScopeDeclaration__Group_2__1__Impl : ( ( rule__ScopeDeclaration__TypeScopesAssignment_2_1 ) ) ; 10557 // InternalProblem.g:3368:1: rule__ScopeDeclaration__Group_2__1__Impl : ( ( rule__ScopeDeclaration__TypeScopesAssignment_2_1 ) ) ;
9926 public final void rule__ScopeDeclaration__Group_2__1__Impl() throws RecognitionException { 10558 public final void rule__ScopeDeclaration__Group_2__1__Impl() throws RecognitionException {
9927 10559
9928 int stackSize = keepStackSize(); 10560 int stackSize = keepStackSize();
9929 10561
9930 try { 10562 try {
9931 // InternalProblem.g:3168:1: ( ( ( rule__ScopeDeclaration__TypeScopesAssignment_2_1 ) ) ) 10563 // InternalProblem.g:3372:1: ( ( ( rule__ScopeDeclaration__TypeScopesAssignment_2_1 ) ) )
9932 // InternalProblem.g:3169:1: ( ( rule__ScopeDeclaration__TypeScopesAssignment_2_1 ) ) 10564 // InternalProblem.g:3373:1: ( ( rule__ScopeDeclaration__TypeScopesAssignment_2_1 ) )
9933 { 10565 {
9934 // InternalProblem.g:3169:1: ( ( rule__ScopeDeclaration__TypeScopesAssignment_2_1 ) ) 10566 // InternalProblem.g:3373:1: ( ( rule__ScopeDeclaration__TypeScopesAssignment_2_1 ) )
9935 // InternalProblem.g:3170:2: ( rule__ScopeDeclaration__TypeScopesAssignment_2_1 ) 10567 // InternalProblem.g:3374:2: ( rule__ScopeDeclaration__TypeScopesAssignment_2_1 )
9936 { 10568 {
9937 before(grammarAccess.getScopeDeclarationAccess().getTypeScopesAssignment_2_1()); 10569 before(grammarAccess.getScopeDeclarationAccess().getTypeScopesAssignment_2_1());
9938 // InternalProblem.g:3171:2: ( rule__ScopeDeclaration__TypeScopesAssignment_2_1 ) 10570 // InternalProblem.g:3375:2: ( rule__ScopeDeclaration__TypeScopesAssignment_2_1 )
9939 // InternalProblem.g:3171:3: rule__ScopeDeclaration__TypeScopesAssignment_2_1 10571 // InternalProblem.g:3375:3: rule__ScopeDeclaration__TypeScopesAssignment_2_1
9940 { 10572 {
9941 pushFollow(FOLLOW_2); 10573 pushFollow(FOLLOW_2);
9942 rule__ScopeDeclaration__TypeScopesAssignment_2_1(); 10574 rule__ScopeDeclaration__TypeScopesAssignment_2_1();
@@ -9969,16 +10601,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9969 10601
9970 10602
9971 // $ANTLR start "rule__TypeScope__Group__0" 10603 // $ANTLR start "rule__TypeScope__Group__0"
9972 // InternalProblem.g:3180:1: rule__TypeScope__Group__0 : rule__TypeScope__Group__0__Impl rule__TypeScope__Group__1 ; 10604 // InternalProblem.g:3384:1: rule__TypeScope__Group__0 : rule__TypeScope__Group__0__Impl rule__TypeScope__Group__1 ;
9973 public final void rule__TypeScope__Group__0() throws RecognitionException { 10605 public final void rule__TypeScope__Group__0() throws RecognitionException {
9974 10606
9975 int stackSize = keepStackSize(); 10607 int stackSize = keepStackSize();
9976 10608
9977 try { 10609 try {
9978 // InternalProblem.g:3184:1: ( rule__TypeScope__Group__0__Impl rule__TypeScope__Group__1 ) 10610 // InternalProblem.g:3388:1: ( rule__TypeScope__Group__0__Impl rule__TypeScope__Group__1 )
9979 // InternalProblem.g:3185:2: rule__TypeScope__Group__0__Impl rule__TypeScope__Group__1 10611 // InternalProblem.g:3389:2: rule__TypeScope__Group__0__Impl rule__TypeScope__Group__1
9980 { 10612 {
9981 pushFollow(FOLLOW_29); 10613 pushFollow(FOLLOW_31);
9982 rule__TypeScope__Group__0__Impl(); 10614 rule__TypeScope__Group__0__Impl();
9983 10615
9984 state._fsp--; 10616 state._fsp--;
@@ -10007,21 +10639,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10007 10639
10008 10640
10009 // $ANTLR start "rule__TypeScope__Group__0__Impl" 10641 // $ANTLR start "rule__TypeScope__Group__0__Impl"
10010 // InternalProblem.g:3192:1: rule__TypeScope__Group__0__Impl : ( ( rule__TypeScope__TargetTypeAssignment_0 ) ) ; 10642 // InternalProblem.g:3396:1: rule__TypeScope__Group__0__Impl : ( ( rule__TypeScope__TargetTypeAssignment_0 ) ) ;
10011 public final void rule__TypeScope__Group__0__Impl() throws RecognitionException { 10643 public final void rule__TypeScope__Group__0__Impl() throws RecognitionException {
10012 10644
10013 int stackSize = keepStackSize(); 10645 int stackSize = keepStackSize();
10014 10646
10015 try { 10647 try {
10016 // InternalProblem.g:3196:1: ( ( ( rule__TypeScope__TargetTypeAssignment_0 ) ) ) 10648 // InternalProblem.g:3400:1: ( ( ( rule__TypeScope__TargetTypeAssignment_0 ) ) )
10017 // InternalProblem.g:3197:1: ( ( rule__TypeScope__TargetTypeAssignment_0 ) ) 10649 // InternalProblem.g:3401:1: ( ( rule__TypeScope__TargetTypeAssignment_0 ) )
10018 { 10650 {
10019 // InternalProblem.g:3197:1: ( ( rule__TypeScope__TargetTypeAssignment_0 ) ) 10651 // InternalProblem.g:3401:1: ( ( rule__TypeScope__TargetTypeAssignment_0 ) )
10020 // InternalProblem.g:3198:2: ( rule__TypeScope__TargetTypeAssignment_0 ) 10652 // InternalProblem.g:3402:2: ( rule__TypeScope__TargetTypeAssignment_0 )
10021 { 10653 {
10022 before(grammarAccess.getTypeScopeAccess().getTargetTypeAssignment_0()); 10654 before(grammarAccess.getTypeScopeAccess().getTargetTypeAssignment_0());
10023 // InternalProblem.g:3199:2: ( rule__TypeScope__TargetTypeAssignment_0 ) 10655 // InternalProblem.g:3403:2: ( rule__TypeScope__TargetTypeAssignment_0 )
10024 // InternalProblem.g:3199:3: rule__TypeScope__TargetTypeAssignment_0 10656 // InternalProblem.g:3403:3: rule__TypeScope__TargetTypeAssignment_0
10025 { 10657 {
10026 pushFollow(FOLLOW_2); 10658 pushFollow(FOLLOW_2);
10027 rule__TypeScope__TargetTypeAssignment_0(); 10659 rule__TypeScope__TargetTypeAssignment_0();
@@ -10054,16 +10686,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10054 10686
10055 10687
10056 // $ANTLR start "rule__TypeScope__Group__1" 10688 // $ANTLR start "rule__TypeScope__Group__1"
10057 // InternalProblem.g:3207:1: rule__TypeScope__Group__1 : rule__TypeScope__Group__1__Impl rule__TypeScope__Group__2 ; 10689 // InternalProblem.g:3411:1: rule__TypeScope__Group__1 : rule__TypeScope__Group__1__Impl rule__TypeScope__Group__2 ;
10058 public final void rule__TypeScope__Group__1() throws RecognitionException { 10690 public final void rule__TypeScope__Group__1() throws RecognitionException {
10059 10691
10060 int stackSize = keepStackSize(); 10692 int stackSize = keepStackSize();
10061 10693
10062 try { 10694 try {
10063 // InternalProblem.g:3211:1: ( rule__TypeScope__Group__1__Impl rule__TypeScope__Group__2 ) 10695 // InternalProblem.g:3415:1: ( rule__TypeScope__Group__1__Impl rule__TypeScope__Group__2 )
10064 // InternalProblem.g:3212:2: rule__TypeScope__Group__1__Impl rule__TypeScope__Group__2 10696 // InternalProblem.g:3416:2: rule__TypeScope__Group__1__Impl rule__TypeScope__Group__2
10065 { 10697 {
10066 pushFollow(FOLLOW_13); 10698 pushFollow(FOLLOW_17);
10067 rule__TypeScope__Group__1__Impl(); 10699 rule__TypeScope__Group__1__Impl();
10068 10700
10069 state._fsp--; 10701 state._fsp--;
@@ -10092,21 +10724,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10092 10724
10093 10725
10094 // $ANTLR start "rule__TypeScope__Group__1__Impl" 10726 // $ANTLR start "rule__TypeScope__Group__1__Impl"
10095 // InternalProblem.g:3219:1: rule__TypeScope__Group__1__Impl : ( ( rule__TypeScope__Alternatives_1 ) ) ; 10727 // InternalProblem.g:3423:1: rule__TypeScope__Group__1__Impl : ( ( rule__TypeScope__Alternatives_1 ) ) ;
10096 public final void rule__TypeScope__Group__1__Impl() throws RecognitionException { 10728 public final void rule__TypeScope__Group__1__Impl() throws RecognitionException {
10097 10729
10098 int stackSize = keepStackSize(); 10730 int stackSize = keepStackSize();
10099 10731
10100 try { 10732 try {
10101 // InternalProblem.g:3223:1: ( ( ( rule__TypeScope__Alternatives_1 ) ) ) 10733 // InternalProblem.g:3427:1: ( ( ( rule__TypeScope__Alternatives_1 ) ) )
10102 // InternalProblem.g:3224:1: ( ( rule__TypeScope__Alternatives_1 ) ) 10734 // InternalProblem.g:3428:1: ( ( rule__TypeScope__Alternatives_1 ) )
10103 { 10735 {
10104 // InternalProblem.g:3224:1: ( ( rule__TypeScope__Alternatives_1 ) ) 10736 // InternalProblem.g:3428:1: ( ( rule__TypeScope__Alternatives_1 ) )
10105 // InternalProblem.g:3225:2: ( rule__TypeScope__Alternatives_1 ) 10737 // InternalProblem.g:3429:2: ( rule__TypeScope__Alternatives_1 )
10106 { 10738 {
10107 before(grammarAccess.getTypeScopeAccess().getAlternatives_1()); 10739 before(grammarAccess.getTypeScopeAccess().getAlternatives_1());
10108 // InternalProblem.g:3226:2: ( rule__TypeScope__Alternatives_1 ) 10740 // InternalProblem.g:3430:2: ( rule__TypeScope__Alternatives_1 )
10109 // InternalProblem.g:3226:3: rule__TypeScope__Alternatives_1 10741 // InternalProblem.g:3430:3: rule__TypeScope__Alternatives_1
10110 { 10742 {
10111 pushFollow(FOLLOW_2); 10743 pushFollow(FOLLOW_2);
10112 rule__TypeScope__Alternatives_1(); 10744 rule__TypeScope__Alternatives_1();
@@ -10139,14 +10771,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10139 10771
10140 10772
10141 // $ANTLR start "rule__TypeScope__Group__2" 10773 // $ANTLR start "rule__TypeScope__Group__2"
10142 // InternalProblem.g:3234:1: rule__TypeScope__Group__2 : rule__TypeScope__Group__2__Impl ; 10774 // InternalProblem.g:3438:1: rule__TypeScope__Group__2 : rule__TypeScope__Group__2__Impl ;
10143 public final void rule__TypeScope__Group__2() throws RecognitionException { 10775 public final void rule__TypeScope__Group__2() throws RecognitionException {
10144 10776
10145 int stackSize = keepStackSize(); 10777 int stackSize = keepStackSize();
10146 10778
10147 try { 10779 try {
10148 // InternalProblem.g:3238:1: ( rule__TypeScope__Group__2__Impl ) 10780 // InternalProblem.g:3442:1: ( rule__TypeScope__Group__2__Impl )
10149 // InternalProblem.g:3239:2: rule__TypeScope__Group__2__Impl 10781 // InternalProblem.g:3443:2: rule__TypeScope__Group__2__Impl
10150 { 10782 {
10151 pushFollow(FOLLOW_2); 10783 pushFollow(FOLLOW_2);
10152 rule__TypeScope__Group__2__Impl(); 10784 rule__TypeScope__Group__2__Impl();
@@ -10172,21 +10804,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10172 10804
10173 10805
10174 // $ANTLR start "rule__TypeScope__Group__2__Impl" 10806 // $ANTLR start "rule__TypeScope__Group__2__Impl"
10175 // InternalProblem.g:3245:1: rule__TypeScope__Group__2__Impl : ( ( rule__TypeScope__MultiplicityAssignment_2 ) ) ; 10807 // InternalProblem.g:3449:1: rule__TypeScope__Group__2__Impl : ( ( rule__TypeScope__MultiplicityAssignment_2 ) ) ;
10176 public final void rule__TypeScope__Group__2__Impl() throws RecognitionException { 10808 public final void rule__TypeScope__Group__2__Impl() throws RecognitionException {
10177 10809
10178 int stackSize = keepStackSize(); 10810 int stackSize = keepStackSize();
10179 10811
10180 try { 10812 try {
10181 // InternalProblem.g:3249:1: ( ( ( rule__TypeScope__MultiplicityAssignment_2 ) ) ) 10813 // InternalProblem.g:3453:1: ( ( ( rule__TypeScope__MultiplicityAssignment_2 ) ) )
10182 // InternalProblem.g:3250:1: ( ( rule__TypeScope__MultiplicityAssignment_2 ) ) 10814 // InternalProblem.g:3454:1: ( ( rule__TypeScope__MultiplicityAssignment_2 ) )
10183 { 10815 {
10184 // InternalProblem.g:3250:1: ( ( rule__TypeScope__MultiplicityAssignment_2 ) ) 10816 // InternalProblem.g:3454:1: ( ( rule__TypeScope__MultiplicityAssignment_2 ) )
10185 // InternalProblem.g:3251:2: ( rule__TypeScope__MultiplicityAssignment_2 ) 10817 // InternalProblem.g:3455:2: ( rule__TypeScope__MultiplicityAssignment_2 )
10186 { 10818 {
10187 before(grammarAccess.getTypeScopeAccess().getMultiplicityAssignment_2()); 10819 before(grammarAccess.getTypeScopeAccess().getMultiplicityAssignment_2());
10188 // InternalProblem.g:3252:2: ( rule__TypeScope__MultiplicityAssignment_2 ) 10820 // InternalProblem.g:3456:2: ( rule__TypeScope__MultiplicityAssignment_2 )
10189 // InternalProblem.g:3252:3: rule__TypeScope__MultiplicityAssignment_2 10821 // InternalProblem.g:3456:3: rule__TypeScope__MultiplicityAssignment_2
10190 { 10822 {
10191 pushFollow(FOLLOW_2); 10823 pushFollow(FOLLOW_2);
10192 rule__TypeScope__MultiplicityAssignment_2(); 10824 rule__TypeScope__MultiplicityAssignment_2();
@@ -10219,16 +10851,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10219 10851
10220 10852
10221 // $ANTLR start "rule__RangeMultiplicity__Group__0" 10853 // $ANTLR start "rule__RangeMultiplicity__Group__0"
10222 // InternalProblem.g:3261:1: rule__RangeMultiplicity__Group__0 : rule__RangeMultiplicity__Group__0__Impl rule__RangeMultiplicity__Group__1 ; 10854 // InternalProblem.g:3465:1: rule__RangeMultiplicity__Group__0 : rule__RangeMultiplicity__Group__0__Impl rule__RangeMultiplicity__Group__1 ;
10223 public final void rule__RangeMultiplicity__Group__0() throws RecognitionException { 10855 public final void rule__RangeMultiplicity__Group__0() throws RecognitionException {
10224 10856
10225 int stackSize = keepStackSize(); 10857 int stackSize = keepStackSize();
10226 10858
10227 try { 10859 try {
10228 // InternalProblem.g:3265:1: ( rule__RangeMultiplicity__Group__0__Impl rule__RangeMultiplicity__Group__1 ) 10860 // InternalProblem.g:3469:1: ( rule__RangeMultiplicity__Group__0__Impl rule__RangeMultiplicity__Group__1 )
10229 // InternalProblem.g:3266:2: rule__RangeMultiplicity__Group__0__Impl rule__RangeMultiplicity__Group__1 10861 // InternalProblem.g:3470:2: rule__RangeMultiplicity__Group__0__Impl rule__RangeMultiplicity__Group__1
10230 { 10862 {
10231 pushFollow(FOLLOW_30); 10863 pushFollow(FOLLOW_32);
10232 rule__RangeMultiplicity__Group__0__Impl(); 10864 rule__RangeMultiplicity__Group__0__Impl();
10233 10865
10234 state._fsp--; 10866 state._fsp--;
@@ -10257,21 +10889,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10257 10889
10258 10890
10259 // $ANTLR start "rule__RangeMultiplicity__Group__0__Impl" 10891 // $ANTLR start "rule__RangeMultiplicity__Group__0__Impl"
10260 // InternalProblem.g:3273:1: rule__RangeMultiplicity__Group__0__Impl : ( ( rule__RangeMultiplicity__LowerBoundAssignment_0 ) ) ; 10892 // InternalProblem.g:3477:1: rule__RangeMultiplicity__Group__0__Impl : ( ( rule__RangeMultiplicity__LowerBoundAssignment_0 ) ) ;
10261 public final void rule__RangeMultiplicity__Group__0__Impl() throws RecognitionException { 10893 public final void rule__RangeMultiplicity__Group__0__Impl() throws RecognitionException {
10262 10894
10263 int stackSize = keepStackSize(); 10895 int stackSize = keepStackSize();
10264 10896
10265 try { 10897 try {
10266 // InternalProblem.g:3277:1: ( ( ( rule__RangeMultiplicity__LowerBoundAssignment_0 ) ) ) 10898 // InternalProblem.g:3481:1: ( ( ( rule__RangeMultiplicity__LowerBoundAssignment_0 ) ) )
10267 // InternalProblem.g:3278:1: ( ( rule__RangeMultiplicity__LowerBoundAssignment_0 ) ) 10899 // InternalProblem.g:3482:1: ( ( rule__RangeMultiplicity__LowerBoundAssignment_0 ) )
10268 { 10900 {
10269 // InternalProblem.g:3278:1: ( ( rule__RangeMultiplicity__LowerBoundAssignment_0 ) ) 10901 // InternalProblem.g:3482:1: ( ( rule__RangeMultiplicity__LowerBoundAssignment_0 ) )
10270 // InternalProblem.g:3279:2: ( rule__RangeMultiplicity__LowerBoundAssignment_0 ) 10902 // InternalProblem.g:3483:2: ( rule__RangeMultiplicity__LowerBoundAssignment_0 )
10271 { 10903 {
10272 before(grammarAccess.getRangeMultiplicityAccess().getLowerBoundAssignment_0()); 10904 before(grammarAccess.getRangeMultiplicityAccess().getLowerBoundAssignment_0());
10273 // InternalProblem.g:3280:2: ( rule__RangeMultiplicity__LowerBoundAssignment_0 ) 10905 // InternalProblem.g:3484:2: ( rule__RangeMultiplicity__LowerBoundAssignment_0 )
10274 // InternalProblem.g:3280:3: rule__RangeMultiplicity__LowerBoundAssignment_0 10906 // InternalProblem.g:3484:3: rule__RangeMultiplicity__LowerBoundAssignment_0
10275 { 10907 {
10276 pushFollow(FOLLOW_2); 10908 pushFollow(FOLLOW_2);
10277 rule__RangeMultiplicity__LowerBoundAssignment_0(); 10909 rule__RangeMultiplicity__LowerBoundAssignment_0();
@@ -10304,16 +10936,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10304 10936
10305 10937
10306 // $ANTLR start "rule__RangeMultiplicity__Group__1" 10938 // $ANTLR start "rule__RangeMultiplicity__Group__1"
10307 // InternalProblem.g:3288:1: rule__RangeMultiplicity__Group__1 : rule__RangeMultiplicity__Group__1__Impl rule__RangeMultiplicity__Group__2 ; 10939 // InternalProblem.g:3492:1: rule__RangeMultiplicity__Group__1 : rule__RangeMultiplicity__Group__1__Impl rule__RangeMultiplicity__Group__2 ;
10308 public final void rule__RangeMultiplicity__Group__1() throws RecognitionException { 10940 public final void rule__RangeMultiplicity__Group__1() throws RecognitionException {
10309 10941
10310 int stackSize = keepStackSize(); 10942 int stackSize = keepStackSize();
10311 10943
10312 try { 10944 try {
10313 // InternalProblem.g:3292:1: ( rule__RangeMultiplicity__Group__1__Impl rule__RangeMultiplicity__Group__2 ) 10945 // InternalProblem.g:3496:1: ( rule__RangeMultiplicity__Group__1__Impl rule__RangeMultiplicity__Group__2 )
10314 // InternalProblem.g:3293:2: rule__RangeMultiplicity__Group__1__Impl rule__RangeMultiplicity__Group__2 10946 // InternalProblem.g:3497:2: rule__RangeMultiplicity__Group__1__Impl rule__RangeMultiplicity__Group__2
10315 { 10947 {
10316 pushFollow(FOLLOW_31); 10948 pushFollow(FOLLOW_33);
10317 rule__RangeMultiplicity__Group__1__Impl(); 10949 rule__RangeMultiplicity__Group__1__Impl();
10318 10950
10319 state._fsp--; 10951 state._fsp--;
@@ -10342,20 +10974,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10342 10974
10343 10975
10344 // $ANTLR start "rule__RangeMultiplicity__Group__1__Impl" 10976 // $ANTLR start "rule__RangeMultiplicity__Group__1__Impl"
10345 // InternalProblem.g:3300:1: rule__RangeMultiplicity__Group__1__Impl : ( '..' ) ; 10977 // InternalProblem.g:3504:1: rule__RangeMultiplicity__Group__1__Impl : ( '..' ) ;
10346 public final void rule__RangeMultiplicity__Group__1__Impl() throws RecognitionException { 10978 public final void rule__RangeMultiplicity__Group__1__Impl() throws RecognitionException {
10347 10979
10348 int stackSize = keepStackSize(); 10980 int stackSize = keepStackSize();
10349 10981
10350 try { 10982 try {
10351 // InternalProblem.g:3304:1: ( ( '..' ) ) 10983 // InternalProblem.g:3508:1: ( ( '..' ) )
10352 // InternalProblem.g:3305:1: ( '..' ) 10984 // InternalProblem.g:3509:1: ( '..' )
10353 { 10985 {
10354 // InternalProblem.g:3305:1: ( '..' ) 10986 // InternalProblem.g:3509:1: ( '..' )
10355 // InternalProblem.g:3306:2: '..' 10987 // InternalProblem.g:3510:2: '..'
10356 { 10988 {
10357 before(grammarAccess.getRangeMultiplicityAccess().getFullStopFullStopKeyword_1()); 10989 before(grammarAccess.getRangeMultiplicityAccess().getFullStopFullStopKeyword_1());
10358 match(input,33,FOLLOW_2); 10990 match(input,37,FOLLOW_2);
10359 after(grammarAccess.getRangeMultiplicityAccess().getFullStopFullStopKeyword_1()); 10991 after(grammarAccess.getRangeMultiplicityAccess().getFullStopFullStopKeyword_1());
10360 10992
10361 } 10993 }
@@ -10379,14 +11011,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10379 11011
10380 11012
10381 // $ANTLR start "rule__RangeMultiplicity__Group__2" 11013 // $ANTLR start "rule__RangeMultiplicity__Group__2"
10382 // InternalProblem.g:3315:1: rule__RangeMultiplicity__Group__2 : rule__RangeMultiplicity__Group__2__Impl ; 11014 // InternalProblem.g:3519:1: rule__RangeMultiplicity__Group__2 : rule__RangeMultiplicity__Group__2__Impl ;
10383 public final void rule__RangeMultiplicity__Group__2() throws RecognitionException { 11015 public final void rule__RangeMultiplicity__Group__2() throws RecognitionException {
10384 11016
10385 int stackSize = keepStackSize(); 11017 int stackSize = keepStackSize();
10386 11018
10387 try { 11019 try {
10388 // InternalProblem.g:3319:1: ( rule__RangeMultiplicity__Group__2__Impl ) 11020 // InternalProblem.g:3523:1: ( rule__RangeMultiplicity__Group__2__Impl )
10389 // InternalProblem.g:3320:2: rule__RangeMultiplicity__Group__2__Impl 11021 // InternalProblem.g:3524:2: rule__RangeMultiplicity__Group__2__Impl
10390 { 11022 {
10391 pushFollow(FOLLOW_2); 11023 pushFollow(FOLLOW_2);
10392 rule__RangeMultiplicity__Group__2__Impl(); 11024 rule__RangeMultiplicity__Group__2__Impl();
@@ -10412,21 +11044,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10412 11044
10413 11045
10414 // $ANTLR start "rule__RangeMultiplicity__Group__2__Impl" 11046 // $ANTLR start "rule__RangeMultiplicity__Group__2__Impl"
10415 // InternalProblem.g:3326:1: rule__RangeMultiplicity__Group__2__Impl : ( ( rule__RangeMultiplicity__UpperBoundAssignment_2 ) ) ; 11047 // InternalProblem.g:3530:1: rule__RangeMultiplicity__Group__2__Impl : ( ( rule__RangeMultiplicity__UpperBoundAssignment_2 ) ) ;
10416 public final void rule__RangeMultiplicity__Group__2__Impl() throws RecognitionException { 11048 public final void rule__RangeMultiplicity__Group__2__Impl() throws RecognitionException {
10417 11049
10418 int stackSize = keepStackSize(); 11050 int stackSize = keepStackSize();
10419 11051
10420 try { 11052 try {
10421 // InternalProblem.g:3330:1: ( ( ( rule__RangeMultiplicity__UpperBoundAssignment_2 ) ) ) 11053 // InternalProblem.g:3534:1: ( ( ( rule__RangeMultiplicity__UpperBoundAssignment_2 ) ) )
10422 // InternalProblem.g:3331:1: ( ( rule__RangeMultiplicity__UpperBoundAssignment_2 ) ) 11054 // InternalProblem.g:3535:1: ( ( rule__RangeMultiplicity__UpperBoundAssignment_2 ) )
10423 { 11055 {
10424 // InternalProblem.g:3331:1: ( ( rule__RangeMultiplicity__UpperBoundAssignment_2 ) ) 11056 // InternalProblem.g:3535:1: ( ( rule__RangeMultiplicity__UpperBoundAssignment_2 ) )
10425 // InternalProblem.g:3332:2: ( rule__RangeMultiplicity__UpperBoundAssignment_2 ) 11057 // InternalProblem.g:3536:2: ( rule__RangeMultiplicity__UpperBoundAssignment_2 )
10426 { 11058 {
10427 before(grammarAccess.getRangeMultiplicityAccess().getUpperBoundAssignment_2()); 11059 before(grammarAccess.getRangeMultiplicityAccess().getUpperBoundAssignment_2());
10428 // InternalProblem.g:3333:2: ( rule__RangeMultiplicity__UpperBoundAssignment_2 ) 11060 // InternalProblem.g:3537:2: ( rule__RangeMultiplicity__UpperBoundAssignment_2 )
10429 // InternalProblem.g:3333:3: rule__RangeMultiplicity__UpperBoundAssignment_2 11061 // InternalProblem.g:3537:3: rule__RangeMultiplicity__UpperBoundAssignment_2
10430 { 11062 {
10431 pushFollow(FOLLOW_2); 11063 pushFollow(FOLLOW_2);
10432 rule__RangeMultiplicity__UpperBoundAssignment_2(); 11064 rule__RangeMultiplicity__UpperBoundAssignment_2();
@@ -10458,23 +11090,23 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10458 // $ANTLR end "rule__RangeMultiplicity__Group__2__Impl" 11090 // $ANTLR end "rule__RangeMultiplicity__Group__2__Impl"
10459 11091
10460 11092
10461 // $ANTLR start "rule__QualifiedName__Group__0" 11093 // $ANTLR start "rule__QualifiedName__Group_1__0"
10462 // InternalProblem.g:3342:1: rule__QualifiedName__Group__0 : rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 ; 11094 // InternalProblem.g:3546:1: rule__QualifiedName__Group_1__0 : rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 ;
10463 public final void rule__QualifiedName__Group__0() throws RecognitionException { 11095 public final void rule__QualifiedName__Group_1__0() throws RecognitionException {
10464 11096
10465 int stackSize = keepStackSize(); 11097 int stackSize = keepStackSize();
10466 11098
10467 try { 11099 try {
10468 // InternalProblem.g:3346:1: ( rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 ) 11100 // InternalProblem.g:3550:1: ( rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 )
10469 // InternalProblem.g:3347:2: rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 11101 // InternalProblem.g:3551:2: rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1
10470 { 11102 {
10471 pushFollow(FOLLOW_32); 11103 pushFollow(FOLLOW_27);
10472 rule__QualifiedName__Group__0__Impl(); 11104 rule__QualifiedName__Group_1__0__Impl();
10473 11105
10474 state._fsp--; 11106 state._fsp--;
10475 11107
10476 pushFollow(FOLLOW_2); 11108 pushFollow(FOLLOW_2);
10477 rule__QualifiedName__Group__1(); 11109 rule__QualifiedName__Group_1__1();
10478 11110
10479 state._fsp--; 11111 state._fsp--;
10480 11112
@@ -10493,25 +11125,25 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10493 } 11125 }
10494 return ; 11126 return ;
10495 } 11127 }
10496 // $ANTLR end "rule__QualifiedName__Group__0" 11128 // $ANTLR end "rule__QualifiedName__Group_1__0"
10497 11129
10498 11130
10499 // $ANTLR start "rule__QualifiedName__Group__0__Impl" 11131 // $ANTLR start "rule__QualifiedName__Group_1__0__Impl"
10500 // InternalProblem.g:3354:1: rule__QualifiedName__Group__0__Impl : ( RULE_ID ) ; 11132 // InternalProblem.g:3558:1: rule__QualifiedName__Group_1__0__Impl : ( RULE_ID ) ;
10501 public final void rule__QualifiedName__Group__0__Impl() throws RecognitionException { 11133 public final void rule__QualifiedName__Group_1__0__Impl() throws RecognitionException {
10502 11134
10503 int stackSize = keepStackSize(); 11135 int stackSize = keepStackSize();
10504 11136
10505 try { 11137 try {
10506 // InternalProblem.g:3358:1: ( ( RULE_ID ) ) 11138 // InternalProblem.g:3562:1: ( ( RULE_ID ) )
10507 // InternalProblem.g:3359:1: ( RULE_ID ) 11139 // InternalProblem.g:3563:1: ( RULE_ID )
10508 { 11140 {
10509 // InternalProblem.g:3359:1: ( RULE_ID ) 11141 // InternalProblem.g:3563:1: ( RULE_ID )
10510 // InternalProblem.g:3360:2: RULE_ID 11142 // InternalProblem.g:3564:2: RULE_ID
10511 { 11143 {
10512 before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0()); 11144 before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_0());
10513 match(input,RULE_ID,FOLLOW_2); 11145 match(input,RULE_ID,FOLLOW_2);
10514 after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0()); 11146 after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_0());
10515 11147
10516 } 11148 }
10517 11149
@@ -10530,21 +11162,26 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10530 } 11162 }
10531 return ; 11163 return ;
10532 } 11164 }
10533 // $ANTLR end "rule__QualifiedName__Group__0__Impl" 11165 // $ANTLR end "rule__QualifiedName__Group_1__0__Impl"
10534 11166
10535 11167
10536 // $ANTLR start "rule__QualifiedName__Group__1" 11168 // $ANTLR start "rule__QualifiedName__Group_1__1"
10537 // InternalProblem.g:3369:1: rule__QualifiedName__Group__1 : rule__QualifiedName__Group__1__Impl ; 11169 // InternalProblem.g:3573:1: rule__QualifiedName__Group_1__1 : rule__QualifiedName__Group_1__1__Impl rule__QualifiedName__Group_1__2 ;
10538 public final void rule__QualifiedName__Group__1() throws RecognitionException { 11170 public final void rule__QualifiedName__Group_1__1() throws RecognitionException {
10539 11171
10540 int stackSize = keepStackSize(); 11172 int stackSize = keepStackSize();
10541 11173
10542 try { 11174 try {
10543 // InternalProblem.g:3373:1: ( rule__QualifiedName__Group__1__Impl ) 11175 // InternalProblem.g:3577:1: ( rule__QualifiedName__Group_1__1__Impl rule__QualifiedName__Group_1__2 )
10544 // InternalProblem.g:3374:2: rule__QualifiedName__Group__1__Impl 11176 // InternalProblem.g:3578:2: rule__QualifiedName__Group_1__1__Impl rule__QualifiedName__Group_1__2
10545 { 11177 {
11178 pushFollow(FOLLOW_27);
11179 rule__QualifiedName__Group_1__1__Impl();
11180
11181 state._fsp--;
11182
10546 pushFollow(FOLLOW_2); 11183 pushFollow(FOLLOW_2);
10547 rule__QualifiedName__Group__1__Impl(); 11184 rule__QualifiedName__Group_1__2();
10548 11185
10549 state._fsp--; 11186 state._fsp--;
10550 11187
@@ -10563,40 +11200,46 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10563 } 11200 }
10564 return ; 11201 return ;
10565 } 11202 }
10566 // $ANTLR end "rule__QualifiedName__Group__1" 11203 // $ANTLR end "rule__QualifiedName__Group_1__1"
10567 11204
10568 11205
10569 // $ANTLR start "rule__QualifiedName__Group__1__Impl" 11206 // $ANTLR start "rule__QualifiedName__Group_1__1__Impl"
10570 // InternalProblem.g:3380:1: rule__QualifiedName__Group__1__Impl : ( ( rule__QualifiedName__Group_1__0 )* ) ; 11207 // InternalProblem.g:3585:1: rule__QualifiedName__Group_1__1__Impl : ( ( rule__QualifiedName__Group_1_1__0 )* ) ;
10571 public final void rule__QualifiedName__Group__1__Impl() throws RecognitionException { 11208 public final void rule__QualifiedName__Group_1__1__Impl() throws RecognitionException {
10572 11209
10573 int stackSize = keepStackSize(); 11210 int stackSize = keepStackSize();
10574 11211
10575 try { 11212 try {
10576 // InternalProblem.g:3384:1: ( ( ( rule__QualifiedName__Group_1__0 )* ) ) 11213 // InternalProblem.g:3589:1: ( ( ( rule__QualifiedName__Group_1_1__0 )* ) )
10577 // InternalProblem.g:3385:1: ( ( rule__QualifiedName__Group_1__0 )* ) 11214 // InternalProblem.g:3590:1: ( ( rule__QualifiedName__Group_1_1__0 )* )
10578 { 11215 {
10579 // InternalProblem.g:3385:1: ( ( rule__QualifiedName__Group_1__0 )* ) 11216 // InternalProblem.g:3590:1: ( ( rule__QualifiedName__Group_1_1__0 )* )
10580 // InternalProblem.g:3386:2: ( rule__QualifiedName__Group_1__0 )* 11217 // InternalProblem.g:3591:2: ( rule__QualifiedName__Group_1_1__0 )*
10581 { 11218 {
10582 before(grammarAccess.getQualifiedNameAccess().getGroup_1()); 11219 before(grammarAccess.getQualifiedNameAccess().getGroup_1_1());
10583 // InternalProblem.g:3387:2: ( rule__QualifiedName__Group_1__0 )* 11220 // InternalProblem.g:3592:2: ( rule__QualifiedName__Group_1_1__0 )*
10584 loop35: 11221 loop38:
10585 do { 11222 do {
10586 int alt35=2; 11223 int alt38=2;
10587 int LA35_0 = input.LA(1); 11224 int LA38_0 = input.LA(1);
11225
11226 if ( (LA38_0==35) ) {
11227 int LA38_1 = input.LA(2);
11228
11229 if ( (LA38_1==RULE_ID) ) {
11230 alt38=1;
11231 }
11232
10588 11233
10589 if ( (LA35_0==34) ) {
10590 alt35=1;
10591 } 11234 }
10592 11235
10593 11236
10594 switch (alt35) { 11237 switch (alt38) {
10595 case 1 : 11238 case 1 :
10596 // InternalProblem.g:3387:3: rule__QualifiedName__Group_1__0 11239 // InternalProblem.g:3592:3: rule__QualifiedName__Group_1_1__0
10597 { 11240 {
10598 pushFollow(FOLLOW_33); 11241 pushFollow(FOLLOW_34);
10599 rule__QualifiedName__Group_1__0(); 11242 rule__QualifiedName__Group_1_1__0();
10600 11243
10601 state._fsp--; 11244 state._fsp--;
10602 11245
@@ -10605,11 +11248,11 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10605 break; 11248 break;
10606 11249
10607 default : 11250 default :
10608 break loop35; 11251 break loop38;
10609 } 11252 }
10610 } while (true); 11253 } while (true);
10611 11254
10612 after(grammarAccess.getQualifiedNameAccess().getGroup_1()); 11255 after(grammarAccess.getQualifiedNameAccess().getGroup_1_1());
10613 11256
10614 } 11257 }
10615 11258
@@ -10628,26 +11271,117 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10628 } 11271 }
10629 return ; 11272 return ;
10630 } 11273 }
10631 // $ANTLR end "rule__QualifiedName__Group__1__Impl" 11274 // $ANTLR end "rule__QualifiedName__Group_1__1__Impl"
10632 11275
10633 11276
10634 // $ANTLR start "rule__QualifiedName__Group_1__0" 11277 // $ANTLR start "rule__QualifiedName__Group_1__2"
10635 // InternalProblem.g:3396:1: rule__QualifiedName__Group_1__0 : rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 ; 11278 // InternalProblem.g:3600:1: rule__QualifiedName__Group_1__2 : rule__QualifiedName__Group_1__2__Impl ;
10636 public final void rule__QualifiedName__Group_1__0() throws RecognitionException { 11279 public final void rule__QualifiedName__Group_1__2() throws RecognitionException {
11280
11281 int stackSize = keepStackSize();
11282
11283 try {
11284 // InternalProblem.g:3604:1: ( rule__QualifiedName__Group_1__2__Impl )
11285 // InternalProblem.g:3605:2: rule__QualifiedName__Group_1__2__Impl
11286 {
11287 pushFollow(FOLLOW_2);
11288 rule__QualifiedName__Group_1__2__Impl();
11289
11290 state._fsp--;
11291
11292
11293 }
11294
11295 }
11296 catch (RecognitionException re) {
11297 reportError(re);
11298 recover(input,re);
11299 }
11300 finally {
11301
11302 restoreStackSize(stackSize);
11303
11304 }
11305 return ;
11306 }
11307 // $ANTLR end "rule__QualifiedName__Group_1__2"
11308
11309
11310 // $ANTLR start "rule__QualifiedName__Group_1__2__Impl"
11311 // InternalProblem.g:3611:1: rule__QualifiedName__Group_1__2__Impl : ( ( rule__QualifiedName__Group_1_2__0 )? ) ;
11312 public final void rule__QualifiedName__Group_1__2__Impl() throws RecognitionException {
10637 11313
10638 int stackSize = keepStackSize(); 11314 int stackSize = keepStackSize();
10639 11315
10640 try { 11316 try {
10641 // InternalProblem.g:3400:1: ( rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 ) 11317 // InternalProblem.g:3615:1: ( ( ( rule__QualifiedName__Group_1_2__0 )? ) )
10642 // InternalProblem.g:3401:2: rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 11318 // InternalProblem.g:3616:1: ( ( rule__QualifiedName__Group_1_2__0 )? )
11319 {
11320 // InternalProblem.g:3616:1: ( ( rule__QualifiedName__Group_1_2__0 )? )
11321 // InternalProblem.g:3617:2: ( rule__QualifiedName__Group_1_2__0 )?
11322 {
11323 before(grammarAccess.getQualifiedNameAccess().getGroup_1_2());
11324 // InternalProblem.g:3618:2: ( rule__QualifiedName__Group_1_2__0 )?
11325 int alt39=2;
11326 int LA39_0 = input.LA(1);
11327
11328 if ( (LA39_0==35) ) {
11329 alt39=1;
11330 }
11331 switch (alt39) {
11332 case 1 :
11333 // InternalProblem.g:3618:3: rule__QualifiedName__Group_1_2__0
11334 {
11335 pushFollow(FOLLOW_2);
11336 rule__QualifiedName__Group_1_2__0();
11337
11338 state._fsp--;
11339
11340
11341 }
11342 break;
11343
11344 }
11345
11346 after(grammarAccess.getQualifiedNameAccess().getGroup_1_2());
11347
11348 }
11349
11350
11351 }
11352
11353 }
11354 catch (RecognitionException re) {
11355 reportError(re);
11356 recover(input,re);
11357 }
11358 finally {
11359
11360 restoreStackSize(stackSize);
11361
11362 }
11363 return ;
11364 }
11365 // $ANTLR end "rule__QualifiedName__Group_1__2__Impl"
11366
11367
11368 // $ANTLR start "rule__QualifiedName__Group_1_1__0"
11369 // InternalProblem.g:3627:1: rule__QualifiedName__Group_1_1__0 : rule__QualifiedName__Group_1_1__0__Impl rule__QualifiedName__Group_1_1__1 ;
11370 public final void rule__QualifiedName__Group_1_1__0() throws RecognitionException {
11371
11372 int stackSize = keepStackSize();
11373
11374 try {
11375 // InternalProblem.g:3631:1: ( rule__QualifiedName__Group_1_1__0__Impl rule__QualifiedName__Group_1_1__1 )
11376 // InternalProblem.g:3632:2: rule__QualifiedName__Group_1_1__0__Impl rule__QualifiedName__Group_1_1__1
10643 { 11377 {
10644 pushFollow(FOLLOW_5); 11378 pushFollow(FOLLOW_5);
10645 rule__QualifiedName__Group_1__0__Impl(); 11379 rule__QualifiedName__Group_1_1__0__Impl();
10646 11380
10647 state._fsp--; 11381 state._fsp--;
10648 11382
10649 pushFollow(FOLLOW_2); 11383 pushFollow(FOLLOW_2);
10650 rule__QualifiedName__Group_1__1(); 11384 rule__QualifiedName__Group_1_1__1();
10651 11385
10652 state._fsp--; 11386 state._fsp--;
10653 11387
@@ -10666,25 +11400,25 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10666 } 11400 }
10667 return ; 11401 return ;
10668 } 11402 }
10669 // $ANTLR end "rule__QualifiedName__Group_1__0" 11403 // $ANTLR end "rule__QualifiedName__Group_1_1__0"
10670 11404
10671 11405
10672 // $ANTLR start "rule__QualifiedName__Group_1__0__Impl" 11406 // $ANTLR start "rule__QualifiedName__Group_1_1__0__Impl"
10673 // InternalProblem.g:3408:1: rule__QualifiedName__Group_1__0__Impl : ( '::' ) ; 11407 // InternalProblem.g:3639:1: rule__QualifiedName__Group_1_1__0__Impl : ( ':' ) ;
10674 public final void rule__QualifiedName__Group_1__0__Impl() throws RecognitionException { 11408 public final void rule__QualifiedName__Group_1_1__0__Impl() throws RecognitionException {
10675 11409
10676 int stackSize = keepStackSize(); 11410 int stackSize = keepStackSize();
10677 11411
10678 try { 11412 try {
10679 // InternalProblem.g:3412:1: ( ( '::' ) ) 11413 // InternalProblem.g:3643:1: ( ( ':' ) )
10680 // InternalProblem.g:3413:1: ( '::' ) 11414 // InternalProblem.g:3644:1: ( ':' )
10681 { 11415 {
10682 // InternalProblem.g:3413:1: ( '::' ) 11416 // InternalProblem.g:3644:1: ( ':' )
10683 // InternalProblem.g:3414:2: '::' 11417 // InternalProblem.g:3645:2: ':'
10684 { 11418 {
10685 before(grammarAccess.getQualifiedNameAccess().getColonColonKeyword_1_0()); 11419 before(grammarAccess.getQualifiedNameAccess().getColonKeyword_1_1_0());
10686 match(input,34,FOLLOW_2); 11420 match(input,35,FOLLOW_2);
10687 after(grammarAccess.getQualifiedNameAccess().getColonColonKeyword_1_0()); 11421 after(grammarAccess.getQualifiedNameAccess().getColonKeyword_1_1_0());
10688 11422
10689 } 11423 }
10690 11424
@@ -10703,21 +11437,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10703 } 11437 }
10704 return ; 11438 return ;
10705 } 11439 }
10706 // $ANTLR end "rule__QualifiedName__Group_1__0__Impl" 11440 // $ANTLR end "rule__QualifiedName__Group_1_1__0__Impl"
10707 11441
10708 11442
10709 // $ANTLR start "rule__QualifiedName__Group_1__1" 11443 // $ANTLR start "rule__QualifiedName__Group_1_1__1"
10710 // InternalProblem.g:3423:1: rule__QualifiedName__Group_1__1 : rule__QualifiedName__Group_1__1__Impl ; 11444 // InternalProblem.g:3654:1: rule__QualifiedName__Group_1_1__1 : rule__QualifiedName__Group_1_1__1__Impl ;
10711 public final void rule__QualifiedName__Group_1__1() throws RecognitionException { 11445 public final void rule__QualifiedName__Group_1_1__1() throws RecognitionException {
10712 11446
10713 int stackSize = keepStackSize(); 11447 int stackSize = keepStackSize();
10714 11448
10715 try { 11449 try {
10716 // InternalProblem.g:3427:1: ( rule__QualifiedName__Group_1__1__Impl ) 11450 // InternalProblem.g:3658:1: ( rule__QualifiedName__Group_1_1__1__Impl )
10717 // InternalProblem.g:3428:2: rule__QualifiedName__Group_1__1__Impl 11451 // InternalProblem.g:3659:2: rule__QualifiedName__Group_1_1__1__Impl
10718 { 11452 {
10719 pushFollow(FOLLOW_2); 11453 pushFollow(FOLLOW_2);
10720 rule__QualifiedName__Group_1__1__Impl(); 11454 rule__QualifiedName__Group_1_1__1__Impl();
10721 11455
10722 state._fsp--; 11456 state._fsp--;
10723 11457
@@ -10736,25 +11470,25 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10736 } 11470 }
10737 return ; 11471 return ;
10738 } 11472 }
10739 // $ANTLR end "rule__QualifiedName__Group_1__1" 11473 // $ANTLR end "rule__QualifiedName__Group_1_1__1"
10740 11474
10741 11475
10742 // $ANTLR start "rule__QualifiedName__Group_1__1__Impl" 11476 // $ANTLR start "rule__QualifiedName__Group_1_1__1__Impl"
10743 // InternalProblem.g:3434:1: rule__QualifiedName__Group_1__1__Impl : ( RULE_ID ) ; 11477 // InternalProblem.g:3665:1: rule__QualifiedName__Group_1_1__1__Impl : ( RULE_ID ) ;
10744 public final void rule__QualifiedName__Group_1__1__Impl() throws RecognitionException { 11478 public final void rule__QualifiedName__Group_1_1__1__Impl() throws RecognitionException {
10745 11479
10746 int stackSize = keepStackSize(); 11480 int stackSize = keepStackSize();
10747 11481
10748 try { 11482 try {
10749 // InternalProblem.g:3438:1: ( ( RULE_ID ) ) 11483 // InternalProblem.g:3669:1: ( ( RULE_ID ) )
10750 // InternalProblem.g:3439:1: ( RULE_ID ) 11484 // InternalProblem.g:3670:1: ( RULE_ID )
10751 { 11485 {
10752 // InternalProblem.g:3439:1: ( RULE_ID ) 11486 // InternalProblem.g:3670:1: ( RULE_ID )
10753 // InternalProblem.g:3440:2: RULE_ID 11487 // InternalProblem.g:3671:2: RULE_ID
10754 { 11488 {
10755 before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1()); 11489 before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1_1());
10756 match(input,RULE_ID,FOLLOW_2); 11490 match(input,RULE_ID,FOLLOW_2);
10757 after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1()); 11491 after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1_1());
10758 11492
10759 } 11493 }
10760 11494
@@ -10773,31 +11507,28 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10773 } 11507 }
10774 return ; 11508 return ;
10775 } 11509 }
10776 // $ANTLR end "rule__QualifiedName__Group_1__1__Impl" 11510 // $ANTLR end "rule__QualifiedName__Group_1_1__1__Impl"
10777 11511
10778 11512
10779 // $ANTLR start "rule__Problem__StatementsAssignment" 11513 // $ANTLR start "rule__QualifiedName__Group_1_2__0"
10780 // InternalProblem.g:3450:1: rule__Problem__StatementsAssignment : ( ruleStatement ) ; 11514 // InternalProblem.g:3681:1: rule__QualifiedName__Group_1_2__0 : rule__QualifiedName__Group_1_2__0__Impl rule__QualifiedName__Group_1_2__1 ;
10781 public final void rule__Problem__StatementsAssignment() throws RecognitionException { 11515 public final void rule__QualifiedName__Group_1_2__0() throws RecognitionException {
10782 11516
10783 int stackSize = keepStackSize(); 11517 int stackSize = keepStackSize();
10784 11518
10785 try { 11519 try {
10786 // InternalProblem.g:3454:1: ( ( ruleStatement ) ) 11520 // InternalProblem.g:3685:1: ( rule__QualifiedName__Group_1_2__0__Impl rule__QualifiedName__Group_1_2__1 )
10787 // InternalProblem.g:3455:2: ( ruleStatement ) 11521 // InternalProblem.g:3686:2: rule__QualifiedName__Group_1_2__0__Impl rule__QualifiedName__Group_1_2__1
10788 {
10789 // InternalProblem.g:3455:2: ( ruleStatement )
10790 // InternalProblem.g:3456:3: ruleStatement
10791 { 11522 {
10792 before(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0()); 11523 pushFollow(FOLLOW_35);
10793 pushFollow(FOLLOW_2); 11524 rule__QualifiedName__Group_1_2__0__Impl();
10794 ruleStatement();
10795 11525
10796 state._fsp--; 11526 state._fsp--;
10797 11527
10798 after(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0()); 11528 pushFollow(FOLLOW_2);
11529 rule__QualifiedName__Group_1_2__1();
10799 11530
10800 } 11531 state._fsp--;
10801 11532
10802 11533
10803 } 11534 }
@@ -10814,36 +11545,61 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10814 } 11545 }
10815 return ; 11546 return ;
10816 } 11547 }
10817 // $ANTLR end "rule__Problem__StatementsAssignment" 11548 // $ANTLR end "rule__QualifiedName__Group_1_2__0"
10818 11549
10819 11550
10820 // $ANTLR start "rule__ClassDeclaration__AbstractAssignment_0" 11551 // $ANTLR start "rule__QualifiedName__Group_1_2__0__Impl"
10821 // InternalProblem.g:3465:1: rule__ClassDeclaration__AbstractAssignment_0 : ( ( 'abstract' ) ) ; 11552 // InternalProblem.g:3693:1: rule__QualifiedName__Group_1_2__0__Impl : ( ':' ) ;
10822 public final void rule__ClassDeclaration__AbstractAssignment_0() throws RecognitionException { 11553 public final void rule__QualifiedName__Group_1_2__0__Impl() throws RecognitionException {
10823 11554
10824 int stackSize = keepStackSize(); 11555 int stackSize = keepStackSize();
10825 11556
10826 try { 11557 try {
10827 // InternalProblem.g:3469:1: ( ( ( 'abstract' ) ) ) 11558 // InternalProblem.g:3697:1: ( ( ':' ) )
10828 // InternalProblem.g:3470:2: ( ( 'abstract' ) ) 11559 // InternalProblem.g:3698:1: ( ':' )
10829 {
10830 // InternalProblem.g:3470:2: ( ( 'abstract' ) )
10831 // InternalProblem.g:3471:3: ( 'abstract' )
10832 { 11560 {
10833 before(grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0()); 11561 // InternalProblem.g:3698:1: ( ':' )
10834 // InternalProblem.g:3472:3: ( 'abstract' ) 11562 // InternalProblem.g:3699:2: ':'
10835 // InternalProblem.g:3473:4: 'abstract'
10836 { 11563 {
10837 before(grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0()); 11564 before(grammarAccess.getQualifiedNameAccess().getColonKeyword_1_2_0());
10838 match(input,35,FOLLOW_2); 11565 match(input,35,FOLLOW_2);
10839 after(grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0()); 11566 after(grammarAccess.getQualifiedNameAccess().getColonKeyword_1_2_0());
10840 11567
10841 } 11568 }
10842 11569
10843 after(grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0());
10844 11570
10845 } 11571 }
10846 11572
11573 }
11574 catch (RecognitionException re) {
11575 reportError(re);
11576 recover(input,re);
11577 }
11578 finally {
11579
11580 restoreStackSize(stackSize);
11581
11582 }
11583 return ;
11584 }
11585 // $ANTLR end "rule__QualifiedName__Group_1_2__0__Impl"
11586
11587
11588 // $ANTLR start "rule__QualifiedName__Group_1_2__1"
11589 // InternalProblem.g:3708:1: rule__QualifiedName__Group_1_2__1 : rule__QualifiedName__Group_1_2__1__Impl ;
11590 public final void rule__QualifiedName__Group_1_2__1() throws RecognitionException {
11591
11592 int stackSize = keepStackSize();
11593
11594 try {
11595 // InternalProblem.g:3712:1: ( rule__QualifiedName__Group_1_2__1__Impl )
11596 // InternalProblem.g:3713:2: rule__QualifiedName__Group_1_2__1__Impl
11597 {
11598 pushFollow(FOLLOW_2);
11599 rule__QualifiedName__Group_1_2__1__Impl();
11600
11601 state._fsp--;
11602
10847 11603
10848 } 11604 }
10849 11605
@@ -10859,25 +11615,25 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10859 } 11615 }
10860 return ; 11616 return ;
10861 } 11617 }
10862 // $ANTLR end "rule__ClassDeclaration__AbstractAssignment_0" 11618 // $ANTLR end "rule__QualifiedName__Group_1_2__1"
10863 11619
10864 11620
10865 // $ANTLR start "rule__ClassDeclaration__NameAssignment_2" 11621 // $ANTLR start "rule__QualifiedName__Group_1_2__1__Impl"
10866 // InternalProblem.g:3484:1: rule__ClassDeclaration__NameAssignment_2 : ( RULE_ID ) ; 11622 // InternalProblem.g:3719:1: rule__QualifiedName__Group_1_2__1__Impl : ( RULE_QUOTED_ID ) ;
10867 public final void rule__ClassDeclaration__NameAssignment_2() throws RecognitionException { 11623 public final void rule__QualifiedName__Group_1_2__1__Impl() throws RecognitionException {
10868 11624
10869 int stackSize = keepStackSize(); 11625 int stackSize = keepStackSize();
10870 11626
10871 try { 11627 try {
10872 // InternalProblem.g:3488:1: ( ( RULE_ID ) ) 11628 // InternalProblem.g:3723:1: ( ( RULE_QUOTED_ID ) )
10873 // InternalProblem.g:3489:2: ( RULE_ID ) 11629 // InternalProblem.g:3724:1: ( RULE_QUOTED_ID )
10874 { 11630 {
10875 // InternalProblem.g:3489:2: ( RULE_ID ) 11631 // InternalProblem.g:3724:1: ( RULE_QUOTED_ID )
10876 // InternalProblem.g:3490:3: RULE_ID 11632 // InternalProblem.g:3725:2: RULE_QUOTED_ID
10877 { 11633 {
10878 before(grammarAccess.getClassDeclarationAccess().getNameIDTerminalRuleCall_2_0()); 11634 before(grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1_2_1());
10879 match(input,RULE_ID,FOLLOW_2); 11635 match(input,RULE_QUOTED_ID,FOLLOW_2);
10880 after(grammarAccess.getClassDeclarationAccess().getNameIDTerminalRuleCall_2_0()); 11636 after(grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1_2_1());
10881 11637
10882 } 11638 }
10883 11639
@@ -10896,33 +11652,66 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10896 } 11652 }
10897 return ; 11653 return ;
10898 } 11654 }
10899 // $ANTLR end "rule__ClassDeclaration__NameAssignment_2" 11655 // $ANTLR end "rule__QualifiedName__Group_1_2__1__Impl"
10900 11656
10901 11657
10902 // $ANTLR start "rule__ClassDeclaration__SuperTypesAssignment_3_0_1_0" 11658 // $ANTLR start "rule__Problem__NameAssignment_0_1"
10903 // InternalProblem.g:3499:1: rule__ClassDeclaration__SuperTypesAssignment_3_0_1_0 : ( ( RULE_ID ) ) ; 11659 // InternalProblem.g:3735:1: rule__Problem__NameAssignment_0_1 : ( RULE_ID ) ;
10904 public final void rule__ClassDeclaration__SuperTypesAssignment_3_0_1_0() throws RecognitionException { 11660 public final void rule__Problem__NameAssignment_0_1() throws RecognitionException {
10905 11661
10906 int stackSize = keepStackSize(); 11662 int stackSize = keepStackSize();
10907 11663
10908 try { 11664 try {
10909 // InternalProblem.g:3503:1: ( ( ( RULE_ID ) ) ) 11665 // InternalProblem.g:3739:1: ( ( RULE_ID ) )
10910 // InternalProblem.g:3504:2: ( ( RULE_ID ) ) 11666 // InternalProblem.g:3740:2: ( RULE_ID )
10911 {
10912 // InternalProblem.g:3504:2: ( ( RULE_ID ) )
10913 // InternalProblem.g:3505:3: ( RULE_ID )
10914 { 11667 {
10915 before(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_0_1_0_0()); 11668 // InternalProblem.g:3740:2: ( RULE_ID )
10916 // InternalProblem.g:3506:3: ( RULE_ID ) 11669 // InternalProblem.g:3741:3: RULE_ID
10917 // InternalProblem.g:3507:4: RULE_ID
10918 { 11670 {
10919 before(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationIDTerminalRuleCall_3_0_1_0_0_1()); 11671 before(grammarAccess.getProblemAccess().getNameIDTerminalRuleCall_0_1_0());
10920 match(input,RULE_ID,FOLLOW_2); 11672 match(input,RULE_ID,FOLLOW_2);
10921 after(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationIDTerminalRuleCall_3_0_1_0_0_1()); 11673 after(grammarAccess.getProblemAccess().getNameIDTerminalRuleCall_0_1_0());
10922 11674
10923 } 11675 }
10924 11676
10925 after(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_0_1_0_0()); 11677
11678 }
11679
11680 }
11681 catch (RecognitionException re) {
11682 reportError(re);
11683 recover(input,re);
11684 }
11685 finally {
11686
11687 restoreStackSize(stackSize);
11688
11689 }
11690 return ;
11691 }
11692 // $ANTLR end "rule__Problem__NameAssignment_0_1"
11693
11694
11695 // $ANTLR start "rule__Problem__StatementsAssignment_1"
11696 // InternalProblem.g:3750:1: rule__Problem__StatementsAssignment_1 : ( ruleStatement ) ;
11697 public final void rule__Problem__StatementsAssignment_1() throws RecognitionException {
11698
11699 int stackSize = keepStackSize();
11700
11701 try {
11702 // InternalProblem.g:3754:1: ( ( ruleStatement ) )
11703 // InternalProblem.g:3755:2: ( ruleStatement )
11704 {
11705 // InternalProblem.g:3755:2: ( ruleStatement )
11706 // InternalProblem.g:3756:3: ruleStatement
11707 {
11708 before(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_1_0());
11709 pushFollow(FOLLOW_2);
11710 ruleStatement();
11711
11712 state._fsp--;
11713
11714 after(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_1_0());
10926 11715
10927 } 11716 }
10928 11717
@@ -10941,33 +11730,70 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10941 } 11730 }
10942 return ; 11731 return ;
10943 } 11732 }
10944 // $ANTLR end "rule__ClassDeclaration__SuperTypesAssignment_3_0_1_0" 11733 // $ANTLR end "rule__Problem__StatementsAssignment_1"
10945 11734
10946 11735
10947 // $ANTLR start "rule__ClassDeclaration__SuperTypesAssignment_3_0_1_1_1_0" 11736 // $ANTLR start "rule__ClassDeclaration__AbstractAssignment_0"
10948 // InternalProblem.g:3518:1: rule__ClassDeclaration__SuperTypesAssignment_3_0_1_1_1_0 : ( ( RULE_ID ) ) ; 11737 // InternalProblem.g:3765:1: rule__ClassDeclaration__AbstractAssignment_0 : ( ( 'abstract' ) ) ;
10949 public final void rule__ClassDeclaration__SuperTypesAssignment_3_0_1_1_1_0() throws RecognitionException { 11738 public final void rule__ClassDeclaration__AbstractAssignment_0() throws RecognitionException {
10950 11739
10951 int stackSize = keepStackSize(); 11740 int stackSize = keepStackSize();
10952 11741
10953 try { 11742 try {
10954 // InternalProblem.g:3522:1: ( ( ( RULE_ID ) ) ) 11743 // InternalProblem.g:3769:1: ( ( ( 'abstract' ) ) )
10955 // InternalProblem.g:3523:2: ( ( RULE_ID ) ) 11744 // InternalProblem.g:3770:2: ( ( 'abstract' ) )
10956 { 11745 {
10957 // InternalProblem.g:3523:2: ( ( RULE_ID ) ) 11746 // InternalProblem.g:3770:2: ( ( 'abstract' ) )
10958 // InternalProblem.g:3524:3: ( RULE_ID ) 11747 // InternalProblem.g:3771:3: ( 'abstract' )
10959 { 11748 {
10960 before(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_0_1_1_1_0_0()); 11749 before(grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0());
10961 // InternalProblem.g:3525:3: ( RULE_ID ) 11750 // InternalProblem.g:3772:3: ( 'abstract' )
10962 // InternalProblem.g:3526:4: RULE_ID 11751 // InternalProblem.g:3773:4: 'abstract'
10963 { 11752 {
10964 before(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationIDTerminalRuleCall_3_0_1_1_1_0_0_1()); 11753 before(grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0());
10965 match(input,RULE_ID,FOLLOW_2); 11754 match(input,38,FOLLOW_2);
10966 after(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationIDTerminalRuleCall_3_0_1_1_1_0_0_1()); 11755 after(grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0());
11756
11757 }
11758
11759 after(grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0());
10967 11760
10968 } 11761 }
10969 11762
10970 after(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_0_1_1_1_0_0()); 11763
11764 }
11765
11766 }
11767 catch (RecognitionException re) {
11768 reportError(re);
11769 recover(input,re);
11770 }
11771 finally {
11772
11773 restoreStackSize(stackSize);
11774
11775 }
11776 return ;
11777 }
11778 // $ANTLR end "rule__ClassDeclaration__AbstractAssignment_0"
11779
11780
11781 // $ANTLR start "rule__ClassDeclaration__NameAssignment_2"
11782 // InternalProblem.g:3784:1: rule__ClassDeclaration__NameAssignment_2 : ( RULE_ID ) ;
11783 public final void rule__ClassDeclaration__NameAssignment_2() throws RecognitionException {
11784
11785 int stackSize = keepStackSize();
11786
11787 try {
11788 // InternalProblem.g:3788:1: ( ( RULE_ID ) )
11789 // InternalProblem.g:3789:2: ( RULE_ID )
11790 {
11791 // InternalProblem.g:3789:2: ( RULE_ID )
11792 // InternalProblem.g:3790:3: RULE_ID
11793 {
11794 before(grammarAccess.getClassDeclarationAccess().getNameIDTerminalRuleCall_2_0());
11795 match(input,RULE_ID,FOLLOW_2);
11796 after(grammarAccess.getClassDeclarationAccess().getNameIDTerminalRuleCall_2_0());
10971 11797
10972 } 11798 }
10973 11799
@@ -10986,33 +11812,37 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10986 } 11812 }
10987 return ; 11813 return ;
10988 } 11814 }
10989 // $ANTLR end "rule__ClassDeclaration__SuperTypesAssignment_3_0_1_1_1_0" 11815 // $ANTLR end "rule__ClassDeclaration__NameAssignment_2"
10990 11816
10991 11817
10992 // $ANTLR start "rule__ClassDeclaration__SuperTypesAssignment_3_0_1_1_1_1_1" 11818 // $ANTLR start "rule__ClassDeclaration__SuperTypesAssignment_3_1"
10993 // InternalProblem.g:3537:1: rule__ClassDeclaration__SuperTypesAssignment_3_0_1_1_1_1_1 : ( ( RULE_ID ) ) ; 11819 // InternalProblem.g:3799:1: rule__ClassDeclaration__SuperTypesAssignment_3_1 : ( ( ruleQualifiedName ) ) ;
10994 public final void rule__ClassDeclaration__SuperTypesAssignment_3_0_1_1_1_1_1() throws RecognitionException { 11820 public final void rule__ClassDeclaration__SuperTypesAssignment_3_1() throws RecognitionException {
10995 11821
10996 int stackSize = keepStackSize(); 11822 int stackSize = keepStackSize();
10997 11823
10998 try { 11824 try {
10999 // InternalProblem.g:3541:1: ( ( ( RULE_ID ) ) ) 11825 // InternalProblem.g:3803:1: ( ( ( ruleQualifiedName ) ) )
11000 // InternalProblem.g:3542:2: ( ( RULE_ID ) ) 11826 // InternalProblem.g:3804:2: ( ( ruleQualifiedName ) )
11001 { 11827 {
11002 // InternalProblem.g:3542:2: ( ( RULE_ID ) ) 11828 // InternalProblem.g:3804:2: ( ( ruleQualifiedName ) )
11003 // InternalProblem.g:3543:3: ( RULE_ID ) 11829 // InternalProblem.g:3805:3: ( ruleQualifiedName )
11004 { 11830 {
11005 before(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_0_1_1_1_1_1_0()); 11831 before(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_1_0());
11006 // InternalProblem.g:3544:3: ( RULE_ID ) 11832 // InternalProblem.g:3806:3: ( ruleQualifiedName )
11007 // InternalProblem.g:3545:4: RULE_ID 11833 // InternalProblem.g:3807:4: ruleQualifiedName
11008 { 11834 {
11009 before(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationIDTerminalRuleCall_3_0_1_1_1_1_1_0_1()); 11835 before(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationQualifiedNameParserRuleCall_3_1_0_1());
11010 match(input,RULE_ID,FOLLOW_2); 11836 pushFollow(FOLLOW_2);
11011 after(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationIDTerminalRuleCall_3_0_1_1_1_1_1_0_1()); 11837 ruleQualifiedName();
11838
11839 state._fsp--;
11840
11841 after(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationQualifiedNameParserRuleCall_3_1_0_1());
11012 11842
11013 } 11843 }
11014 11844
11015 after(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_0_1_1_1_1_1_0()); 11845 after(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_1_0());
11016 11846
11017 } 11847 }
11018 11848
@@ -11031,29 +11861,37 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11031 } 11861 }
11032 return ; 11862 return ;
11033 } 11863 }
11034 // $ANTLR end "rule__ClassDeclaration__SuperTypesAssignment_3_0_1_1_1_1_1" 11864 // $ANTLR end "rule__ClassDeclaration__SuperTypesAssignment_3_1"
11035 11865
11036 11866
11037 // $ANTLR start "rule__ClassDeclaration__ReferenceDeclarationsAssignment_3_1" 11867 // $ANTLR start "rule__ClassDeclaration__SuperTypesAssignment_3_2_1"
11038 // InternalProblem.g:3556:1: rule__ClassDeclaration__ReferenceDeclarationsAssignment_3_1 : ( ruleReferenceDeclaration ) ; 11868 // InternalProblem.g:3818:1: rule__ClassDeclaration__SuperTypesAssignment_3_2_1 : ( ( ruleQualifiedName ) ) ;
11039 public final void rule__ClassDeclaration__ReferenceDeclarationsAssignment_3_1() throws RecognitionException { 11869 public final void rule__ClassDeclaration__SuperTypesAssignment_3_2_1() throws RecognitionException {
11040 11870
11041 int stackSize = keepStackSize(); 11871 int stackSize = keepStackSize();
11042 11872
11043 try { 11873 try {
11044 // InternalProblem.g:3560:1: ( ( ruleReferenceDeclaration ) ) 11874 // InternalProblem.g:3822:1: ( ( ( ruleQualifiedName ) ) )
11045 // InternalProblem.g:3561:2: ( ruleReferenceDeclaration ) 11875 // InternalProblem.g:3823:2: ( ( ruleQualifiedName ) )
11876 {
11877 // InternalProblem.g:3823:2: ( ( ruleQualifiedName ) )
11878 // InternalProblem.g:3824:3: ( ruleQualifiedName )
11046 { 11879 {
11047 // InternalProblem.g:3561:2: ( ruleReferenceDeclaration ) 11880 before(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_2_1_0());
11048 // InternalProblem.g:3562:3: ruleReferenceDeclaration 11881 // InternalProblem.g:3825:3: ( ruleQualifiedName )
11882 // InternalProblem.g:3826:4: ruleQualifiedName
11049 { 11883 {
11050 before(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_3_1_0()); 11884 before(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationQualifiedNameParserRuleCall_3_2_1_0_1());
11051 pushFollow(FOLLOW_2); 11885 pushFollow(FOLLOW_2);
11052 ruleReferenceDeclaration(); 11886 ruleQualifiedName();
11053 11887
11054 state._fsp--; 11888 state._fsp--;
11055 11889
11056 after(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_3_1_0()); 11890 after(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationQualifiedNameParserRuleCall_3_2_1_0_1());
11891
11892 }
11893
11894 after(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_2_1_0());
11057 11895
11058 } 11896 }
11059 11897
@@ -11072,29 +11910,29 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11072 } 11910 }
11073 return ; 11911 return ;
11074 } 11912 }
11075 // $ANTLR end "rule__ClassDeclaration__ReferenceDeclarationsAssignment_3_1" 11913 // $ANTLR end "rule__ClassDeclaration__SuperTypesAssignment_3_2_1"
11076 11914
11077 11915
11078 // $ANTLR start "rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_1" 11916 // $ANTLR start "rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0"
11079 // InternalProblem.g:3571:1: rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_1 : ( ruleReferenceDeclaration ) ; 11917 // InternalProblem.g:3837:1: rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0 : ( ruleReferenceDeclaration ) ;
11080 public final void rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_1() throws RecognitionException { 11918 public final void rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0() throws RecognitionException {
11081 11919
11082 int stackSize = keepStackSize(); 11920 int stackSize = keepStackSize();
11083 11921
11084 try { 11922 try {
11085 // InternalProblem.g:3575:1: ( ( ruleReferenceDeclaration ) ) 11923 // InternalProblem.g:3841:1: ( ( ruleReferenceDeclaration ) )
11086 // InternalProblem.g:3576:2: ( ruleReferenceDeclaration ) 11924 // InternalProblem.g:3842:2: ( ruleReferenceDeclaration )
11087 { 11925 {
11088 // InternalProblem.g:3576:2: ( ruleReferenceDeclaration ) 11926 // InternalProblem.g:3842:2: ( ruleReferenceDeclaration )
11089 // InternalProblem.g:3577:3: ruleReferenceDeclaration 11927 // InternalProblem.g:3843:3: ruleReferenceDeclaration
11090 { 11928 {
11091 before(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_4_1_0()); 11929 before(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_4_0_1_0_0());
11092 pushFollow(FOLLOW_2); 11930 pushFollow(FOLLOW_2);
11093 ruleReferenceDeclaration(); 11931 ruleReferenceDeclaration();
11094 11932
11095 state._fsp--; 11933 state._fsp--;
11096 11934
11097 after(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_4_1_0()); 11935 after(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_4_0_1_0_0());
11098 11936
11099 } 11937 }
11100 11938
@@ -11113,28 +11951,28 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11113 } 11951 }
11114 return ; 11952 return ;
11115 } 11953 }
11116 // $ANTLR end "rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_1" 11954 // $ANTLR end "rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0"
11117 11955
11118 11956
11119 // $ANTLR start "rule__ReferenceDeclaration__ContainmentAssignment_0_0" 11957 // $ANTLR start "rule__ReferenceDeclaration__ContainmentAssignment_0_0"
11120 // InternalProblem.g:3586:1: rule__ReferenceDeclaration__ContainmentAssignment_0_0 : ( ( 'contains' ) ) ; 11958 // InternalProblem.g:3852:1: rule__ReferenceDeclaration__ContainmentAssignment_0_0 : ( ( 'contains' ) ) ;
11121 public final void rule__ReferenceDeclaration__ContainmentAssignment_0_0() throws RecognitionException { 11959 public final void rule__ReferenceDeclaration__ContainmentAssignment_0_0() throws RecognitionException {
11122 11960
11123 int stackSize = keepStackSize(); 11961 int stackSize = keepStackSize();
11124 11962
11125 try { 11963 try {
11126 // InternalProblem.g:3590:1: ( ( ( 'contains' ) ) ) 11964 // InternalProblem.g:3856:1: ( ( ( 'contains' ) ) )
11127 // InternalProblem.g:3591:2: ( ( 'contains' ) ) 11965 // InternalProblem.g:3857:2: ( ( 'contains' ) )
11128 { 11966 {
11129 // InternalProblem.g:3591:2: ( ( 'contains' ) ) 11967 // InternalProblem.g:3857:2: ( ( 'contains' ) )
11130 // InternalProblem.g:3592:3: ( 'contains' ) 11968 // InternalProblem.g:3858:3: ( 'contains' )
11131 { 11969 {
11132 before(grammarAccess.getReferenceDeclarationAccess().getContainmentContainsKeyword_0_0_0()); 11970 before(grammarAccess.getReferenceDeclarationAccess().getContainmentContainsKeyword_0_0_0());
11133 // InternalProblem.g:3593:3: ( 'contains' ) 11971 // InternalProblem.g:3859:3: ( 'contains' )
11134 // InternalProblem.g:3594:4: 'contains' 11972 // InternalProblem.g:3860:4: 'contains'
11135 { 11973 {
11136 before(grammarAccess.getReferenceDeclarationAccess().getContainmentContainsKeyword_0_0_0()); 11974 before(grammarAccess.getReferenceDeclarationAccess().getContainmentContainsKeyword_0_0_0());
11137 match(input,36,FOLLOW_2); 11975 match(input,39,FOLLOW_2);
11138 after(grammarAccess.getReferenceDeclarationAccess().getContainmentContainsKeyword_0_0_0()); 11976 after(grammarAccess.getReferenceDeclarationAccess().getContainmentContainsKeyword_0_0_0());
11139 11977
11140 } 11978 }
@@ -11162,25 +12000,29 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11162 12000
11163 12001
11164 // $ANTLR start "rule__ReferenceDeclaration__ReferenceTypeAssignment_1" 12002 // $ANTLR start "rule__ReferenceDeclaration__ReferenceTypeAssignment_1"
11165 // InternalProblem.g:3605:1: rule__ReferenceDeclaration__ReferenceTypeAssignment_1 : ( ( RULE_ID ) ) ; 12003 // InternalProblem.g:3871:1: rule__ReferenceDeclaration__ReferenceTypeAssignment_1 : ( ( ruleQualifiedName ) ) ;
11166 public final void rule__ReferenceDeclaration__ReferenceTypeAssignment_1() throws RecognitionException { 12004 public final void rule__ReferenceDeclaration__ReferenceTypeAssignment_1() throws RecognitionException {
11167 12005
11168 int stackSize = keepStackSize(); 12006 int stackSize = keepStackSize();
11169 12007
11170 try { 12008 try {
11171 // InternalProblem.g:3609:1: ( ( ( RULE_ID ) ) ) 12009 // InternalProblem.g:3875:1: ( ( ( ruleQualifiedName ) ) )
11172 // InternalProblem.g:3610:2: ( ( RULE_ID ) ) 12010 // InternalProblem.g:3876:2: ( ( ruleQualifiedName ) )
11173 { 12011 {
11174 // InternalProblem.g:3610:2: ( ( RULE_ID ) ) 12012 // InternalProblem.g:3876:2: ( ( ruleQualifiedName ) )
11175 // InternalProblem.g:3611:3: ( RULE_ID ) 12013 // InternalProblem.g:3877:3: ( ruleQualifiedName )
11176 { 12014 {
11177 before(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeClassDeclarationCrossReference_1_0()); 12015 before(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeClassDeclarationCrossReference_1_0());
11178 // InternalProblem.g:3612:3: ( RULE_ID ) 12016 // InternalProblem.g:3878:3: ( ruleQualifiedName )
11179 // InternalProblem.g:3613:4: RULE_ID 12017 // InternalProblem.g:3879:4: ruleQualifiedName
11180 { 12018 {
11181 before(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeClassDeclarationIDTerminalRuleCall_1_0_1()); 12019 before(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeClassDeclarationQualifiedNameParserRuleCall_1_0_1());
11182 match(input,RULE_ID,FOLLOW_2); 12020 pushFollow(FOLLOW_2);
11183 after(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeClassDeclarationIDTerminalRuleCall_1_0_1()); 12021 ruleQualifiedName();
12022
12023 state._fsp--;
12024
12025 after(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeClassDeclarationQualifiedNameParserRuleCall_1_0_1());
11184 12026
11185 } 12027 }
11186 12028
@@ -11206,26 +12048,26 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11206 // $ANTLR end "rule__ReferenceDeclaration__ReferenceTypeAssignment_1" 12048 // $ANTLR end "rule__ReferenceDeclaration__ReferenceTypeAssignment_1"
11207 12049
11208 12050
11209 // $ANTLR start "rule__ReferenceDeclaration__MultiplicityAssignment_3" 12051 // $ANTLR start "rule__ReferenceDeclaration__MultiplicityAssignment_2_1"
11210 // InternalProblem.g:3624:1: rule__ReferenceDeclaration__MultiplicityAssignment_3 : ( ruleMultiplicity ) ; 12052 // InternalProblem.g:3890:1: rule__ReferenceDeclaration__MultiplicityAssignment_2_1 : ( ruleMultiplicity ) ;
11211 public final void rule__ReferenceDeclaration__MultiplicityAssignment_3() throws RecognitionException { 12053 public final void rule__ReferenceDeclaration__MultiplicityAssignment_2_1() throws RecognitionException {
11212 12054
11213 int stackSize = keepStackSize(); 12055 int stackSize = keepStackSize();
11214 12056
11215 try { 12057 try {
11216 // InternalProblem.g:3628:1: ( ( ruleMultiplicity ) ) 12058 // InternalProblem.g:3894:1: ( ( ruleMultiplicity ) )
11217 // InternalProblem.g:3629:2: ( ruleMultiplicity ) 12059 // InternalProblem.g:3895:2: ( ruleMultiplicity )
11218 { 12060 {
11219 // InternalProblem.g:3629:2: ( ruleMultiplicity ) 12061 // InternalProblem.g:3895:2: ( ruleMultiplicity )
11220 // InternalProblem.g:3630:3: ruleMultiplicity 12062 // InternalProblem.g:3896:3: ruleMultiplicity
11221 { 12063 {
11222 before(grammarAccess.getReferenceDeclarationAccess().getMultiplicityMultiplicityParserRuleCall_3_0()); 12064 before(grammarAccess.getReferenceDeclarationAccess().getMultiplicityMultiplicityParserRuleCall_2_1_0());
11223 pushFollow(FOLLOW_2); 12065 pushFollow(FOLLOW_2);
11224 ruleMultiplicity(); 12066 ruleMultiplicity();
11225 12067
11226 state._fsp--; 12068 state._fsp--;
11227 12069
11228 after(grammarAccess.getReferenceDeclarationAccess().getMultiplicityMultiplicityParserRuleCall_3_0()); 12070 after(grammarAccess.getReferenceDeclarationAccess().getMultiplicityMultiplicityParserRuleCall_2_1_0());
11229 12071
11230 } 12072 }
11231 12073
@@ -11244,25 +12086,25 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11244 } 12086 }
11245 return ; 12087 return ;
11246 } 12088 }
11247 // $ANTLR end "rule__ReferenceDeclaration__MultiplicityAssignment_3" 12089 // $ANTLR end "rule__ReferenceDeclaration__MultiplicityAssignment_2_1"
11248 12090
11249 12091
11250 // $ANTLR start "rule__ReferenceDeclaration__NameAssignment_5" 12092 // $ANTLR start "rule__ReferenceDeclaration__NameAssignment_3"
11251 // InternalProblem.g:3639:1: rule__ReferenceDeclaration__NameAssignment_5 : ( RULE_ID ) ; 12093 // InternalProblem.g:3905:1: rule__ReferenceDeclaration__NameAssignment_3 : ( RULE_ID ) ;
11252 public final void rule__ReferenceDeclaration__NameAssignment_5() throws RecognitionException { 12094 public final void rule__ReferenceDeclaration__NameAssignment_3() throws RecognitionException {
11253 12095
11254 int stackSize = keepStackSize(); 12096 int stackSize = keepStackSize();
11255 12097
11256 try { 12098 try {
11257 // InternalProblem.g:3643:1: ( ( RULE_ID ) ) 12099 // InternalProblem.g:3909:1: ( ( RULE_ID ) )
11258 // InternalProblem.g:3644:2: ( RULE_ID ) 12100 // InternalProblem.g:3910:2: ( RULE_ID )
11259 { 12101 {
11260 // InternalProblem.g:3644:2: ( RULE_ID ) 12102 // InternalProblem.g:3910:2: ( RULE_ID )
11261 // InternalProblem.g:3645:3: RULE_ID 12103 // InternalProblem.g:3911:3: RULE_ID
11262 { 12104 {
11263 before(grammarAccess.getReferenceDeclarationAccess().getNameIDTerminalRuleCall_5_0()); 12105 before(grammarAccess.getReferenceDeclarationAccess().getNameIDTerminalRuleCall_3_0());
11264 match(input,RULE_ID,FOLLOW_2); 12106 match(input,RULE_ID,FOLLOW_2);
11265 after(grammarAccess.getReferenceDeclarationAccess().getNameIDTerminalRuleCall_5_0()); 12107 after(grammarAccess.getReferenceDeclarationAccess().getNameIDTerminalRuleCall_3_0());
11266 12108
11267 } 12109 }
11268 12110
@@ -11281,37 +12123,37 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11281 } 12123 }
11282 return ; 12124 return ;
11283 } 12125 }
11284 // $ANTLR end "rule__ReferenceDeclaration__NameAssignment_5" 12126 // $ANTLR end "rule__ReferenceDeclaration__NameAssignment_3"
11285 12127
11286 12128
11287 // $ANTLR start "rule__ReferenceDeclaration__OppositeAssignment_6_1" 12129 // $ANTLR start "rule__ReferenceDeclaration__OppositeAssignment_4_1"
11288 // InternalProblem.g:3654:1: rule__ReferenceDeclaration__OppositeAssignment_6_1 : ( ( ruleQualifiedName ) ) ; 12130 // InternalProblem.g:3920:1: rule__ReferenceDeclaration__OppositeAssignment_4_1 : ( ( ruleQualifiedName ) ) ;
11289 public final void rule__ReferenceDeclaration__OppositeAssignment_6_1() throws RecognitionException { 12131 public final void rule__ReferenceDeclaration__OppositeAssignment_4_1() throws RecognitionException {
11290 12132
11291 int stackSize = keepStackSize(); 12133 int stackSize = keepStackSize();
11292 12134
11293 try { 12135 try {
11294 // InternalProblem.g:3658:1: ( ( ( ruleQualifiedName ) ) ) 12136 // InternalProblem.g:3924:1: ( ( ( ruleQualifiedName ) ) )
11295 // InternalProblem.g:3659:2: ( ( ruleQualifiedName ) ) 12137 // InternalProblem.g:3925:2: ( ( ruleQualifiedName ) )
11296 { 12138 {
11297 // InternalProblem.g:3659:2: ( ( ruleQualifiedName ) ) 12139 // InternalProblem.g:3925:2: ( ( ruleQualifiedName ) )
11298 // InternalProblem.g:3660:3: ( ruleQualifiedName ) 12140 // InternalProblem.g:3926:3: ( ruleQualifiedName )
11299 { 12141 {
11300 before(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationCrossReference_6_1_0()); 12142 before(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationCrossReference_4_1_0());
11301 // InternalProblem.g:3661:3: ( ruleQualifiedName ) 12143 // InternalProblem.g:3927:3: ( ruleQualifiedName )
11302 // InternalProblem.g:3662:4: ruleQualifiedName 12144 // InternalProblem.g:3928:4: ruleQualifiedName
11303 { 12145 {
11304 before(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationQualifiedNameParserRuleCall_6_1_0_1()); 12146 before(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationQualifiedNameParserRuleCall_4_1_0_1());
11305 pushFollow(FOLLOW_2); 12147 pushFollow(FOLLOW_2);
11306 ruleQualifiedName(); 12148 ruleQualifiedName();
11307 12149
11308 state._fsp--; 12150 state._fsp--;
11309 12151
11310 after(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationQualifiedNameParserRuleCall_6_1_0_1()); 12152 after(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationQualifiedNameParserRuleCall_4_1_0_1());
11311 12153
11312 } 12154 }
11313 12155
11314 after(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationCrossReference_6_1_0()); 12156 after(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationCrossReference_4_1_0());
11315 12157
11316 } 12158 }
11317 12159
@@ -11330,28 +12172,28 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11330 } 12172 }
11331 return ; 12173 return ;
11332 } 12174 }
11333 // $ANTLR end "rule__ReferenceDeclaration__OppositeAssignment_6_1" 12175 // $ANTLR end "rule__ReferenceDeclaration__OppositeAssignment_4_1"
11334 12176
11335 12177
11336 // $ANTLR start "rule__PredicateDefinition__ErrorAssignment_0_0_0" 12178 // $ANTLR start "rule__PredicateDefinition__ErrorAssignment_0_0_0"
11337 // InternalProblem.g:3673:1: rule__PredicateDefinition__ErrorAssignment_0_0_0 : ( ( 'error' ) ) ; 12179 // InternalProblem.g:3939:1: rule__PredicateDefinition__ErrorAssignment_0_0_0 : ( ( 'error' ) ) ;
11338 public final void rule__PredicateDefinition__ErrorAssignment_0_0_0() throws RecognitionException { 12180 public final void rule__PredicateDefinition__ErrorAssignment_0_0_0() throws RecognitionException {
11339 12181
11340 int stackSize = keepStackSize(); 12182 int stackSize = keepStackSize();
11341 12183
11342 try { 12184 try {
11343 // InternalProblem.g:3677:1: ( ( ( 'error' ) ) ) 12185 // InternalProblem.g:3943:1: ( ( ( 'error' ) ) )
11344 // InternalProblem.g:3678:2: ( ( 'error' ) ) 12186 // InternalProblem.g:3944:2: ( ( 'error' ) )
11345 { 12187 {
11346 // InternalProblem.g:3678:2: ( ( 'error' ) ) 12188 // InternalProblem.g:3944:2: ( ( 'error' ) )
11347 // InternalProblem.g:3679:3: ( 'error' ) 12189 // InternalProblem.g:3945:3: ( 'error' )
11348 { 12190 {
11349 before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_0_0()); 12191 before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_0_0());
11350 // InternalProblem.g:3680:3: ( 'error' ) 12192 // InternalProblem.g:3946:3: ( 'error' )
11351 // InternalProblem.g:3681:4: 'error' 12193 // InternalProblem.g:3947:4: 'error'
11352 { 12194 {
11353 before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_0_0()); 12195 before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_0_0());
11354 match(input,37,FOLLOW_2); 12196 match(input,40,FOLLOW_2);
11355 after(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_0_0()); 12197 after(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_0_0());
11356 12198
11357 } 12199 }
@@ -11379,17 +12221,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11379 12221
11380 12222
11381 // $ANTLR start "rule__PredicateDefinition__NameAssignment_1" 12223 // $ANTLR start "rule__PredicateDefinition__NameAssignment_1"
11382 // InternalProblem.g:3692:1: rule__PredicateDefinition__NameAssignment_1 : ( RULE_ID ) ; 12224 // InternalProblem.g:3958:1: rule__PredicateDefinition__NameAssignment_1 : ( RULE_ID ) ;
11383 public final void rule__PredicateDefinition__NameAssignment_1() throws RecognitionException { 12225 public final void rule__PredicateDefinition__NameAssignment_1() throws RecognitionException {
11384 12226
11385 int stackSize = keepStackSize(); 12227 int stackSize = keepStackSize();
11386 12228
11387 try { 12229 try {
11388 // InternalProblem.g:3696:1: ( ( RULE_ID ) ) 12230 // InternalProblem.g:3962:1: ( ( RULE_ID ) )
11389 // InternalProblem.g:3697:2: ( RULE_ID ) 12231 // InternalProblem.g:3963:2: ( RULE_ID )
11390 { 12232 {
11391 // InternalProblem.g:3697:2: ( RULE_ID ) 12233 // InternalProblem.g:3963:2: ( RULE_ID )
11392 // InternalProblem.g:3698:3: RULE_ID 12234 // InternalProblem.g:3964:3: RULE_ID
11393 { 12235 {
11394 before(grammarAccess.getPredicateDefinitionAccess().getNameIDTerminalRuleCall_1_0()); 12236 before(grammarAccess.getPredicateDefinitionAccess().getNameIDTerminalRuleCall_1_0());
11395 match(input,RULE_ID,FOLLOW_2); 12237 match(input,RULE_ID,FOLLOW_2);
@@ -11416,17 +12258,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11416 12258
11417 12259
11418 // $ANTLR start "rule__PredicateDefinition__ParametersAssignment_3_0" 12260 // $ANTLR start "rule__PredicateDefinition__ParametersAssignment_3_0"
11419 // InternalProblem.g:3707:1: rule__PredicateDefinition__ParametersAssignment_3_0 : ( ruleParameter ) ; 12261 // InternalProblem.g:3973:1: rule__PredicateDefinition__ParametersAssignment_3_0 : ( ruleParameter ) ;
11420 public final void rule__PredicateDefinition__ParametersAssignment_3_0() throws RecognitionException { 12262 public final void rule__PredicateDefinition__ParametersAssignment_3_0() throws RecognitionException {
11421 12263
11422 int stackSize = keepStackSize(); 12264 int stackSize = keepStackSize();
11423 12265
11424 try { 12266 try {
11425 // InternalProblem.g:3711:1: ( ( ruleParameter ) ) 12267 // InternalProblem.g:3977:1: ( ( ruleParameter ) )
11426 // InternalProblem.g:3712:2: ( ruleParameter ) 12268 // InternalProblem.g:3978:2: ( ruleParameter )
11427 { 12269 {
11428 // InternalProblem.g:3712:2: ( ruleParameter ) 12270 // InternalProblem.g:3978:2: ( ruleParameter )
11429 // InternalProblem.g:3713:3: ruleParameter 12271 // InternalProblem.g:3979:3: ruleParameter
11430 { 12272 {
11431 before(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_0_0()); 12273 before(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_0_0());
11432 pushFollow(FOLLOW_2); 12274 pushFollow(FOLLOW_2);
@@ -11457,17 +12299,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11457 12299
11458 12300
11459 // $ANTLR start "rule__PredicateDefinition__ParametersAssignment_3_1_1" 12301 // $ANTLR start "rule__PredicateDefinition__ParametersAssignment_3_1_1"
11460 // InternalProblem.g:3722:1: rule__PredicateDefinition__ParametersAssignment_3_1_1 : ( ruleParameter ) ; 12302 // InternalProblem.g:3988:1: rule__PredicateDefinition__ParametersAssignment_3_1_1 : ( ruleParameter ) ;
11461 public final void rule__PredicateDefinition__ParametersAssignment_3_1_1() throws RecognitionException { 12303 public final void rule__PredicateDefinition__ParametersAssignment_3_1_1() throws RecognitionException {
11462 12304
11463 int stackSize = keepStackSize(); 12305 int stackSize = keepStackSize();
11464 12306
11465 try { 12307 try {
11466 // InternalProblem.g:3726:1: ( ( ruleParameter ) ) 12308 // InternalProblem.g:3992:1: ( ( ruleParameter ) )
11467 // InternalProblem.g:3727:2: ( ruleParameter ) 12309 // InternalProblem.g:3993:2: ( ruleParameter )
11468 { 12310 {
11469 // InternalProblem.g:3727:2: ( ruleParameter ) 12311 // InternalProblem.g:3993:2: ( ruleParameter )
11470 // InternalProblem.g:3728:3: ruleParameter 12312 // InternalProblem.g:3994:3: ruleParameter
11471 { 12313 {
11472 before(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_1_1_0()); 12314 before(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_1_1_0());
11473 pushFollow(FOLLOW_2); 12315 pushFollow(FOLLOW_2);
@@ -11498,17 +12340,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11498 12340
11499 12341
11500 // $ANTLR start "rule__PredicateDefinition__BodiesAssignment_5_1" 12342 // $ANTLR start "rule__PredicateDefinition__BodiesAssignment_5_1"
11501 // InternalProblem.g:3737:1: rule__PredicateDefinition__BodiesAssignment_5_1 : ( ruleConjunction ) ; 12343 // InternalProblem.g:4003:1: rule__PredicateDefinition__BodiesAssignment_5_1 : ( ruleConjunction ) ;
11502 public final void rule__PredicateDefinition__BodiesAssignment_5_1() throws RecognitionException { 12344 public final void rule__PredicateDefinition__BodiesAssignment_5_1() throws RecognitionException {
11503 12345
11504 int stackSize = keepStackSize(); 12346 int stackSize = keepStackSize();
11505 12347
11506 try { 12348 try {
11507 // InternalProblem.g:3741:1: ( ( ruleConjunction ) ) 12349 // InternalProblem.g:4007:1: ( ( ruleConjunction ) )
11508 // InternalProblem.g:3742:2: ( ruleConjunction ) 12350 // InternalProblem.g:4008:2: ( ruleConjunction )
11509 { 12351 {
11510 // InternalProblem.g:3742:2: ( ruleConjunction ) 12352 // InternalProblem.g:4008:2: ( ruleConjunction )
11511 // InternalProblem.g:3743:3: ruleConjunction 12353 // InternalProblem.g:4009:3: ruleConjunction
11512 { 12354 {
11513 before(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_1_0()); 12355 before(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_1_0());
11514 pushFollow(FOLLOW_2); 12356 pushFollow(FOLLOW_2);
@@ -11539,17 +12381,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11539 12381
11540 12382
11541 // $ANTLR start "rule__PredicateDefinition__BodiesAssignment_5_2_1" 12383 // $ANTLR start "rule__PredicateDefinition__BodiesAssignment_5_2_1"
11542 // InternalProblem.g:3752:1: rule__PredicateDefinition__BodiesAssignment_5_2_1 : ( ruleConjunction ) ; 12384 // InternalProblem.g:4018:1: rule__PredicateDefinition__BodiesAssignment_5_2_1 : ( ruleConjunction ) ;
11543 public final void rule__PredicateDefinition__BodiesAssignment_5_2_1() throws RecognitionException { 12385 public final void rule__PredicateDefinition__BodiesAssignment_5_2_1() throws RecognitionException {
11544 12386
11545 int stackSize = keepStackSize(); 12387 int stackSize = keepStackSize();
11546 12388
11547 try { 12389 try {
11548 // InternalProblem.g:3756:1: ( ( ruleConjunction ) ) 12390 // InternalProblem.g:4022:1: ( ( ruleConjunction ) )
11549 // InternalProblem.g:3757:2: ( ruleConjunction ) 12391 // InternalProblem.g:4023:2: ( ruleConjunction )
11550 { 12392 {
11551 // InternalProblem.g:3757:2: ( ruleConjunction ) 12393 // InternalProblem.g:4023:2: ( ruleConjunction )
11552 // InternalProblem.g:3758:3: ruleConjunction 12394 // InternalProblem.g:4024:3: ruleConjunction
11553 { 12395 {
11554 before(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_2_1_0()); 12396 before(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_2_1_0());
11555 pushFollow(FOLLOW_2); 12397 pushFollow(FOLLOW_2);
@@ -11580,21 +12422,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11580 12422
11581 12423
11582 // $ANTLR start "rule__Parameter__ParameterTypeAssignment_0" 12424 // $ANTLR start "rule__Parameter__ParameterTypeAssignment_0"
11583 // InternalProblem.g:3767:1: rule__Parameter__ParameterTypeAssignment_0 : ( ( RULE_ID ) ) ; 12425 // InternalProblem.g:4033:1: rule__Parameter__ParameterTypeAssignment_0 : ( ( RULE_ID ) ) ;
11584 public final void rule__Parameter__ParameterTypeAssignment_0() throws RecognitionException { 12426 public final void rule__Parameter__ParameterTypeAssignment_0() throws RecognitionException {
11585 12427
11586 int stackSize = keepStackSize(); 12428 int stackSize = keepStackSize();
11587 12429
11588 try { 12430 try {
11589 // InternalProblem.g:3771:1: ( ( ( RULE_ID ) ) ) 12431 // InternalProblem.g:4037:1: ( ( ( RULE_ID ) ) )
11590 // InternalProblem.g:3772:2: ( ( RULE_ID ) ) 12432 // InternalProblem.g:4038:2: ( ( RULE_ID ) )
11591 { 12433 {
11592 // InternalProblem.g:3772:2: ( ( RULE_ID ) ) 12434 // InternalProblem.g:4038:2: ( ( RULE_ID ) )
11593 // InternalProblem.g:3773:3: ( RULE_ID ) 12435 // InternalProblem.g:4039:3: ( RULE_ID )
11594 { 12436 {
11595 before(grammarAccess.getParameterAccess().getParameterTypeClassDeclarationCrossReference_0_0()); 12437 before(grammarAccess.getParameterAccess().getParameterTypeClassDeclarationCrossReference_0_0());
11596 // InternalProblem.g:3774:3: ( RULE_ID ) 12438 // InternalProblem.g:4040:3: ( RULE_ID )
11597 // InternalProblem.g:3775:4: RULE_ID 12439 // InternalProblem.g:4041:4: RULE_ID
11598 { 12440 {
11599 before(grammarAccess.getParameterAccess().getParameterTypeClassDeclarationIDTerminalRuleCall_0_0_1()); 12441 before(grammarAccess.getParameterAccess().getParameterTypeClassDeclarationIDTerminalRuleCall_0_0_1());
11600 match(input,RULE_ID,FOLLOW_2); 12442 match(input,RULE_ID,FOLLOW_2);
@@ -11625,17 +12467,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11625 12467
11626 12468
11627 // $ANTLR start "rule__Parameter__NameAssignment_1" 12469 // $ANTLR start "rule__Parameter__NameAssignment_1"
11628 // InternalProblem.g:3786:1: rule__Parameter__NameAssignment_1 : ( RULE_ID ) ; 12470 // InternalProblem.g:4052:1: rule__Parameter__NameAssignment_1 : ( RULE_ID ) ;
11629 public final void rule__Parameter__NameAssignment_1() throws RecognitionException { 12471 public final void rule__Parameter__NameAssignment_1() throws RecognitionException {
11630 12472
11631 int stackSize = keepStackSize(); 12473 int stackSize = keepStackSize();
11632 12474
11633 try { 12475 try {
11634 // InternalProblem.g:3790:1: ( ( RULE_ID ) ) 12476 // InternalProblem.g:4056:1: ( ( RULE_ID ) )
11635 // InternalProblem.g:3791:2: ( RULE_ID ) 12477 // InternalProblem.g:4057:2: ( RULE_ID )
11636 { 12478 {
11637 // InternalProblem.g:3791:2: ( RULE_ID ) 12479 // InternalProblem.g:4057:2: ( RULE_ID )
11638 // InternalProblem.g:3792:3: RULE_ID 12480 // InternalProblem.g:4058:3: RULE_ID
11639 { 12481 {
11640 before(grammarAccess.getParameterAccess().getNameIDTerminalRuleCall_1_0()); 12482 before(grammarAccess.getParameterAccess().getNameIDTerminalRuleCall_1_0());
11641 match(input,RULE_ID,FOLLOW_2); 12483 match(input,RULE_ID,FOLLOW_2);
@@ -11662,17 +12504,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11662 12504
11663 12505
11664 // $ANTLR start "rule__Conjunction__LiteralsAssignment_0" 12506 // $ANTLR start "rule__Conjunction__LiteralsAssignment_0"
11665 // InternalProblem.g:3801:1: rule__Conjunction__LiteralsAssignment_0 : ( ruleLiteral ) ; 12507 // InternalProblem.g:4067:1: rule__Conjunction__LiteralsAssignment_0 : ( ruleLiteral ) ;
11666 public final void rule__Conjunction__LiteralsAssignment_0() throws RecognitionException { 12508 public final void rule__Conjunction__LiteralsAssignment_0() throws RecognitionException {
11667 12509
11668 int stackSize = keepStackSize(); 12510 int stackSize = keepStackSize();
11669 12511
11670 try { 12512 try {
11671 // InternalProblem.g:3805:1: ( ( ruleLiteral ) ) 12513 // InternalProblem.g:4071:1: ( ( ruleLiteral ) )
11672 // InternalProblem.g:3806:2: ( ruleLiteral ) 12514 // InternalProblem.g:4072:2: ( ruleLiteral )
11673 { 12515 {
11674 // InternalProblem.g:3806:2: ( ruleLiteral ) 12516 // InternalProblem.g:4072:2: ( ruleLiteral )
11675 // InternalProblem.g:3807:3: ruleLiteral 12517 // InternalProblem.g:4073:3: ruleLiteral
11676 { 12518 {
11677 before(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_0_0()); 12519 before(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_0_0());
11678 pushFollow(FOLLOW_2); 12520 pushFollow(FOLLOW_2);
@@ -11703,17 +12545,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11703 12545
11704 12546
11705 // $ANTLR start "rule__Conjunction__LiteralsAssignment_1_1" 12547 // $ANTLR start "rule__Conjunction__LiteralsAssignment_1_1"
11706 // InternalProblem.g:3816:1: rule__Conjunction__LiteralsAssignment_1_1 : ( ruleLiteral ) ; 12548 // InternalProblem.g:4082:1: rule__Conjunction__LiteralsAssignment_1_1 : ( ruleLiteral ) ;
11707 public final void rule__Conjunction__LiteralsAssignment_1_1() throws RecognitionException { 12549 public final void rule__Conjunction__LiteralsAssignment_1_1() throws RecognitionException {
11708 12550
11709 int stackSize = keepStackSize(); 12551 int stackSize = keepStackSize();
11710 12552
11711 try { 12553 try {
11712 // InternalProblem.g:3820:1: ( ( ruleLiteral ) ) 12554 // InternalProblem.g:4086:1: ( ( ruleLiteral ) )
11713 // InternalProblem.g:3821:2: ( ruleLiteral ) 12555 // InternalProblem.g:4087:2: ( ruleLiteral )
11714 { 12556 {
11715 // InternalProblem.g:3821:2: ( ruleLiteral ) 12557 // InternalProblem.g:4087:2: ( ruleLiteral )
11716 // InternalProblem.g:3822:3: ruleLiteral 12558 // InternalProblem.g:4088:3: ruleLiteral
11717 { 12559 {
11718 before(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_1_1_0()); 12560 before(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_1_1_0());
11719 pushFollow(FOLLOW_2); 12561 pushFollow(FOLLOW_2);
@@ -11744,17 +12586,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11744 12586
11745 12587
11746 // $ANTLR start "rule__NegativeLiteral__AtomAssignment_1" 12588 // $ANTLR start "rule__NegativeLiteral__AtomAssignment_1"
11747 // InternalProblem.g:3831:1: rule__NegativeLiteral__AtomAssignment_1 : ( ruleAtom ) ; 12589 // InternalProblem.g:4097:1: rule__NegativeLiteral__AtomAssignment_1 : ( ruleAtom ) ;
11748 public final void rule__NegativeLiteral__AtomAssignment_1() throws RecognitionException { 12590 public final void rule__NegativeLiteral__AtomAssignment_1() throws RecognitionException {
11749 12591
11750 int stackSize = keepStackSize(); 12592 int stackSize = keepStackSize();
11751 12593
11752 try { 12594 try {
11753 // InternalProblem.g:3835:1: ( ( ruleAtom ) ) 12595 // InternalProblem.g:4101:1: ( ( ruleAtom ) )
11754 // InternalProblem.g:3836:2: ( ruleAtom ) 12596 // InternalProblem.g:4102:2: ( ruleAtom )
11755 { 12597 {
11756 // InternalProblem.g:3836:2: ( ruleAtom ) 12598 // InternalProblem.g:4102:2: ( ruleAtom )
11757 // InternalProblem.g:3837:3: ruleAtom 12599 // InternalProblem.g:4103:3: ruleAtom
11758 { 12600 {
11759 before(grammarAccess.getNegativeLiteralAccess().getAtomAtomParserRuleCall_1_0()); 12601 before(grammarAccess.getNegativeLiteralAccess().getAtomAtomParserRuleCall_1_0());
11760 pushFollow(FOLLOW_2); 12602 pushFollow(FOLLOW_2);
@@ -11785,21 +12627,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11785 12627
11786 12628
11787 // $ANTLR start "rule__Atom__RelationAssignment_0" 12629 // $ANTLR start "rule__Atom__RelationAssignment_0"
11788 // InternalProblem.g:3846:1: rule__Atom__RelationAssignment_0 : ( ( ruleQualifiedName ) ) ; 12630 // InternalProblem.g:4112:1: rule__Atom__RelationAssignment_0 : ( ( ruleQualifiedName ) ) ;
11789 public final void rule__Atom__RelationAssignment_0() throws RecognitionException { 12631 public final void rule__Atom__RelationAssignment_0() throws RecognitionException {
11790 12632
11791 int stackSize = keepStackSize(); 12633 int stackSize = keepStackSize();
11792 12634
11793 try { 12635 try {
11794 // InternalProblem.g:3850:1: ( ( ( ruleQualifiedName ) ) ) 12636 // InternalProblem.g:4116:1: ( ( ( ruleQualifiedName ) ) )
11795 // InternalProblem.g:3851:2: ( ( ruleQualifiedName ) ) 12637 // InternalProblem.g:4117:2: ( ( ruleQualifiedName ) )
11796 { 12638 {
11797 // InternalProblem.g:3851:2: ( ( ruleQualifiedName ) ) 12639 // InternalProblem.g:4117:2: ( ( ruleQualifiedName ) )
11798 // InternalProblem.g:3852:3: ( ruleQualifiedName ) 12640 // InternalProblem.g:4118:3: ( ruleQualifiedName )
11799 { 12641 {
11800 before(grammarAccess.getAtomAccess().getRelationRelationCrossReference_0_0()); 12642 before(grammarAccess.getAtomAccess().getRelationRelationCrossReference_0_0());
11801 // InternalProblem.g:3853:3: ( ruleQualifiedName ) 12643 // InternalProblem.g:4119:3: ( ruleQualifiedName )
11802 // InternalProblem.g:3854:4: ruleQualifiedName 12644 // InternalProblem.g:4120:4: ruleQualifiedName
11803 { 12645 {
11804 before(grammarAccess.getAtomAccess().getRelationRelationQualifiedNameParserRuleCall_0_0_1()); 12646 before(grammarAccess.getAtomAccess().getRelationRelationQualifiedNameParserRuleCall_0_0_1());
11805 pushFollow(FOLLOW_2); 12647 pushFollow(FOLLOW_2);
@@ -11834,24 +12676,24 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11834 12676
11835 12677
11836 // $ANTLR start "rule__Atom__TransitiveClosureAssignment_1" 12678 // $ANTLR start "rule__Atom__TransitiveClosureAssignment_1"
11837 // InternalProblem.g:3865:1: rule__Atom__TransitiveClosureAssignment_1 : ( ( '+' ) ) ; 12679 // InternalProblem.g:4131:1: rule__Atom__TransitiveClosureAssignment_1 : ( ( '+' ) ) ;
11838 public final void rule__Atom__TransitiveClosureAssignment_1() throws RecognitionException { 12680 public final void rule__Atom__TransitiveClosureAssignment_1() throws RecognitionException {
11839 12681
11840 int stackSize = keepStackSize(); 12682 int stackSize = keepStackSize();
11841 12683
11842 try { 12684 try {
11843 // InternalProblem.g:3869:1: ( ( ( '+' ) ) ) 12685 // InternalProblem.g:4135:1: ( ( ( '+' ) ) )
11844 // InternalProblem.g:3870:2: ( ( '+' ) ) 12686 // InternalProblem.g:4136:2: ( ( '+' ) )
11845 { 12687 {
11846 // InternalProblem.g:3870:2: ( ( '+' ) ) 12688 // InternalProblem.g:4136:2: ( ( '+' ) )
11847 // InternalProblem.g:3871:3: ( '+' ) 12689 // InternalProblem.g:4137:3: ( '+' )
11848 { 12690 {
11849 before(grammarAccess.getAtomAccess().getTransitiveClosurePlusSignKeyword_1_0()); 12691 before(grammarAccess.getAtomAccess().getTransitiveClosurePlusSignKeyword_1_0());
11850 // InternalProblem.g:3872:3: ( '+' ) 12692 // InternalProblem.g:4138:3: ( '+' )
11851 // InternalProblem.g:3873:4: '+' 12693 // InternalProblem.g:4139:4: '+'
11852 { 12694 {
11853 before(grammarAccess.getAtomAccess().getTransitiveClosurePlusSignKeyword_1_0()); 12695 before(grammarAccess.getAtomAccess().getTransitiveClosurePlusSignKeyword_1_0());
11854 match(input,38,FOLLOW_2); 12696 match(input,41,FOLLOW_2);
11855 after(grammarAccess.getAtomAccess().getTransitiveClosurePlusSignKeyword_1_0()); 12697 after(grammarAccess.getAtomAccess().getTransitiveClosurePlusSignKeyword_1_0());
11856 12698
11857 } 12699 }
@@ -11879,29 +12721,25 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11879 12721
11880 12722
11881 // $ANTLR start "rule__Atom__ArgumentsAssignment_3_0" 12723 // $ANTLR start "rule__Atom__ArgumentsAssignment_3_0"
11882 // InternalProblem.g:3884:1: rule__Atom__ArgumentsAssignment_3_0 : ( ( RULE_ID ) ) ; 12724 // InternalProblem.g:4150:1: rule__Atom__ArgumentsAssignment_3_0 : ( ruleArgument ) ;
11883 public final void rule__Atom__ArgumentsAssignment_3_0() throws RecognitionException { 12725 public final void rule__Atom__ArgumentsAssignment_3_0() throws RecognitionException {
11884 12726
11885 int stackSize = keepStackSize(); 12727 int stackSize = keepStackSize();
11886 12728
11887 try { 12729 try {
11888 // InternalProblem.g:3888:1: ( ( ( RULE_ID ) ) ) 12730 // InternalProblem.g:4154:1: ( ( ruleArgument ) )
11889 // InternalProblem.g:3889:2: ( ( RULE_ID ) ) 12731 // InternalProblem.g:4155:2: ( ruleArgument )
11890 { 12732 {
11891 // InternalProblem.g:3889:2: ( ( RULE_ID ) ) 12733 // InternalProblem.g:4155:2: ( ruleArgument )
11892 // InternalProblem.g:3890:3: ( RULE_ID ) 12734 // InternalProblem.g:4156:3: ruleArgument
11893 { 12735 {
11894 before(grammarAccess.getAtomAccess().getArgumentsVariableCrossReference_3_0_0()); 12736 before(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_0_0());
11895 // InternalProblem.g:3891:3: ( RULE_ID ) 12737 pushFollow(FOLLOW_2);
11896 // InternalProblem.g:3892:4: RULE_ID 12738 ruleArgument();
11897 {
11898 before(grammarAccess.getAtomAccess().getArgumentsVariableIDTerminalRuleCall_3_0_0_1());
11899 match(input,RULE_ID,FOLLOW_2);
11900 after(grammarAccess.getAtomAccess().getArgumentsVariableIDTerminalRuleCall_3_0_0_1());
11901 12739
11902 } 12740 state._fsp--;
11903 12741
11904 after(grammarAccess.getAtomAccess().getArgumentsVariableCrossReference_3_0_0()); 12742 after(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_0_0());
11905 12743
11906 } 12744 }
11907 12745
@@ -11924,29 +12762,70 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11924 12762
11925 12763
11926 // $ANTLR start "rule__Atom__ArgumentsAssignment_3_1_1" 12764 // $ANTLR start "rule__Atom__ArgumentsAssignment_3_1_1"
11927 // InternalProblem.g:3903:1: rule__Atom__ArgumentsAssignment_3_1_1 : ( ( RULE_ID ) ) ; 12765 // InternalProblem.g:4165:1: rule__Atom__ArgumentsAssignment_3_1_1 : ( ruleArgument ) ;
11928 public final void rule__Atom__ArgumentsAssignment_3_1_1() throws RecognitionException { 12766 public final void rule__Atom__ArgumentsAssignment_3_1_1() throws RecognitionException {
11929 12767
11930 int stackSize = keepStackSize(); 12768 int stackSize = keepStackSize();
11931 12769
11932 try { 12770 try {
11933 // InternalProblem.g:3907:1: ( ( ( RULE_ID ) ) ) 12771 // InternalProblem.g:4169:1: ( ( ruleArgument ) )
11934 // InternalProblem.g:3908:2: ( ( RULE_ID ) ) 12772 // InternalProblem.g:4170:2: ( ruleArgument )
11935 { 12773 {
11936 // InternalProblem.g:3908:2: ( ( RULE_ID ) ) 12774 // InternalProblem.g:4170:2: ( ruleArgument )
11937 // InternalProblem.g:3909:3: ( RULE_ID ) 12775 // InternalProblem.g:4171:3: ruleArgument
11938 { 12776 {
11939 before(grammarAccess.getAtomAccess().getArgumentsVariableCrossReference_3_1_1_0()); 12777 before(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_1_1_0());
11940 // InternalProblem.g:3910:3: ( RULE_ID ) 12778 pushFollow(FOLLOW_2);
11941 // InternalProblem.g:3911:4: RULE_ID 12779 ruleArgument();
12780
12781 state._fsp--;
12782
12783 after(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_1_1_0());
12784
12785 }
12786
12787
12788 }
12789
12790 }
12791 catch (RecognitionException re) {
12792 reportError(re);
12793 recover(input,re);
12794 }
12795 finally {
12796
12797 restoreStackSize(stackSize);
12798
12799 }
12800 return ;
12801 }
12802 // $ANTLR end "rule__Atom__ArgumentsAssignment_3_1_1"
12803
12804
12805 // $ANTLR start "rule__Argument__VariableAssignment"
12806 // InternalProblem.g:4180:1: rule__Argument__VariableAssignment : ( ( RULE_ID ) ) ;
12807 public final void rule__Argument__VariableAssignment() throws RecognitionException {
12808
12809 int stackSize = keepStackSize();
12810
12811 try {
12812 // InternalProblem.g:4184:1: ( ( ( RULE_ID ) ) )
12813 // InternalProblem.g:4185:2: ( ( RULE_ID ) )
11942 { 12814 {
11943 before(grammarAccess.getAtomAccess().getArgumentsVariableIDTerminalRuleCall_3_1_1_0_1()); 12815 // InternalProblem.g:4185:2: ( ( RULE_ID ) )
12816 // InternalProblem.g:4186:3: ( RULE_ID )
12817 {
12818 before(grammarAccess.getArgumentAccess().getVariableVariableCrossReference_0());
12819 // InternalProblem.g:4187:3: ( RULE_ID )
12820 // InternalProblem.g:4188:4: RULE_ID
12821 {
12822 before(grammarAccess.getArgumentAccess().getVariableVariableIDTerminalRuleCall_0_1());
11944 match(input,RULE_ID,FOLLOW_2); 12823 match(input,RULE_ID,FOLLOW_2);
11945 after(grammarAccess.getAtomAccess().getArgumentsVariableIDTerminalRuleCall_3_1_1_0_1()); 12824 after(grammarAccess.getArgumentAccess().getVariableVariableIDTerminalRuleCall_0_1());
11946 12825
11947 } 12826 }
11948 12827
11949 after(grammarAccess.getAtomAccess().getArgumentsVariableCrossReference_3_1_1_0()); 12828 after(grammarAccess.getArgumentAccess().getVariableVariableCrossReference_0());
11950 12829
11951 } 12830 }
11952 12831
@@ -11965,25 +12844,25 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11965 } 12844 }
11966 return ; 12845 return ;
11967 } 12846 }
11968 // $ANTLR end "rule__Atom__ArgumentsAssignment_3_1_1" 12847 // $ANTLR end "rule__Argument__VariableAssignment"
11969 12848
11970 12849
11971 // $ANTLR start "rule__Assertion__RelationAssignment_0_0_0" 12850 // $ANTLR start "rule__Assertion__RelationAssignment_0_0_0"
11972 // InternalProblem.g:3922:1: rule__Assertion__RelationAssignment_0_0_0 : ( ( ruleQualifiedName ) ) ; 12851 // InternalProblem.g:4199:1: rule__Assertion__RelationAssignment_0_0_0 : ( ( ruleQualifiedName ) ) ;
11973 public final void rule__Assertion__RelationAssignment_0_0_0() throws RecognitionException { 12852 public final void rule__Assertion__RelationAssignment_0_0_0() throws RecognitionException {
11974 12853
11975 int stackSize = keepStackSize(); 12854 int stackSize = keepStackSize();
11976 12855
11977 try { 12856 try {
11978 // InternalProblem.g:3926:1: ( ( ( ruleQualifiedName ) ) ) 12857 // InternalProblem.g:4203:1: ( ( ( ruleQualifiedName ) ) )
11979 // InternalProblem.g:3927:2: ( ( ruleQualifiedName ) ) 12858 // InternalProblem.g:4204:2: ( ( ruleQualifiedName ) )
11980 { 12859 {
11981 // InternalProblem.g:3927:2: ( ( ruleQualifiedName ) ) 12860 // InternalProblem.g:4204:2: ( ( ruleQualifiedName ) )
11982 // InternalProblem.g:3928:3: ( ruleQualifiedName ) 12861 // InternalProblem.g:4205:3: ( ruleQualifiedName )
11983 { 12862 {
11984 before(grammarAccess.getAssertionAccess().getRelationRelationCrossReference_0_0_0_0()); 12863 before(grammarAccess.getAssertionAccess().getRelationRelationCrossReference_0_0_0_0());
11985 // InternalProblem.g:3929:3: ( ruleQualifiedName ) 12864 // InternalProblem.g:4206:3: ( ruleQualifiedName )
11986 // InternalProblem.g:3930:4: ruleQualifiedName 12865 // InternalProblem.g:4207:4: ruleQualifiedName
11987 { 12866 {
11988 before(grammarAccess.getAssertionAccess().getRelationRelationQualifiedNameParserRuleCall_0_0_0_0_1()); 12867 before(grammarAccess.getAssertionAccess().getRelationRelationQualifiedNameParserRuleCall_0_0_0_0_1());
11989 pushFollow(FOLLOW_2); 12868 pushFollow(FOLLOW_2);
@@ -12018,21 +12897,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12018 12897
12019 12898
12020 // $ANTLR start "rule__Assertion__ArgumentsAssignment_0_0_2_0" 12899 // $ANTLR start "rule__Assertion__ArgumentsAssignment_0_0_2_0"
12021 // InternalProblem.g:3941:1: rule__Assertion__ArgumentsAssignment_0_0_2_0 : ( ( ruleQualifiedName ) ) ; 12900 // InternalProblem.g:4218:1: rule__Assertion__ArgumentsAssignment_0_0_2_0 : ( ( ruleQualifiedName ) ) ;
12022 public final void rule__Assertion__ArgumentsAssignment_0_0_2_0() throws RecognitionException { 12901 public final void rule__Assertion__ArgumentsAssignment_0_0_2_0() throws RecognitionException {
12023 12902
12024 int stackSize = keepStackSize(); 12903 int stackSize = keepStackSize();
12025 12904
12026 try { 12905 try {
12027 // InternalProblem.g:3945:1: ( ( ( ruleQualifiedName ) ) ) 12906 // InternalProblem.g:4222:1: ( ( ( ruleQualifiedName ) ) )
12028 // InternalProblem.g:3946:2: ( ( ruleQualifiedName ) ) 12907 // InternalProblem.g:4223:2: ( ( ruleQualifiedName ) )
12029 { 12908 {
12030 // InternalProblem.g:3946:2: ( ( ruleQualifiedName ) ) 12909 // InternalProblem.g:4223:2: ( ( ruleQualifiedName ) )
12031 // InternalProblem.g:3947:3: ( ruleQualifiedName ) 12910 // InternalProblem.g:4224:3: ( ruleQualifiedName )
12032 { 12911 {
12033 before(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_0_2_0_0()); 12912 before(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_0_2_0_0());
12034 // InternalProblem.g:3948:3: ( ruleQualifiedName ) 12913 // InternalProblem.g:4225:3: ( ruleQualifiedName )
12035 // InternalProblem.g:3949:4: ruleQualifiedName 12914 // InternalProblem.g:4226:4: ruleQualifiedName
12036 { 12915 {
12037 before(grammarAccess.getAssertionAccess().getArgumentsNodeQualifiedNameParserRuleCall_0_0_2_0_0_1()); 12916 before(grammarAccess.getAssertionAccess().getArgumentsNodeQualifiedNameParserRuleCall_0_0_2_0_0_1());
12038 pushFollow(FOLLOW_2); 12917 pushFollow(FOLLOW_2);
@@ -12067,21 +12946,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12067 12946
12068 12947
12069 // $ANTLR start "rule__Assertion__ArgumentsAssignment_0_0_2_1_1" 12948 // $ANTLR start "rule__Assertion__ArgumentsAssignment_0_0_2_1_1"
12070 // InternalProblem.g:3960:1: rule__Assertion__ArgumentsAssignment_0_0_2_1_1 : ( ( ruleQualifiedName ) ) ; 12949 // InternalProblem.g:4237:1: rule__Assertion__ArgumentsAssignment_0_0_2_1_1 : ( ( ruleQualifiedName ) ) ;
12071 public final void rule__Assertion__ArgumentsAssignment_0_0_2_1_1() throws RecognitionException { 12950 public final void rule__Assertion__ArgumentsAssignment_0_0_2_1_1() throws RecognitionException {
12072 12951
12073 int stackSize = keepStackSize(); 12952 int stackSize = keepStackSize();
12074 12953
12075 try { 12954 try {
12076 // InternalProblem.g:3964:1: ( ( ( ruleQualifiedName ) ) ) 12955 // InternalProblem.g:4241:1: ( ( ( ruleQualifiedName ) ) )
12077 // InternalProblem.g:3965:2: ( ( ruleQualifiedName ) ) 12956 // InternalProblem.g:4242:2: ( ( ruleQualifiedName ) )
12078 { 12957 {
12079 // InternalProblem.g:3965:2: ( ( ruleQualifiedName ) ) 12958 // InternalProblem.g:4242:2: ( ( ruleQualifiedName ) )
12080 // InternalProblem.g:3966:3: ( ruleQualifiedName ) 12959 // InternalProblem.g:4243:3: ( ruleQualifiedName )
12081 { 12960 {
12082 before(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_0_2_1_1_0()); 12961 before(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_0_2_1_1_0());
12083 // InternalProblem.g:3967:3: ( ruleQualifiedName ) 12962 // InternalProblem.g:4244:3: ( ruleQualifiedName )
12084 // InternalProblem.g:3968:4: ruleQualifiedName 12963 // InternalProblem.g:4245:4: ruleQualifiedName
12085 { 12964 {
12086 before(grammarAccess.getAssertionAccess().getArgumentsNodeQualifiedNameParserRuleCall_0_0_2_1_1_0_1()); 12965 before(grammarAccess.getAssertionAccess().getArgumentsNodeQualifiedNameParserRuleCall_0_0_2_1_1_0_1());
12087 pushFollow(FOLLOW_2); 12966 pushFollow(FOLLOW_2);
@@ -12116,17 +12995,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12116 12995
12117 12996
12118 // $ANTLR start "rule__Assertion__ValueAssignment_0_0_5" 12997 // $ANTLR start "rule__Assertion__ValueAssignment_0_0_5"
12119 // InternalProblem.g:3979:1: rule__Assertion__ValueAssignment_0_0_5 : ( ruleLogicValue ) ; 12998 // InternalProblem.g:4256:1: rule__Assertion__ValueAssignment_0_0_5 : ( ruleLogicValue ) ;
12120 public final void rule__Assertion__ValueAssignment_0_0_5() throws RecognitionException { 12999 public final void rule__Assertion__ValueAssignment_0_0_5() throws RecognitionException {
12121 13000
12122 int stackSize = keepStackSize(); 13001 int stackSize = keepStackSize();
12123 13002
12124 try { 13003 try {
12125 // InternalProblem.g:3983:1: ( ( ruleLogicValue ) ) 13004 // InternalProblem.g:4260:1: ( ( ruleLogicValue ) )
12126 // InternalProblem.g:3984:2: ( ruleLogicValue ) 13005 // InternalProblem.g:4261:2: ( ruleLogicValue )
12127 { 13006 {
12128 // InternalProblem.g:3984:2: ( ruleLogicValue ) 13007 // InternalProblem.g:4261:2: ( ruleLogicValue )
12129 // InternalProblem.g:3985:3: ruleLogicValue 13008 // InternalProblem.g:4262:3: ruleLogicValue
12130 { 13009 {
12131 before(grammarAccess.getAssertionAccess().getValueLogicValueEnumRuleCall_0_0_5_0()); 13010 before(grammarAccess.getAssertionAccess().getValueLogicValueEnumRuleCall_0_0_5_0());
12132 pushFollow(FOLLOW_2); 13011 pushFollow(FOLLOW_2);
@@ -12157,17 +13036,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12157 13036
12158 13037
12159 // $ANTLR start "rule__Assertion__ValueAssignment_0_1_0" 13038 // $ANTLR start "rule__Assertion__ValueAssignment_0_1_0"
12160 // InternalProblem.g:3994:1: rule__Assertion__ValueAssignment_0_1_0 : ( ruleShortLogicValue ) ; 13039 // InternalProblem.g:4271:1: rule__Assertion__ValueAssignment_0_1_0 : ( ruleShortLogicValue ) ;
12161 public final void rule__Assertion__ValueAssignment_0_1_0() throws RecognitionException { 13040 public final void rule__Assertion__ValueAssignment_0_1_0() throws RecognitionException {
12162 13041
12163 int stackSize = keepStackSize(); 13042 int stackSize = keepStackSize();
12164 13043
12165 try { 13044 try {
12166 // InternalProblem.g:3998:1: ( ( ruleShortLogicValue ) ) 13045 // InternalProblem.g:4275:1: ( ( ruleShortLogicValue ) )
12167 // InternalProblem.g:3999:2: ( ruleShortLogicValue ) 13046 // InternalProblem.g:4276:2: ( ruleShortLogicValue )
12168 { 13047 {
12169 // InternalProblem.g:3999:2: ( ruleShortLogicValue ) 13048 // InternalProblem.g:4276:2: ( ruleShortLogicValue )
12170 // InternalProblem.g:4000:3: ruleShortLogicValue 13049 // InternalProblem.g:4277:3: ruleShortLogicValue
12171 { 13050 {
12172 before(grammarAccess.getAssertionAccess().getValueShortLogicValueEnumRuleCall_0_1_0_0()); 13051 before(grammarAccess.getAssertionAccess().getValueShortLogicValueEnumRuleCall_0_1_0_0());
12173 pushFollow(FOLLOW_2); 13052 pushFollow(FOLLOW_2);
@@ -12198,21 +13077,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12198 13077
12199 13078
12200 // $ANTLR start "rule__Assertion__RelationAssignment_0_1_1" 13079 // $ANTLR start "rule__Assertion__RelationAssignment_0_1_1"
12201 // InternalProblem.g:4009:1: rule__Assertion__RelationAssignment_0_1_1 : ( ( ruleQualifiedName ) ) ; 13080 // InternalProblem.g:4286:1: rule__Assertion__RelationAssignment_0_1_1 : ( ( ruleQualifiedName ) ) ;
12202 public final void rule__Assertion__RelationAssignment_0_1_1() throws RecognitionException { 13081 public final void rule__Assertion__RelationAssignment_0_1_1() throws RecognitionException {
12203 13082
12204 int stackSize = keepStackSize(); 13083 int stackSize = keepStackSize();
12205 13084
12206 try { 13085 try {
12207 // InternalProblem.g:4013:1: ( ( ( ruleQualifiedName ) ) ) 13086 // InternalProblem.g:4290:1: ( ( ( ruleQualifiedName ) ) )
12208 // InternalProblem.g:4014:2: ( ( ruleQualifiedName ) ) 13087 // InternalProblem.g:4291:2: ( ( ruleQualifiedName ) )
12209 { 13088 {
12210 // InternalProblem.g:4014:2: ( ( ruleQualifiedName ) ) 13089 // InternalProblem.g:4291:2: ( ( ruleQualifiedName ) )
12211 // InternalProblem.g:4015:3: ( ruleQualifiedName ) 13090 // InternalProblem.g:4292:3: ( ruleQualifiedName )
12212 { 13091 {
12213 before(grammarAccess.getAssertionAccess().getRelationRelationCrossReference_0_1_1_0()); 13092 before(grammarAccess.getAssertionAccess().getRelationRelationCrossReference_0_1_1_0());
12214 // InternalProblem.g:4016:3: ( ruleQualifiedName ) 13093 // InternalProblem.g:4293:3: ( ruleQualifiedName )
12215 // InternalProblem.g:4017:4: ruleQualifiedName 13094 // InternalProblem.g:4294:4: ruleQualifiedName
12216 { 13095 {
12217 before(grammarAccess.getAssertionAccess().getRelationRelationQualifiedNameParserRuleCall_0_1_1_0_1()); 13096 before(grammarAccess.getAssertionAccess().getRelationRelationQualifiedNameParserRuleCall_0_1_1_0_1());
12218 pushFollow(FOLLOW_2); 13097 pushFollow(FOLLOW_2);
@@ -12247,21 +13126,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12247 13126
12248 13127
12249 // $ANTLR start "rule__Assertion__ArgumentsAssignment_0_1_3_0" 13128 // $ANTLR start "rule__Assertion__ArgumentsAssignment_0_1_3_0"
12250 // InternalProblem.g:4028:1: rule__Assertion__ArgumentsAssignment_0_1_3_0 : ( ( ruleQualifiedName ) ) ; 13129 // InternalProblem.g:4305:1: rule__Assertion__ArgumentsAssignment_0_1_3_0 : ( ( ruleQualifiedName ) ) ;
12251 public final void rule__Assertion__ArgumentsAssignment_0_1_3_0() throws RecognitionException { 13130 public final void rule__Assertion__ArgumentsAssignment_0_1_3_0() throws RecognitionException {
12252 13131
12253 int stackSize = keepStackSize(); 13132 int stackSize = keepStackSize();
12254 13133
12255 try { 13134 try {
12256 // InternalProblem.g:4032:1: ( ( ( ruleQualifiedName ) ) ) 13135 // InternalProblem.g:4309:1: ( ( ( ruleQualifiedName ) ) )
12257 // InternalProblem.g:4033:2: ( ( ruleQualifiedName ) ) 13136 // InternalProblem.g:4310:2: ( ( ruleQualifiedName ) )
12258 { 13137 {
12259 // InternalProblem.g:4033:2: ( ( ruleQualifiedName ) ) 13138 // InternalProblem.g:4310:2: ( ( ruleQualifiedName ) )
12260 // InternalProblem.g:4034:3: ( ruleQualifiedName ) 13139 // InternalProblem.g:4311:3: ( ruleQualifiedName )
12261 { 13140 {
12262 before(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_1_3_0_0()); 13141 before(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_1_3_0_0());
12263 // InternalProblem.g:4035:3: ( ruleQualifiedName ) 13142 // InternalProblem.g:4312:3: ( ruleQualifiedName )
12264 // InternalProblem.g:4036:4: ruleQualifiedName 13143 // InternalProblem.g:4313:4: ruleQualifiedName
12265 { 13144 {
12266 before(grammarAccess.getAssertionAccess().getArgumentsNodeQualifiedNameParserRuleCall_0_1_3_0_0_1()); 13145 before(grammarAccess.getAssertionAccess().getArgumentsNodeQualifiedNameParserRuleCall_0_1_3_0_0_1());
12267 pushFollow(FOLLOW_2); 13146 pushFollow(FOLLOW_2);
@@ -12296,21 +13175,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12296 13175
12297 13176
12298 // $ANTLR start "rule__Assertion__ArgumentsAssignment_0_1_3_1_1" 13177 // $ANTLR start "rule__Assertion__ArgumentsAssignment_0_1_3_1_1"
12299 // InternalProblem.g:4047:1: rule__Assertion__ArgumentsAssignment_0_1_3_1_1 : ( ( ruleQualifiedName ) ) ; 13178 // InternalProblem.g:4324:1: rule__Assertion__ArgumentsAssignment_0_1_3_1_1 : ( ( ruleQualifiedName ) ) ;
12300 public final void rule__Assertion__ArgumentsAssignment_0_1_3_1_1() throws RecognitionException { 13179 public final void rule__Assertion__ArgumentsAssignment_0_1_3_1_1() throws RecognitionException {
12301 13180
12302 int stackSize = keepStackSize(); 13181 int stackSize = keepStackSize();
12303 13182
12304 try { 13183 try {
12305 // InternalProblem.g:4051:1: ( ( ( ruleQualifiedName ) ) ) 13184 // InternalProblem.g:4328:1: ( ( ( ruleQualifiedName ) ) )
12306 // InternalProblem.g:4052:2: ( ( ruleQualifiedName ) ) 13185 // InternalProblem.g:4329:2: ( ( ruleQualifiedName ) )
12307 { 13186 {
12308 // InternalProblem.g:4052:2: ( ( ruleQualifiedName ) ) 13187 // InternalProblem.g:4329:2: ( ( ruleQualifiedName ) )
12309 // InternalProblem.g:4053:3: ( ruleQualifiedName ) 13188 // InternalProblem.g:4330:3: ( ruleQualifiedName )
12310 { 13189 {
12311 before(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_1_3_1_1_0()); 13190 before(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_1_3_1_1_0());
12312 // InternalProblem.g:4054:3: ( ruleQualifiedName ) 13191 // InternalProblem.g:4331:3: ( ruleQualifiedName )
12313 // InternalProblem.g:4055:4: ruleQualifiedName 13192 // InternalProblem.g:4332:4: ruleQualifiedName
12314 { 13193 {
12315 before(grammarAccess.getAssertionAccess().getArgumentsNodeQualifiedNameParserRuleCall_0_1_3_1_1_0_1()); 13194 before(grammarAccess.getAssertionAccess().getArgumentsNodeQualifiedNameParserRuleCall_0_1_3_1_1_0_1());
12316 pushFollow(FOLLOW_2); 13195 pushFollow(FOLLOW_2);
@@ -12345,17 +13224,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12345 13224
12346 13225
12347 // $ANTLR start "rule__ScopeDeclaration__TypeScopesAssignment_1" 13226 // $ANTLR start "rule__ScopeDeclaration__TypeScopesAssignment_1"
12348 // InternalProblem.g:4066:1: rule__ScopeDeclaration__TypeScopesAssignment_1 : ( ruleTypeScope ) ; 13227 // InternalProblem.g:4343:1: rule__ScopeDeclaration__TypeScopesAssignment_1 : ( ruleTypeScope ) ;
12349 public final void rule__ScopeDeclaration__TypeScopesAssignment_1() throws RecognitionException { 13228 public final void rule__ScopeDeclaration__TypeScopesAssignment_1() throws RecognitionException {
12350 13229
12351 int stackSize = keepStackSize(); 13230 int stackSize = keepStackSize();
12352 13231
12353 try { 13232 try {
12354 // InternalProblem.g:4070:1: ( ( ruleTypeScope ) ) 13233 // InternalProblem.g:4347:1: ( ( ruleTypeScope ) )
12355 // InternalProblem.g:4071:2: ( ruleTypeScope ) 13234 // InternalProblem.g:4348:2: ( ruleTypeScope )
12356 { 13235 {
12357 // InternalProblem.g:4071:2: ( ruleTypeScope ) 13236 // InternalProblem.g:4348:2: ( ruleTypeScope )
12358 // InternalProblem.g:4072:3: ruleTypeScope 13237 // InternalProblem.g:4349:3: ruleTypeScope
12359 { 13238 {
12360 before(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_1_0()); 13239 before(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_1_0());
12361 pushFollow(FOLLOW_2); 13240 pushFollow(FOLLOW_2);
@@ -12386,17 +13265,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12386 13265
12387 13266
12388 // $ANTLR start "rule__ScopeDeclaration__TypeScopesAssignment_2_1" 13267 // $ANTLR start "rule__ScopeDeclaration__TypeScopesAssignment_2_1"
12389 // InternalProblem.g:4081:1: rule__ScopeDeclaration__TypeScopesAssignment_2_1 : ( ruleTypeScope ) ; 13268 // InternalProblem.g:4358:1: rule__ScopeDeclaration__TypeScopesAssignment_2_1 : ( ruleTypeScope ) ;
12390 public final void rule__ScopeDeclaration__TypeScopesAssignment_2_1() throws RecognitionException { 13269 public final void rule__ScopeDeclaration__TypeScopesAssignment_2_1() throws RecognitionException {
12391 13270
12392 int stackSize = keepStackSize(); 13271 int stackSize = keepStackSize();
12393 13272
12394 try { 13273 try {
12395 // InternalProblem.g:4085:1: ( ( ruleTypeScope ) ) 13274 // InternalProblem.g:4362:1: ( ( ruleTypeScope ) )
12396 // InternalProblem.g:4086:2: ( ruleTypeScope ) 13275 // InternalProblem.g:4363:2: ( ruleTypeScope )
12397 { 13276 {
12398 // InternalProblem.g:4086:2: ( ruleTypeScope ) 13277 // InternalProblem.g:4363:2: ( ruleTypeScope )
12399 // InternalProblem.g:4087:3: ruleTypeScope 13278 // InternalProblem.g:4364:3: ruleTypeScope
12400 { 13279 {
12401 before(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_2_1_0()); 13280 before(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_2_1_0());
12402 pushFollow(FOLLOW_2); 13281 pushFollow(FOLLOW_2);
@@ -12427,21 +13306,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12427 13306
12428 13307
12429 // $ANTLR start "rule__TypeScope__TargetTypeAssignment_0" 13308 // $ANTLR start "rule__TypeScope__TargetTypeAssignment_0"
12430 // InternalProblem.g:4096:1: rule__TypeScope__TargetTypeAssignment_0 : ( ( RULE_ID ) ) ; 13309 // InternalProblem.g:4373:1: rule__TypeScope__TargetTypeAssignment_0 : ( ( RULE_ID ) ) ;
12431 public final void rule__TypeScope__TargetTypeAssignment_0() throws RecognitionException { 13310 public final void rule__TypeScope__TargetTypeAssignment_0() throws RecognitionException {
12432 13311
12433 int stackSize = keepStackSize(); 13312 int stackSize = keepStackSize();
12434 13313
12435 try { 13314 try {
12436 // InternalProblem.g:4100:1: ( ( ( RULE_ID ) ) ) 13315 // InternalProblem.g:4377:1: ( ( ( RULE_ID ) ) )
12437 // InternalProblem.g:4101:2: ( ( RULE_ID ) ) 13316 // InternalProblem.g:4378:2: ( ( RULE_ID ) )
12438 { 13317 {
12439 // InternalProblem.g:4101:2: ( ( RULE_ID ) ) 13318 // InternalProblem.g:4378:2: ( ( RULE_ID ) )
12440 // InternalProblem.g:4102:3: ( RULE_ID ) 13319 // InternalProblem.g:4379:3: ( RULE_ID )
12441 { 13320 {
12442 before(grammarAccess.getTypeScopeAccess().getTargetTypeClassDeclarationCrossReference_0_0()); 13321 before(grammarAccess.getTypeScopeAccess().getTargetTypeClassDeclarationCrossReference_0_0());
12443 // InternalProblem.g:4103:3: ( RULE_ID ) 13322 // InternalProblem.g:4380:3: ( RULE_ID )
12444 // InternalProblem.g:4104:4: RULE_ID 13323 // InternalProblem.g:4381:4: RULE_ID
12445 { 13324 {
12446 before(grammarAccess.getTypeScopeAccess().getTargetTypeClassDeclarationIDTerminalRuleCall_0_0_1()); 13325 before(grammarAccess.getTypeScopeAccess().getTargetTypeClassDeclarationIDTerminalRuleCall_0_0_1());
12447 match(input,RULE_ID,FOLLOW_2); 13326 match(input,RULE_ID,FOLLOW_2);
@@ -12472,24 +13351,24 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12472 13351
12473 13352
12474 // $ANTLR start "rule__TypeScope__IncrementAssignment_1_0" 13353 // $ANTLR start "rule__TypeScope__IncrementAssignment_1_0"
12475 // InternalProblem.g:4115:1: rule__TypeScope__IncrementAssignment_1_0 : ( ( '+=' ) ) ; 13354 // InternalProblem.g:4392:1: rule__TypeScope__IncrementAssignment_1_0 : ( ( '+=' ) ) ;
12476 public final void rule__TypeScope__IncrementAssignment_1_0() throws RecognitionException { 13355 public final void rule__TypeScope__IncrementAssignment_1_0() throws RecognitionException {
12477 13356
12478 int stackSize = keepStackSize(); 13357 int stackSize = keepStackSize();
12479 13358
12480 try { 13359 try {
12481 // InternalProblem.g:4119:1: ( ( ( '+=' ) ) ) 13360 // InternalProblem.g:4396:1: ( ( ( '+=' ) ) )
12482 // InternalProblem.g:4120:2: ( ( '+=' ) ) 13361 // InternalProblem.g:4397:2: ( ( '+=' ) )
12483 { 13362 {
12484 // InternalProblem.g:4120:2: ( ( '+=' ) ) 13363 // InternalProblem.g:4397:2: ( ( '+=' ) )
12485 // InternalProblem.g:4121:3: ( '+=' ) 13364 // InternalProblem.g:4398:3: ( '+=' )
12486 { 13365 {
12487 before(grammarAccess.getTypeScopeAccess().getIncrementPlusSignEqualsSignKeyword_1_0_0()); 13366 before(grammarAccess.getTypeScopeAccess().getIncrementPlusSignEqualsSignKeyword_1_0_0());
12488 // InternalProblem.g:4122:3: ( '+=' ) 13367 // InternalProblem.g:4399:3: ( '+=' )
12489 // InternalProblem.g:4123:4: '+=' 13368 // InternalProblem.g:4400:4: '+='
12490 { 13369 {
12491 before(grammarAccess.getTypeScopeAccess().getIncrementPlusSignEqualsSignKeyword_1_0_0()); 13370 before(grammarAccess.getTypeScopeAccess().getIncrementPlusSignEqualsSignKeyword_1_0_0());
12492 match(input,39,FOLLOW_2); 13371 match(input,42,FOLLOW_2);
12493 after(grammarAccess.getTypeScopeAccess().getIncrementPlusSignEqualsSignKeyword_1_0_0()); 13372 after(grammarAccess.getTypeScopeAccess().getIncrementPlusSignEqualsSignKeyword_1_0_0());
12494 13373
12495 } 13374 }
@@ -12517,25 +13396,25 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12517 13396
12518 13397
12519 // $ANTLR start "rule__TypeScope__MultiplicityAssignment_2" 13398 // $ANTLR start "rule__TypeScope__MultiplicityAssignment_2"
12520 // InternalProblem.g:4134:1: rule__TypeScope__MultiplicityAssignment_2 : ( ruleMultiplicity ) ; 13399 // InternalProblem.g:4411:1: rule__TypeScope__MultiplicityAssignment_2 : ( ruleDefiniteMultiplicity ) ;
12521 public final void rule__TypeScope__MultiplicityAssignment_2() throws RecognitionException { 13400 public final void rule__TypeScope__MultiplicityAssignment_2() throws RecognitionException {
12522 13401
12523 int stackSize = keepStackSize(); 13402 int stackSize = keepStackSize();
12524 13403
12525 try { 13404 try {
12526 // InternalProblem.g:4138:1: ( ( ruleMultiplicity ) ) 13405 // InternalProblem.g:4415:1: ( ( ruleDefiniteMultiplicity ) )
12527 // InternalProblem.g:4139:2: ( ruleMultiplicity ) 13406 // InternalProblem.g:4416:2: ( ruleDefiniteMultiplicity )
12528 { 13407 {
12529 // InternalProblem.g:4139:2: ( ruleMultiplicity ) 13408 // InternalProblem.g:4416:2: ( ruleDefiniteMultiplicity )
12530 // InternalProblem.g:4140:3: ruleMultiplicity 13409 // InternalProblem.g:4417:3: ruleDefiniteMultiplicity
12531 { 13410 {
12532 before(grammarAccess.getTypeScopeAccess().getMultiplicityMultiplicityParserRuleCall_2_0()); 13411 before(grammarAccess.getTypeScopeAccess().getMultiplicityDefiniteMultiplicityParserRuleCall_2_0());
12533 pushFollow(FOLLOW_2); 13412 pushFollow(FOLLOW_2);
12534 ruleMultiplicity(); 13413 ruleDefiniteMultiplicity();
12535 13414
12536 state._fsp--; 13415 state._fsp--;
12537 13416
12538 after(grammarAccess.getTypeScopeAccess().getMultiplicityMultiplicityParserRuleCall_2_0()); 13417 after(grammarAccess.getTypeScopeAccess().getMultiplicityDefiniteMultiplicityParserRuleCall_2_0());
12539 13418
12540 } 13419 }
12541 13420
@@ -12558,17 +13437,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12558 13437
12559 13438
12560 // $ANTLR start "rule__RangeMultiplicity__LowerBoundAssignment_0" 13439 // $ANTLR start "rule__RangeMultiplicity__LowerBoundAssignment_0"
12561 // InternalProblem.g:4149:1: rule__RangeMultiplicity__LowerBoundAssignment_0 : ( RULE_INT ) ; 13440 // InternalProblem.g:4426:1: rule__RangeMultiplicity__LowerBoundAssignment_0 : ( RULE_INT ) ;
12562 public final void rule__RangeMultiplicity__LowerBoundAssignment_0() throws RecognitionException { 13441 public final void rule__RangeMultiplicity__LowerBoundAssignment_0() throws RecognitionException {
12563 13442
12564 int stackSize = keepStackSize(); 13443 int stackSize = keepStackSize();
12565 13444
12566 try { 13445 try {
12567 // InternalProblem.g:4153:1: ( ( RULE_INT ) ) 13446 // InternalProblem.g:4430:1: ( ( RULE_INT ) )
12568 // InternalProblem.g:4154:2: ( RULE_INT ) 13447 // InternalProblem.g:4431:2: ( RULE_INT )
12569 { 13448 {
12570 // InternalProblem.g:4154:2: ( RULE_INT ) 13449 // InternalProblem.g:4431:2: ( RULE_INT )
12571 // InternalProblem.g:4155:3: RULE_INT 13450 // InternalProblem.g:4432:3: RULE_INT
12572 { 13451 {
12573 before(grammarAccess.getRangeMultiplicityAccess().getLowerBoundINTTerminalRuleCall_0_0()); 13452 before(grammarAccess.getRangeMultiplicityAccess().getLowerBoundINTTerminalRuleCall_0_0());
12574 match(input,RULE_INT,FOLLOW_2); 13453 match(input,RULE_INT,FOLLOW_2);
@@ -12595,17 +13474,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12595 13474
12596 13475
12597 // $ANTLR start "rule__RangeMultiplicity__UpperBoundAssignment_2" 13476 // $ANTLR start "rule__RangeMultiplicity__UpperBoundAssignment_2"
12598 // InternalProblem.g:4164:1: rule__RangeMultiplicity__UpperBoundAssignment_2 : ( ruleUpperBound ) ; 13477 // InternalProblem.g:4441:1: rule__RangeMultiplicity__UpperBoundAssignment_2 : ( ruleUpperBound ) ;
12599 public final void rule__RangeMultiplicity__UpperBoundAssignment_2() throws RecognitionException { 13478 public final void rule__RangeMultiplicity__UpperBoundAssignment_2() throws RecognitionException {
12600 13479
12601 int stackSize = keepStackSize(); 13480 int stackSize = keepStackSize();
12602 13481
12603 try { 13482 try {
12604 // InternalProblem.g:4168:1: ( ( ruleUpperBound ) ) 13483 // InternalProblem.g:4445:1: ( ( ruleUpperBound ) )
12605 // InternalProblem.g:4169:2: ( ruleUpperBound ) 13484 // InternalProblem.g:4446:2: ( ruleUpperBound )
12606 { 13485 {
12607 // InternalProblem.g:4169:2: ( ruleUpperBound ) 13486 // InternalProblem.g:4446:2: ( ruleUpperBound )
12608 // InternalProblem.g:4170:3: ruleUpperBound 13487 // InternalProblem.g:4447:3: ruleUpperBound
12609 { 13488 {
12610 before(grammarAccess.getRangeMultiplicityAccess().getUpperBoundUpperBoundParserRuleCall_2_0()); 13489 before(grammarAccess.getRangeMultiplicityAccess().getUpperBoundUpperBoundParserRuleCall_2_0());
12611 pushFollow(FOLLOW_2); 13490 pushFollow(FOLLOW_2);
@@ -12636,17 +13515,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12636 13515
12637 13516
12638 // $ANTLR start "rule__ExactMultiplicity__ExactValueAssignment" 13517 // $ANTLR start "rule__ExactMultiplicity__ExactValueAssignment"
12639 // InternalProblem.g:4179:1: rule__ExactMultiplicity__ExactValueAssignment : ( RULE_INT ) ; 13518 // InternalProblem.g:4456:1: rule__ExactMultiplicity__ExactValueAssignment : ( RULE_INT ) ;
12640 public final void rule__ExactMultiplicity__ExactValueAssignment() throws RecognitionException { 13519 public final void rule__ExactMultiplicity__ExactValueAssignment() throws RecognitionException {
12641 13520
12642 int stackSize = keepStackSize(); 13521 int stackSize = keepStackSize();
12643 13522
12644 try { 13523 try {
12645 // InternalProblem.g:4183:1: ( ( RULE_INT ) ) 13524 // InternalProblem.g:4460:1: ( ( RULE_INT ) )
12646 // InternalProblem.g:4184:2: ( RULE_INT ) 13525 // InternalProblem.g:4461:2: ( RULE_INT )
12647 { 13526 {
12648 // InternalProblem.g:4184:2: ( RULE_INT ) 13527 // InternalProblem.g:4461:2: ( RULE_INT )
12649 // InternalProblem.g:4185:3: RULE_INT 13528 // InternalProblem.g:4462:3: RULE_INT
12650 { 13529 {
12651 before(grammarAccess.getExactMultiplicityAccess().getExactValueINTTerminalRuleCall_0()); 13530 before(grammarAccess.getExactMultiplicityAccess().getExactValueINTTerminalRuleCall_0());
12652 match(input,RULE_INT,FOLLOW_2); 13531 match(input,RULE_INT,FOLLOW_2);
@@ -12674,28 +13553,34 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12674 // Delegated rules 13553 // Delegated rules
12675 13554
12676 13555
12677 protected DFA8 dfa8 = new DFA8(this); 13556 protected DFA6 dfa6 = new DFA6(this);
12678 static final String dfa_1s = "\17\uffff"; 13557 static final String dfa_1s = "\25\uffff";
12679 static final String dfa_2s = "\1\5\1\33\1\uffff\2\5\1\33\1\31\1\25\2\5\1\uffff\2\31\1\5\1\31"; 13558 static final String dfa_2s = "\1\5\2\40\1\uffff\2\5\2\31\1\14\2\40\2\5\1\uffff\4\31\1\5\2\31";
12680 static final String dfa_3s = "\1\23\1\42\1\uffff\1\5\1\34\2\42\1\37\2\5\1\uffff\2\42\1\5\1\42"; 13559 static final String dfa_3s = "\1\25\1\40\1\43\1\uffff\1\41\1\6\1\41\3\43\1\40\2\6\1\uffff\1\41\2\43\1\41\1\6\1\43\1\41";
12681 static final String dfa_4s = "\2\uffff\1\2\7\uffff\1\1\4\uffff"; 13560 static final String dfa_4s = "\3\uffff\1\2\11\uffff\1\1\7\uffff";
12682 static final String dfa_5s = "\17\uffff}>"; 13561 static final String dfa_5s = "\25\uffff}>";
12683 static final String[] dfa_6s = { 13562 static final String[] dfa_6s = {
12684 "\1\1\14\uffff\2\2", 13563 "\1\1\1\2\15\uffff\2\3",
12685 "\1\4\6\uffff\1\3", 13564 "\1\4",
13565 "\1\4\2\uffff\1\5",
12686 "", 13566 "",
12687 "\1\5", 13567 "\1\6\1\7\32\uffff\1\10",
12688 "\1\6\26\uffff\1\7", 13568 "\1\12\1\11",
12689 "\1\4\6\uffff\1\3", 13569 "\1\13\7\uffff\1\10",
12690 "\1\11\2\uffff\1\7\5\uffff\1\10", 13570 "\1\13\7\uffff\1\10\1\uffff\1\14",
12691 "\1\2\11\uffff\1\12", 13571 "\1\3\26\uffff\1\15",
12692 "\1\13", 13572 "\1\4\2\uffff\1\5",
12693 "\1\14", 13573 "\1\4",
13574 "\1\16\1\17",
13575 "\1\21\1\20",
12694 "", 13576 "",
12695 "\1\11\2\uffff\1\7\5\uffff\1\10", 13577 "\1\13\7\uffff\1\10",
12696 "\1\11\2\uffff\1\7\5\uffff\1\15", 13578 "\1\13\7\uffff\1\10\1\uffff\1\22",
12697 "\1\16", 13579 "\1\13\7\uffff\1\10\1\uffff\1\14",
12698 "\1\11\2\uffff\1\7\5\uffff\1\15" 13580 "\1\13\7\uffff\1\10",
13581 "\1\24\1\23",
13582 "\1\13\7\uffff\1\10\1\uffff\1\22",
13583 "\1\13\7\uffff\1\10"
12699 }; 13584 };
12700 13585
12701 static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); 13586 static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s);
@@ -12705,11 +13590,11 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12705 static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s); 13590 static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s);
12706 static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s); 13591 static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s);
12707 13592
12708 class DFA8 extends DFA { 13593 class DFA6 extends DFA {
12709 13594
12710 public DFA8(BaseRecognizer recognizer) { 13595 public DFA6(BaseRecognizer recognizer) {
12711 this.recognizer = recognizer; 13596 this.recognizer = recognizer;
12712 this.decisionNumber = 8; 13597 this.decisionNumber = 6;
12713 this.eot = dfa_1; 13598 this.eot = dfa_1;
12714 this.eof = dfa_1; 13599 this.eof = dfa_1;
12715 this.min = dfa_2; 13600 this.min = dfa_2;
@@ -12719,43 +13604,45 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12719 this.transition = dfa_6; 13604 this.transition = dfa_6;
12720 } 13605 }
12721 public String getDescription() { 13606 public String getDescription() {
12722 return "672:1: rule__Assertion__Alternatives_0 : ( ( ( rule__Assertion__Group_0_0__0 ) ) | ( ( rule__Assertion__Group_0_1__0 ) ) );"; 13607 return "726:1: rule__Assertion__Alternatives_0 : ( ( ( rule__Assertion__Group_0_0__0 ) ) | ( ( rule__Assertion__Group_0_1__0 ) ) );";
12723 } 13608 }
12724 } 13609 }
12725 13610
12726 13611
12727 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); 13612 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L});
12728 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); 13613 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
12729 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x00000029001C1022L}); 13614 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000015000B04060L});
12730 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000800100000L}); 13615 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000015000B04062L});
12731 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000000020L}); 13616 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000000040L});
12732 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000001002600800L}); 13617 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000001000L});
12733 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000002000002L}); 13618 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000004000800000L});
12734 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000800020L}); 13619 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000005001000L});
12735 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000001000020L}); 13620 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000000060L});
12736 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000002000000L}); 13621 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000002000000L});
12737 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000001000400800L}); 13622 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000002000002L});
12738 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000800000L}); 13623 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000008008002000L});
12739 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000000010L}); 13624 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000008000002002L});
12740 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000001000000L}); 13625 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000010000000L});
12741 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000004000000L}); 13626 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000020000040L});
12742 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000008000000L}); 13627 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000080000000L});
12743 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000010000020L}); 13628 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000000010L});
12744 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000020200000L}); 13629 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000040000000L});
12745 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000000001000L}); 13630 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000100000000L});
12746 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000000040020L}); 13631 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000200000040L});
12747 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000040000000L}); 13632 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000400001000L});
12748 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000040000002L}); 13633 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000000004000L});
12749 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000004008000000L}); 13634 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000000100060L});
12750 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000000200000L}); 13635 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000010000002L});
12751 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000080000000L}); 13636 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000020100000000L});
12752 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000038000L}); 13637 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000200000060L});
12753 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x00000000000C0020L}); 13638 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000800000000L});
12754 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000002200000L}); 13639 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x00000000000E0000L});
12755 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000008000002000L}); 13640 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000000300060L});
12756 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000200000000L}); 13641 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000002001000L});
12757 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000000004010L}); 13642 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000040000008000L});
12758 public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000400000000L}); 13643 public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000002000000000L});
12759 public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000400000002L}); 13644 public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000000010010L});
13645 public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000000800000002L});
13646 public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000000000000020L});
12760 13647
12761} \ No newline at end of file 13648} \ No newline at end of file
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/.classpath b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/.classpath
index 7d85f131..68ef59f4 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/.classpath
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/.classpath
@@ -14,5 +14,6 @@
14 </classpathentry> 14 </classpathentry>
15 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11/"/> 15 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11/"/>
16 <classpathentry kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer"/> 16 <classpathentry kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer"/>
17 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
17 <classpathentry kind="output" path="bin/default"/> 18 <classpathentry kind="output" path="bin/default"/>
18</classpath> 19</classpath>
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/problem.aird b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/problem.aird
index 7a8e3134..1769c224 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/problem.aird
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/problem.aird
@@ -5,7 +5,7 @@
5 <semanticResources>src/main/resources/model/problem.genmodel</semanticResources> 5 <semanticResources>src/main/resources/model/problem.genmodel</semanticResources>
6 <ownedViews xmi:type="viewpoint:DView" uid="_CsAAYKA4EeuqkpDnuik1sg"> 6 <ownedViews xmi:type="viewpoint:DView" uid="_CsAAYKA4EeuqkpDnuik1sg">
7 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/> 7 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/>
8 <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_CsYa4KA4EeuqkpDnuik1sg" name="problem" repPath="#_CsUwgKA4EeuqkpDnuik1sg" changeId="9f99ef6f-bc34-43eb-b9d0-926a0eee892e"> 8 <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_CsYa4KA4EeuqkpDnuik1sg" name="problem" repPath="#_CsUwgKA4EeuqkpDnuik1sg" changeId="21ccbdb3-d7f2-4782-aa2a-5fc2003467bb">
9 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/> 9 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
10 <target xmi:type="ecore:EPackage" href="src/main/resources/model/problem.ecore#/"/> 10 <target xmi:type="ecore:EPackage" href="src/main/resources/model/problem.ecore#/"/>
11 </ownedRepresentationDescriptors> 11 </ownedRepresentationDescriptors>
@@ -21,7 +21,7 @@
21 <styles xmi:type="notation:FilteringStyle" xmi:id="_D1FIUqA4EeuqkpDnuik1sg"/> 21 <styles xmi:type="notation:FilteringStyle" xmi:id="_D1FIUqA4EeuqkpDnuik1sg"/>
22 </children> 22 </children>
23 <styles xmi:type="notation:ShapeStyle" xmi:id="_D1D6MaA4EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 23 <styles xmi:type="notation:ShapeStyle" xmi:id="_D1D6MaA4EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
24 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D1D6MqA4EeuqkpDnuik1sg" x="624" y="24" width="120" height="100"/> 24 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D1D6MqA4EeuqkpDnuik1sg" x="804" y="180" width="120" height="100"/>
25 </children> 25 </children>
26 <children xmi:type="notation:Node" xmi:id="_EfWNUKA4EeuqkpDnuik1sg" type="2003" element="_EfNqcKA4EeuqkpDnuik1sg"> 26 <children xmi:type="notation:Node" xmi:id="_EfWNUKA4EeuqkpDnuik1sg" type="2003" element="_EfNqcKA4EeuqkpDnuik1sg">
27 <children xmi:type="notation:Node" xmi:id="_EfXbcKA4EeuqkpDnuik1sg" type="5007"/> 27 <children xmi:type="notation:Node" xmi:id="_EfXbcKA4EeuqkpDnuik1sg" type="5007"/>
@@ -30,7 +30,7 @@
30 <styles xmi:type="notation:FilteringStyle" xmi:id="_EfXbc6A4EeuqkpDnuik1sg"/> 30 <styles xmi:type="notation:FilteringStyle" xmi:id="_EfXbc6A4EeuqkpDnuik1sg"/>
31 </children> 31 </children>
32 <styles xmi:type="notation:ShapeStyle" xmi:id="_EfWNUaA4EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 32 <styles xmi:type="notation:ShapeStyle" xmi:id="_EfWNUaA4EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
33 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfWNUqA4EeuqkpDnuik1sg" x="444" y="372" width="120" height="100"/> 33 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfWNUqA4EeuqkpDnuik1sg" x="624" y="528" width="120" height="100"/>
34 </children> 34 </children>
35 <children xmi:type="notation:Node" xmi:id="_JT0o8KA4EeuqkpDnuik1sg" type="2003" element="_JTstIKA4EeuqkpDnuik1sg"> 35 <children xmi:type="notation:Node" xmi:id="_JT0o8KA4EeuqkpDnuik1sg" type="2003" element="_JTstIKA4EeuqkpDnuik1sg">
36 <children xmi:type="notation:Node" xmi:id="_JT1QAKA4EeuqkpDnuik1sg" type="5007"/> 36 <children xmi:type="notation:Node" xmi:id="_JT1QAKA4EeuqkpDnuik1sg" type="5007"/>
@@ -43,7 +43,7 @@
43 <styles xmi:type="notation:FilteringStyle" xmi:id="_JT13EqA4EeuqkpDnuik1sg"/> 43 <styles xmi:type="notation:FilteringStyle" xmi:id="_JT13EqA4EeuqkpDnuik1sg"/>
44 </children> 44 </children>
45 <styles xmi:type="notation:ShapeStyle" xmi:id="_JT0o8aA4EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 45 <styles xmi:type="notation:ShapeStyle" xmi:id="_JT0o8aA4EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
46 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JT0o8qA4EeuqkpDnuik1sg" x="492" y="564" width="120" height="100"/> 46 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JT0o8qA4EeuqkpDnuik1sg" x="672" y="720" width="120" height="100"/>
47 </children> 47 </children>
48 <children xmi:type="notation:Node" xmi:id="_c-HCQKA4EeuqkpDnuik1sg" type="2003" element="_c-A7oKA4EeuqkpDnuik1sg"> 48 <children xmi:type="notation:Node" xmi:id="_c-HCQKA4EeuqkpDnuik1sg" type="2003" element="_c-A7oKA4EeuqkpDnuik1sg">
49 <children xmi:type="notation:Node" xmi:id="_c-HCQ6A4EeuqkpDnuik1sg" type="5007"/> 49 <children xmi:type="notation:Node" xmi:id="_c-HCQ6A4EeuqkpDnuik1sg" type="5007"/>
@@ -56,7 +56,7 @@
56 <styles xmi:type="notation:FilteringStyle" xmi:id="_c-HCRqA4EeuqkpDnuik1sg"/> 56 <styles xmi:type="notation:FilteringStyle" xmi:id="_c-HCRqA4EeuqkpDnuik1sg"/>
57 </children> 57 </children>
58 <styles xmi:type="notation:ShapeStyle" xmi:id="_c-HCQaA4EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 58 <styles xmi:type="notation:ShapeStyle" xmi:id="_c-HCQaA4EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
59 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c-HCQqA4EeuqkpDnuik1sg" x="408" y="804" width="147" height="100"/> 59 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c-HCQqA4EeuqkpDnuik1sg" x="588" y="960" width="147" height="100"/>
60 </children> 60 </children>
61 <children xmi:type="notation:Node" xmi:id="_RzZA0KA5EeuqkpDnuik1sg" type="2003" element="_RzK-YKA5EeuqkpDnuik1sg"> 61 <children xmi:type="notation:Node" xmi:id="_RzZA0KA5EeuqkpDnuik1sg" type="2003" element="_RzK-YKA5EeuqkpDnuik1sg">
62 <children xmi:type="notation:Node" xmi:id="_RzZn4KA5EeuqkpDnuik1sg" type="5007"/> 62 <children xmi:type="notation:Node" xmi:id="_RzZn4KA5EeuqkpDnuik1sg" type="5007"/>
@@ -69,7 +69,7 @@
69 <styles xmi:type="notation:FilteringStyle" xmi:id="_RzZn46A5EeuqkpDnuik1sg"/> 69 <styles xmi:type="notation:FilteringStyle" xmi:id="_RzZn46A5EeuqkpDnuik1sg"/>
70 </children> 70 </children>
71 <styles xmi:type="notation:ShapeStyle" xmi:id="_RzZA0aA5EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 71 <styles xmi:type="notation:ShapeStyle" xmi:id="_RzZA0aA5EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
72 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RzZA0qA5EeuqkpDnuik1sg" x="444" y="180" width="120" height="100"/> 72 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RzZA0qA5EeuqkpDnuik1sg" x="1056" y="24" width="120" height="100"/>
73 </children> 73 </children>
74 <children xmi:type="notation:Node" xmi:id="_fit3kKA5EeuqkpDnuik1sg" type="2003" element="_fihqUKA5EeuqkpDnuik1sg"> 74 <children xmi:type="notation:Node" xmi:id="_fit3kKA5EeuqkpDnuik1sg" type="2003" element="_fihqUKA5EeuqkpDnuik1sg">
75 <children xmi:type="notation:Node" xmi:id="_fit3k6A5EeuqkpDnuik1sg" type="5007"/> 75 <children xmi:type="notation:Node" xmi:id="_fit3k6A5EeuqkpDnuik1sg" type="5007"/>
@@ -82,7 +82,7 @@
82 <styles xmi:type="notation:FilteringStyle" xmi:id="_fit3lqA5EeuqkpDnuik1sg"/> 82 <styles xmi:type="notation:FilteringStyle" xmi:id="_fit3lqA5EeuqkpDnuik1sg"/>
83 </children> 83 </children>
84 <styles xmi:type="notation:ShapeStyle" xmi:id="_fit3kaA5EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 84 <styles xmi:type="notation:ShapeStyle" xmi:id="_fit3kaA5EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
85 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fit3kqA5EeuqkpDnuik1sg" x="1056" y="564" width="120" height="100"/> 85 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fit3kqA5EeuqkpDnuik1sg" x="1236" y="720" width="120" height="100"/>
86 </children> 86 </children>
87 <children xmi:type="notation:Node" xmi:id="_QKLK0KA6EeuqkpDnuik1sg" type="2003" element="_QKD2EKA6EeuqkpDnuik1sg"> 87 <children xmi:type="notation:Node" xmi:id="_QKLK0KA6EeuqkpDnuik1sg" type="2003" element="_QKD2EKA6EeuqkpDnuik1sg">
88 <children xmi:type="notation:Node" xmi:id="_QKLK06A6EeuqkpDnuik1sg" type="5007"/> 88 <children xmi:type="notation:Node" xmi:id="_QKLK06A6EeuqkpDnuik1sg" type="5007"/>
@@ -91,7 +91,7 @@
91 <styles xmi:type="notation:FilteringStyle" xmi:id="_QKLK1qA6EeuqkpDnuik1sg"/> 91 <styles xmi:type="notation:FilteringStyle" xmi:id="_QKLK1qA6EeuqkpDnuik1sg"/>
92 </children> 92 </children>
93 <styles xmi:type="notation:ShapeStyle" xmi:id="_QKLK0aA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 93 <styles xmi:type="notation:ShapeStyle" xmi:id="_QKLK0aA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
94 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QKLK0qA6EeuqkpDnuik1sg" x="888" y="804" width="120" height="100"/> 94 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QKLK0qA6EeuqkpDnuik1sg" x="1068" y="960" width="120" height="100"/>
95 </children> 95 </children>
96 <children xmi:type="notation:Node" xmi:id="_jP6FkKA6EeuqkpDnuik1sg" type="2003" element="_jPpm4KA6EeuqkpDnuik1sg"> 96 <children xmi:type="notation:Node" xmi:id="_jP6FkKA6EeuqkpDnuik1sg" type="2003" element="_jPpm4KA6EeuqkpDnuik1sg">
97 <children xmi:type="notation:Node" xmi:id="_jP6soKA6EeuqkpDnuik1sg" type="5007"/> 97 <children xmi:type="notation:Node" xmi:id="_jP6soKA6EeuqkpDnuik1sg" type="5007"/>
@@ -100,7 +100,7 @@
100 <styles xmi:type="notation:FilteringStyle" xmi:id="_jP6so6A6EeuqkpDnuik1sg"/> 100 <styles xmi:type="notation:FilteringStyle" xmi:id="_jP6so6A6EeuqkpDnuik1sg"/>
101 </children> 101 </children>
102 <styles xmi:type="notation:ShapeStyle" xmi:id="_jP6FkaA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 102 <styles xmi:type="notation:ShapeStyle" xmi:id="_jP6FkaA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
103 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jP6FkqA6EeuqkpDnuik1sg" x="876" y="564" width="120" height="100"/> 103 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jP6FkqA6EeuqkpDnuik1sg" x="1056" y="720" width="120" height="100"/>
104 </children> 104 </children>
105 <children xmi:type="notation:Node" xmi:id="_sdPX0KA6EeuqkpDnuik1sg" type="2003" element="_sc_gMKA6EeuqkpDnuik1sg"> 105 <children xmi:type="notation:Node" xmi:id="_sdPX0KA6EeuqkpDnuik1sg" type="2003" element="_sc_gMKA6EeuqkpDnuik1sg">
106 <children xmi:type="notation:Node" xmi:id="_sdP-4KA6EeuqkpDnuik1sg" type="5007"/> 106 <children xmi:type="notation:Node" xmi:id="_sdP-4KA6EeuqkpDnuik1sg" type="5007"/>
@@ -109,7 +109,7 @@
109 <styles xmi:type="notation:FilteringStyle" xmi:id="_sdP-46A6EeuqkpDnuik1sg"/> 109 <styles xmi:type="notation:FilteringStyle" xmi:id="_sdP-46A6EeuqkpDnuik1sg"/>
110 </children> 110 </children>
111 <styles xmi:type="notation:ShapeStyle" xmi:id="_sdPX0aA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 111 <styles xmi:type="notation:ShapeStyle" xmi:id="_sdPX0aA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
112 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sdPX0qA6EeuqkpDnuik1sg" x="1056" y="804" width="120" height="100"/> 112 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sdPX0qA6EeuqkpDnuik1sg" x="1236" y="960" width="120" height="100"/>
113 </children> 113 </children>
114 <children xmi:type="notation:Node" xmi:id="_4k5GIKA6EeuqkpDnuik1sg" type="2003" element="_4k00sKA6EeuqkpDnuik1sg"> 114 <children xmi:type="notation:Node" xmi:id="_4k5GIKA6EeuqkpDnuik1sg" type="2003" element="_4k00sKA6EeuqkpDnuik1sg">
115 <children xmi:type="notation:Node" xmi:id="_4k5GI6A6EeuqkpDnuik1sg" type="5007"/> 115 <children xmi:type="notation:Node" xmi:id="_4k5GI6A6EeuqkpDnuik1sg" type="5007"/>
@@ -118,7 +118,7 @@
118 <styles xmi:type="notation:FilteringStyle" xmi:id="_4k5GJqA6EeuqkpDnuik1sg"/> 118 <styles xmi:type="notation:FilteringStyle" xmi:id="_4k5GJqA6EeuqkpDnuik1sg"/>
119 </children> 119 </children>
120 <styles xmi:type="notation:ShapeStyle" xmi:id="_4k5GIaA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 120 <styles xmi:type="notation:ShapeStyle" xmi:id="_4k5GIaA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
121 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4k5GIqA6EeuqkpDnuik1sg" x="1056" y="972" width="120" height="100"/> 121 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4k5GIqA6EeuqkpDnuik1sg" x="1236" y="1128" width="120" height="100"/>
122 </children> 122 </children>
123 <children xmi:type="notation:Node" xmi:id="_6KEUMKA6EeuqkpDnuik1sg" type="2003" element="_6J_bsKA6EeuqkpDnuik1sg"> 123 <children xmi:type="notation:Node" xmi:id="_6KEUMKA6EeuqkpDnuik1sg" type="2003" element="_6J_bsKA6EeuqkpDnuik1sg">
124 <children xmi:type="notation:Node" xmi:id="_6KEUM6A6EeuqkpDnuik1sg" type="5007"/> 124 <children xmi:type="notation:Node" xmi:id="_6KEUM6A6EeuqkpDnuik1sg" type="5007"/>
@@ -131,7 +131,7 @@
131 <styles xmi:type="notation:FilteringStyle" xmi:id="_6KEUNqA6EeuqkpDnuik1sg"/> 131 <styles xmi:type="notation:FilteringStyle" xmi:id="_6KEUNqA6EeuqkpDnuik1sg"/>
132 </children> 132 </children>
133 <styles xmi:type="notation:ShapeStyle" xmi:id="_6KEUMaA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 133 <styles xmi:type="notation:ShapeStyle" xmi:id="_6KEUMaA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
134 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6KEUMqA6EeuqkpDnuik1sg" x="984" y="1128" width="120" height="100"/> 134 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6KEUMqA6EeuqkpDnuik1sg" x="1164" y="1284" width="120" height="100"/>
135 </children> 135 </children>
136 <children xmi:type="notation:Node" xmi:id="_-O-UEKA6EeuqkpDnuik1sg" type="2003" element="_-O6CoKA6EeuqkpDnuik1sg"> 136 <children xmi:type="notation:Node" xmi:id="_-O-UEKA6EeuqkpDnuik1sg" type="2003" element="_-O6CoKA6EeuqkpDnuik1sg">
137 <children xmi:type="notation:Node" xmi:id="_-O-7IKA6EeuqkpDnuik1sg" type="5007"/> 137 <children xmi:type="notation:Node" xmi:id="_-O-7IKA6EeuqkpDnuik1sg" type="5007"/>
@@ -140,7 +140,7 @@
140 <styles xmi:type="notation:FilteringStyle" xmi:id="_-O-7I6A6EeuqkpDnuik1sg"/> 140 <styles xmi:type="notation:FilteringStyle" xmi:id="_-O-7I6A6EeuqkpDnuik1sg"/>
141 </children> 141 </children>
142 <styles xmi:type="notation:ShapeStyle" xmi:id="_-O-UEaA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 142 <styles xmi:type="notation:ShapeStyle" xmi:id="_-O-UEaA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
143 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-O-UEqA6EeuqkpDnuik1sg" x="1284" y="804" width="120" height="100"/> 143 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-O-UEqA6EeuqkpDnuik1sg" x="1464" y="960" width="120" height="100"/>
144 </children> 144 </children>
145 <children xmi:type="notation:Node" xmi:id="_V6pfMKA7EeuqkpDnuik1sg" type="2003" element="_V6YZcKA7EeuqkpDnuik1sg"> 145 <children xmi:type="notation:Node" xmi:id="_V6pfMKA7EeuqkpDnuik1sg" type="2003" element="_V6YZcKA7EeuqkpDnuik1sg">
146 <children xmi:type="notation:Node" xmi:id="_V6qGQKA7EeuqkpDnuik1sg" type="5007"/> 146 <children xmi:type="notation:Node" xmi:id="_V6qGQKA7EeuqkpDnuik1sg" type="5007"/>
@@ -149,7 +149,7 @@
149 <styles xmi:type="notation:FilteringStyle" xmi:id="_V6qGQ6A7EeuqkpDnuik1sg"/> 149 <styles xmi:type="notation:FilteringStyle" xmi:id="_V6qGQ6A7EeuqkpDnuik1sg"/>
150 </children> 150 </children>
151 <styles xmi:type="notation:ShapeStyle" xmi:id="_V6pfMaA7EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 151 <styles xmi:type="notation:ShapeStyle" xmi:id="_V6pfMaA7EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
152 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V6pfMqA7EeuqkpDnuik1sg" x="1188" y="1128" width="120" height="100"/> 152 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V6pfMqA7EeuqkpDnuik1sg" x="1368" y="1284" width="120" height="100"/>
153 </children> 153 </children>
154 <children xmi:type="notation:Node" xmi:id="_rRhWIKA7EeuqkpDnuik1sg" type="2003" element="_rRcdoKA7EeuqkpDnuik1sg"> 154 <children xmi:type="notation:Node" xmi:id="_rRhWIKA7EeuqkpDnuik1sg" type="2003" element="_rRcdoKA7EeuqkpDnuik1sg">
155 <children xmi:type="notation:Node" xmi:id="_rRh9MKA7EeuqkpDnuik1sg" type="5007"/> 155 <children xmi:type="notation:Node" xmi:id="_rRh9MKA7EeuqkpDnuik1sg" type="5007"/>
@@ -158,7 +158,7 @@
158 <styles xmi:type="notation:FilteringStyle" xmi:id="_rRh9M6A7EeuqkpDnuik1sg"/> 158 <styles xmi:type="notation:FilteringStyle" xmi:id="_rRh9M6A7EeuqkpDnuik1sg"/>
159 </children> 159 </children>
160 <styles xmi:type="notation:ShapeStyle" xmi:id="_rRhWIaA7EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 160 <styles xmi:type="notation:ShapeStyle" xmi:id="_rRhWIaA7EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
161 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rRhWIqA7EeuqkpDnuik1sg" x="1270" y="564" width="147" height="100"/> 161 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rRhWIqA7EeuqkpDnuik1sg" x="1450" y="720" width="147" height="100"/>
162 </children> 162 </children>
163 <children xmi:type="notation:Node" xmi:id="_p9wywKA8EeuqkpDnuik1sg" type="2003" element="_p9d30KA8EeuqkpDnuik1sg"> 163 <children xmi:type="notation:Node" xmi:id="_p9wywKA8EeuqkpDnuik1sg" type="2003" element="_p9d30KA8EeuqkpDnuik1sg">
164 <children xmi:type="notation:Node" xmi:id="_p9xZ0KA8EeuqkpDnuik1sg" type="5007"/> 164 <children xmi:type="notation:Node" xmi:id="_p9xZ0KA8EeuqkpDnuik1sg" type="5007"/>
@@ -171,7 +171,7 @@
171 <styles xmi:type="notation:FilteringStyle" xmi:id="_p9xZ06A8EeuqkpDnuik1sg"/> 171 <styles xmi:type="notation:FilteringStyle" xmi:id="_p9xZ06A8EeuqkpDnuik1sg"/>
172 </children> 172 </children>
173 <styles xmi:type="notation:ShapeStyle" xmi:id="_p9wywaA8EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 173 <styles xmi:type="notation:ShapeStyle" xmi:id="_p9wywaA8EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
174 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p9wywqA8EeuqkpDnuik1sg" x="1284" y="372" width="120" height="100"/> 174 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p9wywqA8EeuqkpDnuik1sg" x="1464" y="528" width="120" height="100"/>
175 </children> 175 </children>
176 <children xmi:type="notation:Node" xmi:id="_xsq_MKA8EeuqkpDnuik1sg" type="2003" element="_xsYrUKA8EeuqkpDnuik1sg"> 176 <children xmi:type="notation:Node" xmi:id="_xsq_MKA8EeuqkpDnuik1sg" type="2003" element="_xsYrUKA8EeuqkpDnuik1sg">
177 <children xmi:type="notation:Node" xmi:id="_xsrmQKA8EeuqkpDnuik1sg" type="5007"/> 177 <children xmi:type="notation:Node" xmi:id="_xsrmQKA8EeuqkpDnuik1sg" type="5007"/>
@@ -180,7 +180,7 @@
180 <styles xmi:type="notation:FilteringStyle" xmi:id="_xsrmQ6A8EeuqkpDnuik1sg"/> 180 <styles xmi:type="notation:FilteringStyle" xmi:id="_xsrmQ6A8EeuqkpDnuik1sg"/>
181 </children> 181 </children>
182 <styles xmi:type="notation:ShapeStyle" xmi:id="_xsq_MaA8EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 182 <styles xmi:type="notation:ShapeStyle" xmi:id="_xsq_MaA8EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
183 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xsq_MqA8EeuqkpDnuik1sg" x="1512" y="372" width="120" height="100"/> 183 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xsq_MqA8EeuqkpDnuik1sg" x="1692" y="528" width="120" height="100"/>
184 </children> 184 </children>
185 <children xmi:type="notation:Node" xmi:id="_BMfjMKA9EeuqkpDnuik1sg" type="2003" element="_BMXnYKA9EeuqkpDnuik1sg"> 185 <children xmi:type="notation:Node" xmi:id="_BMfjMKA9EeuqkpDnuik1sg" type="2003" element="_BMXnYKA9EeuqkpDnuik1sg">
186 <children xmi:type="notation:Node" xmi:id="_BMfjM6A9EeuqkpDnuik1sg" type="5007"/> 186 <children xmi:type="notation:Node" xmi:id="_BMfjM6A9EeuqkpDnuik1sg" type="5007"/>
@@ -201,7 +201,7 @@
201 <styles xmi:type="notation:FilteringStyle" xmi:id="_BMfjNqA9EeuqkpDnuik1sg"/> 201 <styles xmi:type="notation:FilteringStyle" xmi:id="_BMfjNqA9EeuqkpDnuik1sg"/>
202 </children> 202 </children>
203 <styles xmi:type="notation:ShapeStyle" xmi:id="_BMfjMaA9EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 203 <styles xmi:type="notation:ShapeStyle" xmi:id="_BMfjMaA9EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
204 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BMfjMqA9EeuqkpDnuik1sg" x="1512" y="564" width="120" height="100"/> 204 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BMfjMqA9EeuqkpDnuik1sg" x="1692" y="720" width="120" height="100"/>
205 </children> 205 </children>
206 <children xmi:type="notation:Node" xmi:id="_QUDYMKA9EeuqkpDnuik1sg" type="2003" element="_QTzgkKA9EeuqkpDnuik1sg"> 206 <children xmi:type="notation:Node" xmi:id="_QUDYMKA9EeuqkpDnuik1sg" type="2003" element="_QTzgkKA9EeuqkpDnuik1sg">
207 <children xmi:type="notation:Node" xmi:id="_QUDYM6A9EeuqkpDnuik1sg" type="5007"/> 207 <children xmi:type="notation:Node" xmi:id="_QUDYM6A9EeuqkpDnuik1sg" type="5007"/>
@@ -210,7 +210,7 @@
210 <styles xmi:type="notation:FilteringStyle" xmi:id="_QUDYNqA9EeuqkpDnuik1sg"/> 210 <styles xmi:type="notation:FilteringStyle" xmi:id="_QUDYNqA9EeuqkpDnuik1sg"/>
211 </children> 211 </children>
212 <styles xmi:type="notation:ShapeStyle" xmi:id="_QUDYMaA9EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 212 <styles xmi:type="notation:ShapeStyle" xmi:id="_QUDYMaA9EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
213 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QUDYMqA9EeuqkpDnuik1sg" x="156" y="372" width="120" height="100"/> 213 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QUDYMqA9EeuqkpDnuik1sg" x="336" y="528" width="120" height="100"/>
214 </children> 214 </children>
215 <children xmi:type="notation:Node" xmi:id="_e73WIKA9EeuqkpDnuik1sg" type="2003" element="_e7ydoKA9EeuqkpDnuik1sg"> 215 <children xmi:type="notation:Node" xmi:id="_e73WIKA9EeuqkpDnuik1sg" type="2003" element="_e7ydoKA9EeuqkpDnuik1sg">
216 <children xmi:type="notation:Node" xmi:id="_e73WI6A9EeuqkpDnuik1sg" type="5007"/> 216 <children xmi:type="notation:Node" xmi:id="_e73WI6A9EeuqkpDnuik1sg" type="5007"/>
@@ -219,7 +219,7 @@
219 <styles xmi:type="notation:FilteringStyle" xmi:id="_e73WJqA9EeuqkpDnuik1sg"/> 219 <styles xmi:type="notation:FilteringStyle" xmi:id="_e73WJqA9EeuqkpDnuik1sg"/>
220 </children> 220 </children>
221 <styles xmi:type="notation:ShapeStyle" xmi:id="_e73WIaA9EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 221 <styles xmi:type="notation:ShapeStyle" xmi:id="_e73WIaA9EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
222 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e73WIqA9EeuqkpDnuik1sg" x="624" y="180" width="120" height="100"/> 222 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e73WIqA9EeuqkpDnuik1sg" x="804" y="336" width="120" height="100"/>
223 </children> 223 </children>
224 <children xmi:type="notation:Node" xmi:id="_zaq8oKA9EeuqkpDnuik1sg" type="2003" element="_zac6MKA9EeuqkpDnuik1sg"> 224 <children xmi:type="notation:Node" xmi:id="_zaq8oKA9EeuqkpDnuik1sg" type="2003" element="_zac6MKA9EeuqkpDnuik1sg">
225 <children xmi:type="notation:Node" xmi:id="_zarjsKA9EeuqkpDnuik1sg" type="5007"/> 225 <children xmi:type="notation:Node" xmi:id="_zarjsKA9EeuqkpDnuik1sg" type="5007"/>
@@ -232,7 +232,7 @@
232 <styles xmi:type="notation:FilteringStyle" xmi:id="_zarjs6A9EeuqkpDnuik1sg"/> 232 <styles xmi:type="notation:FilteringStyle" xmi:id="_zarjs6A9EeuqkpDnuik1sg"/>
233 </children> 233 </children>
234 <styles xmi:type="notation:ShapeStyle" xmi:id="_zaq8oaA9EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 234 <styles xmi:type="notation:ShapeStyle" xmi:id="_zaq8oaA9EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
235 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zaq8oqA9EeuqkpDnuik1sg" x="156" y="564" width="120" height="99"/> 235 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zaq8oqA9EeuqkpDnuik1sg" x="336" y="720" width="120" height="99"/>
236 </children> 236 </children>
237 <children xmi:type="notation:Node" xmi:id="_Ren3cKBJEeuqkpDnuik1sg" type="2003" element="_ReiX4KBJEeuqkpDnuik1sg"> 237 <children xmi:type="notation:Node" xmi:id="_Ren3cKBJEeuqkpDnuik1sg" type="2003" element="_ReiX4KBJEeuqkpDnuik1sg">
238 <children xmi:type="notation:Node" xmi:id="_Ren3c6BJEeuqkpDnuik1sg" type="5007"/> 238 <children xmi:type="notation:Node" xmi:id="_Ren3c6BJEeuqkpDnuik1sg" type="5007"/>
@@ -241,7 +241,7 @@
241 <styles xmi:type="notation:FilteringStyle" xmi:id="_Ren3dqBJEeuqkpDnuik1sg"/> 241 <styles xmi:type="notation:FilteringStyle" xmi:id="_Ren3dqBJEeuqkpDnuik1sg"/>
242 </children> 242 </children>
243 <styles xmi:type="notation:ShapeStyle" xmi:id="_Ren3caBJEeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 243 <styles xmi:type="notation:ShapeStyle" xmi:id="_Ren3caBJEeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
244 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ren3cqBJEeuqkpDnuik1sg" x="156" y="804" width="120" height="100"/> 244 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ren3cqBJEeuqkpDnuik1sg" x="336" y="960" width="120" height="100"/>
245 </children> 245 </children>
246 <children xmi:type="notation:Node" xmi:id="_Tx6IsKBJEeuqkpDnuik1sg" type="2003" element="_Tx0CEKBJEeuqkpDnuik1sg"> 246 <children xmi:type="notation:Node" xmi:id="_Tx6IsKBJEeuqkpDnuik1sg" type="2003" element="_Tx0CEKBJEeuqkpDnuik1sg">
247 <children xmi:type="notation:Node" xmi:id="_Tx6Is6BJEeuqkpDnuik1sg" type="5007"/> 247 <children xmi:type="notation:Node" xmi:id="_Tx6Is6BJEeuqkpDnuik1sg" type="5007"/>
@@ -258,7 +258,7 @@
258 <styles xmi:type="notation:FilteringStyle" xmi:id="_Tx6ItqBJEeuqkpDnuik1sg"/> 258 <styles xmi:type="notation:FilteringStyle" xmi:id="_Tx6ItqBJEeuqkpDnuik1sg"/>
259 </children> 259 </children>
260 <styles xmi:type="notation:ShapeStyle" xmi:id="_Tx6IsaBJEeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 260 <styles xmi:type="notation:ShapeStyle" xmi:id="_Tx6IsaBJEeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
261 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Tx6IsqBJEeuqkpDnuik1sg" x="48" y="972" width="120" height="100"/> 261 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Tx6IsqBJEeuqkpDnuik1sg" x="240" y="1128" width="120" height="100"/>
262 </children> 262 </children>
263 <children xmi:type="notation:Node" xmi:id="_aPNjUKBJEeuqkpDnuik1sg" type="2003" element="_aPIDwKBJEeuqkpDnuik1sg"> 263 <children xmi:type="notation:Node" xmi:id="_aPNjUKBJEeuqkpDnuik1sg" type="2003" element="_aPIDwKBJEeuqkpDnuik1sg">
264 <children xmi:type="notation:Node" xmi:id="_aPOKYKBJEeuqkpDnuik1sg" type="5007"/> 264 <children xmi:type="notation:Node" xmi:id="_aPOKYKBJEeuqkpDnuik1sg" type="5007"/>
@@ -271,7 +271,25 @@
271 <styles xmi:type="notation:FilteringStyle" xmi:id="_aPOKY6BJEeuqkpDnuik1sg"/> 271 <styles xmi:type="notation:FilteringStyle" xmi:id="_aPOKY6BJEeuqkpDnuik1sg"/>
272 </children> 272 </children>
273 <styles xmi:type="notation:ShapeStyle" xmi:id="_aPNjUaBJEeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 273 <styles xmi:type="notation:ShapeStyle" xmi:id="_aPNjUaBJEeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
274 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aPNjUqBJEeuqkpDnuik1sg" x="228" y="972" width="120" height="100"/> 274 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aPNjUqBJEeuqkpDnuik1sg" x="408" y="1128" width="120" height="100"/>
275 </children>
276 <children xmi:type="notation:Node" xmi:id="_D-lH8NYBEeuF_d0WEhR3Xw" type="2003" element="_D9_5INYBEeuF_d0WEhR3Xw">
277 <children xmi:type="notation:Node" xmi:id="_D-lvANYBEeuF_d0WEhR3Xw" type="5007"/>
278 <children xmi:type="notation:Node" xmi:id="_D-lvAdYBEeuF_d0WEhR3Xw" type="7004">
279 <styles xmi:type="notation:SortingStyle" xmi:id="_D-lvAtYBEeuF_d0WEhR3Xw"/>
280 <styles xmi:type="notation:FilteringStyle" xmi:id="_D-lvA9YBEeuF_d0WEhR3Xw"/>
281 </children>
282 <styles xmi:type="notation:ShapeStyle" xmi:id="_D-lH8dYBEeuF_d0WEhR3Xw" fontName="Noto Sans" fontHeight="8"/>
283 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D-lH8tYBEeuF_d0WEhR3Xw" x="48" y="1128" width="147" height="100"/>
284 </children>
285 <children xmi:type="notation:Node" xmi:id="_IwsqwNYPEeuF_d0WEhR3Xw" type="2003" element="_IwJ4MNYPEeuF_d0WEhR3Xw">
286 <children xmi:type="notation:Node" xmi:id="_IwtR0NYPEeuF_d0WEhR3Xw" type="5007"/>
287 <children xmi:type="notation:Node" xmi:id="_IwtR0dYPEeuF_d0WEhR3Xw" type="7004">
288 <styles xmi:type="notation:SortingStyle" xmi:id="_IwtR0tYPEeuF_d0WEhR3Xw"/>
289 <styles xmi:type="notation:FilteringStyle" xmi:id="_IwtR09YPEeuF_d0WEhR3Xw"/>
290 </children>
291 <styles xmi:type="notation:ShapeStyle" xmi:id="_IwsqwdYPEeuF_d0WEhR3Xw" fontName="Noto Sans" fontHeight="8"/>
292 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IwsqwtYPEeuF_d0WEhR3Xw" x="996" y="1476" width="120" height="100"/>
275 </children> 293 </children>
276 <styles xmi:type="notation:DiagramStyle" xmi:id="_CsZB8qA4EeuqkpDnuik1sg"/> 294 <styles xmi:type="notation:DiagramStyle" xmi:id="_CsZB8qA4EeuqkpDnuik1sg"/>
277 <edges xmi:type="notation:Edge" xmi:id="_ODhSQKA4EeuqkpDnuik1sg" type="4001" element="_ODPlcKA4EeuqkpDnuik1sg" source="_JT0o8KA4EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg"> 295 <edges xmi:type="notation:Edge" xmi:id="_ODhSQKA4EeuqkpDnuik1sg" type="4001" element="_ODPlcKA4EeuqkpDnuik1sg" source="_JT0o8KA4EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg">
@@ -420,7 +438,7 @@
420 </edges> 438 </edges>
421 <edges xmi:type="notation:Edge" xmi:id="_Z7WJ8KA6EeuqkpDnuik1sg" type="4001" element="_Z7FrQKA6EeuqkpDnuik1sg" source="_QKLK0KA6EeuqkpDnuik1sg" target="_JT0o8KA4EeuqkpDnuik1sg"> 439 <edges xmi:type="notation:Edge" xmi:id="_Z7WJ8KA6EeuqkpDnuik1sg" type="4001" element="_Z7FrQKA6EeuqkpDnuik1sg" source="_QKLK0KA6EeuqkpDnuik1sg" target="_JT0o8KA4EeuqkpDnuik1sg">
422 <children xmi:type="notation:Node" xmi:id="_Z7WJ9KA6EeuqkpDnuik1sg" type="6001"> 440 <children xmi:type="notation:Node" xmi:id="_Z7WJ9KA6EeuqkpDnuik1sg" type="6001">
423 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z7WJ9aA6EeuqkpDnuik1sg" x="-49" y="125"/> 441 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z7WJ9aA6EeuqkpDnuik1sg" x="-49" y="113"/>
424 </children> 442 </children>
425 <children xmi:type="notation:Node" xmi:id="_Z7WJ9qA6EeuqkpDnuik1sg" type="6002"> 443 <children xmi:type="notation:Node" xmi:id="_Z7WJ9qA6EeuqkpDnuik1sg" type="6002">
426 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z7WJ96A6EeuqkpDnuik1sg" x="104" y="113"/> 444 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z7WJ96A6EeuqkpDnuik1sg" x="104" y="113"/>
@@ -591,41 +609,25 @@
591 <styles xmi:type="notation:ConnectorStyle" xmi:id="_D9xNcaA8EeuqkpDnuik1sg" routing="Tree"/> 609 <styles xmi:type="notation:ConnectorStyle" xmi:id="_D9xNcaA8EeuqkpDnuik1sg" routing="Tree"/>
592 <styles xmi:type="notation:FontStyle" xmi:id="_D9xNcqA8EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 610 <styles xmi:type="notation:FontStyle" xmi:id="_D9xNcqA8EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
593 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D9xNc6A8EeuqkpDnuik1sg" points="[0, 0, -72, 58]$[72, -58, 0, 0]"/> 611 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D9xNc6A8EeuqkpDnuik1sg" points="[0, 0, -72, 58]$[72, -58, 0, 0]"/>
594 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D9x0hqA8EeuqkpDnuik1sg" id="(0.3050847457627119,0.0)"/> 612 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D9x0hqA8EeuqkpDnuik1sg" id="(0.3728813559322034,0.02040816326530612)"/>
595 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D9x0h6A8EeuqkpDnuik1sg" id="(0.4067796610169492,0.0)"/> 613 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D9x0h6A8EeuqkpDnuik1sg" id="(0.4067796610169492,0.0)"/>
596 </edges> 614 </edges>
597 <edges xmi:type="notation:Edge" xmi:id="_Vj1sQKA8EeuqkpDnuik1sg" type="4001" element="_VjwMzqA8EeuqkpDnuik1sg" source="_6KEUMKA6EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg"> 615 <edges xmi:type="notation:Edge" xmi:id="_Vj1sQKA8EeuqkpDnuik1sg" type="4001" element="_VjwMzqA8EeuqkpDnuik1sg" source="_6KEUMKA6EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg">
598 <children xmi:type="notation:Node" xmi:id="_Vj1sRKA8EeuqkpDnuik1sg" type="6001"> 616 <children xmi:type="notation:Node" xmi:id="_Vj1sRKA8EeuqkpDnuik1sg" type="6001">
599 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vj1sRaA8EeuqkpDnuik1sg" x="-103" y="500"/> 617 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vj1sRaA8EeuqkpDnuik1sg" x="-79" y="526"/>
600 </children> 618 </children>
601 <children xmi:type="notation:Node" xmi:id="_Vj1sRqA8EeuqkpDnuik1sg" type="6002"> 619 <children xmi:type="notation:Node" xmi:id="_Vj1sRqA8EeuqkpDnuik1sg" type="6002">
602 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vj1sR6A8EeuqkpDnuik1sg" x="105" y="-10"/> 620 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vj1sR6A8EeuqkpDnuik1sg" x="113" y="-10"/>
603 </children> 621 </children>
604 <children xmi:type="notation:Node" xmi:id="_Vj1sSKA8EeuqkpDnuik1sg" type="6003"> 622 <children xmi:type="notation:Node" xmi:id="_Vj1sSKA8EeuqkpDnuik1sg" type="6003">
605 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vj1sSaA8EeuqkpDnuik1sg" x="-55" y="10"/> 623 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vj1sSaA8EeuqkpDnuik1sg" x="-62" y="10"/>
606 </children> 624 </children>
607 <styles xmi:type="notation:ConnectorStyle" xmi:id="_Vj1sQaA8EeuqkpDnuik1sg" routing="Rectilinear"/> 625 <styles xmi:type="notation:ConnectorStyle" xmi:id="_Vj1sQaA8EeuqkpDnuik1sg" routing="Rectilinear"/>
608 <styles xmi:type="notation:FontStyle" xmi:id="_Vj1sQqA8EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/> 626 <styles xmi:type="notation:FontStyle" xmi:id="_Vj1sQqA8EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
609 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Vj1sQ6A8EeuqkpDnuik1sg" points="[-48, 72, 481, 730]$[-648, 72, -119, 730]$[-648, -708, -119, -50]$[-588, -708, -59, -50]"/> 627 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Vj1sQ6A8EeuqkpDnuik1sg" points="[-48, 24, 481, 682]$[-648, 24, -119, 682]$[-648, -708, -119, -50]$[-588, -708, -59, -50]"/>
610 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Vj1sSqA8EeuqkpDnuik1sg" id="(0.4067796610169492,0.0)"/> 628 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Vj1sSqA8EeuqkpDnuik1sg" id="(0.4067796610169492,0.0)"/>
611 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Vj1sS6A8EeuqkpDnuik1sg" id="(0.5,1.0)"/> 629 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Vj1sS6A8EeuqkpDnuik1sg" id="(0.5,1.0)"/>
612 </edges> 630 </edges>
613 <edges xmi:type="notation:Edge" xmi:id="_ktTlwKA8EeuqkpDnuik1sg" type="4001" element="_ktEVOaA8EeuqkpDnuik1sg" source="_6KEUMKA6EeuqkpDnuik1sg" target="_jP6FkKA6EeuqkpDnuik1sg">
614 <children xmi:type="notation:Node" xmi:id="_ktUM0KA8EeuqkpDnuik1sg" type="6001">
615 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ktUM0aA8EeuqkpDnuik1sg" x="-205" y="202"/>
616 </children>
617 <children xmi:type="notation:Node" xmi:id="_ktUM0qA8EeuqkpDnuik1sg" type="6002">
618 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ktUM06A8EeuqkpDnuik1sg" x="100" y="122"/>
619 </children>
620 <children xmi:type="notation:Node" xmi:id="_ktUM1KA8EeuqkpDnuik1sg" type="6003">
621 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ktUM1aA8EeuqkpDnuik1sg" x="9" y="137"/>
622 </children>
623 <styles xmi:type="notation:ConnectorStyle" xmi:id="_ktTlwaA8EeuqkpDnuik1sg" routing="Rectilinear"/>
624 <styles xmi:type="notation:FontStyle" xmi:id="_ktTlwqA8EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
625 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ktTlw6A8EeuqkpDnuik1sg" points="[-12, 36, 96, 502]$[-264, 36, -156, 502]$[-264, -516, -156, -50]$[-120, -516, -12, -50]"/>
626 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ktUM1qA8EeuqkpDnuik1sg" id="(0.1016949152542373,0.0)"/>
627 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ktUM16A8EeuqkpDnuik1sg" id="(0.1016949152542373,1.0)"/>
628 </edges>
629 <edges xmi:type="notation:Edge" xmi:id="_w-zMkKA8EeuqkpDnuik1sg" type="4001" element="_w-iG36A8EeuqkpDnuik1sg" source="_p9wywKA8EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg"> 631 <edges xmi:type="notation:Edge" xmi:id="_w-zMkKA8EeuqkpDnuik1sg" type="4001" element="_w-iG36A8EeuqkpDnuik1sg" source="_p9wywKA8EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg">
630 <children xmi:type="notation:Node" xmi:id="_w-zMlKA8EeuqkpDnuik1sg" type="6001"> 632 <children xmi:type="notation:Node" xmi:id="_w-zMlKA8EeuqkpDnuik1sg" type="6001">
631 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w-zMlaA8EeuqkpDnuik1sg" x="174" y="-10"/> 633 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w-zMlaA8EeuqkpDnuik1sg" x="174" y="-10"/>
@@ -644,17 +646,17 @@
644 </edges> 646 </edges>
645 <edges xmi:type="notation:Edge" xmi:id="_2VC4gKA8EeuqkpDnuik1sg" type="4001" element="_2U4ggqA8EeuqkpDnuik1sg" source="_xsq_MKA8EeuqkpDnuik1sg" target="_RzZA0KA5EeuqkpDnuik1sg"> 647 <edges xmi:type="notation:Edge" xmi:id="_2VC4gKA8EeuqkpDnuik1sg" type="4001" element="_2U4ggqA8EeuqkpDnuik1sg" source="_xsq_MKA8EeuqkpDnuik1sg" target="_RzZA0KA5EeuqkpDnuik1sg">
646 <children xmi:type="notation:Node" xmi:id="_2VC4hKA8EeuqkpDnuik1sg" type="6001"> 648 <children xmi:type="notation:Node" xmi:id="_2VC4hKA8EeuqkpDnuik1sg" type="6001">
647 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2VC4haA8EeuqkpDnuik1sg" x="-172" y="-10"/> 649 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2VC4haA8EeuqkpDnuik1sg" x="-328" y="-10"/>
648 </children> 650 </children>
649 <children xmi:type="notation:Node" xmi:id="_2VC4hqA8EeuqkpDnuik1sg" type="6002"> 651 <children xmi:type="notation:Node" xmi:id="_2VC4hqA8EeuqkpDnuik1sg" type="6002">
650 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2VC4h6A8EeuqkpDnuik1sg" x="-110" y="-20"/> 652 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2VC4h6A8EeuqkpDnuik1sg" x="-125" y="-38"/>
651 </children> 653 </children>
652 <children xmi:type="notation:Node" xmi:id="_2VC4iKA8EeuqkpDnuik1sg" type="6003"> 654 <children xmi:type="notation:Node" xmi:id="_2VC4iKA8EeuqkpDnuik1sg" type="6003">
653 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2VC4iaA8EeuqkpDnuik1sg" x="-63" y="99"/> 655 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2VC4iaA8EeuqkpDnuik1sg" x="-17" y="103"/>
654 </children> 656 </children>
655 <styles xmi:type="notation:ConnectorStyle" xmi:id="_2VC4gaA8EeuqkpDnuik1sg" routing="Tree"/> 657 <styles xmi:type="notation:ConnectorStyle" xmi:id="_2VC4gaA8EeuqkpDnuik1sg" routing="Tree"/>
656 <styles xmi:type="notation:FontStyle" xmi:id="_2VC4gqA8EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 658 <styles xmi:type="notation:FontStyle" xmi:id="_2VC4gqA8EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
657 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2VC4g6A8EeuqkpDnuik1sg" points="[0, -6, 1048, 143]$[0, -78, 1048, 71]$[-1047, -78, 1, 71]$[-1047, -100, 1, 49]"/> 659 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2VC4g6A8EeuqkpDnuik1sg" points="[0, -6, 1048, 455]$[0, -78, 1048, 383]$[-1047, -78, 1, 383]$[-1047, -412, 1, 49]"/>
658 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2VC4iqA8EeuqkpDnuik1sg" id="(0.3305084745762712,0.061224489795918366)"/> 660 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2VC4iqA8EeuqkpDnuik1sg" id="(0.3305084745762712,0.061224489795918366)"/>
659 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2VC4i6A8EeuqkpDnuik1sg" id="(0.5,0.5)"/> 661 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2VC4i6A8EeuqkpDnuik1sg" id="(0.5,0.5)"/>
660 </edges> 662 </edges>
@@ -882,6 +884,102 @@
882 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_p1c4ZqBJEeuqkpDnuik1sg" id="(0.0,0.5918367346938775)"/> 884 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_p1c4ZqBJEeuqkpDnuik1sg" id="(0.0,0.5918367346938775)"/>
883 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_p1c4Z6BJEeuqkpDnuik1sg" id="(1.0,0.5918367346938775)"/> 885 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_p1c4Z6BJEeuqkpDnuik1sg" id="(1.0,0.5918367346938775)"/>
884 </edges> 886 </edges>
887 <edges xmi:type="notation:Edge" xmi:id="_m_tfgNXtEeuF_d0WEhR3Xw" type="4001" element="_m-6OTNXtEeuF_d0WEhR3Xw" source="_D1D6MKA4EeuqkpDnuik1sg" target="_RzZA0KA5EeuqkpDnuik1sg">
888 <children xmi:type="notation:Node" xmi:id="_m_wi0NXtEeuF_d0WEhR3Xw" type="6001">
889 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_m_wi0dXtEeuF_d0WEhR3Xw" x="73" y="-10"/>
890 </children>
891 <children xmi:type="notation:Node" xmi:id="_m_xJ4NXtEeuF_d0WEhR3Xw" type="6002">
892 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_m_xJ4dXtEeuF_d0WEhR3Xw" x="-5" y="-9"/>
893 </children>
894 <children xmi:type="notation:Node" xmi:id="_m_xw8NXtEeuF_d0WEhR3Xw" type="6003">
895 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_m_xw8dXtEeuF_d0WEhR3Xw" x="-4" y="24"/>
896 </children>
897 <styles xmi:type="notation:ConnectorStyle" xmi:id="_m_tfgdXtEeuF_d0WEhR3Xw" routing="Tree"/>
898 <styles xmi:type="notation:FontStyle" xmi:id="_m_tfgtXtEeuF_d0WEhR3Xw" fontName="Noto Sans" fontHeight="8"/>
899 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_m_tfg9XtEeuF_d0WEhR3Xw" points="[0, 0, 205, 107]$[0, -24, 205, 83]$[-204, -24, 1, 83]$[-204, -58, 1, 49]"/>
900 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_m_00QNXtEeuF_d0WEhR3Xw" id="(0.711864406779661,0.0)"/>
901 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_m_00QdXtEeuF_d0WEhR3Xw" id="(0.5,0.5)"/>
902 </edges>
903 <edges xmi:type="notation:Edge" xmi:id="_HUhwENYBEeuF_d0WEhR3Xw" type="4001" element="_HUJ8o9YBEeuF_d0WEhR3Xw" source="_D-lH8NYBEeuF_d0WEhR3Xw" target="_Ren3cKBJEeuqkpDnuik1sg">
904 <children xmi:type="notation:Node" xmi:id="_HUhwFNYBEeuF_d0WEhR3Xw" type="6001">
905 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HUhwFdYBEeuF_d0WEhR3Xw" y="-10"/>
906 </children>
907 <children xmi:type="notation:Node" xmi:id="_HUhwFtYBEeuF_d0WEhR3Xw" type="6002">
908 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HUhwF9YBEeuF_d0WEhR3Xw" y="10"/>
909 </children>
910 <children xmi:type="notation:Node" xmi:id="_HUhwGNYBEeuF_d0WEhR3Xw" type="6003">
911 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HUhwGdYBEeuF_d0WEhR3Xw" y="10"/>
912 </children>
913 <styles xmi:type="notation:ConnectorStyle" xmi:id="_HUhwEdYBEeuF_d0WEhR3Xw" routing="Tree"/>
914 <styles xmi:type="notation:FontStyle" xmi:id="_HUhwEtYBEeuF_d0WEhR3Xw" fontName="Noto Sans" fontHeight="8"/>
915 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HUhwE9YBEeuF_d0WEhR3Xw" points="[0, 0, -228, 144]$[228, -144, 0, 0]"/>
916 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HUhwGtYBEeuF_d0WEhR3Xw" id="(0.41379310344827586,0.0)"/>
917 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HUhwG9YBEeuF_d0WEhR3Xw" id="(0.5,0.5)"/>
918 </edges>
919 <edges xmi:type="notation:Edge" xmi:id="_KnGywNYPEeuF_d0WEhR3Xw" type="4001" element="_KmxbkNYPEeuF_d0WEhR3Xw" source="_6KEUMKA6EeuqkpDnuik1sg" target="_IwsqwNYPEeuF_d0WEhR3Xw">
920 <children xmi:type="notation:Node" xmi:id="_KnHZ0NYPEeuF_d0WEhR3Xw" type="6001">
921 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KnHZ0dYPEeuF_d0WEhR3Xw" x="-23" y="-60"/>
922 </children>
923 <children xmi:type="notation:Node" xmi:id="_KnHZ0tYPEeuF_d0WEhR3Xw" type="6002">
924 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KnHZ09YPEeuF_d0WEhR3Xw" x="1" y="10"/>
925 </children>
926 <children xmi:type="notation:Node" xmi:id="_KnHZ1NYPEeuF_d0WEhR3Xw" type="6003">
927 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KnHZ1dYPEeuF_d0WEhR3Xw" x="-1" y="10"/>
928 </children>
929 <styles xmi:type="notation:ConnectorStyle" xmi:id="_KnGywdYPEeuF_d0WEhR3Xw" routing="Rectilinear"/>
930 <styles xmi:type="notation:FontStyle" xmi:id="_KnGywtYPEeuF_d0WEhR3Xw" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
931 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KnGyw9YPEeuF_d0WEhR3Xw" points="[0, 0, 89, -138]$[-110, 0, -21, -138]$[-110, 132, -21, -6]"/>
932 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KnHZ1tYPEeuF_d0WEhR3Xw" id="(0.0,0.6122448979591837)"/>
933 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KnHZ19YPEeuF_d0WEhR3Xw" id="(0.6694915254237288,0.061224489795918366)"/>
934 </edges>
935 <edges xmi:type="notation:Edge" xmi:id="_T1qNANYPEeuF_d0WEhR3Xw" type="4001" element="_T1fN5tYPEeuF_d0WEhR3Xw" source="_IwsqwNYPEeuF_d0WEhR3Xw" target="_jP6FkKA6EeuqkpDnuik1sg">
936 <children xmi:type="notation:Node" xmi:id="_T1qNBNYPEeuF_d0WEhR3Xw" type="6001">
937 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T1qNBdYPEeuF_d0WEhR3Xw" x="-390" y="43"/>
938 </children>
939 <children xmi:type="notation:Node" xmi:id="_T1qNBtYPEeuF_d0WEhR3Xw" type="6002">
940 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T1qNB9YPEeuF_d0WEhR3Xw" x="94" y="10"/>
941 </children>
942 <children xmi:type="notation:Node" xmi:id="_T1qNCNYPEeuF_d0WEhR3Xw" type="6003">
943 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T1qNCdYPEeuF_d0WEhR3Xw" x="-154" y="10"/>
944 </children>
945 <styles xmi:type="notation:ConnectorStyle" xmi:id="_T1qNAdYPEeuF_d0WEhR3Xw" routing="Rectilinear"/>
946 <styles xmi:type="notation:FontStyle" xmi:id="_T1qNAtYPEeuF_d0WEhR3Xw" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
947 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_T1qNA9YPEeuF_d0WEhR3Xw" points="[-36, 50, -96, 708]$[-120, 50, -180, 708]$[-120, -708, -180, -50]$[24, -708, -36, -50]"/>
948 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_T1qNCtYPEeuF_d0WEhR3Xw" id="(0.3050847457627119,0.0)"/>
949 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_T1qNC9YPEeuF_d0WEhR3Xw" id="(0.3050847457627119,1.0)"/>
950 </edges>
951 <edges xmi:type="notation:Edge" xmi:id="_byTTcNYPEeuF_d0WEhR3Xw" type="4001" element="_bx-jYtYPEeuF_d0WEhR3Xw" source="_IwsqwNYPEeuF_d0WEhR3Xw" target="_-O-UEKA6EeuqkpDnuik1sg">
952 <children xmi:type="notation:Node" xmi:id="_byTTdNYPEeuF_d0WEhR3Xw" type="6001">
953 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_byTTddYPEeuF_d0WEhR3Xw" x="-18" y="-246"/>
954 </children>
955 <children xmi:type="notation:Node" xmi:id="_byTTdtYPEeuF_d0WEhR3Xw" type="6002">
956 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_byTTd9YPEeuF_d0WEhR3Xw" x="-2" y="10"/>
957 </children>
958 <children xmi:type="notation:Node" xmi:id="_byTTeNYPEeuF_d0WEhR3Xw" type="6003">
959 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_byTTedYPEeuF_d0WEhR3Xw" x="-1" y="10"/>
960 </children>
961 <styles xmi:type="notation:ConnectorStyle" xmi:id="_byTTcdYPEeuF_d0WEhR3Xw" routing="Rectilinear"/>
962 <styles xmi:type="notation:FontStyle" xmi:id="_byTTctYPEeuF_d0WEhR3Xw" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
963 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_byTTc9YPEeuF_d0WEhR3Xw" points="[70, 48, -398, 466]$[480, 48, 12, 466]$[480, -418, 12, 0]"/>
964 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_byT6gNYPEeuF_d0WEhR3Xw" id="(0.4067796610169492,0.0)"/>
965 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_byT6gdYPEeuF_d0WEhR3Xw" id="(0.4067796610169492,1.0)"/>
966 </edges>
967 <edges xmi:type="notation:Edge" xmi:id="_-X6xcNawEeuymriYTNxK2g" type="4001" element="_-XLKltawEeuymriYTNxK2g" source="_JT0o8KA4EeuqkpDnuik1sg" target="_xsq_MKA8EeuqkpDnuik1sg">
968 <children xmi:type="notation:Node" xmi:id="_-X_C4NawEeuymriYTNxK2g" type="6001">
969 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-X_C4dawEeuymriYTNxK2g" x="-421" y="79"/>
970 </children>
971 <children xmi:type="notation:Node" xmi:id="_-X_p8NawEeuymriYTNxK2g" type="6002">
972 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-X_p8dawEeuymriYTNxK2g" x="-71" y="82"/>
973 </children>
974 <children xmi:type="notation:Node" xmi:id="_-YARANawEeuymriYTNxK2g" type="6003">
975 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-YARAdawEeuymriYTNxK2g" x="-90" y="10"/>
976 </children>
977 <styles xmi:type="notation:ConnectorStyle" xmi:id="_-X6xcdawEeuymriYTNxK2g" routing="Rectilinear"/>
978 <styles xmi:type="notation:FontStyle" xmi:id="_-X6xctawEeuymriYTNxK2g" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
979 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-X6xc9awEeuymriYTNxK2g" points="[0, 0, -902, 144]$[50, 0, -852, 144]$[50, -72, -852, 72]$[962, -72, 60, 72]$[962, -106, 60, 38]"/>
980 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-YCtQNawEeuymriYTNxK2g" id="(1.0,0.12244897959183673)"/>
981 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-YCtQdawEeuymriYTNxK2g" id="(0.0,0.6122448979591837)"/>
982 </edges>
885 </data> 983 </data>
886 </ownedAnnotationEntries> 984 </ownedAnnotationEntries>
887 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_Csiy8KA4EeuqkpDnuik1sg" source="DANNOTATION_CUSTOMIZATION_KEY"> 985 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_Csiy8KA4EeuqkpDnuik1sg" source="DANNOTATION_CUSTOMIZATION_KEY">
@@ -897,7 +995,7 @@
897 </computedStyleDescriptions> 995 </computedStyleDescriptions>
898 </data> 996 </data>
899 </ownedAnnotationEntries> 997 </ownedAnnotationEntries>
900 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_D05iIKA4EeuqkpDnuik1sg" name="Problem" tooltipText="" outgoingEdges="_4eU5TqA8EeuqkpDnuik1sg _hU64ZqA9EeuqkpDnuik1sg" width="12" height="10"> 998 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_D05iIKA4EeuqkpDnuik1sg" name="Problem" tooltipText="" outgoingEdges="_4eU5TqA8EeuqkpDnuik1sg _hU64ZqA9EeuqkpDnuik1sg _m-6OTNXtEeuF_d0WEhR3Xw" width="12" height="10">
901 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Problem"/> 999 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Problem"/>
902 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Problem"/> 1000 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Problem"/>
903 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 1001 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -920,7 +1018,7 @@
920 </ownedStyle> 1018 </ownedStyle>
921 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> 1019 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
922 </ownedDiagramElements> 1020 </ownedDiagramElements>
923 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_JTstIKA4EeuqkpDnuik1sg" name="ClassDeclaration" tooltipText="" outgoingEdges="_ODPlcKA4EeuqkpDnuik1sg _VtPctqA4EeuqkpDnuik1sg _jk6-PKA4EeuqkpDnuik1sg _plK3JqA9EeuqkpDnuik1sg" incomingEdges="_VtPctqA4EeuqkpDnuik1sg _ufJ3IKA4EeuqkpDnuik1sg _Z7FrQKA6EeuqkpDnuik1sg _2kWqbKA9EeuqkpDnuik1sg" width="12" height="10"> 1021 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_JTstIKA4EeuqkpDnuik1sg" name="ClassDeclaration" tooltipText="" outgoingEdges="_ODPlcKA4EeuqkpDnuik1sg _VtPctqA4EeuqkpDnuik1sg _jk6-PKA4EeuqkpDnuik1sg _plK3JqA9EeuqkpDnuik1sg _-XLKltawEeuymriYTNxK2g" incomingEdges="_VtPctqA4EeuqkpDnuik1sg _ufJ3IKA4EeuqkpDnuik1sg _Z7FrQKA6EeuqkpDnuik1sg _2kWqbKA9EeuqkpDnuik1sg" width="12" height="10">
924 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ClassDeclaration"/> 1022 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ClassDeclaration"/>
925 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ClassDeclaration"/> 1023 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ClassDeclaration"/>
926 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 1024 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -1037,7 +1135,7 @@
1037 </ownedStyle> 1135 </ownedStyle>
1038 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> 1136 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1039 </ownedDiagramElements> 1137 </ownedDiagramElements>
1040 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_RzK-YKA5EeuqkpDnuik1sg" name="NamedElement" tooltipText="" incomingEdges="_XWbypqA5EeuqkpDnuik1sg _l7apoqA6EeuqkpDnuik1sg _2U4ggqA8EeuqkpDnuik1sg" width="12" height="10"> 1138 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_RzK-YKA5EeuqkpDnuik1sg" name="NamedElement" tooltipText="" incomingEdges="_XWbypqA5EeuqkpDnuik1sg _l7apoqA6EeuqkpDnuik1sg _2U4ggqA8EeuqkpDnuik1sg _m-6OTNXtEeuF_d0WEhR3Xw" width="12" height="10">
1041 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//NamedElement"/> 1139 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//NamedElement"/>
1042 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//NamedElement"/> 1140 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//NamedElement"/>
1043 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 1141 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -1138,7 +1236,7 @@
1138 </ownedStyle> 1236 </ownedStyle>
1139 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> 1237 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1140 </ownedDiagramElements> 1238 </ownedDiagramElements>
1141 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_jPpm4KA6EeuqkpDnuik1sg" name="Variable" tooltipText="" outgoingEdges="_l7apoqA6EeuqkpDnuik1sg" incomingEdges="_oni4rKA6EeuqkpDnuik1sg _BVyUAKA7EeuqkpDnuik1sg _ktEVOaA8EeuqkpDnuik1sg" width="12" height="10"> 1239 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_jPpm4KA6EeuqkpDnuik1sg" name="Variable" tooltipText="" outgoingEdges="_l7apoqA6EeuqkpDnuik1sg" incomingEdges="_oni4rKA6EeuqkpDnuik1sg _BVyUAKA7EeuqkpDnuik1sg _T1fN5tYPEeuF_d0WEhR3Xw" width="12" height="10">
1142 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Variable"/> 1240 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Variable"/>
1143 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Variable"/> 1241 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Variable"/>
1144 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 1242 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -1210,7 +1308,7 @@
1210 </ownedStyle> 1308 </ownedStyle>
1211 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> 1309 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1212 </ownedDiagramElements> 1310 </ownedDiagramElements>
1213 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_6J_bsKA6EeuqkpDnuik1sg" name="Atom" tooltipText="" outgoingEdges="_D9lnQKA8EeuqkpDnuik1sg _VjwMzqA8EeuqkpDnuik1sg _ktEVOaA8EeuqkpDnuik1sg" incomingEdges="_UJJy0qBDEeuqkpDnuik1sg" width="12" height="10"> 1311 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_6J_bsKA6EeuqkpDnuik1sg" name="Atom" tooltipText="" outgoingEdges="_D9lnQKA8EeuqkpDnuik1sg _VjwMzqA8EeuqkpDnuik1sg _KmxbkNYPEeuF_d0WEhR3Xw" incomingEdges="_UJJy0qBDEeuqkpDnuik1sg" width="12" height="10">
1214 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Atom"/> 1312 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Atom"/>
1215 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Atom"/> 1313 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Atom"/>
1216 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 1314 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -1229,7 +1327,7 @@
1229 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> 1327 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
1230 </ownedElements> 1328 </ownedElements>
1231 </ownedDiagramElements> 1329 </ownedDiagramElements>
1232 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_-O6CoKA6EeuqkpDnuik1sg" name="ImplicitVariable" tooltipText="" outgoingEdges="_BVyUAKA7EeuqkpDnuik1sg" incomingEdges="_0UtN5qA7EeuqkpDnuik1sg" width="12" height="10"> 1330 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_-O6CoKA6EeuqkpDnuik1sg" name="ImplicitVariable" tooltipText="" outgoingEdges="_BVyUAKA7EeuqkpDnuik1sg" incomingEdges="_0UtN5qA7EeuqkpDnuik1sg _bx-jYtYPEeuF_d0WEhR3Xw" width="12" height="10">
1233 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ImplicitVariable"/> 1331 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ImplicitVariable"/>
1234 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ImplicitVariable"/> 1332 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ImplicitVariable"/>
1235 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 1333 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -1363,20 +1461,6 @@
1363 </ownedStyle> 1461 </ownedStyle>
1364 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> 1462 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1365 </ownedDiagramElements> 1463 </ownedDiagramElements>
1366 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_ktEVOaA8EeuqkpDnuik1sg" name="[0..*] arguments" sourceNode="_6J_bsKA6EeuqkpDnuik1sg" targetNode="_jPpm4KA6EeuqkpDnuik1sg">
1367 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Atom/arguments"/>
1368 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Atom/arguments"/>
1369 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_ktE8QKA8EeuqkpDnuik1sg" routingStyle="manhattan" strokeColor="0,0,0">
1370 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
1371 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_ktE8QqA8EeuqkpDnuik1sg" showIcon="false">
1372 <customFeatures>labelSize</customFeatures>
1373 </centerLabelStyle>
1374 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_ktE8QaA8EeuqkpDnuik1sg" showIcon="false" labelColor="39,76,114">
1375 <customFeatures>labelSize</customFeatures>
1376 </endLabelStyle>
1377 </ownedStyle>
1378 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1379 </ownedDiagramElements>
1380 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_p9d30KA8EeuqkpDnuik1sg" name="Assertion" tooltipText="" outgoingEdges="_w-iG36A8EeuqkpDnuik1sg _79nqlqA8EeuqkpDnuik1sg _mQFKsqA9EeuqkpDnuik1sg" width="12" height="10"> 1464 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_p9d30KA8EeuqkpDnuik1sg" name="Assertion" tooltipText="" outgoingEdges="_w-iG36A8EeuqkpDnuik1sg _79nqlqA8EeuqkpDnuik1sg _mQFKsqA9EeuqkpDnuik1sg" width="12" height="10">
1381 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Assertion"/> 1465 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Assertion"/>
1382 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Assertion"/> 1466 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Assertion"/>
@@ -1410,7 +1494,7 @@
1410 </ownedStyle> 1494 </ownedStyle>
1411 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> 1495 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1412 </ownedDiagramElements> 1496 </ownedDiagramElements>
1413 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_xsYrUKA8EeuqkpDnuik1sg" name="Node" tooltipText="" outgoingEdges="_2U4ggqA8EeuqkpDnuik1sg" incomingEdges="_4eU5TqA8EeuqkpDnuik1sg _79nqlqA8EeuqkpDnuik1sg" width="12" height="10"> 1497 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_xsYrUKA8EeuqkpDnuik1sg" name="Node" tooltipText="" outgoingEdges="_2U4ggqA8EeuqkpDnuik1sg" incomingEdges="_4eU5TqA8EeuqkpDnuik1sg _79nqlqA8EeuqkpDnuik1sg _-XLKltawEeuymriYTNxK2g" width="12" height="10">
1414 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Node"/> 1498 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Node"/>
1415 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Node"/> 1499 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Node"/>
1416 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 1500 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -1638,7 +1722,7 @@
1638 </ownedStyle> 1722 </ownedStyle>
1639 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> 1723 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1640 </ownedDiagramElements> 1724 </ownedDiagramElements>
1641 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_ReiX4KBJEeuqkpDnuik1sg" name="Multiplicity" tooltipText="" incomingEdges="_c_boQqBJEeuqkpDnuik1sg _dn26MqBJEeuqkpDnuik1sg _n5fiHqBJEeuqkpDnuik1sg _p1JWcqBJEeuqkpDnuik1sg" width="12" height="10"> 1725 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_ReiX4KBJEeuqkpDnuik1sg" name="Multiplicity" tooltipText="" incomingEdges="_c_boQqBJEeuqkpDnuik1sg _dn26MqBJEeuqkpDnuik1sg _n5fiHqBJEeuqkpDnuik1sg _p1JWcqBJEeuqkpDnuik1sg _HUJ8o9YBEeuF_d0WEhR3Xw" width="12" height="10">
1642 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Multiplicity"/> 1726 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Multiplicity"/>
1643 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Multiplicity"/> 1727 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Multiplicity"/>
1644 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 1728 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -1746,6 +1830,97 @@
1746 </ownedStyle> 1830 </ownedStyle>
1747 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> 1831 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1748 </ownedDiagramElements> 1832 </ownedDiagramElements>
1833 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_m-6OTNXtEeuF_d0WEhR3Xw" sourceNode="_D05iIKA4EeuqkpDnuik1sg" targetNode="_RzK-YKA5EeuqkpDnuik1sg">
1834 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Problem"/>
1835 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Problem"/>
1836 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_m-61UNXtEeuF_d0WEhR3Xw" targetArrow="InputClosedArrow" routingStyle="tree">
1837 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
1838 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_m-61UdXtEeuF_d0WEhR3Xw" showIcon="false">
1839 <labelFormat>italic</labelFormat>
1840 </beginLabelStyle>
1841 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_m-61UtXtEeuF_d0WEhR3Xw" showIcon="false"/>
1842 </ownedStyle>
1843 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1844 </ownedDiagramElements>
1845 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_D9_5INYBEeuF_d0WEhR3Xw" name="UnboundedMultiplicity" tooltipText="" outgoingEdges="_HUJ8o9YBEeuF_d0WEhR3Xw" width="12" height="10">
1846 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//UnboundedMultiplicity"/>
1847 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//UnboundedMultiplicity"/>
1848 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1849 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1850 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1851 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_D-DjgNYBEeuF_d0WEhR3Xw" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
1852 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
1853 </ownedStyle>
1854 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1855 </ownedDiagramElements>
1856 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_HUJ8o9YBEeuF_d0WEhR3Xw" sourceNode="_D9_5INYBEeuF_d0WEhR3Xw" targetNode="_ReiX4KBJEeuqkpDnuik1sg">
1857 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//UnboundedMultiplicity"/>
1858 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//UnboundedMultiplicity"/>
1859 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_HUKjsNYBEeuF_d0WEhR3Xw" targetArrow="InputClosedArrow" routingStyle="tree">
1860 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
1861 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_HUKjsdYBEeuF_d0WEhR3Xw" showIcon="false">
1862 <labelFormat>italic</labelFormat>
1863 </beginLabelStyle>
1864 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_HUKjstYBEeuF_d0WEhR3Xw" showIcon="false"/>
1865 </ownedStyle>
1866 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1867 </ownedDiagramElements>
1868 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_IwJ4MNYPEeuF_d0WEhR3Xw" name="Argument" tooltipText="" outgoingEdges="_T1fN5tYPEeuF_d0WEhR3Xw _bx-jYtYPEeuF_d0WEhR3Xw" incomingEdges="_KmxbkNYPEeuF_d0WEhR3Xw" width="12" height="10">
1869 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Argument"/>
1870 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Argument"/>
1871 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1872 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1873 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1874 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_IwLtYNYPEeuF_d0WEhR3Xw" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
1875 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
1876 </ownedStyle>
1877 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1878 </ownedDiagramElements>
1879 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_KmxbkNYPEeuF_d0WEhR3Xw" name="[0..*] arguments" sourceNode="_6J_bsKA6EeuqkpDnuik1sg" targetNode="_IwJ4MNYPEeuF_d0WEhR3Xw">
1880 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Atom/arguments"/>
1881 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Atom/arguments"/>
1882 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_P-mb4NYPEeuF_d0WEhR3Xw" description="_L-JhMKA4EeuqkpDnuik1sg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1883 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_P-mb4tYPEeuF_d0WEhR3Xw" showIcon="false"/>
1884 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_P-mb4dYPEeuF_d0WEhR3Xw" labelSize="6" showIcon="false" labelColor="39,76,114"/>
1885 </ownedStyle>
1886 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1887 </ownedDiagramElements>
1888 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_T1fN5tYPEeuF_d0WEhR3Xw" name="[0..1] variable" sourceNode="_IwJ4MNYPEeuF_d0WEhR3Xw" targetNode="_jPpm4KA6EeuqkpDnuik1sg">
1889 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Argument/variable"/>
1890 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Argument/variable"/>
1891 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_T1fN59YPEeuF_d0WEhR3Xw" routingStyle="manhattan" strokeColor="0,0,0">
1892 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
1893 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_T1fN6dYPEeuF_d0WEhR3Xw" showIcon="false">
1894 <customFeatures>labelSize</customFeatures>
1895 </centerLabelStyle>
1896 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_T1fN6NYPEeuF_d0WEhR3Xw" showIcon="false" labelColor="39,76,114">
1897 <customFeatures>labelSize</customFeatures>
1898 </endLabelStyle>
1899 </ownedStyle>
1900 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1901 </ownedDiagramElements>
1902 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_bx-jYtYPEeuF_d0WEhR3Xw" name="[0..1] singletonVariable" sourceNode="_IwJ4MNYPEeuF_d0WEhR3Xw" targetNode="_-O6CoKA6EeuqkpDnuik1sg">
1903 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Argument/singletonVariable"/>
1904 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Argument/singletonVariable"/>
1905 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_dcHJ49YPEeuF_d0WEhR3Xw" description="_L-JhMKA4EeuqkpDnuik1sg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1906 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_dcHJ5dYPEeuF_d0WEhR3Xw" showIcon="false"/>
1907 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_dcHJ5NYPEeuF_d0WEhR3Xw" labelSize="6" showIcon="false" labelColor="39,76,114"/>
1908 </ownedStyle>
1909 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1910 </ownedDiagramElements>
1911 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_-XLKltawEeuymriYTNxK2g" name="[0..1] newNode" sourceNode="_JTstIKA4EeuqkpDnuik1sg" targetNode="_xsYrUKA8EeuqkpDnuik1sg">
1912 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ClassDeclaration/newNode"/>
1913 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ClassDeclaration/newNode"/>
1914 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_-XMYsNawEeuymriYTNxK2g" description="_L-JhMKA4EeuqkpDnuik1sg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1915 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_-XMYstawEeuymriYTNxK2g" showIcon="false">
1916 <customFeatures>labelSize</customFeatures>
1917 </centerLabelStyle>
1918 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_-XMYsdawEeuymriYTNxK2g" showIcon="false" labelColor="39,76,114">
1919 <customFeatures>labelSize</customFeatures>
1920 </endLabelStyle>
1921 </ownedStyle>
1922 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1923 </ownedDiagramElements>
1749 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/> 1924 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
1750 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_CsWlsKA4EeuqkpDnuik1sg"/> 1925 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_CsWlsKA4EeuqkpDnuik1sg"/>
1751 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/> 1926 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Argument.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Argument.java
new file mode 100644
index 00000000..5442f8e0
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Argument.java
@@ -0,0 +1,69 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Argument</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Argument#getVariable <em>Variable</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Argument#getSingletonVariable <em>Singleton Variable</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getArgument()
21 * @model
22 * @generated
23 */
24public interface Argument extends EObject {
25 /**
26 * Returns the value of the '<em><b>Variable</b></em>' reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Variable</em>' reference.
30 * @see #setVariable(Variable)
31 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getArgument_Variable()
32 * @model
33 * @generated
34 */
35 Variable getVariable();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.Argument#getVariable <em>Variable</em>}' reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Variable</em>' reference.
42 * @see #getVariable()
43 * @generated
44 */
45 void setVariable(Variable value);
46
47 /**
48 * Returns the value of the '<em><b>Singleton Variable</b></em>' containment reference.
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @return the value of the '<em>Singleton Variable</em>' containment reference.
52 * @see #setSingletonVariable(ImplicitVariable)
53 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getArgument_SingletonVariable()
54 * @model containment="true"
55 * @generated
56 */
57 ImplicitVariable getSingletonVariable();
58
59 /**
60 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.Argument#getSingletonVariable <em>Singleton Variable</em>}' containment reference.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @param value the new value of the '<em>Singleton Variable</em>' containment reference.
64 * @see #getSingletonVariable()
65 * @generated
66 */
67 void setSingletonVariable(ImplicitVariable value);
68
69} // Argument
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Atom.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Atom.java
index bee08d8d..d1b4d3fe 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Atom.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Atom.java
@@ -14,8 +14,8 @@ import org.eclipse.emf.common.util.EList;
14 * </p> 14 * </p>
15 * <ul> 15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Atom#getRelation <em>Relation</em>}</li> 16 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Atom#getRelation <em>Relation</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Atom#getArguments <em>Arguments</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Atom#isTransitiveClosure <em>Transitive Closure</em>}</li> 17 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Atom#isTransitiveClosure <em>Transitive Closure</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Atom#getArguments <em>Arguments</em>}</li>
19 * </ul> 19 * </ul>
20 * 20 *
21 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAtom() 21 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAtom()
@@ -46,16 +46,16 @@ public interface Atom extends Literal {
46 void setRelation(Relation value); 46 void setRelation(Relation value);
47 47
48 /** 48 /**
49 * Returns the value of the '<em><b>Arguments</b></em>' reference list. 49 * Returns the value of the '<em><b>Arguments</b></em>' containment reference list.
50 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.Variable}. 50 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.Argument}.
51 * <!-- begin-user-doc --> 51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc --> 52 * <!-- end-user-doc -->
53 * @return the value of the '<em>Arguments</em>' reference list. 53 * @return the value of the '<em>Arguments</em>' containment reference list.
54 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAtom_Arguments() 54 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAtom_Arguments()
55 * @model 55 * @model containment="true"
56 * @generated 56 * @generated
57 */ 57 */
58 EList<Variable> getArguments(); 58 EList<Argument> getArguments();
59 59
60 /** 60 /**
61 * Returns the value of the '<em><b>Transitive Closure</b></em>' attribute. 61 * Returns the value of the '<em><b>Transitive Closure</b></em>' attribute.
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ClassDeclaration.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ClassDeclaration.java
index 7212d006..1387575a 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ClassDeclaration.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ClassDeclaration.java
@@ -16,6 +16,7 @@ import org.eclipse.emf.common.util.EList;
16 * <li>{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#isAbstract <em>Abstract</em>}</li> 16 * <li>{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#isAbstract <em>Abstract</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getSuperTypes <em>Super Types</em>}</li> 17 * <li>{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getSuperTypes <em>Super Types</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getReferenceDeclarations <em>Reference Declarations</em>}</li> 18 * <li>{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getReferenceDeclarations <em>Reference Declarations</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getNewNode <em>New Node</em>}</li>
19 * </ul> 20 * </ul>
20 * 21 *
21 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getClassDeclaration() 22 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getClassDeclaration()
@@ -69,4 +70,26 @@ public interface ClassDeclaration extends Relation, Statement {
69 */ 70 */
70 EList<ReferenceDeclaration> getReferenceDeclarations(); 71 EList<ReferenceDeclaration> getReferenceDeclarations();
71 72
73 /**
74 * Returns the value of the '<em><b>New Node</b></em>' containment reference.
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @return the value of the '<em>New Node</em>' containment reference.
78 * @see #setNewNode(Node)
79 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getClassDeclaration_NewNode()
80 * @model containment="true"
81 * @generated
82 */
83 Node getNewNode();
84
85 /**
86 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getNewNode <em>New Node</em>}' containment reference.
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @param value the new value of the '<em>New Node</em>' containment reference.
90 * @see #getNewNode()
91 * @generated
92 */
93 void setNewNode(Node value);
94
72} // ClassDeclaration 95} // ClassDeclaration
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Problem.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Problem.java
index 3342767d..7e19bd22 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Problem.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Problem.java
@@ -4,8 +4,6 @@ package org.eclipse.viatra.solver.language.model.problem;
4 4
5import org.eclipse.emf.common.util.EList; 5import org.eclipse.emf.common.util.EList;
6 6
7import org.eclipse.emf.ecore.EObject;
8
9/** 7/**
10 * <!-- begin-user-doc --> 8 * <!-- begin-user-doc -->
11 * A representation of the model object '<em><b>Problem</b></em>'. 9 * A representation of the model object '<em><b>Problem</b></em>'.
@@ -23,7 +21,7 @@ import org.eclipse.emf.ecore.EObject;
23 * @model 21 * @model
24 * @generated 22 * @generated
25 */ 23 */
26public interface Problem extends EObject { 24public interface Problem extends NamedElement {
27 /** 25 /**
28 * Returns the value of the '<em><b>Nodes</b></em>' containment reference list. 26 * Returns the value of the '<em><b>Nodes</b></em>' containment reference list.
29 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.Node}. 27 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.Node}.
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemFactory.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemFactory.java
index 301f7cce..bdfc326b 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemFactory.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemFactory.java
@@ -157,6 +157,24 @@ public interface ProblemFactory extends EFactory {
157 ExactMultiplicity createExactMultiplicity(); 157 ExactMultiplicity createExactMultiplicity();
158 158
159 /** 159 /**
160 * Returns a new object of class '<em>Unbounded Multiplicity</em>'.
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @return a new object of class '<em>Unbounded Multiplicity</em>'.
164 * @generated
165 */
166 UnboundedMultiplicity createUnboundedMultiplicity();
167
168 /**
169 * Returns a new object of class '<em>Argument</em>'.
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @return a new object of class '<em>Argument</em>'.
173 * @generated
174 */
175 Argument createArgument();
176
177 /**
160 * Returns the package supported by this factory. 178 * Returns the package supported by this factory.
161 * <!-- begin-user-doc --> 179 * <!-- begin-user-doc -->
162 * <!-- end-user-doc --> 180 * <!-- end-user-doc -->
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemPackage.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemPackage.java
index 59906b1f..1358eaeb 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemPackage.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemPackage.java
@@ -58,87 +58,96 @@ public interface ProblemPackage extends EPackage {
58 ProblemPackage eINSTANCE = org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl.init(); 58 ProblemPackage eINSTANCE = org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl.init();
59 59
60 /** 60 /**
61 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ProblemImpl <em>Problem</em>}' class. 61 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.NamedElementImpl <em>Named Element</em>}' class.
62 * <!-- begin-user-doc --> 62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc --> 63 * <!-- end-user-doc -->
64 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemImpl 64 * @see org.eclipse.viatra.solver.language.model.problem.impl.NamedElementImpl
65 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getProblem() 65 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getNamedElement()
66 * @generated 66 * @generated
67 */ 67 */
68 int PROBLEM = 0; 68 int NAMED_ELEMENT = 4;
69 69
70 /** 70 /**
71 * The feature id for the '<em><b>Nodes</b></em>' containment reference list. 71 * The feature id for the '<em><b>Name</b></em>' attribute.
72 * <!-- begin-user-doc --> 72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc --> 73 * <!-- end-user-doc -->
74 * @generated 74 * @generated
75 * @ordered 75 * @ordered
76 */ 76 */
77 int PROBLEM__NODES = 0; 77 int NAMED_ELEMENT__NAME = 0;
78 78
79 /** 79 /**
80 * The feature id for the '<em><b>Statements</b></em>' containment reference list. 80 * The number of structural features of the '<em>Named Element</em>' class.
81 * <!-- begin-user-doc --> 81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc --> 82 * <!-- end-user-doc -->
83 * @generated 83 * @generated
84 * @ordered 84 * @ordered
85 */ 85 */
86 int PROBLEM__STATEMENTS = 1; 86 int NAMED_ELEMENT_FEATURE_COUNT = 1;
87 87
88 /** 88 /**
89 * The number of structural features of the '<em>Problem</em>' class. 89 * The number of operations of the '<em>Named Element</em>' class.
90 * <!-- begin-user-doc --> 90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc --> 91 * <!-- end-user-doc -->
92 * @generated 92 * @generated
93 * @ordered 93 * @ordered
94 */ 94 */
95 int PROBLEM_FEATURE_COUNT = 2; 95 int NAMED_ELEMENT_OPERATION_COUNT = 0;
96 96
97 /** 97 /**
98 * The number of operations of the '<em>Problem</em>' class. 98 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ProblemImpl <em>Problem</em>}' class.
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemImpl
102 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getProblem()
103 * @generated
104 */
105 int PROBLEM = 0;
106
107 /**
108 * The feature id for the '<em><b>Name</b></em>' attribute.
99 * <!-- begin-user-doc --> 109 * <!-- begin-user-doc -->
100 * <!-- end-user-doc --> 110 * <!-- end-user-doc -->
101 * @generated 111 * @generated
102 * @ordered 112 * @ordered
103 */ 113 */
104 int PROBLEM_OPERATION_COUNT = 0; 114 int PROBLEM__NAME = NAMED_ELEMENT__NAME;
105 115
106 /** 116 /**
107 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.NamedElementImpl <em>Named Element</em>}' class. 117 * The feature id for the '<em><b>Nodes</b></em>' containment reference list.
108 * <!-- begin-user-doc --> 118 * <!-- begin-user-doc -->
109 * <!-- end-user-doc --> 119 * <!-- end-user-doc -->
110 * @see org.eclipse.viatra.solver.language.model.problem.impl.NamedElementImpl
111 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getNamedElement()
112 * @generated 120 * @generated
121 * @ordered
113 */ 122 */
114 int NAMED_ELEMENT = 4; 123 int PROBLEM__NODES = NAMED_ELEMENT_FEATURE_COUNT + 0;
115 124
116 /** 125 /**
117 * The feature id for the '<em><b>Name</b></em>' attribute. 126 * The feature id for the '<em><b>Statements</b></em>' containment reference list.
118 * <!-- begin-user-doc --> 127 * <!-- begin-user-doc -->
119 * <!-- end-user-doc --> 128 * <!-- end-user-doc -->
120 * @generated 129 * @generated
121 * @ordered 130 * @ordered
122 */ 131 */
123 int NAMED_ELEMENT__NAME = 0; 132 int PROBLEM__STATEMENTS = NAMED_ELEMENT_FEATURE_COUNT + 1;
124 133
125 /** 134 /**
126 * The number of structural features of the '<em>Named Element</em>' class. 135 * The number of structural features of the '<em>Problem</em>' class.
127 * <!-- begin-user-doc --> 136 * <!-- begin-user-doc -->
128 * <!-- end-user-doc --> 137 * <!-- end-user-doc -->
129 * @generated 138 * @generated
130 * @ordered 139 * @ordered
131 */ 140 */
132 int NAMED_ELEMENT_FEATURE_COUNT = 1; 141 int PROBLEM_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 2;
133 142
134 /** 143 /**
135 * The number of operations of the '<em>Named Element</em>' class. 144 * The number of operations of the '<em>Problem</em>' class.
136 * <!-- begin-user-doc --> 145 * <!-- begin-user-doc -->
137 * <!-- end-user-doc --> 146 * <!-- end-user-doc -->
138 * @generated 147 * @generated
139 * @ordered 148 * @ordered
140 */ 149 */
141 int NAMED_ELEMENT_OPERATION_COUNT = 0; 150 int PROBLEM_OPERATION_COUNT = NAMED_ELEMENT_OPERATION_COUNT + 0;
142 151
143 /** 152 /**
144 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.RelationImpl <em>Relation</em>}' class. 153 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.RelationImpl <em>Relation</em>}' class.
@@ -224,13 +233,22 @@ public interface ProblemPackage extends EPackage {
224 int CLASS_DECLARATION__REFERENCE_DECLARATIONS = RELATION_FEATURE_COUNT + 2; 233 int CLASS_DECLARATION__REFERENCE_DECLARATIONS = RELATION_FEATURE_COUNT + 2;
225 234
226 /** 235 /**
236 * The feature id for the '<em><b>New Node</b></em>' containment reference.
237 * <!-- begin-user-doc -->
238 * <!-- end-user-doc -->
239 * @generated
240 * @ordered
241 */
242 int CLASS_DECLARATION__NEW_NODE = RELATION_FEATURE_COUNT + 3;
243
244 /**
227 * The number of structural features of the '<em>Class Declaration</em>' class. 245 * The number of structural features of the '<em>Class Declaration</em>' class.
228 * <!-- begin-user-doc --> 246 * <!-- begin-user-doc -->
229 * <!-- end-user-doc --> 247 * <!-- end-user-doc -->
230 * @generated 248 * @generated
231 * @ordered 249 * @ordered
232 */ 250 */
233 int CLASS_DECLARATION_FEATURE_COUNT = RELATION_FEATURE_COUNT + 3; 251 int CLASS_DECLARATION_FEATURE_COUNT = RELATION_FEATURE_COUNT + 4;
234 252
235 /** 253 /**
236 * The number of operations of the '<em>Class Declaration</em>' class. 254 * The number of operations of the '<em>Class Declaration</em>' class.
@@ -592,22 +610,22 @@ public interface ProblemPackage extends EPackage {
592 int ATOM__RELATION = LITERAL_FEATURE_COUNT + 0; 610 int ATOM__RELATION = LITERAL_FEATURE_COUNT + 0;
593 611
594 /** 612 /**
595 * The feature id for the '<em><b>Arguments</b></em>' reference list. 613 * The feature id for the '<em><b>Transitive Closure</b></em>' attribute.
596 * <!-- begin-user-doc --> 614 * <!-- begin-user-doc -->
597 * <!-- end-user-doc --> 615 * <!-- end-user-doc -->
598 * @generated 616 * @generated
599 * @ordered 617 * @ordered
600 */ 618 */
601 int ATOM__ARGUMENTS = LITERAL_FEATURE_COUNT + 1; 619 int ATOM__TRANSITIVE_CLOSURE = LITERAL_FEATURE_COUNT + 1;
602 620
603 /** 621 /**
604 * The feature id for the '<em><b>Transitive Closure</b></em>' attribute. 622 * The feature id for the '<em><b>Arguments</b></em>' containment reference list.
605 * <!-- begin-user-doc --> 623 * <!-- begin-user-doc -->
606 * <!-- end-user-doc --> 624 * <!-- end-user-doc -->
607 * @generated 625 * @generated
608 * @ordered 626 * @ordered
609 */ 627 */
610 int ATOM__TRANSITIVE_CLOSURE = LITERAL_FEATURE_COUNT + 2; 628 int ATOM__ARGUMENTS = LITERAL_FEATURE_COUNT + 2;
611 629
612 /** 630 /**
613 * The number of structural features of the '<em>Atom</em>' class. 631 * The number of structural features of the '<em>Atom</em>' class.
@@ -1034,6 +1052,80 @@ public interface ProblemPackage extends EPackage {
1034 int EXACT_MULTIPLICITY_OPERATION_COUNT = MULTIPLICITY_OPERATION_COUNT + 0; 1052 int EXACT_MULTIPLICITY_OPERATION_COUNT = MULTIPLICITY_OPERATION_COUNT + 0;
1035 1053
1036 /** 1054 /**
1055 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.UnboundedMultiplicityImpl <em>Unbounded Multiplicity</em>}' class.
1056 * <!-- begin-user-doc -->
1057 * <!-- end-user-doc -->
1058 * @see org.eclipse.viatra.solver.language.model.problem.impl.UnboundedMultiplicityImpl
1059 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getUnboundedMultiplicity()
1060 * @generated
1061 */
1062 int UNBOUNDED_MULTIPLICITY = 22;
1063
1064 /**
1065 * The number of structural features of the '<em>Unbounded Multiplicity</em>' class.
1066 * <!-- begin-user-doc -->
1067 * <!-- end-user-doc -->
1068 * @generated
1069 * @ordered
1070 */
1071 int UNBOUNDED_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 0;
1072
1073 /**
1074 * The number of operations of the '<em>Unbounded Multiplicity</em>' class.
1075 * <!-- begin-user-doc -->
1076 * <!-- end-user-doc -->
1077 * @generated
1078 * @ordered
1079 */
1080 int UNBOUNDED_MULTIPLICITY_OPERATION_COUNT = MULTIPLICITY_OPERATION_COUNT + 0;
1081
1082 /**
1083 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ArgumentImpl <em>Argument</em>}' class.
1084 * <!-- begin-user-doc -->
1085 * <!-- end-user-doc -->
1086 * @see org.eclipse.viatra.solver.language.model.problem.impl.ArgumentImpl
1087 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getArgument()
1088 * @generated
1089 */
1090 int ARGUMENT = 23;
1091
1092 /**
1093 * The feature id for the '<em><b>Variable</b></em>' reference.
1094 * <!-- begin-user-doc -->
1095 * <!-- end-user-doc -->
1096 * @generated
1097 * @ordered
1098 */
1099 int ARGUMENT__VARIABLE = 0;
1100
1101 /**
1102 * The feature id for the '<em><b>Singleton Variable</b></em>' containment reference.
1103 * <!-- begin-user-doc -->
1104 * <!-- end-user-doc -->
1105 * @generated
1106 * @ordered
1107 */
1108 int ARGUMENT__SINGLETON_VARIABLE = 1;
1109
1110 /**
1111 * The number of structural features of the '<em>Argument</em>' class.
1112 * <!-- begin-user-doc -->
1113 * <!-- end-user-doc -->
1114 * @generated
1115 * @ordered
1116 */
1117 int ARGUMENT_FEATURE_COUNT = 2;
1118
1119 /**
1120 * The number of operations of the '<em>Argument</em>' class.
1121 * <!-- begin-user-doc -->
1122 * <!-- end-user-doc -->
1123 * @generated
1124 * @ordered
1125 */
1126 int ARGUMENT_OPERATION_COUNT = 0;
1127
1128 /**
1037 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}' enum. 1129 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}' enum.
1038 * <!-- begin-user-doc --> 1130 * <!-- begin-user-doc -->
1039 * <!-- end-user-doc --> 1131 * <!-- end-user-doc -->
@@ -1041,7 +1133,7 @@ public interface ProblemPackage extends EPackage {
1041 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getLogicValue() 1133 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getLogicValue()
1042 * @generated 1134 * @generated
1043 */ 1135 */
1044 int LOGIC_VALUE = 22; 1136 int LOGIC_VALUE = 24;
1045 1137
1046 /** 1138 /**
1047 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Problem <em>Problem</em>}'. 1139 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Problem <em>Problem</em>}'.
@@ -1129,6 +1221,17 @@ public interface ProblemPackage extends EPackage {
1129 EReference getClassDeclaration_ReferenceDeclarations(); 1221 EReference getClassDeclaration_ReferenceDeclarations();
1130 1222
1131 /** 1223 /**
1224 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getNewNode <em>New Node</em>}'.
1225 * <!-- begin-user-doc -->
1226 * <!-- end-user-doc -->
1227 * @return the meta object for the containment reference '<em>New Node</em>'.
1228 * @see org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getNewNode()
1229 * @see #getClassDeclaration()
1230 * @generated
1231 */
1232 EReference getClassDeclaration_NewNode();
1233
1234 /**
1132 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration <em>Reference Declaration</em>}'. 1235 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration <em>Reference Declaration</em>}'.
1133 * <!-- begin-user-doc --> 1236 * <!-- begin-user-doc -->
1134 * <!-- end-user-doc --> 1237 * <!-- end-user-doc -->
@@ -1330,10 +1433,10 @@ public interface ProblemPackage extends EPackage {
1330 EReference getAtom_Relation(); 1433 EReference getAtom_Relation();
1331 1434
1332 /** 1435 /**
1333 * Returns the meta object for the reference list '{@link org.eclipse.viatra.solver.language.model.problem.Atom#getArguments <em>Arguments</em>}'. 1436 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.model.problem.Atom#getArguments <em>Arguments</em>}'.
1334 * <!-- begin-user-doc --> 1437 * <!-- begin-user-doc -->
1335 * <!-- end-user-doc --> 1438 * <!-- end-user-doc -->
1336 * @return the meta object for the reference list '<em>Arguments</em>'. 1439 * @return the meta object for the containment reference list '<em>Arguments</em>'.
1337 * @see org.eclipse.viatra.solver.language.model.problem.Atom#getArguments() 1440 * @see org.eclipse.viatra.solver.language.model.problem.Atom#getArguments()
1338 * @see #getAtom() 1441 * @see #getAtom()
1339 * @generated 1442 * @generated
@@ -1594,6 +1697,48 @@ public interface ProblemPackage extends EPackage {
1594 EAttribute getExactMultiplicity_ExactValue(); 1697 EAttribute getExactMultiplicity_ExactValue();
1595 1698
1596 /** 1699 /**
1700 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.UnboundedMultiplicity <em>Unbounded Multiplicity</em>}'.
1701 * <!-- begin-user-doc -->
1702 * <!-- end-user-doc -->
1703 * @return the meta object for class '<em>Unbounded Multiplicity</em>'.
1704 * @see org.eclipse.viatra.solver.language.model.problem.UnboundedMultiplicity
1705 * @generated
1706 */
1707 EClass getUnboundedMultiplicity();
1708
1709 /**
1710 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Argument <em>Argument</em>}'.
1711 * <!-- begin-user-doc -->
1712 * <!-- end-user-doc -->
1713 * @return the meta object for class '<em>Argument</em>'.
1714 * @see org.eclipse.viatra.solver.language.model.problem.Argument
1715 * @generated
1716 */
1717 EClass getArgument();
1718
1719 /**
1720 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.model.problem.Argument#getVariable <em>Variable</em>}'.
1721 * <!-- begin-user-doc -->
1722 * <!-- end-user-doc -->
1723 * @return the meta object for the reference '<em>Variable</em>'.
1724 * @see org.eclipse.viatra.solver.language.model.problem.Argument#getVariable()
1725 * @see #getArgument()
1726 * @generated
1727 */
1728 EReference getArgument_Variable();
1729
1730 /**
1731 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.model.problem.Argument#getSingletonVariable <em>Singleton Variable</em>}'.
1732 * <!-- begin-user-doc -->
1733 * <!-- end-user-doc -->
1734 * @return the meta object for the containment reference '<em>Singleton Variable</em>'.
1735 * @see org.eclipse.viatra.solver.language.model.problem.Argument#getSingletonVariable()
1736 * @see #getArgument()
1737 * @generated
1738 */
1739 EReference getArgument_SingletonVariable();
1740
1741 /**
1597 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}'. 1742 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}'.
1598 * <!-- begin-user-doc --> 1743 * <!-- begin-user-doc -->
1599 * <!-- end-user-doc --> 1744 * <!-- end-user-doc -->
@@ -1697,6 +1842,14 @@ public interface ProblemPackage extends EPackage {
1697 EReference CLASS_DECLARATION__REFERENCE_DECLARATIONS = eINSTANCE.getClassDeclaration_ReferenceDeclarations(); 1842 EReference CLASS_DECLARATION__REFERENCE_DECLARATIONS = eINSTANCE.getClassDeclaration_ReferenceDeclarations();
1698 1843
1699 /** 1844 /**
1845 * The meta object literal for the '<em><b>New Node</b></em>' containment reference feature.
1846 * <!-- begin-user-doc -->
1847 * <!-- end-user-doc -->
1848 * @generated
1849 */
1850 EReference CLASS_DECLARATION__NEW_NODE = eINSTANCE.getClassDeclaration_NewNode();
1851
1852 /**
1700 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ReferenceDeclarationImpl <em>Reference Declaration</em>}' class. 1853 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ReferenceDeclarationImpl <em>Reference Declaration</em>}' class.
1701 * <!-- begin-user-doc --> 1854 * <!-- begin-user-doc -->
1702 * <!-- end-user-doc --> 1855 * <!-- end-user-doc -->
@@ -1865,7 +2018,7 @@ public interface ProblemPackage extends EPackage {
1865 EReference ATOM__RELATION = eINSTANCE.getAtom_Relation(); 2018 EReference ATOM__RELATION = eINSTANCE.getAtom_Relation();
1866 2019
1867 /** 2020 /**
1868 * The meta object literal for the '<em><b>Arguments</b></em>' reference list feature. 2021 * The meta object literal for the '<em><b>Arguments</b></em>' containment reference list feature.
1869 * <!-- begin-user-doc --> 2022 * <!-- begin-user-doc -->
1870 * <!-- end-user-doc --> 2023 * <!-- end-user-doc -->
1871 * @generated 2024 * @generated
@@ -2087,6 +2240,42 @@ public interface ProblemPackage extends EPackage {
2087 EAttribute EXACT_MULTIPLICITY__EXACT_VALUE = eINSTANCE.getExactMultiplicity_ExactValue(); 2240 EAttribute EXACT_MULTIPLICITY__EXACT_VALUE = eINSTANCE.getExactMultiplicity_ExactValue();
2088 2241
2089 /** 2242 /**
2243 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.UnboundedMultiplicityImpl <em>Unbounded Multiplicity</em>}' class.
2244 * <!-- begin-user-doc -->
2245 * <!-- end-user-doc -->
2246 * @see org.eclipse.viatra.solver.language.model.problem.impl.UnboundedMultiplicityImpl
2247 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getUnboundedMultiplicity()
2248 * @generated
2249 */
2250 EClass UNBOUNDED_MULTIPLICITY = eINSTANCE.getUnboundedMultiplicity();
2251
2252 /**
2253 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ArgumentImpl <em>Argument</em>}' class.
2254 * <!-- begin-user-doc -->
2255 * <!-- end-user-doc -->
2256 * @see org.eclipse.viatra.solver.language.model.problem.impl.ArgumentImpl
2257 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getArgument()
2258 * @generated
2259 */
2260 EClass ARGUMENT = eINSTANCE.getArgument();
2261
2262 /**
2263 * The meta object literal for the '<em><b>Variable</b></em>' reference feature.
2264 * <!-- begin-user-doc -->
2265 * <!-- end-user-doc -->
2266 * @generated
2267 */
2268 EReference ARGUMENT__VARIABLE = eINSTANCE.getArgument_Variable();
2269
2270 /**
2271 * The meta object literal for the '<em><b>Singleton Variable</b></em>' containment reference feature.
2272 * <!-- begin-user-doc -->
2273 * <!-- end-user-doc -->
2274 * @generated
2275 */
2276 EReference ARGUMENT__SINGLETON_VARIABLE = eINSTANCE.getArgument_SingletonVariable();
2277
2278 /**
2090 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}' enum. 2279 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}' enum.
2091 * <!-- begin-user-doc --> 2280 * <!-- begin-user-doc -->
2092 * <!-- end-user-doc --> 2281 * <!-- end-user-doc -->
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/UnboundedMultiplicity.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/UnboundedMultiplicity.java
new file mode 100644
index 00000000..725311a4
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/UnboundedMultiplicity.java
@@ -0,0 +1,16 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Unbounded Multiplicity</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 *
11 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getUnboundedMultiplicity()
12 * @model
13 * @generated
14 */
15public interface UnboundedMultiplicity extends Multiplicity {
16} // UnboundedMultiplicity
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ArgumentImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ArgumentImpl.java
new file mode 100644
index 00000000..9f6bc7ae
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ArgumentImpl.java
@@ -0,0 +1,247 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.common.notify.Notification;
6import org.eclipse.emf.common.notify.NotificationChain;
7
8import org.eclipse.emf.ecore.EClass;
9import org.eclipse.emf.ecore.InternalEObject;
10
11import org.eclipse.emf.ecore.impl.ENotificationImpl;
12import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
13
14import org.eclipse.viatra.solver.language.model.problem.Argument;
15import org.eclipse.viatra.solver.language.model.problem.ImplicitVariable;
16import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
17import org.eclipse.viatra.solver.language.model.problem.Variable;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Argument</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ArgumentImpl#getVariable <em>Variable</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ArgumentImpl#getSingletonVariable <em>Singleton Variable</em>}</li>
29 * </ul>
30 *
31 * @generated
32 */
33public class ArgumentImpl extends MinimalEObjectImpl.Container implements Argument {
34 /**
35 * The cached value of the '{@link #getVariable() <em>Variable</em>}' reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @see #getVariable()
39 * @generated
40 * @ordered
41 */
42 protected Variable variable;
43
44 /**
45 * The cached value of the '{@link #getSingletonVariable() <em>Singleton Variable</em>}' containment reference.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getSingletonVariable()
49 * @generated
50 * @ordered
51 */
52 protected ImplicitVariable singletonVariable;
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 protected ArgumentImpl() {
60 super();
61 }
62
63 /**
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 @Override
69 protected EClass eStaticClass() {
70 return ProblemPackage.Literals.ARGUMENT;
71 }
72
73 /**
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @generated
77 */
78 public Variable getVariable() {
79 if (variable != null && variable.eIsProxy()) {
80 InternalEObject oldVariable = (InternalEObject) variable;
81 variable = (Variable) eResolveProxy(oldVariable);
82 if (variable != oldVariable) {
83 if (eNotificationRequired())
84 eNotify(new ENotificationImpl(this, Notification.RESOLVE, ProblemPackage.ARGUMENT__VARIABLE,
85 oldVariable, variable));
86 }
87 }
88 return variable;
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 public Variable basicGetVariable() {
97 return variable;
98 }
99
100 /**
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 */
105 public void setVariable(Variable newVariable) {
106 Variable oldVariable = variable;
107 variable = newVariable;
108 if (eNotificationRequired())
109 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.ARGUMENT__VARIABLE, oldVariable,
110 variable));
111 }
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 public ImplicitVariable getSingletonVariable() {
119 return singletonVariable;
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 public NotificationChain basicSetSingletonVariable(ImplicitVariable newSingletonVariable, NotificationChain msgs) {
128 ImplicitVariable oldSingletonVariable = singletonVariable;
129 singletonVariable = newSingletonVariable;
130 if (eNotificationRequired()) {
131 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
132 ProblemPackage.ARGUMENT__SINGLETON_VARIABLE, oldSingletonVariable, newSingletonVariable);
133 if (msgs == null)
134 msgs = notification;
135 else
136 msgs.add(notification);
137 }
138 return msgs;
139 }
140
141 /**
142 * <!-- begin-user-doc -->
143 * <!-- end-user-doc -->
144 * @generated
145 */
146 public void setSingletonVariable(ImplicitVariable newSingletonVariable) {
147 if (newSingletonVariable != singletonVariable) {
148 NotificationChain msgs = null;
149 if (singletonVariable != null)
150 msgs = ((InternalEObject) singletonVariable).eInverseRemove(this,
151 EOPPOSITE_FEATURE_BASE - ProblemPackage.ARGUMENT__SINGLETON_VARIABLE, null, msgs);
152 if (newSingletonVariable != null)
153 msgs = ((InternalEObject) newSingletonVariable).eInverseAdd(this,
154 EOPPOSITE_FEATURE_BASE - ProblemPackage.ARGUMENT__SINGLETON_VARIABLE, null, msgs);
155 msgs = basicSetSingletonVariable(newSingletonVariable, msgs);
156 if (msgs != null)
157 msgs.dispatch();
158 } else if (eNotificationRequired())
159 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.ARGUMENT__SINGLETON_VARIABLE,
160 newSingletonVariable, newSingletonVariable));
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
170 switch (featureID) {
171 case ProblemPackage.ARGUMENT__SINGLETON_VARIABLE:
172 return basicSetSingletonVariable(null, msgs);
173 }
174 return super.eInverseRemove(otherEnd, featureID, msgs);
175 }
176
177 /**
178 * <!-- begin-user-doc -->
179 * <!-- end-user-doc -->
180 * @generated
181 */
182 @Override
183 public Object eGet(int featureID, boolean resolve, boolean coreType) {
184 switch (featureID) {
185 case ProblemPackage.ARGUMENT__VARIABLE:
186 if (resolve)
187 return getVariable();
188 return basicGetVariable();
189 case ProblemPackage.ARGUMENT__SINGLETON_VARIABLE:
190 return getSingletonVariable();
191 }
192 return super.eGet(featureID, resolve, coreType);
193 }
194
195 /**
196 * <!-- begin-user-doc -->
197 * <!-- end-user-doc -->
198 * @generated
199 */
200 @Override
201 public void eSet(int featureID, Object newValue) {
202 switch (featureID) {
203 case ProblemPackage.ARGUMENT__VARIABLE:
204 setVariable((Variable) newValue);
205 return;
206 case ProblemPackage.ARGUMENT__SINGLETON_VARIABLE:
207 setSingletonVariable((ImplicitVariable) newValue);
208 return;
209 }
210 super.eSet(featureID, newValue);
211 }
212
213 /**
214 * <!-- begin-user-doc -->
215 * <!-- end-user-doc -->
216 * @generated
217 */
218 @Override
219 public void eUnset(int featureID) {
220 switch (featureID) {
221 case ProblemPackage.ARGUMENT__VARIABLE:
222 setVariable((Variable) null);
223 return;
224 case ProblemPackage.ARGUMENT__SINGLETON_VARIABLE:
225 setSingletonVariable((ImplicitVariable) null);
226 return;
227 }
228 super.eUnset(featureID);
229 }
230
231 /**
232 * <!-- begin-user-doc -->
233 * <!-- end-user-doc -->
234 * @generated
235 */
236 @Override
237 public boolean eIsSet(int featureID) {
238 switch (featureID) {
239 case ProblemPackage.ARGUMENT__VARIABLE:
240 return variable != null;
241 case ProblemPackage.ARGUMENT__SINGLETON_VARIABLE:
242 return singletonVariable != null;
243 }
244 return super.eIsSet(featureID);
245 }
246
247} //ArgumentImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AtomImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AtomImpl.java
index 4571db14..d70fe90b 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AtomImpl.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AtomImpl.java
@@ -6,6 +6,7 @@ import java.util.Collection;
6 6
7import org.eclipse.emf.common.notify.Notification; 7import org.eclipse.emf.common.notify.Notification;
8 8
9import org.eclipse.emf.common.notify.NotificationChain;
9import org.eclipse.emf.common.util.EList; 10import org.eclipse.emf.common.util.EList;
10 11
11import org.eclipse.emf.ecore.EClass; 12import org.eclipse.emf.ecore.EClass;
@@ -13,12 +14,12 @@ import org.eclipse.emf.ecore.InternalEObject;
13 14
14import org.eclipse.emf.ecore.impl.ENotificationImpl; 15import org.eclipse.emf.ecore.impl.ENotificationImpl;
15 16
16import org.eclipse.emf.ecore.util.EObjectResolvingEList; 17import org.eclipse.emf.ecore.util.EObjectContainmentEList;
17 18import org.eclipse.emf.ecore.util.InternalEList;
19import org.eclipse.viatra.solver.language.model.problem.Argument;
18import org.eclipse.viatra.solver.language.model.problem.Atom; 20import org.eclipse.viatra.solver.language.model.problem.Atom;
19import org.eclipse.viatra.solver.language.model.problem.ProblemPackage; 21import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
20import org.eclipse.viatra.solver.language.model.problem.Relation; 22import org.eclipse.viatra.solver.language.model.problem.Relation;
21import org.eclipse.viatra.solver.language.model.problem.Variable;
22 23
23/** 24/**
24 * <!-- begin-user-doc --> 25 * <!-- begin-user-doc -->
@@ -29,8 +30,8 @@ import org.eclipse.viatra.solver.language.model.problem.Variable;
29 * </p> 30 * </p>
30 * <ul> 31 * <ul>
31 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.AtomImpl#getRelation <em>Relation</em>}</li> 32 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.AtomImpl#getRelation <em>Relation</em>}</li>
32 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.AtomImpl#getArguments <em>Arguments</em>}</li>
33 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.AtomImpl#isTransitiveClosure <em>Transitive Closure</em>}</li> 33 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.AtomImpl#isTransitiveClosure <em>Transitive Closure</em>}</li>
34 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.AtomImpl#getArguments <em>Arguments</em>}</li>
34 * </ul> 35 * </ul>
35 * 36 *
36 * @generated 37 * @generated
@@ -47,34 +48,34 @@ public class AtomImpl extends LiteralImpl implements Atom {
47 protected Relation relation; 48 protected Relation relation;
48 49
49 /** 50 /**
50 * The cached value of the '{@link #getArguments() <em>Arguments</em>}' reference list. 51 * The default value of the '{@link #isTransitiveClosure() <em>Transitive Closure</em>}' attribute.
51 * <!-- begin-user-doc --> 52 * <!-- begin-user-doc -->
52 * <!-- end-user-doc --> 53 * <!-- end-user-doc -->
53 * @see #getArguments() 54 * @see #isTransitiveClosure()
54 * @generated 55 * @generated
55 * @ordered 56 * @ordered
56 */ 57 */
57 protected EList<Variable> arguments; 58 protected static final boolean TRANSITIVE_CLOSURE_EDEFAULT = false;
58 59
59 /** 60 /**
60 * The default value of the '{@link #isTransitiveClosure() <em>Transitive Closure</em>}' attribute. 61 * The cached value of the '{@link #isTransitiveClosure() <em>Transitive Closure</em>}' attribute.
61 * <!-- begin-user-doc --> 62 * <!-- begin-user-doc -->
62 * <!-- end-user-doc --> 63 * <!-- end-user-doc -->
63 * @see #isTransitiveClosure() 64 * @see #isTransitiveClosure()
64 * @generated 65 * @generated
65 * @ordered 66 * @ordered
66 */ 67 */
67 protected static final boolean TRANSITIVE_CLOSURE_EDEFAULT = false; 68 protected boolean transitiveClosure = TRANSITIVE_CLOSURE_EDEFAULT;
68 69
69 /** 70 /**
70 * The cached value of the '{@link #isTransitiveClosure() <em>Transitive Closure</em>}' attribute. 71 * The cached value of the '{@link #getArguments() <em>Arguments</em>}' containment reference list.
71 * <!-- begin-user-doc --> 72 * <!-- begin-user-doc -->
72 * <!-- end-user-doc --> 73 * <!-- end-user-doc -->
73 * @see #isTransitiveClosure() 74 * @see #getArguments()
74 * @generated 75 * @generated
75 * @ordered 76 * @ordered
76 */ 77 */
77 protected boolean transitiveClosure = TRANSITIVE_CLOSURE_EDEFAULT; 78 protected EList<Argument> arguments;
78 79
79 /** 80 /**
80 * <!-- begin-user-doc --> 81 * <!-- begin-user-doc -->
@@ -140,9 +141,9 @@ public class AtomImpl extends LiteralImpl implements Atom {
140 * <!-- end-user-doc --> 141 * <!-- end-user-doc -->
141 * @generated 142 * @generated
142 */ 143 */
143 public EList<Variable> getArguments() { 144 public EList<Argument> getArguments() {
144 if (arguments == null) { 145 if (arguments == null) {
145 arguments = new EObjectResolvingEList<Variable>(Variable.class, this, ProblemPackage.ATOM__ARGUMENTS); 146 arguments = new EObjectContainmentEList<Argument>(Argument.class, this, ProblemPackage.ATOM__ARGUMENTS);
146 } 147 }
147 return arguments; 148 return arguments;
148 } 149 }
@@ -175,16 +176,30 @@ public class AtomImpl extends LiteralImpl implements Atom {
175 * @generated 176 * @generated
176 */ 177 */
177 @Override 178 @Override
179 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
180 switch (featureID) {
181 case ProblemPackage.ATOM__ARGUMENTS:
182 return ((InternalEList<?>) getArguments()).basicRemove(otherEnd, msgs);
183 }
184 return super.eInverseRemove(otherEnd, featureID, msgs);
185 }
186
187 /**
188 * <!-- begin-user-doc -->
189 * <!-- end-user-doc -->
190 * @generated
191 */
192 @Override
178 public Object eGet(int featureID, boolean resolve, boolean coreType) { 193 public Object eGet(int featureID, boolean resolve, boolean coreType) {
179 switch (featureID) { 194 switch (featureID) {
180 case ProblemPackage.ATOM__RELATION: 195 case ProblemPackage.ATOM__RELATION:
181 if (resolve) 196 if (resolve)
182 return getRelation(); 197 return getRelation();
183 return basicGetRelation(); 198 return basicGetRelation();
184 case ProblemPackage.ATOM__ARGUMENTS:
185 return getArguments();
186 case ProblemPackage.ATOM__TRANSITIVE_CLOSURE: 199 case ProblemPackage.ATOM__TRANSITIVE_CLOSURE:
187 return isTransitiveClosure(); 200 return isTransitiveClosure();
201 case ProblemPackage.ATOM__ARGUMENTS:
202 return getArguments();
188 } 203 }
189 return super.eGet(featureID, resolve, coreType); 204 return super.eGet(featureID, resolve, coreType);
190 } 205 }
@@ -201,13 +216,13 @@ public class AtomImpl extends LiteralImpl implements Atom {
201 case ProblemPackage.ATOM__RELATION: 216 case ProblemPackage.ATOM__RELATION:
202 setRelation((Relation) newValue); 217 setRelation((Relation) newValue);
203 return; 218 return;
204 case ProblemPackage.ATOM__ARGUMENTS:
205 getArguments().clear();
206 getArguments().addAll((Collection<? extends Variable>) newValue);
207 return;
208 case ProblemPackage.ATOM__TRANSITIVE_CLOSURE: 219 case ProblemPackage.ATOM__TRANSITIVE_CLOSURE:
209 setTransitiveClosure((Boolean) newValue); 220 setTransitiveClosure((Boolean) newValue);
210 return; 221 return;
222 case ProblemPackage.ATOM__ARGUMENTS:
223 getArguments().clear();
224 getArguments().addAll((Collection<? extends Argument>) newValue);
225 return;
211 } 226 }
212 super.eSet(featureID, newValue); 227 super.eSet(featureID, newValue);
213 } 228 }
@@ -223,12 +238,12 @@ public class AtomImpl extends LiteralImpl implements Atom {
223 case ProblemPackage.ATOM__RELATION: 238 case ProblemPackage.ATOM__RELATION:
224 setRelation((Relation) null); 239 setRelation((Relation) null);
225 return; 240 return;
226 case ProblemPackage.ATOM__ARGUMENTS:
227 getArguments().clear();
228 return;
229 case ProblemPackage.ATOM__TRANSITIVE_CLOSURE: 241 case ProblemPackage.ATOM__TRANSITIVE_CLOSURE:
230 setTransitiveClosure(TRANSITIVE_CLOSURE_EDEFAULT); 242 setTransitiveClosure(TRANSITIVE_CLOSURE_EDEFAULT);
231 return; 243 return;
244 case ProblemPackage.ATOM__ARGUMENTS:
245 getArguments().clear();
246 return;
232 } 247 }
233 super.eUnset(featureID); 248 super.eUnset(featureID);
234 } 249 }
@@ -243,10 +258,10 @@ public class AtomImpl extends LiteralImpl implements Atom {
243 switch (featureID) { 258 switch (featureID) {
244 case ProblemPackage.ATOM__RELATION: 259 case ProblemPackage.ATOM__RELATION:
245 return relation != null; 260 return relation != null;
246 case ProblemPackage.ATOM__ARGUMENTS:
247 return arguments != null && !arguments.isEmpty();
248 case ProblemPackage.ATOM__TRANSITIVE_CLOSURE: 261 case ProblemPackage.ATOM__TRANSITIVE_CLOSURE:
249 return transitiveClosure != TRANSITIVE_CLOSURE_EDEFAULT; 262 return transitiveClosure != TRANSITIVE_CLOSURE_EDEFAULT;
263 case ProblemPackage.ATOM__ARGUMENTS:
264 return arguments != null && !arguments.isEmpty();
250 } 265 }
251 return super.eIsSet(featureID); 266 return super.eIsSet(featureID);
252 } 267 }
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ClassDeclarationImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ClassDeclarationImpl.java
index e1d07071..89de4d01 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ClassDeclarationImpl.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ClassDeclarationImpl.java
@@ -19,6 +19,7 @@ import org.eclipse.emf.ecore.util.EObjectResolvingEList;
19import org.eclipse.emf.ecore.util.InternalEList; 19import org.eclipse.emf.ecore.util.InternalEList;
20 20
21import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration; 21import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration;
22import org.eclipse.viatra.solver.language.model.problem.Node;
22import org.eclipse.viatra.solver.language.model.problem.ProblemPackage; 23import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
23import org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration; 24import org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration;
24 25
@@ -33,6 +34,7 @@ import org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration;
33 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ClassDeclarationImpl#isAbstract <em>Abstract</em>}</li> 34 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ClassDeclarationImpl#isAbstract <em>Abstract</em>}</li>
34 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ClassDeclarationImpl#getSuperTypes <em>Super Types</em>}</li> 35 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ClassDeclarationImpl#getSuperTypes <em>Super Types</em>}</li>
35 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ClassDeclarationImpl#getReferenceDeclarations <em>Reference Declarations</em>}</li> 36 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ClassDeclarationImpl#getReferenceDeclarations <em>Reference Declarations</em>}</li>
37 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ClassDeclarationImpl#getNewNode <em>New Node</em>}</li>
36 * </ul> 38 * </ul>
37 * 39 *
38 * @generated 40 * @generated
@@ -79,6 +81,16 @@ public class ClassDeclarationImpl extends RelationImpl implements ClassDeclarati
79 protected EList<ReferenceDeclaration> referenceDeclarations; 81 protected EList<ReferenceDeclaration> referenceDeclarations;
80 82
81 /** 83 /**
84 * The cached value of the '{@link #getNewNode() <em>New Node</em>}' containment reference.
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @see #getNewNode()
88 * @generated
89 * @ordered
90 */
91 protected Node newNode;
92
93 /**
82 * <!-- begin-user-doc --> 94 * <!-- begin-user-doc -->
83 * <!-- end-user-doc --> 95 * <!-- end-user-doc -->
84 * @generated 96 * @generated
@@ -150,11 +162,63 @@ public class ClassDeclarationImpl extends RelationImpl implements ClassDeclarati
150 * <!-- end-user-doc --> 162 * <!-- end-user-doc -->
151 * @generated 163 * @generated
152 */ 164 */
165 public Node getNewNode() {
166 return newNode;
167 }
168
169 /**
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @generated
173 */
174 public NotificationChain basicSetNewNode(Node newNewNode, NotificationChain msgs) {
175 Node oldNewNode = newNode;
176 newNode = newNewNode;
177 if (eNotificationRequired()) {
178 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
179 ProblemPackage.CLASS_DECLARATION__NEW_NODE, oldNewNode, newNewNode);
180 if (msgs == null)
181 msgs = notification;
182 else
183 msgs.add(notification);
184 }
185 return msgs;
186 }
187
188 /**
189 * <!-- begin-user-doc -->
190 * <!-- end-user-doc -->
191 * @generated
192 */
193 public void setNewNode(Node newNewNode) {
194 if (newNewNode != newNode) {
195 NotificationChain msgs = null;
196 if (newNode != null)
197 msgs = ((InternalEObject) newNode).eInverseRemove(this,
198 EOPPOSITE_FEATURE_BASE - ProblemPackage.CLASS_DECLARATION__NEW_NODE, null, msgs);
199 if (newNewNode != null)
200 msgs = ((InternalEObject) newNewNode).eInverseAdd(this,
201 EOPPOSITE_FEATURE_BASE - ProblemPackage.CLASS_DECLARATION__NEW_NODE, null, msgs);
202 msgs = basicSetNewNode(newNewNode, msgs);
203 if (msgs != null)
204 msgs.dispatch();
205 } else if (eNotificationRequired())
206 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.CLASS_DECLARATION__NEW_NODE,
207 newNewNode, newNewNode));
208 }
209
210 /**
211 * <!-- begin-user-doc -->
212 * <!-- end-user-doc -->
213 * @generated
214 */
153 @Override 215 @Override
154 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { 216 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
155 switch (featureID) { 217 switch (featureID) {
156 case ProblemPackage.CLASS_DECLARATION__REFERENCE_DECLARATIONS: 218 case ProblemPackage.CLASS_DECLARATION__REFERENCE_DECLARATIONS:
157 return ((InternalEList<?>) getReferenceDeclarations()).basicRemove(otherEnd, msgs); 219 return ((InternalEList<?>) getReferenceDeclarations()).basicRemove(otherEnd, msgs);
220 case ProblemPackage.CLASS_DECLARATION__NEW_NODE:
221 return basicSetNewNode(null, msgs);
158 } 222 }
159 return super.eInverseRemove(otherEnd, featureID, msgs); 223 return super.eInverseRemove(otherEnd, featureID, msgs);
160 } 224 }
@@ -173,6 +237,8 @@ public class ClassDeclarationImpl extends RelationImpl implements ClassDeclarati
173 return getSuperTypes(); 237 return getSuperTypes();
174 case ProblemPackage.CLASS_DECLARATION__REFERENCE_DECLARATIONS: 238 case ProblemPackage.CLASS_DECLARATION__REFERENCE_DECLARATIONS:
175 return getReferenceDeclarations(); 239 return getReferenceDeclarations();
240 case ProblemPackage.CLASS_DECLARATION__NEW_NODE:
241 return getNewNode();
176 } 242 }
177 return super.eGet(featureID, resolve, coreType); 243 return super.eGet(featureID, resolve, coreType);
178 } 244 }
@@ -197,6 +263,9 @@ public class ClassDeclarationImpl extends RelationImpl implements ClassDeclarati
197 getReferenceDeclarations().clear(); 263 getReferenceDeclarations().clear();
198 getReferenceDeclarations().addAll((Collection<? extends ReferenceDeclaration>) newValue); 264 getReferenceDeclarations().addAll((Collection<? extends ReferenceDeclaration>) newValue);
199 return; 265 return;
266 case ProblemPackage.CLASS_DECLARATION__NEW_NODE:
267 setNewNode((Node) newValue);
268 return;
200 } 269 }
201 super.eSet(featureID, newValue); 270 super.eSet(featureID, newValue);
202 } 271 }
@@ -218,6 +287,9 @@ public class ClassDeclarationImpl extends RelationImpl implements ClassDeclarati
218 case ProblemPackage.CLASS_DECLARATION__REFERENCE_DECLARATIONS: 287 case ProblemPackage.CLASS_DECLARATION__REFERENCE_DECLARATIONS:
219 getReferenceDeclarations().clear(); 288 getReferenceDeclarations().clear();
220 return; 289 return;
290 case ProblemPackage.CLASS_DECLARATION__NEW_NODE:
291 setNewNode((Node) null);
292 return;
221 } 293 }
222 super.eUnset(featureID); 294 super.eUnset(featureID);
223 } 295 }
@@ -236,6 +308,8 @@ public class ClassDeclarationImpl extends RelationImpl implements ClassDeclarati
236 return superTypes != null && !superTypes.isEmpty(); 308 return superTypes != null && !superTypes.isEmpty();
237 case ProblemPackage.CLASS_DECLARATION__REFERENCE_DECLARATIONS: 309 case ProblemPackage.CLASS_DECLARATION__REFERENCE_DECLARATIONS:
238 return referenceDeclarations != null && !referenceDeclarations.isEmpty(); 310 return referenceDeclarations != null && !referenceDeclarations.isEmpty();
311 case ProblemPackage.CLASS_DECLARATION__NEW_NODE:
312 return newNode != null;
239 } 313 }
240 return super.eIsSet(featureID); 314 return super.eIsSet(featureID);
241 } 315 }
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConjunctionImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConjunctionImpl.java
index 3bdf887f..72258cc1 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConjunctionImpl.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConjunctionImpl.java
@@ -45,6 +45,7 @@ public class ConjunctionImpl extends MinimalEObjectImpl.Container implements Con
45 * @ordered 45 * @ordered
46 */ 46 */
47 protected EList<ImplicitVariable> implicitVariables; 47 protected EList<ImplicitVariable> implicitVariables;
48
48 /** 49 /**
49 * The cached value of the '{@link #getLiterals() <em>Literals</em>}' containment reference list. 50 * The cached value of the '{@link #getLiterals() <em>Literals</em>}' containment reference list.
50 * <!-- begin-user-doc --> 51 * <!-- begin-user-doc -->
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NegativeLiteralImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NegativeLiteralImpl.java
index 5295406b..857a779d 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NegativeLiteralImpl.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NegativeLiteralImpl.java
@@ -47,6 +47,7 @@ public class NegativeLiteralImpl extends MinimalEObjectImpl.Container implements
47 * @ordered 47 * @ordered
48 */ 48 */
49 protected EList<ImplicitVariable> implicitVariables; 49 protected EList<ImplicitVariable> implicitVariables;
50
50 /** 51 /**
51 * The cached value of the '{@link #getAtom() <em>Atom</em>}' containment reference. 52 * The cached value of the '{@link #getAtom() <em>Atom</em>}' containment reference.
52 * <!-- begin-user-doc --> 53 * <!-- begin-user-doc -->
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemFactoryImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemFactoryImpl.java
index 563f8b05..3bb50cfe 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemFactoryImpl.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemFactoryImpl.java
@@ -87,6 +87,10 @@ public class ProblemFactoryImpl extends EFactoryImpl implements ProblemFactory {
87 return createRangeMultiplicity(); 87 return createRangeMultiplicity();
88 case ProblemPackage.EXACT_MULTIPLICITY: 88 case ProblemPackage.EXACT_MULTIPLICITY:
89 return createExactMultiplicity(); 89 return createExactMultiplicity();
90 case ProblemPackage.UNBOUNDED_MULTIPLICITY:
91 return createUnboundedMultiplicity();
92 case ProblemPackage.ARGUMENT:
93 return createArgument();
90 default: 94 default:
91 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); 95 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
92 } 96 }
@@ -277,6 +281,26 @@ public class ProblemFactoryImpl extends EFactoryImpl implements ProblemFactory {
277 * <!-- end-user-doc --> 281 * <!-- end-user-doc -->
278 * @generated 282 * @generated
279 */ 283 */
284 public UnboundedMultiplicity createUnboundedMultiplicity() {
285 UnboundedMultiplicityImpl unboundedMultiplicity = new UnboundedMultiplicityImpl();
286 return unboundedMultiplicity;
287 }
288
289 /**
290 * <!-- begin-user-doc -->
291 * <!-- end-user-doc -->
292 * @generated
293 */
294 public Argument createArgument() {
295 ArgumentImpl argument = new ArgumentImpl();
296 return argument;
297 }
298
299 /**
300 * <!-- begin-user-doc -->
301 * <!-- end-user-doc -->
302 * @generated
303 */
280 public LogicValue createLogicValueFromString(EDataType eDataType, String initialValue) { 304 public LogicValue createLogicValueFromString(EDataType eDataType, String initialValue) {
281 LogicValue result = LogicValue.get(initialValue); 305 LogicValue result = LogicValue.get(initialValue);
282 if (result == null) 306 if (result == null)
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemImpl.java
index 32bba265..191021c4 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemImpl.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemImpl.java
@@ -11,8 +11,6 @@ import org.eclipse.emf.common.util.EList;
11import org.eclipse.emf.ecore.EClass; 11import org.eclipse.emf.ecore.EClass;
12import org.eclipse.emf.ecore.InternalEObject; 12import org.eclipse.emf.ecore.InternalEObject;
13 13
14import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
15
16import org.eclipse.emf.ecore.util.EObjectContainmentEList; 14import org.eclipse.emf.ecore.util.EObjectContainmentEList;
17import org.eclipse.emf.ecore.util.InternalEList; 15import org.eclipse.emf.ecore.util.InternalEList;
18 16
@@ -35,7 +33,7 @@ import org.eclipse.viatra.solver.language.model.problem.Statement;
35 * 33 *
36 * @generated 34 * @generated
37 */ 35 */
38public class ProblemImpl extends MinimalEObjectImpl.Container implements Problem { 36public class ProblemImpl extends NamedElementImpl implements Problem {
39 /** 37 /**
40 * The cached value of the '{@link #getNodes() <em>Nodes</em>}' containment reference list. 38 * The cached value of the '{@link #getNodes() <em>Nodes</em>}' containment reference list.
41 * <!-- begin-user-doc --> 39 * <!-- begin-user-doc -->
@@ -45,6 +43,7 @@ public class ProblemImpl extends MinimalEObjectImpl.Container implements Problem
45 * @ordered 43 * @ordered
46 */ 44 */
47 protected EList<Node> nodes; 45 protected EList<Node> nodes;
46
48 /** 47 /**
49 * The cached value of the '{@link #getStatements() <em>Statements</em>}' containment reference list. 48 * The cached value of the '{@link #getStatements() <em>Statements</em>}' containment reference list.
50 * <!-- begin-user-doc --> 49 * <!-- begin-user-doc -->
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemPackageImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemPackageImpl.java
index de0aa595..f412addc 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemPackageImpl.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemPackageImpl.java
@@ -10,6 +10,7 @@ import org.eclipse.emf.ecore.EReference;
10 10
11import org.eclipse.emf.ecore.impl.EPackageImpl; 11import org.eclipse.emf.ecore.impl.EPackageImpl;
12 12
13import org.eclipse.viatra.solver.language.model.problem.Argument;
13import org.eclipse.viatra.solver.language.model.problem.Assertion; 14import org.eclipse.viatra.solver.language.model.problem.Assertion;
14import org.eclipse.viatra.solver.language.model.problem.Atom; 15import org.eclipse.viatra.solver.language.model.problem.Atom;
15import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration; 16import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration;
@@ -34,6 +35,7 @@ import org.eclipse.viatra.solver.language.model.problem.Relation;
34import org.eclipse.viatra.solver.language.model.problem.ScopeDeclaration; 35import org.eclipse.viatra.solver.language.model.problem.ScopeDeclaration;
35import org.eclipse.viatra.solver.language.model.problem.Statement; 36import org.eclipse.viatra.solver.language.model.problem.Statement;
36import org.eclipse.viatra.solver.language.model.problem.TypeScope; 37import org.eclipse.viatra.solver.language.model.problem.TypeScope;
38import org.eclipse.viatra.solver.language.model.problem.UnboundedMultiplicity;
37import org.eclipse.viatra.solver.language.model.problem.Variable; 39import org.eclipse.viatra.solver.language.model.problem.Variable;
38 40
39/** 41/**
@@ -202,6 +204,20 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
202 * <!-- end-user-doc --> 204 * <!-- end-user-doc -->
203 * @generated 205 * @generated
204 */ 206 */
207 private EClass unboundedMultiplicityEClass = null;
208
209 /**
210 * <!-- begin-user-doc -->
211 * <!-- end-user-doc -->
212 * @generated
213 */
214 private EClass argumentEClass = null;
215
216 /**
217 * <!-- begin-user-doc -->
218 * <!-- end-user-doc -->
219 * @generated
220 */
205 private EEnum logicValueEEnum = null; 221 private EEnum logicValueEEnum = null;
206 222
207 /** 223 /**
@@ -345,6 +361,15 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
345 * <!-- end-user-doc --> 361 * <!-- end-user-doc -->
346 * @generated 362 * @generated
347 */ 363 */
364 public EReference getClassDeclaration_NewNode() {
365 return (EReference) classDeclarationEClass.getEStructuralFeatures().get(3);
366 }
367
368 /**
369 * <!-- begin-user-doc -->
370 * <!-- end-user-doc -->
371 * @generated
372 */
348 public EClass getReferenceDeclaration() { 373 public EClass getReferenceDeclaration() {
349 return referenceDeclarationEClass; 374 return referenceDeclarationEClass;
350 } 375 }
@@ -517,7 +542,7 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
517 * @generated 542 * @generated
518 */ 543 */
519 public EReference getAtom_Arguments() { 544 public EReference getAtom_Arguments() {
520 return (EReference) atomEClass.getEStructuralFeatures().get(1); 545 return (EReference) atomEClass.getEStructuralFeatures().get(2);
521 } 546 }
522 547
523 /** 548 /**
@@ -526,7 +551,7 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
526 * @generated 551 * @generated
527 */ 552 */
528 public EAttribute getAtom_TransitiveClosure() { 553 public EAttribute getAtom_TransitiveClosure() {
529 return (EAttribute) atomEClass.getEStructuralFeatures().get(2); 554 return (EAttribute) atomEClass.getEStructuralFeatures().get(1);
530 } 555 }
531 556
532 /** 557 /**
@@ -741,6 +766,42 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
741 * <!-- end-user-doc --> 766 * <!-- end-user-doc -->
742 * @generated 767 * @generated
743 */ 768 */
769 public EClass getUnboundedMultiplicity() {
770 return unboundedMultiplicityEClass;
771 }
772
773 /**
774 * <!-- begin-user-doc -->
775 * <!-- end-user-doc -->
776 * @generated
777 */
778 public EClass getArgument() {
779 return argumentEClass;
780 }
781
782 /**
783 * <!-- begin-user-doc -->
784 * <!-- end-user-doc -->
785 * @generated
786 */
787 public EReference getArgument_Variable() {
788 return (EReference) argumentEClass.getEStructuralFeatures().get(0);
789 }
790
791 /**
792 * <!-- begin-user-doc -->
793 * <!-- end-user-doc -->
794 * @generated
795 */
796 public EReference getArgument_SingletonVariable() {
797 return (EReference) argumentEClass.getEStructuralFeatures().get(1);
798 }
799
800 /**
801 * <!-- begin-user-doc -->
802 * <!-- end-user-doc -->
803 * @generated
804 */
744 public EEnum getLogicValue() { 805 public EEnum getLogicValue() {
745 return logicValueEEnum; 806 return logicValueEEnum;
746 } 807 }
@@ -784,6 +845,7 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
784 createEAttribute(classDeclarationEClass, CLASS_DECLARATION__ABSTRACT); 845 createEAttribute(classDeclarationEClass, CLASS_DECLARATION__ABSTRACT);
785 createEReference(classDeclarationEClass, CLASS_DECLARATION__SUPER_TYPES); 846 createEReference(classDeclarationEClass, CLASS_DECLARATION__SUPER_TYPES);
786 createEReference(classDeclarationEClass, CLASS_DECLARATION__REFERENCE_DECLARATIONS); 847 createEReference(classDeclarationEClass, CLASS_DECLARATION__REFERENCE_DECLARATIONS);
848 createEReference(classDeclarationEClass, CLASS_DECLARATION__NEW_NODE);
787 849
788 referenceDeclarationEClass = createEClass(REFERENCE_DECLARATION); 850 referenceDeclarationEClass = createEClass(REFERENCE_DECLARATION);
789 createEReference(referenceDeclarationEClass, REFERENCE_DECLARATION__REFERENCE_TYPE); 851 createEReference(referenceDeclarationEClass, REFERENCE_DECLARATION__REFERENCE_TYPE);
@@ -811,8 +873,8 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
811 873
812 atomEClass = createEClass(ATOM); 874 atomEClass = createEClass(ATOM);
813 createEReference(atomEClass, ATOM__RELATION); 875 createEReference(atomEClass, ATOM__RELATION);
814 createEReference(atomEClass, ATOM__ARGUMENTS);
815 createEAttribute(atomEClass, ATOM__TRANSITIVE_CLOSURE); 876 createEAttribute(atomEClass, ATOM__TRANSITIVE_CLOSURE);
877 createEReference(atomEClass, ATOM__ARGUMENTS);
816 878
817 implicitVariableEClass = createEClass(IMPLICIT_VARIABLE); 879 implicitVariableEClass = createEClass(IMPLICIT_VARIABLE);
818 880
@@ -848,6 +910,12 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
848 exactMultiplicityEClass = createEClass(EXACT_MULTIPLICITY); 910 exactMultiplicityEClass = createEClass(EXACT_MULTIPLICITY);
849 createEAttribute(exactMultiplicityEClass, EXACT_MULTIPLICITY__EXACT_VALUE); 911 createEAttribute(exactMultiplicityEClass, EXACT_MULTIPLICITY__EXACT_VALUE);
850 912
913 unboundedMultiplicityEClass = createEClass(UNBOUNDED_MULTIPLICITY);
914
915 argumentEClass = createEClass(ARGUMENT);
916 createEReference(argumentEClass, ARGUMENT__VARIABLE);
917 createEReference(argumentEClass, ARGUMENT__SINGLETON_VARIABLE);
918
851 // Create enums 919 // Create enums
852 logicValueEEnum = createEEnum(LOGIC_VALUE); 920 logicValueEEnum = createEEnum(LOGIC_VALUE);
853 } 921 }
@@ -881,6 +949,7 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
881 // Set bounds for type parameters 949 // Set bounds for type parameters
882 950
883 // Add supertypes to classes 951 // Add supertypes to classes
952 problemEClass.getESuperTypes().add(this.getNamedElement());
884 relationEClass.getESuperTypes().add(this.getNamedElement()); 953 relationEClass.getESuperTypes().add(this.getNamedElement());
885 classDeclarationEClass.getESuperTypes().add(this.getRelation()); 954 classDeclarationEClass.getESuperTypes().add(this.getRelation());
886 classDeclarationEClass.getESuperTypes().add(this.getStatement()); 955 classDeclarationEClass.getESuperTypes().add(this.getStatement());
@@ -899,6 +968,7 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
899 scopeDeclarationEClass.getESuperTypes().add(this.getStatement()); 968 scopeDeclarationEClass.getESuperTypes().add(this.getStatement());
900 rangeMultiplicityEClass.getESuperTypes().add(this.getMultiplicity()); 969 rangeMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
901 exactMultiplicityEClass.getESuperTypes().add(this.getMultiplicity()); 970 exactMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
971 unboundedMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
902 972
903 // Initialize classes, features, and operations; add parameters 973 // Initialize classes, features, and operations; add parameters
904 initEClass(problemEClass, Problem.class, "Problem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 974 initEClass(problemEClass, Problem.class, "Problem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
@@ -922,6 +992,9 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
922 initEReference(getClassDeclaration_ReferenceDeclarations(), this.getReferenceDeclaration(), null, 992 initEReference(getClassDeclaration_ReferenceDeclarations(), this.getReferenceDeclaration(), null,
923 "referenceDeclarations", null, 0, -1, ClassDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, 993 "referenceDeclarations", null, 0, -1, ClassDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE,
924 IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 994 IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
995 initEReference(getClassDeclaration_NewNode(), this.getNode(), null, "newNode", null, 0, 1,
996 ClassDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
997 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
925 998
926 initEClass(referenceDeclarationEClass, ReferenceDeclaration.class, "ReferenceDeclaration", !IS_ABSTRACT, 999 initEClass(referenceDeclarationEClass, ReferenceDeclaration.class, "ReferenceDeclaration", !IS_ABSTRACT,
927 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 1000 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
@@ -975,12 +1048,12 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
975 initEReference(getAtom_Relation(), this.getRelation(), null, "relation", null, 0, 1, Atom.class, !IS_TRANSIENT, 1048 initEReference(getAtom_Relation(), this.getRelation(), null, "relation", null, 0, 1, Atom.class, !IS_TRANSIENT,
976 !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, 1049 !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
977 IS_ORDERED); 1050 IS_ORDERED);
978 initEReference(getAtom_Arguments(), this.getVariable(), null, "arguments", null, 0, -1, Atom.class,
979 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
980 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
981 initEAttribute(getAtom_TransitiveClosure(), ecorePackage.getEBoolean(), "transitiveClosure", null, 0, 1, 1051 initEAttribute(getAtom_TransitiveClosure(), ecorePackage.getEBoolean(), "transitiveClosure", null, 0, 1,
982 Atom.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, 1052 Atom.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED,
983 IS_ORDERED); 1053 IS_ORDERED);
1054 initEReference(getAtom_Arguments(), this.getArgument(), null, "arguments", null, 0, -1, Atom.class,
1055 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
1056 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
984 1057
985 initEClass(implicitVariableEClass, ImplicitVariable.class, "ImplicitVariable", !IS_ABSTRACT, !IS_INTERFACE, 1058 initEClass(implicitVariableEClass, ImplicitVariable.class, "ImplicitVariable", !IS_ABSTRACT, !IS_INTERFACE,
986 IS_GENERATED_INSTANCE_CLASS); 1059 IS_GENERATED_INSTANCE_CLASS);
@@ -1048,6 +1121,18 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
1048 ExactMultiplicity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, 1121 ExactMultiplicity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
1049 !IS_DERIVED, IS_ORDERED); 1122 !IS_DERIVED, IS_ORDERED);
1050 1123
1124 initEClass(unboundedMultiplicityEClass, UnboundedMultiplicity.class, "UnboundedMultiplicity", !IS_ABSTRACT,
1125 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1126
1127 initEClass(argumentEClass, Argument.class, "Argument", !IS_ABSTRACT, !IS_INTERFACE,
1128 IS_GENERATED_INSTANCE_CLASS);
1129 initEReference(getArgument_Variable(), this.getVariable(), null, "variable", null, 0, 1, Argument.class,
1130 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
1131 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1132 initEReference(getArgument_SingletonVariable(), this.getImplicitVariable(), null, "singletonVariable", null, 0,
1133 1, Argument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
1134 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1135
1051 // Initialize enums and add enum literals 1136 // Initialize enums and add enum literals
1052 initEEnum(logicValueEEnum, LogicValue.class, "LogicValue"); 1137 initEEnum(logicValueEEnum, LogicValue.class, "LogicValue");
1053 addEEnumLiteral(logicValueEEnum, LogicValue.TRUE); 1138 addEEnumLiteral(logicValueEEnum, LogicValue.TRUE);
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/UnboundedMultiplicityImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/UnboundedMultiplicityImpl.java
new file mode 100644
index 00000000..34283189
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/UnboundedMultiplicityImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
8import org.eclipse.viatra.solver.language.model.problem.UnboundedMultiplicity;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Unbounded Multiplicity</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class UnboundedMultiplicityImpl extends MultiplicityImpl implements UnboundedMultiplicity {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected UnboundedMultiplicityImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return ProblemPackage.Literals.UNBOUNDED_MULTIPLICITY;
35 }
36
37} //UnboundedMultiplicityImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemAdapterFactory.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemAdapterFactory.java
index f228f54a..c41a4034 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemAdapterFactory.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemAdapterFactory.java
@@ -177,6 +177,16 @@ public class ProblemAdapterFactory extends AdapterFactoryImpl {
177 } 177 }
178 178
179 @Override 179 @Override
180 public Adapter caseUnboundedMultiplicity(UnboundedMultiplicity object) {
181 return createUnboundedMultiplicityAdapter();
182 }
183
184 @Override
185 public Adapter caseArgument(Argument object) {
186 return createArgumentAdapter();
187 }
188
189 @Override
180 public Adapter defaultCase(EObject object) { 190 public Adapter defaultCase(EObject object) {
181 return createEObjectAdapter(); 191 return createEObjectAdapter();
182 } 192 }
@@ -504,6 +514,34 @@ public class ProblemAdapterFactory extends AdapterFactoryImpl {
504 } 514 }
505 515
506 /** 516 /**
517 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.UnboundedMultiplicity <em>Unbounded Multiplicity</em>}'.
518 * <!-- begin-user-doc -->
519 * This default implementation returns null so that we can easily ignore cases;
520 * it's useful to ignore a case when inheritance will catch all the cases anyway.
521 * <!-- end-user-doc -->
522 * @return the new adapter.
523 * @see org.eclipse.viatra.solver.language.model.problem.UnboundedMultiplicity
524 * @generated
525 */
526 public Adapter createUnboundedMultiplicityAdapter() {
527 return null;
528 }
529
530 /**
531 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.Argument <em>Argument</em>}'.
532 * <!-- begin-user-doc -->
533 * This default implementation returns null so that we can easily ignore cases;
534 * it's useful to ignore a case when inheritance will catch all the cases anyway.
535 * <!-- end-user-doc -->
536 * @return the new adapter.
537 * @see org.eclipse.viatra.solver.language.model.problem.Argument
538 * @generated
539 */
540 public Adapter createArgumentAdapter() {
541 return null;
542 }
543
544 /**
507 * Creates a new adapter for the default case. 545 * Creates a new adapter for the default case.
508 * <!-- begin-user-doc --> 546 * <!-- begin-user-doc -->
509 * This default implementation returns null. 547 * This default implementation returns null.
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemSwitch.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemSwitch.java
index a9e1455b..361b663c 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemSwitch.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemSwitch.java
@@ -70,6 +70,8 @@ public class ProblemSwitch<T> extends Switch<T> {
70 Problem problem = (Problem) theEObject; 70 Problem problem = (Problem) theEObject;
71 T result = caseProblem(problem); 71 T result = caseProblem(problem);
72 if (result == null) 72 if (result == null)
73 result = caseNamedElement(problem);
74 if (result == null)
73 result = defaultCase(theEObject); 75 result = defaultCase(theEObject);
74 return result; 76 return result;
75 } 77 }
@@ -266,6 +268,22 @@ public class ProblemSwitch<T> extends Switch<T> {
266 result = defaultCase(theEObject); 268 result = defaultCase(theEObject);
267 return result; 269 return result;
268 } 270 }
271 case ProblemPackage.UNBOUNDED_MULTIPLICITY: {
272 UnboundedMultiplicity unboundedMultiplicity = (UnboundedMultiplicity) theEObject;
273 T result = caseUnboundedMultiplicity(unboundedMultiplicity);
274 if (result == null)
275 result = caseMultiplicity(unboundedMultiplicity);
276 if (result == null)
277 result = defaultCase(theEObject);
278 return result;
279 }
280 case ProblemPackage.ARGUMENT: {
281 Argument argument = (Argument) theEObject;
282 T result = caseArgument(argument);
283 if (result == null)
284 result = defaultCase(theEObject);
285 return result;
286 }
269 default: 287 default:
270 return defaultCase(theEObject); 288 return defaultCase(theEObject);
271 } 289 }
@@ -602,6 +620,36 @@ public class ProblemSwitch<T> extends Switch<T> {
602 } 620 }
603 621
604 /** 622 /**
623 * Returns the result of interpreting the object as an instance of '<em>Unbounded Multiplicity</em>'.
624 * <!-- begin-user-doc -->
625 * This implementation returns null;
626 * returning a non-null result will terminate the switch.
627 * <!-- end-user-doc -->
628 * @param object the target of the switch.
629 * @return the result of interpreting the object as an instance of '<em>Unbounded Multiplicity</em>'.
630 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
631 * @generated
632 */
633 public T caseUnboundedMultiplicity(UnboundedMultiplicity object) {
634 return null;
635 }
636
637 /**
638 * Returns the result of interpreting the object as an instance of '<em>Argument</em>'.
639 * <!-- begin-user-doc -->
640 * This implementation returns null;
641 * returning a non-null result will terminate the switch.
642 * <!-- end-user-doc -->
643 * @param object the target of the switch.
644 * @return the result of interpreting the object as an instance of '<em>Argument</em>'.
645 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
646 * @generated
647 */
648 public T caseArgument(Argument object) {
649 return null;
650 }
651
652 /**
605 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'. 653 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
606 * <!-- begin-user-doc --> 654 * <!-- begin-user-doc -->
607 * This implementation returns null; 655 * This implementation returns null;
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.ecore b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.ecore
index 9b87280d..dd52134b 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.ecore
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.ecore
@@ -2,7 +2,7 @@
2<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 2<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="problem" nsURI="http://www.eclipse.org/viatra/solver/language/model/Problem" 3 xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="problem" nsURI="http://www.eclipse.org/viatra/solver/language/model/Problem"
4 nsPrefix="problem"> 4 nsPrefix="problem">
5 <eClassifiers xsi:type="ecore:EClass" name="Problem"> 5 <eClassifiers xsi:type="ecore:EClass" name="Problem" eSuperTypes="#//NamedElement">
6 <eStructuralFeatures xsi:type="ecore:EReference" name="nodes" upperBound="-1" 6 <eStructuralFeatures xsi:type="ecore:EReference" name="nodes" upperBound="-1"
7 eType="#//Node" containment="true"/> 7 eType="#//Node" containment="true"/>
8 <eStructuralFeatures xsi:type="ecore:EReference" name="statements" upperBound="-1" 8 <eStructuralFeatures xsi:type="ecore:EReference" name="statements" upperBound="-1"
@@ -15,6 +15,8 @@
15 eType="#//ClassDeclaration"/> 15 eType="#//ClassDeclaration"/>
16 <eStructuralFeatures xsi:type="ecore:EReference" name="referenceDeclarations" 16 <eStructuralFeatures xsi:type="ecore:EReference" name="referenceDeclarations"
17 upperBound="-1" eType="#//ReferenceDeclaration" containment="true"/> 17 upperBound="-1" eType="#//ReferenceDeclaration" containment="true"/>
18 <eStructuralFeatures xsi:type="ecore:EReference" name="newNode" eType="#//Node"
19 containment="true"/>
18 </eClassifiers> 20 </eClassifiers>
19 <eClassifiers xsi:type="ecore:EClass" name="ReferenceDeclaration" eSuperTypes="#//Relation"> 21 <eClassifiers xsi:type="ecore:EClass" name="ReferenceDeclaration" eSuperTypes="#//Relation">
20 <eStructuralFeatures xsi:type="ecore:EReference" name="referenceType" eType="#//ClassDeclaration"/> 22 <eStructuralFeatures xsi:type="ecore:EReference" name="referenceType" eType="#//ClassDeclaration"/>
@@ -44,9 +46,9 @@
44 <eClassifiers xsi:type="ecore:EClass" name="Literal" abstract="true"/> 46 <eClassifiers xsi:type="ecore:EClass" name="Literal" abstract="true"/>
45 <eClassifiers xsi:type="ecore:EClass" name="Atom" eSuperTypes="#//Literal"> 47 <eClassifiers xsi:type="ecore:EClass" name="Atom" eSuperTypes="#//Literal">
46 <eStructuralFeatures xsi:type="ecore:EReference" name="relation" eType="#//Relation"/> 48 <eStructuralFeatures xsi:type="ecore:EReference" name="relation" eType="#//Relation"/>
47 <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1"
48 eType="#//Variable"/>
49 <eStructuralFeatures xsi:type="ecore:EAttribute" name="transitiveClosure" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> 49 <eStructuralFeatures xsi:type="ecore:EAttribute" name="transitiveClosure" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
50 <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1"
51 eType="#//Argument" containment="true"/>
50 </eClassifiers> 52 </eClassifiers>
51 <eClassifiers xsi:type="ecore:EClass" name="ImplicitVariable" eSuperTypes="#//Variable"/> 53 <eClassifiers xsi:type="ecore:EClass" name="ImplicitVariable" eSuperTypes="#//Variable"/>
52 <eClassifiers xsi:type="ecore:EClass" name="NegativeLiteral" eSuperTypes="#//ExistentialQuantifier #//Literal"> 54 <eClassifiers xsi:type="ecore:EClass" name="NegativeLiteral" eSuperTypes="#//ExistentialQuantifier #//Literal">
@@ -91,4 +93,10 @@
91 <eStructuralFeatures xsi:type="ecore:EAttribute" name="exactValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" 93 <eStructuralFeatures xsi:type="ecore:EAttribute" name="exactValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
92 defaultValueLiteral="1"/> 94 defaultValueLiteral="1"/>
93 </eClassifiers> 95 </eClassifiers>
96 <eClassifiers xsi:type="ecore:EClass" name="UnboundedMultiplicity" eSuperTypes="#//Multiplicity"/>
97 <eClassifiers xsi:type="ecore:EClass" name="Argument">
98 <eStructuralFeatures xsi:type="ecore:EReference" name="variable" eType="#//Variable"/>
99 <eStructuralFeatures xsi:type="ecore:EReference" name="singletonVariable" eType="#//ImplicitVariable"
100 containment="true"/>
101 </eClassifiers>
94</ecore:EPackage> 102</ecore:EPackage>
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.genmodel b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.genmodel
index 2dfe62e6..379cb028 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.genmodel
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.genmodel
@@ -25,6 +25,7 @@
25 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ClassDeclaration/abstract"/> 25 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ClassDeclaration/abstract"/>
26 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//ClassDeclaration/superTypes"/> 26 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//ClassDeclaration/superTypes"/>
27 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ClassDeclaration/referenceDeclarations"/> 27 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ClassDeclaration/referenceDeclarations"/>
28 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ClassDeclaration/newNode"/>
28 </genClasses> 29 </genClasses>
29 <genClasses ecoreClass="problem.ecore#//ReferenceDeclaration"> 30 <genClasses ecoreClass="problem.ecore#//ReferenceDeclaration">
30 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//ReferenceDeclaration/referenceType"/> 31 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//ReferenceDeclaration/referenceType"/>
@@ -50,8 +51,8 @@
50 <genClasses ecoreClass="problem.ecore#//Literal"/> 51 <genClasses ecoreClass="problem.ecore#//Literal"/>
51 <genClasses ecoreClass="problem.ecore#//Atom"> 52 <genClasses ecoreClass="problem.ecore#//Atom">
52 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Atom/relation"/> 53 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Atom/relation"/>
53 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Atom/arguments"/>
54 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//Atom/transitiveClosure"/> 54 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//Atom/transitiveClosure"/>
55 <genFeatures children="true" createChild="true" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Atom/arguments"/>
55 </genClasses> 56 </genClasses>
56 <genClasses ecoreClass="problem.ecore#//ImplicitVariable"/> 57 <genClasses ecoreClass="problem.ecore#//ImplicitVariable"/>
57 <genClasses ecoreClass="problem.ecore#//NegativeLiteral"> 58 <genClasses ecoreClass="problem.ecore#//NegativeLiteral">
@@ -83,5 +84,10 @@
83 <genClasses ecoreClass="problem.ecore#//ExactMultiplicity"> 84 <genClasses ecoreClass="problem.ecore#//ExactMultiplicity">
84 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ExactMultiplicity/exactValue"/> 85 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ExactMultiplicity/exactValue"/>
85 </genClasses> 86 </genClasses>
87 <genClasses ecoreClass="problem.ecore#//UnboundedMultiplicity"/>
88 <genClasses ecoreClass="problem.ecore#//Argument">
89 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Argument/variable"/>
90 <genFeatures children="true" createChild="true" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Argument/singletonVariable"/>
91 </genClasses>
86 </genPackages> 92 </genPackages>
87</genmodel:GenModel> 93</genmodel:GenModel>
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.classpath b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.classpath
index 659559e1..82e9aceb 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.classpath
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.classpath
@@ -6,19 +6,19 @@
6 <attribute name="gradle_used_by_scope" value="main,test"/> 6 <attribute name="gradle_used_by_scope" value="main,test"/>
7 </attributes> 7 </attributes>
8 </classpathentry> 8 </classpathentry>
9 <classpathentry kind="src" output="bin/main" path="src/main/resources"> 9 <classpathentry kind="src" output="bin/main" path="src/main/xtext-gen">
10 <attributes> 10 <attributes>
11 <attribute name="gradle_scope" value="main"/> 11 <attribute name="gradle_scope" value="main"/>
12 <attribute name="gradle_used_by_scope" value="main,test"/> 12 <attribute name="gradle_used_by_scope" value="main,test"/>
13 </attributes> 13 </attributes>
14 </classpathentry> 14 </classpathentry>
15 <classpathentry kind="src" output="bin/main" path="src/main/xtext-gen"> 15 <classpathentry kind="src" output="bin/main" path="src/main/xtend-gen">
16 <attributes> 16 <attributes>
17 <attribute name="gradle_scope" value="main"/> 17 <attribute name="gradle_scope" value="main"/>
18 <attribute name="gradle_used_by_scope" value="main,test"/> 18 <attribute name="gradle_used_by_scope" value="main,test"/>
19 </attributes> 19 </attributes>
20 </classpathentry> 20 </classpathentry>
21 <classpathentry kind="src" output="bin/main" path="src/main/xtend-gen"> 21 <classpathentry kind="src" output="bin/main" path="src/main/resources">
22 <attributes> 22 <attributes>
23 <attribute name="gradle_scope" value="main"/> 23 <attribute name="gradle_scope" value="main"/>
24 <attribute name="gradle_used_by_scope" value="main,test"/> 24 <attribute name="gradle_used_by_scope" value="main,test"/>
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 7adc0fb9..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,10 +0,0 @@
1eclipse.preferences.version=1
2org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
4org.eclipse.jdt.core.compiler.compliance=11
5org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
7org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
8org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
9org.eclipse.jdt.core.compiler.release=enabled
10org.eclipse.jdt.core.compiler.source=11
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/build.gradle b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/build.gradle
index a3bfc039..495b1339 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/build.gradle
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/build.gradle
@@ -11,7 +11,9 @@ dependencies {
11 compile "org.webjars:requirejs:2.3.6" 11 compile "org.webjars:requirejs:2.3.6"
12 compile "org.webjars:requirejs-text:2.0.15" 12 compile "org.webjars:requirejs-text:2.0.15"
13 compile "org.webjars:jquery:3.6.0" 13 compile "org.webjars:jquery:3.6.0"
14 compile "org.webjars:codemirror:5.41.0" 14 // CodeMirror 5.53.0 and later is incompatible with Xtext due to
15 // https://github.com/codemirror/CodeMirror/commit/b2d26b4ccb1d0994ae84d18ad8b84018de176da9#commitcomment-41525744
16 compile "org.webjars.npm:codemirror:5.52.2"
15 providedCompile "org.eclipse.jetty:jetty-annotations:9.4.42.v20210604" 17 providedCompile "org.eclipse.jetty:jetty-annotations:9.4.42.v20210604"
16 providedCompile "org.eclipse.jetty:jetty-rewrite:9.4.42.v20210604" 18 providedCompile "org.eclipse.jetty:jetty-rewrite:9.4.42.v20210604"
17 providedCompile "org.slf4j:slf4j-simple:1.7.31" 19 providedCompile "org.slf4j:slf4j-simple:1.7.31"
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/index.html b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/index.html
index bf55f237..112adb74 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/index.html
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/index.html
@@ -2,8 +2,8 @@
2<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 2<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
3<meta http-equiv="Content-Language" content="en-us"> 3<meta http-equiv="Content-Language" content="en-us">
4<title>Example Web Editor</title> 4<title>Example Web Editor</title>
5<link rel="stylesheet" type="text/css" href="webjars/codemirror/5.41.0/lib/codemirror.css" /> 5<link rel="stylesheet" type="text/css" href="webjars/codemirror/5.52.2/lib/codemirror.css" />
6<link rel="stylesheet" type="text/css" href="webjars/codemirror/5.41.0/addon/hint/show-hint.css" /> 6<link rel="stylesheet" type="text/css" href="webjars/codemirror/5.52.2/addon/hint/show-hint.css" />
7<link rel="stylesheet" type="text/css" href="xtext/2.26.0.M1/xtext-codemirror.css" /> 7<link rel="stylesheet" type="text/css" href="xtext/2.26.0.M1/xtext-codemirror.css" />
8<link rel="stylesheet" type="text/css" href="style.css" /> 8<link rel="stylesheet" type="text/css" href="style.css" />
9<body> 9<body>
@@ -16,22 +16,24 @@
16 data-editor-xtext-lang="problem" 16 data-editor-xtext-lang="problem"
17 data-editor-enable-formatting-action="true" 17 data-editor-enable-formatting-action="true"
18 data-editor-send-full-text="false" 18 data-editor-send-full-text="false"
19 ><pre>class Family 19 ><pre>class Family {
20 contains Person[0..*] members. 20 contains Person[] members
21}
21 22
22class Person 23class Person {
23 refers Person[0..*] children opposite parent, 24 refers Person[] children opposite parent
24 refers Person[0..1] parent opposite children. 25 refers Person parent opposite children
26}
25 27
26error loop(Person p) := children+(p, p). 28error loop(Person p) :- children+(p, p).
27 29
28error multipleRoots(Person p, Person q) := 30error multipleRoots(Person p, Person q) :-
29 !equals(p, q), !parent(p, _), !parent(q, _). 31 !equals(p, q), !parent(p, _), !parent(q, _).
30 32
31Family(family). 33Family('family').
32members(family, anne). 34members('family', anne).
33members(family, bob). 35members('family', bob).
34members(family, ciri). 36members('family', ciri).
35children(anne, ciri). 37children(anne, ciri).
36?children(bob, ciri). 38?children(bob, ciri).
37 39
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/script.js b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/script.js
index fcaca4a4..dced7eca 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/script.js
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/script.js
@@ -11,7 +11,7 @@ require.config({
11 }, 11 },
12 packages: [{ 12 packages: [{
13 name: "codemirror", 13 name: "codemirror",
14 location: "webjars/codemirror/5.41.0", 14 location: "webjars/codemirror/5.52.2",
15 main: "lib/codemirror" 15 main: "lib/codemirror"
16 }] 16 }]
17}); 17});
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/style.css b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/style.css
index f1551c3d..b24610f4 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/style.css
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/style.css
@@ -70,22 +70,30 @@ a:hover {
70 color: #8b8816; 70 color: #8b8816;
71} 71}
72 72
73.problem-reference, .problem-containment, .problem-predicate { 73.problem-reference {
74 color: #0000c0; 74 color: #0000c0;
75} 75}
76 76
77.problem-error { 77.problem-containment {
78 color: #ab3000; 78 font-weight: bold;
79} 79}
80 80
81.problem-containment { 81.problem-node {
82 color: inherit !important;
83}
84
85.problem-enum-node {
82 font-weight: bold; 86 font-weight: bold;
83} 87}
84 88
85.problem-parameter, .problem-variable { 89.problem-new-node {
90 font-style: italic;
91}
92
93.problem-variable {
86 color: #6a3e3e; 94 color: #6a3e3e;
87} 95}
88 96
89.problem-node { 97.problem-singleton-variable {
90 text-decoration: underline; 98 opacity: 0.7;
91} 99}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/xtext-resources/generated/mode-problem.js b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/xtext-resources/generated/mode-problem.js
index ab748b03..0abfa5ee 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/xtext-resources/generated/mode-problem.js
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/xtext-resources/generated/mode-problem.js
@@ -1,5 +1,5 @@
1define(["codemirror", "codemirror/addon/mode/simple"], function(CodeMirror, SimpleMode) { 1define(["codemirror", "codemirror/addon/mode/simple"], function(CodeMirror, SimpleMode) {
2 var keywords = "abstract|class|contains|error|extends|false|opposite|pred|refers|scope|true|unknown"; 2 var keywords = "abstract|class|contains|error|extends|false|opposite|pred|problem|refers|scope|true|unknown";
3 CodeMirror.defineSimpleMode("xtext/problem", { 3 CodeMirror.defineSimpleMode("xtext/problem", {
4 start: [ 4 start: [
5 {token: "comment", regex: "\\/\\/.*$"}, 5 {token: "comment", regex: "\\/\\/.*$"},
@@ -7,8 +7,8 @@ define(["codemirror", "codemirror/addon/mode/simple"], function(CodeMirror, Simp
7 {token: "string", regex: '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'}, 7 {token: "string", regex: '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},
8 {token: "string", regex: "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"}, 8 {token: "string", regex: "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},
9 {token: "constant.numeric", regex: "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"}, 9 {token: "constant.numeric", regex: "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},
10 {token: "lparen", regex: "[\\[(]"}, 10 {token: "lparen", regex: "[\\[({]"},
11 {token: "rparen", regex: "[\\])]"}, 11 {token: "rparen", regex: "[\\])}]"},
12 {token: "keyword", regex: "\\b(?:" + keywords + ")\\b"} 12 {token: "keyword", regex: "\\b(?:" + keywords + ")\\b"}
13 ], 13 ],
14 comment: [ 14 comment: [
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/.classpath b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/.classpath
index 01bce195..032f6f94 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/.classpath
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/.classpath
@@ -6,19 +6,20 @@
6 <attribute name="gradle_used_by_scope" value="main,test"/> 6 <attribute name="gradle_used_by_scope" value="main,test"/>
7 </attributes> 7 </attributes>
8 </classpathentry> 8 </classpathentry>
9 <classpathentry kind="src" output="bin/main" path="src/main/resources"> 9 <classpathentry kind="src" output="bin/main" path="src/main/xtext-gen">
10 <attributes> 10 <attributes>
11 <attribute name="ignore_optional_problems" value="true"/>
11 <attribute name="gradle_scope" value="main"/> 12 <attribute name="gradle_scope" value="main"/>
12 <attribute name="gradle_used_by_scope" value="main,test"/> 13 <attribute name="gradle_used_by_scope" value="main,test"/>
13 </attributes> 14 </attributes>
14 </classpathentry> 15 </classpathentry>
15 <classpathentry kind="src" output="bin/main" path="src/main/xtext-gen"> 16 <classpathentry kind="src" output="bin/main" path="src/main/xtend-gen">
16 <attributes> 17 <attributes>
17 <attribute name="gradle_scope" value="main"/> 18 <attribute name="gradle_scope" value="main"/>
18 <attribute name="gradle_used_by_scope" value="main,test"/> 19 <attribute name="gradle_used_by_scope" value="main,test"/>
19 </attributes> 20 </attributes>
20 </classpathentry> 21 </classpathentry>
21 <classpathentry kind="src" output="bin/main" path="src/main/xtend-gen"> 22 <classpathentry kind="src" output="bin/main" path="src/main/resources">
22 <attributes> 23 <attributes>
23 <attribute name="gradle_scope" value="main"/> 24 <attribute name="gradle_scope" value="main"/>
24 <attribute name="gradle_used_by_scope" value="main,test"/> 25 <attribute name="gradle_used_by_scope" value="main,test"/>
@@ -31,21 +32,21 @@
31 <attribute name="test" value="true"/> 32 <attribute name="test" value="true"/>
32 </attributes> 33 </attributes>
33 </classpathentry> 34 </classpathentry>
34 <classpathentry kind="src" output="bin/test" path="src/test/resources"> 35 <classpathentry kind="src" output="bin/test" path="src/test/xtext-gen">
35 <attributes> 36 <attributes>
36 <attribute name="gradle_scope" value="test"/> 37 <attribute name="gradle_scope" value="test"/>
37 <attribute name="gradle_used_by_scope" value="test"/> 38 <attribute name="gradle_used_by_scope" value="test"/>
38 <attribute name="test" value="true"/> 39 <attribute name="test" value="true"/>
39 </attributes> 40 </attributes>
40 </classpathentry> 41 </classpathentry>
41 <classpathentry kind="src" output="bin/test" path="src/test/xtext-gen"> 42 <classpathentry kind="src" output="bin/test" path="src/test/xtend-gen">
42 <attributes> 43 <attributes>
43 <attribute name="gradle_scope" value="test"/> 44 <attribute name="gradle_scope" value="test"/>
44 <attribute name="gradle_used_by_scope" value="test"/> 45 <attribute name="gradle_used_by_scope" value="test"/>
45 <attribute name="test" value="true"/> 46 <attribute name="test" value="true"/>
46 </attributes> 47 </attributes>
47 </classpathentry> 48 </classpathentry>
48 <classpathentry kind="src" output="bin/test" path="src/test/xtend-gen"> 49 <classpathentry kind="src" output="bin/test" path="src/test/resources">
49 <attributes> 50 <attributes>
50 <attribute name="gradle_scope" value="test"/> 51 <attribute name="gradle_scope" value="test"/>
51 <attribute name="gradle_used_by_scope" value="test"/> 52 <attribute name="gradle_used_by_scope" value="test"/>
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 7adc0fb9..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,10 +0,0 @@
1eclipse.preferences.version=1
2org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
4org.eclipse.jdt.core.compiler.compliance=11
5org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
7org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
8org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
9org.eclipse.jdt.core.compiler.release=enabled
10org.eclipse.jdt.core.compiler.source=11
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/Problem.xtext b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/Problem.xtext
index 81c18d0d..2d4eb1b9 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/Problem.xtext
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/Problem.xtext
@@ -4,6 +4,7 @@ import "http://www.eclipse.org/emf/2002/Ecore" as ecore
4import "http://www.eclipse.org/viatra/solver/language/model/Problem" 4import "http://www.eclipse.org/viatra/solver/language/model/Problem"
5 5
6Problem: 6Problem:
7 ("problem" name=ID ".")?
7 statements+=Statement*; 8 statements+=Statement*;
8 9
9Statement: 10Statement:
@@ -12,16 +13,13 @@ Statement:
12ClassDeclaration: 13ClassDeclaration:
13 abstract?="abstract"? "class" 14 abstract?="abstract"? "class"
14 name=ID 15 name=ID
15 ("extends" (superTypes+=[ClassDeclaration] | 16 ("extends" superTypes+=[ClassDeclaration|QualifiedName] ("," superTypes+=[ClassDeclaration|QualifiedName])*)?
16 "[" (superTypes+=[ClassDeclaration] ("," superTypes+=[ClassDeclaration])*)? "]") | 17 ("{" (referenceDeclarations+=ReferenceDeclaration ";"?)* "}" | ".");
17 referenceDeclarations+=ReferenceDeclaration)?
18 ("," referenceDeclarations+=ReferenceDeclaration)*
19 ".";
20 18
21ReferenceDeclaration: 19ReferenceDeclaration:
22 (containment?="contains" | "refers") 20 (containment?="contains" | "refers")
23 referenceType=[ClassDeclaration] 21 referenceType=[ClassDeclaration|QualifiedName]
24 "[" multiplicity=Multiplicity "]" 22 ("[" multiplicity=Multiplicity "]")?
25 name=ID 23 name=ID
26 ("opposite" opposite=[ReferenceDeclaration|QualifiedName])?; 24 ("opposite" opposite=[ReferenceDeclaration|QualifiedName])?;
27 25
@@ -29,7 +27,7 @@ PredicateDefinition:
29 (error?="error" "pred"? | "pred") 27 (error?="error" "pred"? | "pred")
30 name=ID 28 name=ID
31 "(" (parameters+=Parameter ("," parameters+=Parameter)*)? ")" 29 "(" (parameters+=Parameter ("," parameters+=Parameter)*)? ")"
32 (":=" bodies+=Conjunction (";" bodies+=Conjunction)*)? 30 (":-" bodies+=Conjunction (";" bodies+=Conjunction)*)?
33 "."; 31 ".";
34 32
35Parameter: 33Parameter:
@@ -47,7 +45,10 @@ NegativeLiteral:
47Atom: 45Atom:
48 relation=[Relation|QualifiedName] 46 relation=[Relation|QualifiedName]
49 transitiveClosure?="+"? 47 transitiveClosure?="+"?
50 "(" (arguments+=[Variable] ("," arguments+=[Variable])*)? ")"; 48 "(" (arguments+=Argument ("," arguments+=Argument)*)? ")";
49
50Argument:
51 variable=[Variable];
51 52
52Assertion: 53Assertion:
53 (relation=[Relation|QualifiedName] 54 (relation=[Relation|QualifiedName]
@@ -70,11 +71,17 @@ ScopeDeclaration:
70TypeScope: 71TypeScope:
71 targetType=[ClassDeclaration] 72 targetType=[ClassDeclaration]
72 (increment?="+=" | "=") 73 (increment?="+=" | "=")
73 multiplicity=Multiplicity; 74 multiplicity=DefiniteMultiplicity;
74 75
75Multiplicity: 76Multiplicity:
77 UnboundedMultiplicity | DefiniteMultiplicity;
78
79DefiniteMultiplicity returns Multiplicity:
76 RangeMultiplicity | ExactMultiplicity; 80 RangeMultiplicity | ExactMultiplicity;
77 81
82UnboundedMultiplicity:
83 {UnboundedMultiplicity};
84
78RangeMultiplicity: 85RangeMultiplicity:
79 lowerBound=INT ".." upperBound=UpperBound; 86 lowerBound=INT ".." upperBound=UpperBound;
80 87
@@ -85,4 +92,9 @@ UpperBound returns ecore::EInt:
85 INT | "*"; 92 INT | "*";
86 93
87QualifiedName: 94QualifiedName:
88 ID ("::" ID)*; 95 QUOTED_ID | ID (":" ID)* (":" QUOTED_ID)?;
96
97@Override
98terminal STRING: '"' ( '\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\'|'"') )* '"';
99
100terminal QUOTED_ID: "'" ( '\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\'|"'") )* "'";
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/ProblemRuntimeModule.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/ProblemRuntimeModule.java
index b2a3218c..eb9ddd77 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/ProblemRuntimeModule.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/ProblemRuntimeModule.java
@@ -5,14 +5,13 @@ package org.eclipse.viatra.solver.language;
5 5
6import org.eclipse.viatra.solver.language.conversion.ProblemValueConverterService; 6import org.eclipse.viatra.solver.language.conversion.ProblemValueConverterService;
7import org.eclipse.viatra.solver.language.naming.ProblemQualifiedNameConverter; 7import org.eclipse.viatra.solver.language.naming.ProblemQualifiedNameConverter;
8import org.eclipse.viatra.solver.language.naming.ProblemQualifiedNameProvider;
9import org.eclipse.viatra.solver.language.resource.ProblemDerivedStateComputer; 8import org.eclipse.viatra.solver.language.resource.ProblemDerivedStateComputer;
10import org.eclipse.viatra.solver.language.resource.ProblemLocationInFileProvider; 9import org.eclipse.viatra.solver.language.resource.ProblemLocationInFileProvider;
11import org.eclipse.viatra.solver.language.resource.ProblemResourceDescriptionStrategy; 10import org.eclipse.viatra.solver.language.resource.ProblemResourceDescriptionStrategy;
12import org.eclipse.viatra.solver.language.scoping.ProblemGlobalScopeProvider; 11import org.eclipse.viatra.solver.language.scoping.ProblemGlobalScopeProvider;
12import org.eclipse.viatra.solver.language.scoping.ProblemLocalScopeProvider;
13import org.eclipse.xtext.conversion.IValueConverterService; 13import org.eclipse.xtext.conversion.IValueConverterService;
14import org.eclipse.xtext.naming.IQualifiedNameConverter; 14import org.eclipse.xtext.naming.IQualifiedNameConverter;
15import org.eclipse.xtext.naming.IQualifiedNameProvider;
16import org.eclipse.xtext.resource.DerivedStateAwareResource; 15import org.eclipse.xtext.resource.DerivedStateAwareResource;
17import org.eclipse.xtext.resource.DerivedStateAwareResourceDescriptionManager; 16import org.eclipse.xtext.resource.DerivedStateAwareResourceDescriptionManager;
18import org.eclipse.xtext.resource.IDefaultResourceDescriptionStrategy; 17import org.eclipse.xtext.resource.IDefaultResourceDescriptionStrategy;
@@ -23,7 +22,6 @@ import org.eclipse.xtext.resource.XtextResource;
23import org.eclipse.xtext.scoping.IGlobalScopeProvider; 22import org.eclipse.xtext.scoping.IGlobalScopeProvider;
24import org.eclipse.xtext.scoping.IScopeProvider; 23import org.eclipse.xtext.scoping.IScopeProvider;
25import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider; 24import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider;
26import org.eclipse.xtext.scoping.impl.SimpleLocalScopeProvider;
27import org.eclipse.xtext.validation.IResourceValidator; 25import org.eclipse.xtext.validation.IResourceValidator;
28import org.eclipse.xtext.xbase.annotations.validation.DerivedStateAwareResourceValidator; 26import org.eclipse.xtext.xbase.annotations.validation.DerivedStateAwareResourceValidator;
29 27
@@ -39,10 +37,6 @@ public class ProblemRuntimeModule extends AbstractProblemRuntimeModule {
39 return ProblemQualifiedNameConverter.class; 37 return ProblemQualifiedNameConverter.class;
40 } 38 }
41 39
42 public Class<? extends IQualifiedNameProvider> bindIQualifiedNameProvider() {
43 return ProblemQualifiedNameProvider.class;
44 }
45
46 public Class<? extends IDefaultResourceDescriptionStrategy> bindIDefaultResourceDescriptionStrategy() { 40 public Class<? extends IDefaultResourceDescriptionStrategy> bindIDefaultResourceDescriptionStrategy() {
47 return ProblemResourceDescriptionStrategy.class; 41 return ProblemResourceDescriptionStrategy.class;
48 } 42 }
@@ -51,19 +45,19 @@ public class ProblemRuntimeModule extends AbstractProblemRuntimeModule {
51 public Class<? extends IValueConverterService> bindIValueConverterService() { 45 public Class<? extends IValueConverterService> bindIValueConverterService() {
52 return ProblemValueConverterService.class; 46 return ProblemValueConverterService.class;
53 } 47 }
54 48
55 @Override
56 public void configureIScopeProviderDelegate(Binder binder) {
57 binder.bind(IScopeProvider.class).annotatedWith(Names.named(AbstractDeclarativeScopeProvider.NAMED_DELEGATE))
58 .to(SimpleLocalScopeProvider.class);
59 }
60
61 @Override 49 @Override
62 public Class<? extends IGlobalScopeProvider> bindIGlobalScopeProvider() { 50 public Class<? extends IGlobalScopeProvider> bindIGlobalScopeProvider() {
63 return ProblemGlobalScopeProvider.class; 51 return ProblemGlobalScopeProvider.class;
64 } 52 }
65 53
66 @Override 54 @Override
55 public void configureIScopeProviderDelegate(Binder binder) {
56 binder.bind(IScopeProvider.class).annotatedWith(Names.named(AbstractDeclarativeScopeProvider.NAMED_DELEGATE))
57 .to(ProblemLocalScopeProvider.class);
58 }
59
60 @Override
67 public Class<? extends XtextResource> bindXtextResource() { 61 public Class<? extends XtextResource> bindXtextResource() {
68 return DerivedStateAwareResource.class; 62 return DerivedStateAwareResource.class;
69 } 63 }
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/ProblemUtil.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/ProblemUtil.java
new file mode 100644
index 00000000..0151e0c0
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/ProblemUtil.java
@@ -0,0 +1,31 @@
1package org.eclipse.viatra.solver.language;
2
3import org.eclipse.viatra.solver.language.model.problem.Node;
4import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
5import org.eclipse.viatra.solver.language.model.problem.Variable;
6
7import com.google.inject.Singleton;
8
9@Singleton
10public class ProblemUtil {
11 public static final String SINGLETON_VARIABLE_PREFIX = "_";
12
13 public static final String ENUM_NODE_NAME_QUOTE = "'";
14
15 public static boolean isSingletonVariableName(String name) {
16 return name != null && name.startsWith(SINGLETON_VARIABLE_PREFIX);
17 }
18
19 public static boolean isSingletonVariable(Variable variable) {
20 return variable.eContainingFeature() == ProblemPackage.Literals.ARGUMENT__SINGLETON_VARIABLE;
21 }
22
23 public static boolean isEnumNode(Node node) {
24 String name = node.getName();
25 return name != null && name.startsWith(ENUM_NODE_NAME_QUOTE) && name.endsWith(ENUM_NODE_NAME_QUOTE);
26 }
27
28 public static boolean isNewNode(Node node) {
29 return node.eContainingFeature() == ProblemPackage.Literals.CLASS_DECLARATION__NEW_NODE;
30 }
31}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/naming/ProblemQualifiedNameConverter.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/naming/ProblemQualifiedNameConverter.java
index ebb7e7b4..3cee31f3 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/naming/ProblemQualifiedNameConverter.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/naming/ProblemQualifiedNameConverter.java
@@ -6,8 +6,10 @@ import com.google.inject.Singleton;
6 6
7@Singleton 7@Singleton
8public class ProblemQualifiedNameConverter extends IQualifiedNameConverter.DefaultImpl { 8public class ProblemQualifiedNameConverter extends IQualifiedNameConverter.DefaultImpl {
9 public static final String DELIMITER = ":";
10
9 @Override 11 @Override
10 public String getDelimiter() { 12 public String getDelimiter() {
11 return "::"; 13 return DELIMITER;
12 } 14 }
13} 15}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/naming/ProblemQualifiedNameProvider.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/naming/ProblemQualifiedNameProvider.java
deleted file mode 100644
index 81365724..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/naming/ProblemQualifiedNameProvider.java
+++ /dev/null
@@ -1,15 +0,0 @@
1package org.eclipse.viatra.solver.language.naming;
2
3import org.eclipse.viatra.solver.language.model.problem.Node;
4import org.eclipse.xtext.naming.DefaultDeclarativeQualifiedNameProvider;
5import org.eclipse.xtext.naming.QualifiedName;
6
7public class ProblemQualifiedNameProvider extends DefaultDeclarativeQualifiedNameProvider {
8 public QualifiedName qualifiedName(Node node) {
9 String name = node.getName();
10 if (name == null || name.isEmpty()) {
11 return null;
12 }
13 return getConverter().toQualifiedName(name);
14 }
15}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/resource/ProblemDerivedStateComputer.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/resource/ProblemDerivedStateComputer.java
index 571b5745..c161de22 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/resource/ProblemDerivedStateComputer.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/resource/ProblemDerivedStateComputer.java
@@ -6,6 +6,8 @@ import java.util.Set;
6import java.util.regex.Pattern; 6import java.util.regex.Pattern;
7 7
8import org.eclipse.emf.ecore.EObject; 8import org.eclipse.emf.ecore.EObject;
9import org.eclipse.viatra.solver.language.ProblemUtil;
10import org.eclipse.viatra.solver.language.model.problem.Argument;
9import org.eclipse.viatra.solver.language.model.problem.Assertion; 11import org.eclipse.viatra.solver.language.model.problem.Assertion;
10import org.eclipse.viatra.solver.language.model.problem.Atom; 12import org.eclipse.viatra.solver.language.model.problem.Atom;
11import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration; 13import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration;
@@ -39,12 +41,7 @@ import com.google.inject.Singleton;
39public class ProblemDerivedStateComputer implements IDerivedStateComputer { 41public class ProblemDerivedStateComputer implements IDerivedStateComputer {
40 public static final String NEW_NODE = "new"; 42 public static final String NEW_NODE = "new";
41 43
42 private static final String ID_REGEX_STRING = "[_a-zA-Z][_0-9a-zA-Z]*"; 44 private static final Pattern ID_REGEX = Pattern.compile("[_a-zA-Z][_0-9a-zA-Z]*|'(\\\\.|[^\\'])*'");
43
44 private static final Pattern ID_REGEX = Pattern.compile(ID_REGEX_STRING);
45
46 private static final Pattern QUALIFIED_NAME_REGEX = Pattern
47 .compile(ID_REGEX_STRING + "(::" + ID_REGEX_STRING + ")*");
48 45
49 @Inject 46 @Inject
50 private LinkingHelper linkingHelper; 47 private LinkingHelper linkingHelper;
@@ -65,7 +62,7 @@ public class ProblemDerivedStateComputer implements IDerivedStateComputer {
65 } 62 }
66 63
67 protected void installDerivedProblemState(Problem problem, boolean preLinkingPhase) { 64 protected void installDerivedProblemState(Problem problem, boolean preLinkingPhase) {
68 Set<String> nodeNames = new HashSet<>(); 65 installNewNodes(problem);
69 if (!preLinkingPhase) { 66 if (!preLinkingPhase) {
70 installDerivedNodes(problem); 67 installDerivedNodes(problem);
71 } 68 }
@@ -75,31 +72,24 @@ public class ProblemDerivedStateComputer implements IDerivedStateComputer {
75 installDerivedPredicateDefinitionState(definition); 72 installDerivedPredicateDefinitionState(definition);
76 } 73 }
77 } 74 }
78 List<Node> grapNodes = problem.getNodes();
79 for (String nodeName : nodeNames) {
80 Node graphNode = ProblemFactory.eINSTANCE.createNode();
81 graphNode.setName(nodeName);
82 grapNodes.add(graphNode);
83 }
84 } 75 }
85 76
86 protected void installDerivedNodes(Problem problem) { 77 protected void installNewNodes(Problem problem) {
87 IScope nodeScope = scopeProvider.getScope(problem.eResource(), ProblemPackage.Literals.ASSERTION__ARGUMENTS,
88 Predicates.alwaysTrue());
89 Set<String> nodeNames = new HashSet<>();
90 for (Statement statement : problem.getStatements()) { 78 for (Statement statement : problem.getStatements()) {
91 if (statement instanceof ClassDeclaration) { 79 if (statement instanceof ClassDeclaration) {
92 ClassDeclaration declaration = (ClassDeclaration) statement; 80 ClassDeclaration declaration = (ClassDeclaration) statement;
93 if (!declaration.isAbstract()) { 81 if (!declaration.isAbstract()) {
94 String className = declaration.getName(); 82 Node newNode = createNode(NEW_NODE);
95 if (validId(className)) { 83 declaration.setNewNode(newNode);
96 QualifiedName qualifiedName = QualifiedName.create(className, NEW_NODE);
97 String nodeName = qualifiedNameConverter.toString(qualifiedName);
98 nodeNames.add(nodeName);
99 }
100 } 84 }
101 } 85 }
102 } 86 }
87 }
88
89 protected void installDerivedNodes(Problem problem) {
90 IScope nodeScope = scopeProvider.getScope(problem.eResource(), ProblemPackage.Literals.ASSERTION__ARGUMENTS,
91 Predicates.alwaysTrue());
92 Set<String> nodeNames = new HashSet<>();
103 for (Statement statement : problem.getStatements()) { 93 for (Statement statement : problem.getStatements()) {
104 if (statement instanceof Assertion) { 94 if (statement instanceof Assertion) {
105 Assertion assertion = (Assertion) statement; 95 Assertion assertion = (Assertion) statement;
@@ -107,9 +97,9 @@ public class ProblemDerivedStateComputer implements IDerivedStateComputer {
107 ProblemPackage.Literals.ASSERTION__ARGUMENTS); 97 ProblemPackage.Literals.ASSERTION__ARGUMENTS);
108 for (INode node : nodes) { 98 for (INode node : nodes) {
109 String nodeName = linkingHelper.getCrossRefNodeAsString(node, true); 99 String nodeName = linkingHelper.getCrossRefNodeAsString(node, true);
110 if (validQualifiedName(nodeName)) { 100 if (validId(nodeName)) {
111 QualifiedName qualifiedName = qualifiedNameConverter.toQualifiedName(nodeName); 101 QualifiedName qualifiedName = qualifiedNameConverter.toQualifiedName(nodeName);
112 if (nodeScope.getSingleElement(qualifiedName) == null) { 102 if (!nodeNames.contains(nodeName) && nodeScope.getSingleElement(qualifiedName) == null) {
113 nodeNames.add(nodeName); 103 nodeNames.add(nodeName);
114 } 104 }
115 } 105 }
@@ -118,12 +108,17 @@ public class ProblemDerivedStateComputer implements IDerivedStateComputer {
118 } 108 }
119 List<Node> grapNodes = problem.getNodes(); 109 List<Node> grapNodes = problem.getNodes();
120 for (String nodeName : nodeNames) { 110 for (String nodeName : nodeNames) {
121 Node graphNode = ProblemFactory.eINSTANCE.createNode(); 111 Node graphNode = createNode(nodeName);
122 graphNode.setName(nodeName);
123 grapNodes.add(graphNode); 112 grapNodes.add(graphNode);
124 } 113 }
125 } 114 }
126 115
116 protected Node createNode(String name) {
117 Node node = ProblemFactory.eINSTANCE.createNode();
118 node.setName(name);
119 return node;
120 }
121
127 protected void installDerivedPredicateDefinitionState(PredicateDefinition definition) { 122 protected void installDerivedPredicateDefinitionState(PredicateDefinition definition) {
128 Set<String> parameterNames = new HashSet<>(); 123 Set<String> parameterNames = new HashSet<>();
129 for (Parameter parameter : definition.getParameters()) { 124 for (Parameter parameter : definition.getParameters()) {
@@ -142,7 +137,7 @@ public class ProblemDerivedStateComputer implements IDerivedStateComputer {
142 for (Literal literal : conjunction.getLiterals()) { 137 for (Literal literal : conjunction.getLiterals()) {
143 if (literal instanceof Atom) { 138 if (literal instanceof Atom) {
144 Atom atom = (Atom) literal; 139 Atom atom = (Atom) literal;
145 collectVariables(atom, knownVariables, newVariables); 140 createSigletonVariablesAndCollectVariables(atom, knownVariables, newVariables);
146 } 141 }
147 } 142 }
148 createVariables(conjunction, newVariables); 143 createVariables(conjunction, newVariables);
@@ -157,14 +152,25 @@ public class ProblemDerivedStateComputer implements IDerivedStateComputer {
157 152
158 protected void installDeriveNegativeLiteralState(NegativeLiteral negativeLiteral, Set<String> knownVariables) { 153 protected void installDeriveNegativeLiteralState(NegativeLiteral negativeLiteral, Set<String> knownVariables) {
159 Set<String> newVariables = new HashSet<>(); 154 Set<String> newVariables = new HashSet<>();
160 collectVariables(negativeLiteral.getAtom(), knownVariables, newVariables); 155 createSigletonVariablesAndCollectVariables(negativeLiteral.getAtom(), knownVariables, newVariables);
161 createVariables(negativeLiteral, newVariables); 156 createVariables(negativeLiteral, newVariables);
162 } 157 }
163 158
164 protected void collectVariables(Atom atom, Set<String> knownVariables, Set<String> newVariables) { 159 protected void createSigletonVariablesAndCollectVariables(Atom atom, Set<String> knownVariables,
160 Set<String> newVariables) {
165 List<INode> nodes = NodeModelUtils.findNodesForFeature(atom, ProblemPackage.Literals.ATOM__ARGUMENTS); 161 List<INode> nodes = NodeModelUtils.findNodesForFeature(atom, ProblemPackage.Literals.ATOM__ARGUMENTS);
166 for (INode node : nodes) { 162 int nodesSize = nodes.size();
163 List<Argument> arguments = atom.getArguments();
164 int argumentsSize = arguments.size();
165 for (int i = 0; i < nodesSize; i++) {
166 INode node = nodes.get(i);
167 String variableName = linkingHelper.getCrossRefNodeAsString(node, true); 167 String variableName = linkingHelper.getCrossRefNodeAsString(node, true);
168 if (ProblemUtil.isSingletonVariableName(variableName)) {
169 if (i < argumentsSize) {
170 createSingletonVariable(arguments.get(i), variableName);
171 }
172 continue;
173 }
168 if (!knownVariables.contains(variableName)) { 174 if (!knownVariables.contains(variableName)) {
169 newVariables.add(variableName); 175 newVariables.add(variableName);
170 } 176 }
@@ -173,14 +179,30 @@ public class ProblemDerivedStateComputer implements IDerivedStateComputer {
173 179
174 protected void createVariables(ExistentialQuantifier quantifier, Set<String> newVariables) { 180 protected void createVariables(ExistentialQuantifier quantifier, Set<String> newVariables) {
175 for (String variableName : newVariables) { 181 for (String variableName : newVariables) {
176 if (validId(variableName)) { 182 createVariable(quantifier, variableName);
177 ImplicitVariable variable = ProblemFactory.eINSTANCE.createImplicitVariable(); 183 }
178 variable.setName(variableName); 184 }
179 quantifier.getImplicitVariables().add(variable); 185
180 } 186 protected void createVariable(ExistentialQuantifier quantifier, String variableName) {
187 if (validId(variableName)) {
188 ImplicitVariable variable = createNamedVariable(variableName);
189 quantifier.getImplicitVariables().add(variable);
181 } 190 }
182 } 191 }
183 192
193 protected void createSingletonVariable(Argument argument, String variableName) {
194 if (validId(variableName)) {
195 ImplicitVariable variable = createNamedVariable(variableName);
196 argument.setSingletonVariable(variable);
197 }
198 }
199
200 protected ImplicitVariable createNamedVariable(String variableName) {
201 ImplicitVariable variable = ProblemFactory.eINSTANCE.createImplicitVariable();
202 variable.setName(variableName);
203 return variable;
204 }
205
184 @Override 206 @Override
185 public void discardDerivedState(DerivedStateAwareResource resource) { 207 public void discardDerivedState(DerivedStateAwareResource resource) {
186 for (EObject object : resource.getContents()) { 208 for (EObject object : resource.getContents()) {
@@ -193,7 +215,10 @@ public class ProblemDerivedStateComputer implements IDerivedStateComputer {
193 protected void discardDerivedProblemState(Problem problem) { 215 protected void discardDerivedProblemState(Problem problem) {
194 problem.getNodes().clear(); 216 problem.getNodes().clear();
195 for (Statement statement : problem.getStatements()) { 217 for (Statement statement : problem.getStatements()) {
196 if (statement instanceof PredicateDefinition) { 218 if (statement instanceof ClassDeclaration) {
219 ClassDeclaration classDeclaration = (ClassDeclaration) statement;
220 classDeclaration.setNewNode(null);
221 } else if (statement instanceof PredicateDefinition) {
197 PredicateDefinition definition = (PredicateDefinition) statement; 222 PredicateDefinition definition = (PredicateDefinition) statement;
198 for (Conjunction body : definition.getBodies()) { 223 for (Conjunction body : definition.getBodies()) {
199 body.getImplicitVariables().clear(); 224 body.getImplicitVariables().clear();
@@ -211,8 +236,4 @@ public class ProblemDerivedStateComputer implements IDerivedStateComputer {
211 protected static boolean validId(String name) { 236 protected static boolean validId(String name) {
212 return name != null && ID_REGEX.matcher(name).matches(); 237 return name != null && ID_REGEX.matcher(name).matches();
213 } 238 }
214
215 protected static boolean validQualifiedName(String name) {
216 return name != null && QUALIFIED_NAME_REGEX.matcher(name).matches();
217 }
218} 239}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/resource/ProblemLocationInFileProvider.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/resource/ProblemLocationInFileProvider.java
index dfffc7ef..d3976ec5 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/resource/ProblemLocationInFileProvider.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/resource/ProblemLocationInFileProvider.java
@@ -3,6 +3,8 @@ package org.eclipse.viatra.solver.language.resource;
3import java.util.Iterator; 3import java.util.Iterator;
4 4
5import org.eclipse.emf.ecore.EObject; 5import org.eclipse.emf.ecore.EObject;
6import org.eclipse.viatra.solver.language.ProblemUtil;
7import org.eclipse.viatra.solver.language.model.problem.Argument;
6import org.eclipse.viatra.solver.language.model.problem.Assertion; 8import org.eclipse.viatra.solver.language.model.problem.Assertion;
7import org.eclipse.viatra.solver.language.model.problem.Atom; 9import org.eclipse.viatra.solver.language.model.problem.Atom;
8import org.eclipse.viatra.solver.language.model.problem.Conjunction; 10import org.eclipse.viatra.solver.language.model.problem.Conjunction;
@@ -14,23 +16,10 @@ import org.eclipse.viatra.solver.language.model.problem.Problem;
14import org.eclipse.viatra.solver.language.model.problem.ProblemPackage; 16import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
15import org.eclipse.viatra.solver.language.model.problem.Statement; 17import org.eclipse.viatra.solver.language.model.problem.Statement;
16import org.eclipse.xtext.EcoreUtil2; 18import org.eclipse.xtext.EcoreUtil2;
17import org.eclipse.xtext.naming.IQualifiedNameProvider;
18import org.eclipse.xtext.naming.QualifiedName;
19import org.eclipse.xtext.resource.DefaultLocationInFileProvider; 19import org.eclipse.xtext.resource.DefaultLocationInFileProvider;
20import org.eclipse.xtext.resource.IEObjectDescription;
21import org.eclipse.xtext.scoping.IScope;
22import org.eclipse.xtext.scoping.IScopeProvider;
23import org.eclipse.xtext.util.ITextRegion; 20import org.eclipse.xtext.util.ITextRegion;
24 21
25import com.google.inject.Inject;
26
27public class ProblemLocationInFileProvider extends DefaultLocationInFileProvider { 22public class ProblemLocationInFileProvider extends DefaultLocationInFileProvider {
28 @Inject
29 private IQualifiedNameProvider qualifiedNameProvider;
30
31 @Inject
32 private IScopeProvider scopeProvider;
33
34 @Override 23 @Override
35 protected ITextRegion doGetTextRegion(EObject obj, RegionDescription query) { 24 protected ITextRegion doGetTextRegion(EObject obj, RegionDescription query) {
36 if (obj instanceof Node) { 25 if (obj instanceof Node) {
@@ -51,21 +40,9 @@ public class ProblemLocationInFileProvider extends DefaultLocationInFileProvider
51 } 40 }
52 41
53 protected ITextRegion getNewNodeTextRegion(Node node, RegionDescription query) { 42 protected ITextRegion getNewNodeTextRegion(Node node, RegionDescription query) {
54 QualifiedName nodeName = qualifiedNameProvider.getFullyQualifiedName(node); 43 if (ProblemUtil.isNewNode(node)) {
55 if (nodeName == null || nodeName.getSegmentCount() <= 1) { 44 EObject container = node.eContainer();
56 return null; 45 return doGetTextRegion(container, query);
57 }
58 if (ProblemDerivedStateComputer.NEW_NODE.equals(nodeName.getLastSegment())) {
59 QualifiedName className = nodeName.skipLast(1);
60 IScope classScope = scopeProvider.getScope(node, ProblemPackage.Literals.ASSERTION__RELATION);
61 IEObjectDescription description = classScope.getSingleElement(className);
62 if (description == null) {
63 return null;
64 }
65 EObject classDeclaration = description.getEObjectOrProxy();
66 if (!classDeclaration.eIsProxy()) {
67 return doGetTextRegion(classDeclaration, query);
68 }
69 } 46 }
70 return null; 47 return null;
71 } 48 }
@@ -90,6 +67,9 @@ public class ProblemLocationInFileProvider extends DefaultLocationInFileProvider
90 67
91 protected ITextRegion getVariableTextRegion(ImplicitVariable variable, RegionDescription query) { 68 protected ITextRegion getVariableTextRegion(ImplicitVariable variable, RegionDescription query) {
92 EObject container = variable.eContainer(); 69 EObject container = variable.eContainer();
70 if (container instanceof Argument) {
71 return getArgumentTextRegion((Argument) container, query);
72 }
93 if (container instanceof Conjunction) { 73 if (container instanceof Conjunction) {
94 return getFirstReferenceToVariableInConjunction(variable, (Conjunction) container, query); 74 return getFirstReferenceToVariableInConjunction(variable, (Conjunction) container, query);
95 } 75 }
@@ -121,10 +101,15 @@ public class ProblemLocationInFileProvider extends DefaultLocationInFileProvider
121 101
122 protected ITextRegion getFirstReferenceToVariableInAtom(ImplicitVariable variable, Atom atom, 102 protected ITextRegion getFirstReferenceToVariableInAtom(ImplicitVariable variable, Atom atom,
123 RegionDescription query) { 103 RegionDescription query) {
124 int index = atom.getArguments().indexOf(variable); 104 for (Argument argument : atom.getArguments()) {
125 if (index >= 0) { 105 if (argument.getVariable().equals(variable)) {
126 return doGetLocationOfFeature(atom, ProblemPackage.Literals.ATOM__ARGUMENTS, index, query); 106 return getArgumentTextRegion(argument, query);
107 }
127 } 108 }
128 return ITextRegion.EMPTY_REGION; 109 return ITextRegion.EMPTY_REGION;
129 } 110 }
111
112 protected ITextRegion getArgumentTextRegion(Argument argument, RegionDescription query) {
113 return doGetLocationOfFeature(argument, ProblemPackage.Literals.ARGUMENT__VARIABLE, 0, query);
114 }
130} 115}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/resource/ProblemResourceDescriptionStrategy.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/resource/ProblemResourceDescriptionStrategy.java
index 7b37ffd6..95a9fe6b 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/resource/ProblemResourceDescriptionStrategy.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/resource/ProblemResourceDescriptionStrategy.java
@@ -1,39 +1,84 @@
1package org.eclipse.viatra.solver.language.resource; 1package org.eclipse.viatra.solver.language.resource;
2 2
3import org.eclipse.emf.ecore.EObject; 3import org.eclipse.emf.ecore.EObject;
4import org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration; 4import org.eclipse.viatra.solver.language.model.problem.NamedElement;
5import org.eclipse.viatra.solver.language.model.problem.Problem;
5import org.eclipse.viatra.solver.language.model.problem.Variable; 6import org.eclipse.viatra.solver.language.model.problem.Variable;
7import org.eclipse.xtext.EcoreUtil2;
8import org.eclipse.xtext.naming.IQualifiedNameConverter;
6import org.eclipse.xtext.naming.QualifiedName; 9import org.eclipse.xtext.naming.QualifiedName;
10import org.eclipse.xtext.resource.EObjectDescription;
7import org.eclipse.xtext.resource.IEObjectDescription; 11import org.eclipse.xtext.resource.IEObjectDescription;
8import org.eclipse.xtext.resource.impl.AliasedEObjectDescription;
9import org.eclipse.xtext.resource.impl.DefaultResourceDescriptionStrategy; 12import org.eclipse.xtext.resource.impl.DefaultResourceDescriptionStrategy;
10import org.eclipse.xtext.util.IAcceptor; 13import org.eclipse.xtext.util.IAcceptor;
11 14
15import com.google.inject.Inject;
12import com.google.inject.Singleton; 16import com.google.inject.Singleton;
13 17
14@Singleton 18@Singleton
15public class ProblemResourceDescriptionStrategy extends DefaultResourceDescriptionStrategy { 19public class ProblemResourceDescriptionStrategy extends DefaultResourceDescriptionStrategy {
20 @Inject
21 private IQualifiedNameConverter qualifiedNameConverter;
22
16 @Override 23 @Override
17 public boolean createEObjectDescriptions(EObject eObject, IAcceptor<IEObjectDescription> acceptor) { 24 public boolean createEObjectDescriptions(EObject eObject, IAcceptor<IEObjectDescription> acceptor) {
18 IAcceptor<IEObjectDescription> wrappedAcceptor;
19 if (eObject instanceof Variable) { 25 if (eObject instanceof Variable) {
20 return false; 26 return false;
21 } 27 }
22 if (eObject instanceof ReferenceDeclaration) { 28 if (eObject instanceof NamedElement) {
23 wrappedAcceptor = new IAcceptor<IEObjectDescription>() { 29 NamedElement namedElement = (NamedElement) eObject;
24 public void accept(IEObjectDescription description) { 30 String name = namedElement.getName();
25 acceptor.accept(description); 31 if (name == null || name.isEmpty()) {
26 QualifiedName qualifiedName = description.getQualifiedName(); 32 return true;
27 if (qualifiedName.getSegmentCount() >= 2) { 33 }
28 QualifiedName simpleName = QualifiedName.create(qualifiedName.getLastSegment()); 34 Problem problem = EcoreUtil2.getContainerOfType(namedElement, Problem.class);
29 IEObjectDescription aliasedDescription = new AliasedEObjectDescription(simpleName, description); 35 QualifiedName problemQualifiedName = null;
30 acceptor.accept(aliasedDescription); 36 if (problem != null) {
37 String problemName = problem.getName();
38 if (problemName != null && !problemName.isEmpty()) {
39 problemQualifiedName = qualifiedNameConverter.toQualifiedName(problemName);
40 }
41 }
42 QualifiedName qualifiedName = qualifiedNameConverter.toQualifiedName(namedElement.getName());
43 boolean nameExported;
44 if (shouldExportSimpleName(namedElement)) {
45 acceptEObjectDescription(namedElement, problemQualifiedName, qualifiedName, acceptor);
46 nameExported = true;
47 } else {
48 nameExported = false;
49 }
50 EObject parent = namedElement.eContainer();
51 while (parent != null && parent != problem) {
52 if (parent instanceof NamedElement) {
53 NamedElement namedParent = (NamedElement) parent;
54 String parentName = namedParent.getName();
55 if (parentName != null || !name.isEmpty()) {
56 QualifiedName parentQualifiedName = qualifiedNameConverter.toQualifiedName(parentName);
57 qualifiedName = parentQualifiedName.append(qualifiedName);
58 if (shouldExportSimpleName(parent)) {
59 acceptEObjectDescription(namedElement, problemQualifiedName, qualifiedName, acceptor);
60 nameExported = true;
61 } else {
62 nameExported = false;
63 }
31 } 64 }
32 }; 65 }
33 }; 66 parent = parent.eContainer();
34 } else { 67 }
35 wrappedAcceptor = acceptor; 68 if (!nameExported) {
69 acceptEObjectDescription(namedElement, problemQualifiedName, qualifiedName, acceptor);
70 }
36 } 71 }
37 return super.createEObjectDescriptions(eObject, wrappedAcceptor); 72 return true;
73 }
74
75 protected boolean shouldExportSimpleName(EObject eObject) {
76 return true;
77 }
78
79 private void acceptEObjectDescription(EObject eObject, QualifiedName prefix, QualifiedName qualifiedName,
80 IAcceptor<IEObjectDescription> acceptor) {
81 QualifiedName qualifiedNameWithPrefix = prefix == null ? qualifiedName : prefix.append(qualifiedName);
82 acceptor.accept(EObjectDescription.create(qualifiedNameWithPrefix, eObject));
38 } 83 }
39} 84}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/scoping/ProblemGlobalScopeProvider.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/scoping/ProblemGlobalScopeProvider.java
index cf01999a..05da277a 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/scoping/ProblemGlobalScopeProvider.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/scoping/ProblemGlobalScopeProvider.java
@@ -7,13 +7,19 @@ import org.eclipse.emf.ecore.resource.Resource;
7import org.eclipse.xtext.scoping.impl.ImportUriGlobalScopeProvider; 7import org.eclipse.xtext.scoping.impl.ImportUriGlobalScopeProvider;
8 8
9public class ProblemGlobalScopeProvider extends ImportUriGlobalScopeProvider { 9public class ProblemGlobalScopeProvider extends ImportUriGlobalScopeProvider {
10 public static final URI LIBRARY_URI = URI.createURI(ProblemGlobalScopeProvider.class.getClassLoader() 10 public static final String BUILTIN_LIBRARY_NAME = "builtin";
11 .getResource("org/eclipse/viatra/solver/language/library.problem").toString()); 11
12 public static final URI BULTIN_LIBRARY_URI = getLibraryUri(BUILTIN_LIBRARY_NAME);
12 13
13 @Override 14 @Override
14 protected LinkedHashSet<URI> getImportedUris(Resource resource) { 15 protected LinkedHashSet<URI> getImportedUris(Resource resource) {
15 LinkedHashSet<URI> importedUris = super.getImportedUris(resource); 16 LinkedHashSet<URI> importedUris = new LinkedHashSet<>();
16 importedUris.add(LIBRARY_URI); 17 importedUris.add(BULTIN_LIBRARY_URI);
17 return importedUris; 18 return importedUris;
18 } 19 }
20
21 private static URI getLibraryUri(String libraryName) {
22 return URI.createURI(ProblemGlobalScopeProvider.class.getClassLoader()
23 .getResource("org/eclipse/viatra/solver/language/" + libraryName + ".problem").toString());
24 }
19} 25}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/scoping/ProblemLocalScopeProvider.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/scoping/ProblemLocalScopeProvider.java
new file mode 100644
index 00000000..e832bb09
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/scoping/ProblemLocalScopeProvider.java
@@ -0,0 +1,40 @@
1package org.eclipse.viatra.solver.language.scoping;
2
3import java.util.List;
4
5import org.eclipse.emf.ecore.EObject;
6import org.eclipse.emf.ecore.resource.Resource;
7import org.eclipse.xtext.naming.QualifiedName;
8import org.eclipse.xtext.resource.IResourceDescriptions;
9import org.eclipse.xtext.resource.IResourceDescriptionsProvider;
10import org.eclipse.xtext.resource.ISelectable;
11import org.eclipse.xtext.scoping.impl.ImportNormalizer;
12import org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider;
13
14import com.google.inject.Inject;
15
16public class ProblemLocalScopeProvider extends ImportedNamespaceAwareLocalScopeProvider {
17 private static final QualifiedName BUILTIN_LIBRARY_QUALIFIED_NAME = QualifiedName
18 .create(ProblemGlobalScopeProvider.BUILTIN_LIBRARY_NAME);
19
20 @Inject
21 private IResourceDescriptionsProvider resourceDescriptionsProvider;
22
23 @Override
24 protected List<ImportNormalizer> getImplicitImports(boolean ignoreCase) {
25 return List.of(doCreateImportNormalizer(BUILTIN_LIBRARY_QUALIFIED_NAME, true, ignoreCase));
26 }
27
28 @Override
29 protected List<ImportNormalizer> getImportedNamespaceResolvers(EObject context, boolean ignoreCase) {
30 return List.of();
31 }
32
33 @Override
34 protected ISelectable internalGetAllDescriptions(Resource resource) {
35 // Force the use of ProblemResourceDescriptionStrategy to include all QualifiedNames of objects.
36 IResourceDescriptions resourceDescriptions = resourceDescriptionsProvider
37 .getResourceDescriptions(resource.getResourceSet());
38 return resourceDescriptions.getResourceDescription(resource.getURI());
39 }
40}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/scoping/ProblemScopeProvider.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/scoping/ProblemScopeProvider.java
index 254284a8..1849e647 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/scoping/ProblemScopeProvider.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/scoping/ProblemScopeProvider.java
@@ -8,21 +8,14 @@ import java.util.List;
8 8
9import org.eclipse.emf.ecore.EObject; 9import org.eclipse.emf.ecore.EObject;
10import org.eclipse.emf.ecore.EReference; 10import org.eclipse.emf.ecore.EReference;
11import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration; 11import org.eclipse.viatra.solver.language.model.problem.Argument;
12import org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier; 12import org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier;
13import org.eclipse.viatra.solver.language.model.problem.PredicateDefinition; 13import org.eclipse.viatra.solver.language.model.problem.PredicateDefinition;
14import org.eclipse.viatra.solver.language.model.problem.Problem;
15import org.eclipse.viatra.solver.language.model.problem.ProblemPackage; 14import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
16import org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration;
17import org.eclipse.viatra.solver.language.model.problem.Statement;
18import org.eclipse.viatra.solver.language.model.problem.Variable; 15import org.eclipse.viatra.solver.language.model.problem.Variable;
19import org.eclipse.xtext.EcoreUtil2;
20import org.eclipse.xtext.naming.QualifiedName;
21import org.eclipse.xtext.scoping.IScope; 16import org.eclipse.xtext.scoping.IScope;
22import org.eclipse.xtext.scoping.Scopes; 17import org.eclipse.xtext.scoping.Scopes;
23 18
24import com.google.common.collect.ImmutableList;
25
26/** 19/**
27 * This class contains custom scoping description. 20 * This class contains custom scoping description.
28 * 21 *
@@ -35,22 +28,8 @@ public class ProblemScopeProvider extends AbstractProblemScopeProvider {
35 @Override 28 @Override
36 public IScope getScope(EObject context, EReference reference) { 29 public IScope getScope(EObject context, EReference reference) {
37 IScope scope = super.getScope(context, reference); 30 IScope scope = super.getScope(context, reference);
38 if (reference == ProblemPackage.Literals.ATOM__ARGUMENTS) { 31 if (reference == ProblemPackage.Literals.ARGUMENT__VARIABLE) {
39 return getVariableScope(context, scope); 32 return getVariableScope(context, scope);
40 } else if (EcoreUtil2.isAssignableFrom(reference.getEReferenceType(),
41 ProblemPackage.Literals.REFERENCE_DECLARATION)) {
42 Problem problem = EcoreUtil2.getContainerOfType(context, Problem.class);
43 if (problem == null) {
44 return scope;
45 }
46 ImmutableList.Builder<ReferenceDeclaration> builder = ImmutableList.builder();
47 for (Statement statement : problem.getStatements()) {
48 if (statement instanceof ClassDeclaration) {
49 ClassDeclaration classDeclaration = (ClassDeclaration) statement;
50 builder.addAll(classDeclaration.getReferenceDeclarations());
51 }
52 }
53 return Scopes.scopeFor(builder.build(), scope);
54 } 33 }
55 return scope; 34 return scope;
56 } 35 }
@@ -58,6 +37,13 @@ public class ProblemScopeProvider extends AbstractProblemScopeProvider {
58 protected IScope getVariableScope(EObject context, IScope delegateScope) { 37 protected IScope getVariableScope(EObject context, IScope delegateScope) {
59 List<Variable> variables = new ArrayList<>(); 38 List<Variable> variables = new ArrayList<>();
60 EObject currentContext = context; 39 EObject currentContext = context;
40 if (context instanceof Argument) {
41 Argument argument = (Argument) context;
42 Variable singletonVariable = argument.getSingletonVariable();
43 if (singletonVariable != null) {
44 variables.add(singletonVariable);
45 }
46 }
61 while (currentContext != null && !(currentContext instanceof PredicateDefinition)) { 47 while (currentContext != null && !(currentContext instanceof PredicateDefinition)) {
62 if (currentContext instanceof ExistentialQuantifier) { 48 if (currentContext instanceof ExistentialQuantifier) {
63 ExistentialQuantifier quantifier = (ExistentialQuantifier) currentContext; 49 ExistentialQuantifier quantifier = (ExistentialQuantifier) currentContext;
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/resources/org/eclipse/viatra/solver/language/builtin.problem b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/resources/org/eclipse/viatra/solver/language/builtin.problem
new file mode 100644
index 00000000..4975dad6
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/resources/org/eclipse/viatra/solver/language/builtin.problem
@@ -0,0 +1,7 @@
1problem builtin.
2
3abstract class node {
4 refers node[0..*] equals opposite equals
5}
6
7predicate exists(node node). \ No newline at end of file
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/resources/org/eclipse/viatra/solver/language/library.problem b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/resources/org/eclipse/viatra/solver/language/library.problem
deleted file mode 100644
index 77f26b70..00000000
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/resources/org/eclipse/viatra/solver/language/library.problem
+++ /dev/null
@@ -1,4 +0,0 @@
1abstract class node
2 refers node[0..*] equals opposite equals.
3
4predicate exists(node node). \ No newline at end of file
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/Problem.xtextbin b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/Problem.xtextbin
index d16365d7..6b594f53 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/Problem.xtextbin
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/Problem.xtextbin
Binary files differ
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblem.g b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblem.g
index 61b76835..bbce5660 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblem.g
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblem.g
@@ -78,23 +78,53 @@ ruleProblem returns [EObject current=null]
78}: 78}:
79 ( 79 (
80 ( 80 (
81 otherlv_0='problem'
81 { 82 {
82 newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0()); 83 newLeafNode(otherlv_0, grammarAccess.getProblemAccess().getProblemKeyword_0_0());
83 } 84 }
84 lv_statements_0_0=ruleStatement 85 (
86 (
87 lv_name_1_0=RULE_ID
88 {
89 newLeafNode(lv_name_1_0, grammarAccess.getProblemAccess().getNameIDTerminalRuleCall_0_1_0());
90 }
91 {
92 if ($current==null) {
93 $current = createModelElement(grammarAccess.getProblemRule());
94 }
95 setWithLastConsumed(
96 $current,
97 "name",
98 lv_name_1_0,
99 "org.eclipse.xtext.common.Terminals.ID");
100 }
101 )
102 )
103 otherlv_2='.'
85 { 104 {
86 if ($current==null) { 105 newLeafNode(otherlv_2, grammarAccess.getProblemAccess().getFullStopKeyword_0_2());
87 $current = createModelElementForParent(grammarAccess.getProblemRule());
88 }
89 add(
90 $current,
91 "statements",
92 lv_statements_0_0,
93 "org.eclipse.viatra.solver.language.Problem.Statement");
94 afterParserOrEnumRuleCall();
95 } 106 }
96 ) 107 )?
97 )* 108 (
109 (
110 {
111 newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_1_0());
112 }
113 lv_statements_3_0=ruleStatement
114 {
115 if ($current==null) {
116 $current = createModelElementForParent(grammarAccess.getProblemRule());
117 }
118 add(
119 $current,
120 "statements",
121 lv_statements_3_0,
122 "org.eclipse.viatra.solver.language.Problem.Statement");
123 afterParserOrEnumRuleCall();
124 }
125 )
126 )*
127 )
98; 128;
99 129
100// Entry rule entryRuleStatement 130// Entry rule entryRuleStatement
@@ -204,122 +234,93 @@ ruleClassDeclaration returns [EObject current=null]
204 ) 234 )
205 ) 235 )
206 ( 236 (
237 otherlv_3='extends'
238 {
239 newLeafNode(otherlv_3, grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0());
240 }
241 (
242 (
243 {
244 if ($current==null) {
245 $current = createModelElement(grammarAccess.getClassDeclarationRule());
246 }
247 }
248 {
249 newCompositeNode(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_1_0());
250 }
251 ruleQualifiedName
252 {
253 afterParserOrEnumRuleCall();
254 }
255 )
256 )
257 (
258 otherlv_5=','
259 {
260 newLeafNode(otherlv_5, grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_2_0());
261 }
262 (
263 (
264 {
265 if ($current==null) {
266 $current = createModelElement(grammarAccess.getClassDeclarationRule());
267 }
268 }
269 {
270 newCompositeNode(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_2_1_0());
271 }
272 ruleQualifiedName
273 {
274 afterParserOrEnumRuleCall();
275 }
276 )
277 )
278 )*
279 )?
280 (
207 ( 281 (
208 otherlv_3='extends' 282 otherlv_7='{'
209 { 283 {
210 newLeafNode(otherlv_3, grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0_0()); 284 newLeafNode(otherlv_7, grammarAccess.getClassDeclarationAccess().getLeftCurlyBracketKeyword_4_0_0());
211 } 285 }
212 ( 286 (
213 ( 287 (
214 ( 288 (
215 { 289 {
216 if ($current==null) { 290 newCompositeNode(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_4_0_1_0_0());
217 $current = createModelElement(grammarAccess.getClassDeclarationRule());
218 }
219 } 291 }
220 otherlv_4=RULE_ID 292 lv_referenceDeclarations_8_0=ruleReferenceDeclaration
221 { 293 {
222 newLeafNode(otherlv_4, grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_0_1_0_0()); 294 if ($current==null) {
295 $current = createModelElementForParent(grammarAccess.getClassDeclarationRule());
296 }
297 add(
298 $current,
299 "referenceDeclarations",
300 lv_referenceDeclarations_8_0,
301 "org.eclipse.viatra.solver.language.Problem.ReferenceDeclaration");
302 afterParserOrEnumRuleCall();
223 } 303 }
224 ) 304 )
225 ) 305 )
226 |
227 ( 306 (
228 otherlv_5='[' 307 otherlv_9=';'
229 { 308 {
230 newLeafNode(otherlv_5, grammarAccess.getClassDeclarationAccess().getLeftSquareBracketKeyword_3_0_1_1_0()); 309 newLeafNode(otherlv_9, grammarAccess.getClassDeclarationAccess().getSemicolonKeyword_4_0_1_1());
231 } 310 }
232 ( 311 )?
233 ( 312 )*
234 ( 313 otherlv_10='}'
235 { 314 {
236 if ($current==null) { 315 newLeafNode(otherlv_10, grammarAccess.getClassDeclarationAccess().getRightCurlyBracketKeyword_4_0_2());
237 $current = createModelElement(grammarAccess.getClassDeclarationRule()); 316 }
238 }
239 }
240 otherlv_6=RULE_ID
241 {
242 newLeafNode(otherlv_6, grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_0_1_1_1_0_0());
243 }
244 )
245 )
246 (
247 otherlv_7=','
248 {
249 newLeafNode(otherlv_7, grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_0_1_1_1_1_0());
250 }
251 (
252 (
253 {
254 if ($current==null) {
255 $current = createModelElement(grammarAccess.getClassDeclarationRule());
256 }
257 }
258 otherlv_8=RULE_ID
259 {
260 newLeafNode(otherlv_8, grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_0_1_1_1_1_1_0());
261 }
262 )
263 )
264 )*
265 )?
266 otherlv_9=']'
267 {
268 newLeafNode(otherlv_9, grammarAccess.getClassDeclarationAccess().getRightSquareBracketKeyword_3_0_1_1_2());
269 }
270 )
271 )
272 ) 317 )
273 | 318 |
274 ( 319 otherlv_11='.'
275 (
276 {
277 newCompositeNode(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_3_1_0());
278 }
279 lv_referenceDeclarations_10_0=ruleReferenceDeclaration
280 {
281 if ($current==null) {
282 $current = createModelElementForParent(grammarAccess.getClassDeclarationRule());
283 }
284 add(
285 $current,
286 "referenceDeclarations",
287 lv_referenceDeclarations_10_0,
288 "org.eclipse.viatra.solver.language.Problem.ReferenceDeclaration");
289 afterParserOrEnumRuleCall();
290 }
291 )
292 )
293 )?
294 (
295 otherlv_11=','
296 { 320 {
297 newLeafNode(otherlv_11, grammarAccess.getClassDeclarationAccess().getCommaKeyword_4_0()); 321 newLeafNode(otherlv_11, grammarAccess.getClassDeclarationAccess().getFullStopKeyword_4_1());
298 } 322 }
299 ( 323 )
300 (
301 {
302 newCompositeNode(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_4_1_0());
303 }
304 lv_referenceDeclarations_12_0=ruleReferenceDeclaration
305 {
306 if ($current==null) {
307 $current = createModelElementForParent(grammarAccess.getClassDeclarationRule());
308 }
309 add(
310 $current,
311 "referenceDeclarations",
312 lv_referenceDeclarations_12_0,
313 "org.eclipse.viatra.solver.language.Problem.ReferenceDeclaration");
314 afterParserOrEnumRuleCall();
315 }
316 )
317 )
318 )*
319 otherlv_13='.'
320 {
321 newLeafNode(otherlv_13, grammarAccess.getClassDeclarationAccess().getFullStopKeyword_5());
322 }
323 ) 324 )
324; 325;
325 326
@@ -367,44 +368,49 @@ ruleReferenceDeclaration returns [EObject current=null]
367 $current = createModelElement(grammarAccess.getReferenceDeclarationRule()); 368 $current = createModelElement(grammarAccess.getReferenceDeclarationRule());
368 } 369 }
369 } 370 }
370 otherlv_2=RULE_ID
371 { 371 {
372 newLeafNode(otherlv_2, grammarAccess.getReferenceDeclarationAccess().getReferenceTypeClassDeclarationCrossReference_1_0()); 372 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeClassDeclarationCrossReference_1_0());
373 }
374 ruleQualifiedName
375 {
376 afterParserOrEnumRuleCall();
373 } 377 }
374 ) 378 )
375 ) 379 )
376 otherlv_3='['
377 {
378 newLeafNode(otherlv_3, grammarAccess.getReferenceDeclarationAccess().getLeftSquareBracketKeyword_2());
379 }
380 ( 380 (
381 otherlv_3='['
382 {
383 newLeafNode(otherlv_3, grammarAccess.getReferenceDeclarationAccess().getLeftSquareBracketKeyword_2_0());
384 }
381 ( 385 (
382 { 386 (
383 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getMultiplicityMultiplicityParserRuleCall_3_0()); 387 {
384 } 388 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getMultiplicityMultiplicityParserRuleCall_2_1_0());
385 lv_multiplicity_4_0=ruleMultiplicity
386 {
387 if ($current==null) {
388 $current = createModelElementForParent(grammarAccess.getReferenceDeclarationRule());
389 } 389 }
390 set( 390 lv_multiplicity_4_0=ruleMultiplicity
391 $current, 391 {
392 "multiplicity", 392 if ($current==null) {
393 lv_multiplicity_4_0, 393 $current = createModelElementForParent(grammarAccess.getReferenceDeclarationRule());
394 "org.eclipse.viatra.solver.language.Problem.Multiplicity"); 394 }
395 afterParserOrEnumRuleCall(); 395 set(
396 } 396 $current,
397 "multiplicity",
398 lv_multiplicity_4_0,
399 "org.eclipse.viatra.solver.language.Problem.Multiplicity");
400 afterParserOrEnumRuleCall();
401 }
402 )
397 ) 403 )
398 ) 404 otherlv_5=']'
399 otherlv_5=']' 405 {
400 { 406 newLeafNode(otherlv_5, grammarAccess.getReferenceDeclarationAccess().getRightSquareBracketKeyword_2_2());
401 newLeafNode(otherlv_5, grammarAccess.getReferenceDeclarationAccess().getRightSquareBracketKeyword_4()); 407 }
402 } 408 )?
403 ( 409 (
404 ( 410 (
405 lv_name_6_0=RULE_ID 411 lv_name_6_0=RULE_ID
406 { 412 {
407 newLeafNode(lv_name_6_0, grammarAccess.getReferenceDeclarationAccess().getNameIDTerminalRuleCall_5_0()); 413 newLeafNode(lv_name_6_0, grammarAccess.getReferenceDeclarationAccess().getNameIDTerminalRuleCall_3_0());
408 } 414 }
409 { 415 {
410 if ($current==null) { 416 if ($current==null) {
@@ -421,7 +427,7 @@ ruleReferenceDeclaration returns [EObject current=null]
421 ( 427 (
422 otherlv_7='opposite' 428 otherlv_7='opposite'
423 { 429 {
424 newLeafNode(otherlv_7, grammarAccess.getReferenceDeclarationAccess().getOppositeKeyword_6_0()); 430 newLeafNode(otherlv_7, grammarAccess.getReferenceDeclarationAccess().getOppositeKeyword_4_0());
425 } 431 }
426 ( 432 (
427 ( 433 (
@@ -431,7 +437,7 @@ ruleReferenceDeclaration returns [EObject current=null]
431 } 437 }
432 } 438 }
433 { 439 {
434 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationCrossReference_6_1_0()); 440 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationCrossReference_4_1_0());
435 } 441 }
436 ruleQualifiedName 442 ruleQualifiedName
437 { 443 {
@@ -561,9 +567,9 @@ rulePredicateDefinition returns [EObject current=null]
561 newLeafNode(otherlv_8, grammarAccess.getPredicateDefinitionAccess().getRightParenthesisKeyword_4()); 567 newLeafNode(otherlv_8, grammarAccess.getPredicateDefinitionAccess().getRightParenthesisKeyword_4());
562 } 568 }
563 ( 569 (
564 otherlv_9=':=' 570 otherlv_9=':-'
565 { 571 {
566 newLeafNode(otherlv_9, grammarAccess.getPredicateDefinitionAccess().getColonEqualsSignKeyword_5_0()); 572 newLeafNode(otherlv_9, grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_5_0());
567 } 573 }
568 ( 574 (
569 ( 575 (
@@ -862,13 +868,19 @@ ruleAtom returns [EObject current=null]
862 ( 868 (
863 ( 869 (
864 { 870 {
865 if ($current==null) { 871 newCompositeNode(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_0_0());
866 $current = createModelElement(grammarAccess.getAtomRule());
867 }
868 } 872 }
869 otherlv_3=RULE_ID 873 lv_arguments_3_0=ruleArgument
870 { 874 {
871 newLeafNode(otherlv_3, grammarAccess.getAtomAccess().getArgumentsVariableCrossReference_3_0_0()); 875 if ($current==null) {
876 $current = createModelElementForParent(grammarAccess.getAtomRule());
877 }
878 add(
879 $current,
880 "arguments",
881 lv_arguments_3_0,
882 "org.eclipse.viatra.solver.language.Problem.Argument");
883 afterParserOrEnumRuleCall();
872 } 884 }
873 ) 885 )
874 ) 886 )
@@ -880,13 +892,19 @@ ruleAtom returns [EObject current=null]
880 ( 892 (
881 ( 893 (
882 { 894 {
883 if ($current==null) { 895 newCompositeNode(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_1_1_0());
884 $current = createModelElement(grammarAccess.getAtomRule());
885 }
886 } 896 }
887 otherlv_5=RULE_ID 897 lv_arguments_5_0=ruleArgument
888 { 898 {
889 newLeafNode(otherlv_5, grammarAccess.getAtomAccess().getArgumentsVariableCrossReference_3_1_1_0()); 899 if ($current==null) {
900 $current = createModelElementForParent(grammarAccess.getAtomRule());
901 }
902 add(
903 $current,
904 "arguments",
905 lv_arguments_5_0,
906 "org.eclipse.viatra.solver.language.Problem.Argument");
907 afterParserOrEnumRuleCall();
890 } 908 }
891 ) 909 )
892 ) 910 )
@@ -899,6 +917,36 @@ ruleAtom returns [EObject current=null]
899 ) 917 )
900; 918;
901 919
920// Entry rule entryRuleArgument
921entryRuleArgument returns [EObject current=null]:
922 { newCompositeNode(grammarAccess.getArgumentRule()); }
923 iv_ruleArgument=ruleArgument
924 { $current=$iv_ruleArgument.current; }
925 EOF;
926
927// Rule Argument
928ruleArgument returns [EObject current=null]
929@init {
930 enterRule();
931}
932@after {
933 leaveRule();
934}:
935 (
936 (
937 {
938 if ($current==null) {
939 $current = createModelElement(grammarAccess.getArgumentRule());
940 }
941 }
942 otherlv_0=RULE_ID
943 {
944 newLeafNode(otherlv_0, grammarAccess.getArgumentAccess().getVariableVariableCrossReference_0());
945 }
946 )
947 )
948;
949
902// Entry rule entryRuleAssertion 950// Entry rule entryRuleAssertion
903entryRuleAssertion returns [EObject current=null]: 951entryRuleAssertion returns [EObject current=null]:
904 { newCompositeNode(grammarAccess.getAssertionRule()); } 952 { newCompositeNode(grammarAccess.getAssertionRule()); }
@@ -1223,9 +1271,9 @@ ruleTypeScope returns [EObject current=null]
1223 ( 1271 (
1224 ( 1272 (
1225 { 1273 {
1226 newCompositeNode(grammarAccess.getTypeScopeAccess().getMultiplicityMultiplicityParserRuleCall_2_0()); 1274 newCompositeNode(grammarAccess.getTypeScopeAccess().getMultiplicityDefiniteMultiplicityParserRuleCall_2_0());
1227 } 1275 }
1228 lv_multiplicity_3_0=ruleMultiplicity 1276 lv_multiplicity_3_0=ruleDefiniteMultiplicity
1229 { 1277 {
1230 if ($current==null) { 1278 if ($current==null) {
1231 $current = createModelElementForParent(grammarAccess.getTypeScopeRule()); 1279 $current = createModelElementForParent(grammarAccess.getTypeScopeRule());
@@ -1234,7 +1282,7 @@ ruleTypeScope returns [EObject current=null]
1234 $current, 1282 $current,
1235 "multiplicity", 1283 "multiplicity",
1236 lv_multiplicity_3_0, 1284 lv_multiplicity_3_0,
1237 "org.eclipse.viatra.solver.language.Problem.Multiplicity"); 1285 "org.eclipse.viatra.solver.language.Problem.DefiniteMultiplicity");
1238 afterParserOrEnumRuleCall(); 1286 afterParserOrEnumRuleCall();
1239 } 1287 }
1240 ) 1288 )
@@ -1259,7 +1307,43 @@ ruleMultiplicity returns [EObject current=null]
1259}: 1307}:
1260 ( 1308 (
1261 { 1309 {
1262 newCompositeNode(grammarAccess.getMultiplicityAccess().getRangeMultiplicityParserRuleCall_0()); 1310 newCompositeNode(grammarAccess.getMultiplicityAccess().getUnboundedMultiplicityParserRuleCall_0());
1311 }
1312 this_UnboundedMultiplicity_0=ruleUnboundedMultiplicity
1313 {
1314 $current = $this_UnboundedMultiplicity_0.current;
1315 afterParserOrEnumRuleCall();
1316 }
1317 |
1318 {
1319 newCompositeNode(grammarAccess.getMultiplicityAccess().getDefiniteMultiplicityParserRuleCall_1());
1320 }
1321 this_DefiniteMultiplicity_1=ruleDefiniteMultiplicity
1322 {
1323 $current = $this_DefiniteMultiplicity_1.current;
1324 afterParserOrEnumRuleCall();
1325 }
1326 )
1327;
1328
1329// Entry rule entryRuleDefiniteMultiplicity
1330entryRuleDefiniteMultiplicity returns [EObject current=null]:
1331 { newCompositeNode(grammarAccess.getDefiniteMultiplicityRule()); }
1332 iv_ruleDefiniteMultiplicity=ruleDefiniteMultiplicity
1333 { $current=$iv_ruleDefiniteMultiplicity.current; }
1334 EOF;
1335
1336// Rule DefiniteMultiplicity
1337ruleDefiniteMultiplicity returns [EObject current=null]
1338@init {
1339 enterRule();
1340}
1341@after {
1342 leaveRule();
1343}:
1344 (
1345 {
1346 newCompositeNode(grammarAccess.getDefiniteMultiplicityAccess().getRangeMultiplicityParserRuleCall_0());
1263 } 1347 }
1264 this_RangeMultiplicity_0=ruleRangeMultiplicity 1348 this_RangeMultiplicity_0=ruleRangeMultiplicity
1265 { 1349 {
@@ -1268,7 +1352,7 @@ ruleMultiplicity returns [EObject current=null]
1268 } 1352 }
1269 | 1353 |
1270 { 1354 {
1271 newCompositeNode(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); 1355 newCompositeNode(grammarAccess.getDefiniteMultiplicityAccess().getExactMultiplicityParserRuleCall_1());
1272 } 1356 }
1273 this_ExactMultiplicity_1=ruleExactMultiplicity 1357 this_ExactMultiplicity_1=ruleExactMultiplicity
1274 { 1358 {
@@ -1278,6 +1362,30 @@ ruleMultiplicity returns [EObject current=null]
1278 ) 1362 )
1279; 1363;
1280 1364
1365// Entry rule entryRuleUnboundedMultiplicity
1366entryRuleUnboundedMultiplicity returns [EObject current=null]:
1367 { newCompositeNode(grammarAccess.getUnboundedMultiplicityRule()); }
1368 iv_ruleUnboundedMultiplicity=ruleUnboundedMultiplicity
1369 { $current=$iv_ruleUnboundedMultiplicity.current; }
1370 EOF;
1371
1372// Rule UnboundedMultiplicity
1373ruleUnboundedMultiplicity returns [EObject current=null]
1374@init {
1375 enterRule();
1376}
1377@after {
1378 leaveRule();
1379}:
1380 (
1381 {
1382 $current = forceCreateModelElement(
1383 grammarAccess.getUnboundedMultiplicityAccess().getUnboundedMultiplicityAction(),
1384 $current);
1385 }
1386 )
1387;
1388
1281// Entry rule entryRuleRangeMultiplicity 1389// Entry rule entryRuleRangeMultiplicity
1282entryRuleRangeMultiplicity returns [EObject current=null]: 1390entryRuleRangeMultiplicity returns [EObject current=null]:
1283 { newCompositeNode(grammarAccess.getRangeMultiplicityRule()); } 1391 { newCompositeNode(grammarAccess.getRangeMultiplicityRule()); }
@@ -1421,27 +1529,51 @@ ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleT
1421 leaveRule(); 1529 leaveRule();
1422}: 1530}:
1423 ( 1531 (
1424 this_ID_0=RULE_ID 1532 this_QUOTED_ID_0=RULE_QUOTED_ID
1425 { 1533 {
1426 $current.merge(this_ID_0); 1534 $current.merge(this_QUOTED_ID_0);
1427 } 1535 }
1428 { 1536 {
1429 newLeafNode(this_ID_0, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0()); 1537 newLeafNode(this_QUOTED_ID_0, grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_0());
1430 } 1538 }
1539 |
1431 ( 1540 (
1432 kw='::' 1541 this_ID_1=RULE_ID
1433 { 1542 {
1434 $current.merge(kw); 1543 $current.merge(this_ID_1);
1435 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getColonColonKeyword_1_0());
1436 } 1544 }
1437 this_ID_2=RULE_ID
1438 { 1545 {
1439 $current.merge(this_ID_2); 1546 newLeafNode(this_ID_1, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_0());
1440 } 1547 }
1441 { 1548 (
1442 newLeafNode(this_ID_2, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1()); 1549 kw=':'
1443 } 1550 {
1444 )* 1551 $current.merge(kw);
1552 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getColonKeyword_1_1_0());
1553 }
1554 this_ID_3=RULE_ID
1555 {
1556 $current.merge(this_ID_3);
1557 }
1558 {
1559 newLeafNode(this_ID_3, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1_1());
1560 }
1561 )*
1562 (
1563 kw=':'
1564 {
1565 $current.merge(kw);
1566 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getColonKeyword_1_2_0());
1567 }
1568 this_QUOTED_ID_5=RULE_QUOTED_ID
1569 {
1570 $current.merge(this_QUOTED_ID_5);
1571 }
1572 {
1573 newLeafNode(this_QUOTED_ID_5, grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1_2_1());
1574 }
1575 )?
1576 )
1445 ) 1577 )
1446; 1578;
1447 1579
@@ -1507,12 +1639,14 @@ ruleShortLogicValue returns [Enumerator current=null]
1507 ) 1639 )
1508; 1640;
1509 1641
1642RULE_STRING : '"' ('\\' .|~(('\\'|'"')))* '"';
1643
1644RULE_QUOTED_ID : '\'' ('\\' .|~(('\\'|'\'')))* '\'';
1645
1510RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; 1646RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
1511 1647
1512RULE_INT : ('0'..'9')+; 1648RULE_INT : ('0'..'9')+;
1513 1649
1514RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\'');
1515
1516RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/'; 1650RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
1517 1651
1518RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?; 1652RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblem.tokens b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblem.tokens
index 22ef662c..862a9a36 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblem.tokens
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblem.tokens
@@ -1,40 +1,42 @@
1'!'=27 1'!'=31
2'('=23 2'('=28
3')'=24 3')'=29
4'*'=34 4'*'=38
5'+'=28 5'+'=32
6'+='=31 6'+='=35
7','=15 7','=17
8'.'=17 8'.'=13
9'..'=33 9'..'=37
10':'=29 10':'=33
11'::'=35 11':-'=30
12':='=25 12';'=19
13';'=26 13'='=36
14'='=32 14'?'=42
15'?'=39 15'['=23
16'['=14 16']'=24
17']'=16 17'abstract'=14
18'abstract'=11 18'class'=15
19'class'=12 19'contains'=21
20'contains'=18 20'error'=26
21'error'=21 21'extends'=16
22'extends'=13 22'false'=40
23'false'=37 23'opposite'=25
24'opposite'=20 24'pred'=27
25'pred'=22 25'problem'=12
26'refers'=19 26'refers'=22
27'scope'=30 27'scope'=34
28'true'=36 28'true'=39
29'unknown'=38 29'unknown'=41
30RULE_ANY_OTHER=10 30'{'=18
31'}'=20
32RULE_ANY_OTHER=11
31RULE_ID=4 33RULE_ID=4
32RULE_INT=5 34RULE_INT=5
33RULE_ML_COMMENT=7 35RULE_ML_COMMENT=8
34RULE_SL_COMMENT=8 36RULE_QUOTED_ID=6
35RULE_STRING=6 37RULE_SL_COMMENT=9
36RULE_WS=9 38RULE_STRING=7
37T__11=11 39RULE_WS=10
38T__12=12 40T__12=12
39T__13=13 41T__13=13
40T__14=14 42T__14=14
@@ -63,3 +65,6 @@ T__36=36
63T__37=37 65T__37=37
64T__38=38 66T__38=38
65T__39=39 67T__39=39
68T__40=40
69T__41=41
70T__42=42
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemLexer.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemLexer.java
index a0b530c8..a1703c93 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemLexer.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemLexer.java
@@ -12,8 +12,8 @@ import java.util.ArrayList;
12 12
13@SuppressWarnings("all") 13@SuppressWarnings("all")
14public class InternalProblemLexer extends Lexer { 14public class InternalProblemLexer extends Lexer {
15 public static final int RULE_STRING=6; 15 public static final int RULE_STRING=7;
16 public static final int RULE_SL_COMMENT=8; 16 public static final int RULE_SL_COMMENT=9;
17 public static final int T__19=19; 17 public static final int T__19=19;
18 public static final int T__15=15; 18 public static final int T__15=15;
19 public static final int T__37=37; 19 public static final int T__37=37;
@@ -22,7 +22,6 @@ public class InternalProblemLexer extends Lexer {
22 public static final int T__17=17; 22 public static final int T__17=17;
23 public static final int T__39=39; 23 public static final int T__39=39;
24 public static final int T__18=18; 24 public static final int T__18=18;
25 public static final int T__11=11;
26 public static final int T__33=33; 25 public static final int T__33=33;
27 public static final int T__12=12; 26 public static final int T__12=12;
28 public static final int T__34=34; 27 public static final int T__34=34;
@@ -35,19 +34,23 @@ public class InternalProblemLexer extends Lexer {
35 public static final int T__31=31; 34 public static final int T__31=31;
36 public static final int T__32=32; 35 public static final int T__32=32;
37 public static final int RULE_ID=4; 36 public static final int RULE_ID=4;
38 public static final int RULE_WS=9; 37 public static final int RULE_WS=10;
39 public static final int RULE_ANY_OTHER=10; 38 public static final int RULE_QUOTED_ID=6;
39 public static final int RULE_ANY_OTHER=11;
40 public static final int T__26=26; 40 public static final int T__26=26;
41 public static final int T__27=27; 41 public static final int T__27=27;
42 public static final int T__28=28; 42 public static final int T__28=28;
43 public static final int RULE_INT=5; 43 public static final int RULE_INT=5;
44 public static final int T__29=29; 44 public static final int T__29=29;
45 public static final int T__22=22; 45 public static final int T__22=22;
46 public static final int RULE_ML_COMMENT=7; 46 public static final int RULE_ML_COMMENT=8;
47 public static final int T__23=23; 47 public static final int T__23=23;
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;
51 public static final int T__41=41;
50 public static final int T__20=20; 52 public static final int T__20=20;
53 public static final int T__42=42;
51 public static final int T__21=21; 54 public static final int T__21=21;
52 55
53 // delegates 56 // delegates
@@ -63,36 +66,15 @@ public class InternalProblemLexer extends Lexer {
63 } 66 }
64 public String getGrammarFileName() { return "InternalProblem.g"; } 67 public String getGrammarFileName() { return "InternalProblem.g"; }
65 68
66 // $ANTLR start "T__11"
67 public final void mT__11() throws RecognitionException {
68 try {
69 int _type = T__11;
70 int _channel = DEFAULT_TOKEN_CHANNEL;
71 // InternalProblem.g:11:7: ( 'abstract' )
72 // InternalProblem.g:11:9: 'abstract'
73 {
74 match("abstract");
75
76
77 }
78
79 state.type = _type;
80 state.channel = _channel;
81 }
82 finally {
83 }
84 }
85 // $ANTLR end "T__11"
86
87 // $ANTLR start "T__12" 69 // $ANTLR start "T__12"
88 public final void mT__12() throws RecognitionException { 70 public final void mT__12() throws RecognitionException {
89 try { 71 try {
90 int _type = T__12; 72 int _type = T__12;
91 int _channel = DEFAULT_TOKEN_CHANNEL; 73 int _channel = DEFAULT_TOKEN_CHANNEL;
92 // InternalProblem.g:12:7: ( 'class' ) 74 // InternalProblem.g:11:7: ( 'problem' )
93 // InternalProblem.g:12:9: 'class' 75 // InternalProblem.g:11:9: 'problem'
94 { 76 {
95 match("class"); 77 match("problem");
96 78
97 79
98 } 80 }
@@ -110,11 +92,10 @@ public class InternalProblemLexer extends Lexer {
110 try { 92 try {
111 int _type = T__13; 93 int _type = T__13;
112 int _channel = DEFAULT_TOKEN_CHANNEL; 94 int _channel = DEFAULT_TOKEN_CHANNEL;
113 // InternalProblem.g:13:7: ( 'extends' ) 95 // InternalProblem.g:12:7: ( '.' )
114 // InternalProblem.g:13:9: 'extends' 96 // InternalProblem.g:12:9: '.'
115 { 97 {
116 match("extends"); 98 match('.');
117
118 99
119 } 100 }
120 101
@@ -131,10 +112,11 @@ public class InternalProblemLexer extends Lexer {
131 try { 112 try {
132 int _type = T__14; 113 int _type = T__14;
133 int _channel = DEFAULT_TOKEN_CHANNEL; 114 int _channel = DEFAULT_TOKEN_CHANNEL;
134 // InternalProblem.g:14:7: ( '[' ) 115 // InternalProblem.g:13:7: ( 'abstract' )
135 // InternalProblem.g:14:9: '[' 116 // InternalProblem.g:13:9: 'abstract'
136 { 117 {
137 match('['); 118 match("abstract");
119
138 120
139 } 121 }
140 122
@@ -151,10 +133,11 @@ public class InternalProblemLexer extends Lexer {
151 try { 133 try {
152 int _type = T__15; 134 int _type = T__15;
153 int _channel = DEFAULT_TOKEN_CHANNEL; 135 int _channel = DEFAULT_TOKEN_CHANNEL;
154 // InternalProblem.g:15:7: ( ',' ) 136 // InternalProblem.g:14:7: ( 'class' )
155 // InternalProblem.g:15:9: ',' 137 // InternalProblem.g:14:9: 'class'
156 { 138 {
157 match(','); 139 match("class");
140
158 141
159 } 142 }
160 143
@@ -171,10 +154,11 @@ public class InternalProblemLexer extends Lexer {
171 try { 154 try {
172 int _type = T__16; 155 int _type = T__16;
173 int _channel = DEFAULT_TOKEN_CHANNEL; 156 int _channel = DEFAULT_TOKEN_CHANNEL;
174 // InternalProblem.g:16:7: ( ']' ) 157 // InternalProblem.g:15:7: ( 'extends' )
175 // InternalProblem.g:16:9: ']' 158 // InternalProblem.g:15:9: 'extends'
176 { 159 {
177 match(']'); 160 match("extends");
161
178 162
179 } 163 }
180 164
@@ -191,10 +175,10 @@ public class InternalProblemLexer extends Lexer {
191 try { 175 try {
192 int _type = T__17; 176 int _type = T__17;
193 int _channel = DEFAULT_TOKEN_CHANNEL; 177 int _channel = DEFAULT_TOKEN_CHANNEL;
194 // InternalProblem.g:17:7: ( '.' ) 178 // InternalProblem.g:16:7: ( ',' )
195 // InternalProblem.g:17:9: '.' 179 // InternalProblem.g:16:9: ','
196 { 180 {
197 match('.'); 181 match(',');
198 182
199 } 183 }
200 184
@@ -211,11 +195,10 @@ public class InternalProblemLexer extends Lexer {
211 try { 195 try {
212 int _type = T__18; 196 int _type = T__18;
213 int _channel = DEFAULT_TOKEN_CHANNEL; 197 int _channel = DEFAULT_TOKEN_CHANNEL;
214 // InternalProblem.g:18:7: ( 'contains' ) 198 // InternalProblem.g:17:7: ( '{' )
215 // InternalProblem.g:18:9: 'contains' 199 // InternalProblem.g:17:9: '{'
216 { 200 {
217 match("contains"); 201 match('{');
218
219 202
220 } 203 }
221 204
@@ -232,11 +215,10 @@ public class InternalProblemLexer extends Lexer {
232 try { 215 try {
233 int _type = T__19; 216 int _type = T__19;
234 int _channel = DEFAULT_TOKEN_CHANNEL; 217 int _channel = DEFAULT_TOKEN_CHANNEL;
235 // InternalProblem.g:19:7: ( 'refers' ) 218 // InternalProblem.g:18:7: ( ';' )
236 // InternalProblem.g:19:9: 'refers' 219 // InternalProblem.g:18:9: ';'
237 { 220 {
238 match("refers"); 221 match(';');
239
240 222
241 } 223 }
242 224
@@ -253,11 +235,10 @@ public class InternalProblemLexer extends Lexer {
253 try { 235 try {
254 int _type = T__20; 236 int _type = T__20;
255 int _channel = DEFAULT_TOKEN_CHANNEL; 237 int _channel = DEFAULT_TOKEN_CHANNEL;
256 // InternalProblem.g:20:7: ( 'opposite' ) 238 // InternalProblem.g:19:7: ( '}' )
257 // InternalProblem.g:20:9: 'opposite' 239 // InternalProblem.g:19:9: '}'
258 { 240 {
259 match("opposite"); 241 match('}');
260
261 242
262 } 243 }
263 244
@@ -274,10 +255,10 @@ public class InternalProblemLexer extends Lexer {
274 try { 255 try {
275 int _type = T__21; 256 int _type = T__21;
276 int _channel = DEFAULT_TOKEN_CHANNEL; 257 int _channel = DEFAULT_TOKEN_CHANNEL;
277 // InternalProblem.g:21:7: ( 'error' ) 258 // InternalProblem.g:20:7: ( 'contains' )
278 // InternalProblem.g:21:9: 'error' 259 // InternalProblem.g:20:9: 'contains'
279 { 260 {
280 match("error"); 261 match("contains");
281 262
282 263
283 } 264 }
@@ -295,10 +276,10 @@ public class InternalProblemLexer extends Lexer {
295 try { 276 try {
296 int _type = T__22; 277 int _type = T__22;
297 int _channel = DEFAULT_TOKEN_CHANNEL; 278 int _channel = DEFAULT_TOKEN_CHANNEL;
298 // InternalProblem.g:22:7: ( 'pred' ) 279 // InternalProblem.g:21:7: ( 'refers' )
299 // InternalProblem.g:22:9: 'pred' 280 // InternalProblem.g:21:9: 'refers'
300 { 281 {
301 match("pred"); 282 match("refers");
302 283
303 284
304 } 285 }
@@ -316,10 +297,10 @@ public class InternalProblemLexer extends Lexer {
316 try { 297 try {
317 int _type = T__23; 298 int _type = T__23;
318 int _channel = DEFAULT_TOKEN_CHANNEL; 299 int _channel = DEFAULT_TOKEN_CHANNEL;
319 // InternalProblem.g:23:7: ( '(' ) 300 // InternalProblem.g:22:7: ( '[' )
320 // InternalProblem.g:23:9: '(' 301 // InternalProblem.g:22:9: '['
321 { 302 {
322 match('('); 303 match('[');
323 304
324 } 305 }
325 306
@@ -336,10 +317,10 @@ public class InternalProblemLexer extends Lexer {
336 try { 317 try {
337 int _type = T__24; 318 int _type = T__24;
338 int _channel = DEFAULT_TOKEN_CHANNEL; 319 int _channel = DEFAULT_TOKEN_CHANNEL;
339 // InternalProblem.g:24:7: ( ')' ) 320 // InternalProblem.g:23:7: ( ']' )
340 // InternalProblem.g:24:9: ')' 321 // InternalProblem.g:23:9: ']'
341 { 322 {
342 match(')'); 323 match(']');
343 324
344 } 325 }
345 326
@@ -356,10 +337,10 @@ public class InternalProblemLexer extends Lexer {
356 try { 337 try {
357 int _type = T__25; 338 int _type = T__25;
358 int _channel = DEFAULT_TOKEN_CHANNEL; 339 int _channel = DEFAULT_TOKEN_CHANNEL;
359 // InternalProblem.g:25:7: ( ':=' ) 340 // InternalProblem.g:24:7: ( 'opposite' )
360 // InternalProblem.g:25:9: ':=' 341 // InternalProblem.g:24:9: 'opposite'
361 { 342 {
362 match(":="); 343 match("opposite");
363 344
364 345
365 } 346 }
@@ -377,10 +358,11 @@ public class InternalProblemLexer extends Lexer {
377 try { 358 try {
378 int _type = T__26; 359 int _type = T__26;
379 int _channel = DEFAULT_TOKEN_CHANNEL; 360 int _channel = DEFAULT_TOKEN_CHANNEL;
380 // InternalProblem.g:26:7: ( ';' ) 361 // InternalProblem.g:25:7: ( 'error' )
381 // InternalProblem.g:26:9: ';' 362 // InternalProblem.g:25:9: 'error'
382 { 363 {
383 match(';'); 364 match("error");
365
384 366
385 } 367 }
386 368
@@ -397,10 +379,11 @@ public class InternalProblemLexer extends Lexer {
397 try { 379 try {
398 int _type = T__27; 380 int _type = T__27;
399 int _channel = DEFAULT_TOKEN_CHANNEL; 381 int _channel = DEFAULT_TOKEN_CHANNEL;
400 // InternalProblem.g:27:7: ( '!' ) 382 // InternalProblem.g:26:7: ( 'pred' )
401 // InternalProblem.g:27:9: '!' 383 // InternalProblem.g:26:9: 'pred'
402 { 384 {
403 match('!'); 385 match("pred");
386
404 387
405 } 388 }
406 389
@@ -417,10 +400,10 @@ public class InternalProblemLexer extends Lexer {
417 try { 400 try {
418 int _type = T__28; 401 int _type = T__28;
419 int _channel = DEFAULT_TOKEN_CHANNEL; 402 int _channel = DEFAULT_TOKEN_CHANNEL;
420 // InternalProblem.g:28:7: ( '+' ) 403 // InternalProblem.g:27:7: ( '(' )
421 // InternalProblem.g:28:9: '+' 404 // InternalProblem.g:27:9: '('
422 { 405 {
423 match('+'); 406 match('(');
424 407
425 } 408 }
426 409
@@ -437,10 +420,10 @@ public class InternalProblemLexer extends Lexer {
437 try { 420 try {
438 int _type = T__29; 421 int _type = T__29;
439 int _channel = DEFAULT_TOKEN_CHANNEL; 422 int _channel = DEFAULT_TOKEN_CHANNEL;
440 // InternalProblem.g:29:7: ( ':' ) 423 // InternalProblem.g:28:7: ( ')' )
441 // InternalProblem.g:29:9: ':' 424 // InternalProblem.g:28:9: ')'
442 { 425 {
443 match(':'); 426 match(')');
444 427
445 } 428 }
446 429
@@ -457,10 +440,10 @@ public class InternalProblemLexer extends Lexer {
457 try { 440 try {
458 int _type = T__30; 441 int _type = T__30;
459 int _channel = DEFAULT_TOKEN_CHANNEL; 442 int _channel = DEFAULT_TOKEN_CHANNEL;
460 // InternalProblem.g:30:7: ( 'scope' ) 443 // InternalProblem.g:29:7: ( ':-' )
461 // InternalProblem.g:30:9: 'scope' 444 // InternalProblem.g:29:9: ':-'
462 { 445 {
463 match("scope"); 446 match(":-");
464 447
465 448
466 } 449 }
@@ -478,11 +461,10 @@ public class InternalProblemLexer extends Lexer {
478 try { 461 try {
479 int _type = T__31; 462 int _type = T__31;
480 int _channel = DEFAULT_TOKEN_CHANNEL; 463 int _channel = DEFAULT_TOKEN_CHANNEL;
481 // InternalProblem.g:31:7: ( '+=' ) 464 // InternalProblem.g:30:7: ( '!' )
482 // InternalProblem.g:31:9: '+=' 465 // InternalProblem.g:30:9: '!'
483 { 466 {
484 match("+="); 467 match('!');
485
486 468
487 } 469 }
488 470
@@ -499,10 +481,10 @@ public class InternalProblemLexer extends Lexer {
499 try { 481 try {
500 int _type = T__32; 482 int _type = T__32;
501 int _channel = DEFAULT_TOKEN_CHANNEL; 483 int _channel = DEFAULT_TOKEN_CHANNEL;
502 // InternalProblem.g:32:7: ( '=' ) 484 // InternalProblem.g:31:7: ( '+' )
503 // InternalProblem.g:32:9: '=' 485 // InternalProblem.g:31:9: '+'
504 { 486 {
505 match('='); 487 match('+');
506 488
507 } 489 }
508 490
@@ -519,11 +501,10 @@ public class InternalProblemLexer extends Lexer {
519 try { 501 try {
520 int _type = T__33; 502 int _type = T__33;
521 int _channel = DEFAULT_TOKEN_CHANNEL; 503 int _channel = DEFAULT_TOKEN_CHANNEL;
522 // InternalProblem.g:33:7: ( '..' ) 504 // InternalProblem.g:32:7: ( ':' )
523 // InternalProblem.g:33:9: '..' 505 // InternalProblem.g:32:9: ':'
524 { 506 {
525 match(".."); 507 match(':');
526
527 508
528 } 509 }
529 510
@@ -540,10 +521,11 @@ public class InternalProblemLexer extends Lexer {
540 try { 521 try {
541 int _type = T__34; 522 int _type = T__34;
542 int _channel = DEFAULT_TOKEN_CHANNEL; 523 int _channel = DEFAULT_TOKEN_CHANNEL;
543 // InternalProblem.g:34:7: ( '*' ) 524 // InternalProblem.g:33:7: ( 'scope' )
544 // InternalProblem.g:34:9: '*' 525 // InternalProblem.g:33:9: 'scope'
545 { 526 {
546 match('*'); 527 match("scope");
528
547 529
548 } 530 }
549 531
@@ -560,10 +542,10 @@ public class InternalProblemLexer extends Lexer {
560 try { 542 try {
561 int _type = T__35; 543 int _type = T__35;
562 int _channel = DEFAULT_TOKEN_CHANNEL; 544 int _channel = DEFAULT_TOKEN_CHANNEL;
563 // InternalProblem.g:35:7: ( '::' ) 545 // InternalProblem.g:34:7: ( '+=' )
564 // InternalProblem.g:35:9: '::' 546 // InternalProblem.g:34:9: '+='
565 { 547 {
566 match("::"); 548 match("+=");
567 549
568 550
569 } 551 }
@@ -581,11 +563,10 @@ public class InternalProblemLexer extends Lexer {
581 try { 563 try {
582 int _type = T__36; 564 int _type = T__36;
583 int _channel = DEFAULT_TOKEN_CHANNEL; 565 int _channel = DEFAULT_TOKEN_CHANNEL;
584 // InternalProblem.g:36:7: ( 'true' ) 566 // InternalProblem.g:35:7: ( '=' )
585 // InternalProblem.g:36:9: 'true' 567 // InternalProblem.g:35:9: '='
586 { 568 {
587 match("true"); 569 match('=');
588
589 570
590 } 571 }
591 572
@@ -602,10 +583,10 @@ public class InternalProblemLexer extends Lexer {
602 try { 583 try {
603 int _type = T__37; 584 int _type = T__37;
604 int _channel = DEFAULT_TOKEN_CHANNEL; 585 int _channel = DEFAULT_TOKEN_CHANNEL;
605 // InternalProblem.g:37:7: ( 'false' ) 586 // InternalProblem.g:36:7: ( '..' )
606 // InternalProblem.g:37:9: 'false' 587 // InternalProblem.g:36:9: '..'
607 { 588 {
608 match("false"); 589 match("..");
609 590
610 591
611 } 592 }
@@ -623,11 +604,10 @@ public class InternalProblemLexer extends Lexer {
623 try { 604 try {
624 int _type = T__38; 605 int _type = T__38;
625 int _channel = DEFAULT_TOKEN_CHANNEL; 606 int _channel = DEFAULT_TOKEN_CHANNEL;
626 // InternalProblem.g:38:7: ( 'unknown' ) 607 // InternalProblem.g:37:7: ( '*' )
627 // InternalProblem.g:38:9: 'unknown' 608 // InternalProblem.g:37:9: '*'
628 { 609 {
629 match("unknown"); 610 match('*');
630
631 611
632 } 612 }
633 613
@@ -644,10 +624,11 @@ public class InternalProblemLexer extends Lexer {
644 try { 624 try {
645 int _type = T__39; 625 int _type = T__39;
646 int _channel = DEFAULT_TOKEN_CHANNEL; 626 int _channel = DEFAULT_TOKEN_CHANNEL;
647 // InternalProblem.g:39:7: ( '?' ) 627 // InternalProblem.g:38:7: ( 'true' )
648 // InternalProblem.g:39:9: '?' 628 // InternalProblem.g:38:9: 'true'
649 { 629 {
650 match('?'); 630 match("true");
631
651 632
652 } 633 }
653 634
@@ -659,57 +640,104 @@ public class InternalProblemLexer extends Lexer {
659 } 640 }
660 // $ANTLR end "T__39" 641 // $ANTLR end "T__39"
661 642
662 // $ANTLR start "RULE_ID" 643 // $ANTLR start "T__40"
663 public final void mRULE_ID() throws RecognitionException { 644 public final void mT__40() throws RecognitionException {
664 try { 645 try {
665 int _type = RULE_ID; 646 int _type = T__40;
666 int _channel = DEFAULT_TOKEN_CHANNEL; 647 int _channel = DEFAULT_TOKEN_CHANNEL;
667 // InternalProblem.g:1510:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) 648 // InternalProblem.g:39:7: ( 'false' )
668 // InternalProblem.g:1510:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* 649 // InternalProblem.g:39:9: 'false'
669 { 650 {
670 // InternalProblem.g:1510:11: ( '^' )? 651 match("false");
671 int alt1=2; 652
672 int LA1_0 = input.LA(1);
673 653
674 if ( (LA1_0=='^') ) {
675 alt1=1;
676 } 654 }
677 switch (alt1) {
678 case 1 :
679 // InternalProblem.g:1510:11: '^'
680 {
681 match('^');
682 655
683 } 656 state.type = _type;
684 break; 657 state.channel = _channel;
658 }
659 finally {
660 }
661 }
662 // $ANTLR end "T__40"
663
664 // $ANTLR start "T__41"
665 public final void mT__41() throws RecognitionException {
666 try {
667 int _type = T__41;
668 int _channel = DEFAULT_TOKEN_CHANNEL;
669 // InternalProblem.g:40:7: ( 'unknown' )
670 // InternalProblem.g:40:9: 'unknown'
671 {
672 match("unknown");
673
685 674
686 } 675 }
687 676
688 if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { 677 state.type = _type;
689 input.consume(); 678 state.channel = _channel;
679 }
680 finally {
681 }
682 }
683 // $ANTLR end "T__41"
684
685 // $ANTLR start "T__42"
686 public final void mT__42() throws RecognitionException {
687 try {
688 int _type = T__42;
689 int _channel = DEFAULT_TOKEN_CHANNEL;
690 // InternalProblem.g:41:7: ( '?' )
691 // InternalProblem.g:41:9: '?'
692 {
693 match('?');
690 694
691 } 695 }
692 else {
693 MismatchedSetException mse = new MismatchedSetException(null,input);
694 recover(mse);
695 throw mse;}
696 696
697 // InternalProblem.g:1510:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* 697 state.type = _type;
698 loop2: 698 state.channel = _channel;
699 }
700 finally {
701 }
702 }
703 // $ANTLR end "T__42"
704
705 // $ANTLR start "RULE_STRING"
706 public final void mRULE_STRING() throws RecognitionException {
707 try {
708 int _type = RULE_STRING;
709 int _channel = DEFAULT_TOKEN_CHANNEL;
710 // InternalProblem.g:1642:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' )
711 // InternalProblem.g:1642:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
712 {
713 match('\"');
714 // InternalProblem.g:1642:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
715 loop1:
699 do { 716 do {
700 int alt2=2; 717 int alt1=3;
701 int LA2_0 = input.LA(1); 718 int LA1_0 = input.LA(1);
702 719
703 if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='Z')||LA2_0=='_'||(LA2_0>='a' && LA2_0<='z')) ) { 720 if ( (LA1_0=='\\') ) {
704 alt2=1; 721 alt1=1;
722 }
723 else if ( ((LA1_0>='\u0000' && LA1_0<='!')||(LA1_0>='#' && LA1_0<='[')||(LA1_0>=']' && LA1_0<='\uFFFF')) ) {
724 alt1=2;
705 } 725 }
706 726
707 727
708 switch (alt2) { 728 switch (alt1) {
709 case 1 : 729 case 1 :
710 // InternalProblem.g: 730 // InternalProblem.g:1642:20: '\\\\' .
711 { 731 {
712 if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { 732 match('\\');
733 matchAny();
734
735 }
736 break;
737 case 2 :
738 // InternalProblem.g:1642:27: ~ ( ( '\\\\' | '\"' ) )
739 {
740 if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
713 input.consume(); 741 input.consume();
714 742
715 } 743 }
@@ -723,10 +751,11 @@ public class InternalProblemLexer extends Lexer {
723 break; 751 break;
724 752
725 default : 753 default :
726 break loop2; 754 break loop1;
727 } 755 }
728 } while (true); 756 } while (true);
729 757
758 match('\"');
730 759
731 } 760 }
732 761
@@ -736,46 +765,62 @@ public class InternalProblemLexer extends Lexer {
736 finally { 765 finally {
737 } 766 }
738 } 767 }
739 // $ANTLR end "RULE_ID" 768 // $ANTLR end "RULE_STRING"
740 769
741 // $ANTLR start "RULE_INT" 770 // $ANTLR start "RULE_QUOTED_ID"
742 public final void mRULE_INT() throws RecognitionException { 771 public final void mRULE_QUOTED_ID() throws RecognitionException {
743 try { 772 try {
744 int _type = RULE_INT; 773 int _type = RULE_QUOTED_ID;
745 int _channel = DEFAULT_TOKEN_CHANNEL; 774 int _channel = DEFAULT_TOKEN_CHANNEL;
746 // InternalProblem.g:1512:10: ( ( '0' .. '9' )+ ) 775 // InternalProblem.g:1644:16: ( '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
747 // InternalProblem.g:1512:12: ( '0' .. '9' )+ 776 // InternalProblem.g:1644:18: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
748 { 777 {
749 // InternalProblem.g:1512:12: ( '0' .. '9' )+ 778 match('\'');
750 int cnt3=0; 779 // InternalProblem.g:1644:23: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
751 loop3: 780 loop2:
752 do { 781 do {
753 int alt3=2; 782 int alt2=3;
754 int LA3_0 = input.LA(1); 783 int LA2_0 = input.LA(1);
755 784
756 if ( ((LA3_0>='0' && LA3_0<='9')) ) { 785 if ( (LA2_0=='\\') ) {
757 alt3=1; 786 alt2=1;
787 }
788 else if ( ((LA2_0>='\u0000' && LA2_0<='&')||(LA2_0>='(' && LA2_0<='[')||(LA2_0>=']' && LA2_0<='\uFFFF')) ) {
789 alt2=2;
758 } 790 }
759 791
760 792
761 switch (alt3) { 793 switch (alt2) {
762 case 1 : 794 case 1 :
763 // InternalProblem.g:1512:13: '0' .. '9' 795 // InternalProblem.g:1644:24: '\\\\' .
764 { 796 {
765 matchRange('0','9'); 797 match('\\');
798 matchAny();
799
800 }
801 break;
802 case 2 :
803 // InternalProblem.g:1644:31: ~ ( ( '\\\\' | '\\'' ) )
804 {
805 if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
806 input.consume();
807
808 }
809 else {
810 MismatchedSetException mse = new MismatchedSetException(null,input);
811 recover(mse);
812 throw mse;}
813
766 814
767 } 815 }
768 break; 816 break;
769 817
770 default : 818 default :
771 if ( cnt3 >= 1 ) break loop3; 819 break loop2;
772 EarlyExitException eee =
773 new EarlyExitException(3, input);
774 throw eee;
775 } 820 }
776 cnt3++;
777 } while (true); 821 } while (true);
778 822
823 match('\'');
779 824
780 } 825 }
781 826
@@ -785,140 +830,125 @@ public class InternalProblemLexer extends Lexer {
785 finally { 830 finally {
786 } 831 }
787 } 832 }
788 // $ANTLR end "RULE_INT" 833 // $ANTLR end "RULE_QUOTED_ID"
789 834
790 // $ANTLR start "RULE_STRING" 835 // $ANTLR start "RULE_ID"
791 public final void mRULE_STRING() throws RecognitionException { 836 public final void mRULE_ID() throws RecognitionException {
792 try { 837 try {
793 int _type = RULE_STRING; 838 int _type = RULE_ID;
794 int _channel = DEFAULT_TOKEN_CHANNEL; 839 int _channel = DEFAULT_TOKEN_CHANNEL;
795 // InternalProblem.g:1514:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) 840 // InternalProblem.g:1646:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
796 // InternalProblem.g:1514:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) 841 // InternalProblem.g:1646:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
797 { 842 {
798 // InternalProblem.g:1514:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) 843 // InternalProblem.g:1646:11: ( '^' )?
799 int alt6=2; 844 int alt3=2;
800 int LA6_0 = input.LA(1); 845 int LA3_0 = input.LA(1);
801
802 if ( (LA6_0=='\"') ) {
803 alt6=1;
804 }
805 else if ( (LA6_0=='\'') ) {
806 alt6=2;
807 }
808 else {
809 NoViableAltException nvae =
810 new NoViableAltException("", 6, 0, input);
811 846
812 throw nvae; 847 if ( (LA3_0=='^') ) {
848 alt3=1;
813 } 849 }
814 switch (alt6) { 850 switch (alt3) {
815 case 1 : 851 case 1 :
816 // InternalProblem.g:1514:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' 852 // InternalProblem.g:1646:11: '^'
817 { 853 {
818 match('\"'); 854 match('^');
819 // InternalProblem.g:1514:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
820 loop4:
821 do {
822 int alt4=3;
823 int LA4_0 = input.LA(1);
824
825 if ( (LA4_0=='\\') ) {
826 alt4=1;
827 }
828 else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=']' && LA4_0<='\uFFFF')) ) {
829 alt4=2;
830 }
831
832
833 switch (alt4) {
834 case 1 :
835 // InternalProblem.g:1514:21: '\\\\' .
836 {
837 match('\\');
838 matchAny();
839
840 }
841 break;
842 case 2 :
843 // InternalProblem.g:1514:28: ~ ( ( '\\\\' | '\"' ) )
844 {
845 if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
846 input.consume();
847
848 }
849 else {
850 MismatchedSetException mse = new MismatchedSetException(null,input);
851 recover(mse);
852 throw mse;}
853
854
855 }
856 break;
857
858 default :
859 break loop4;
860 }
861 } while (true);
862
863 match('\"');
864 855
865 } 856 }
866 break; 857 break;
867 case 2 :
868 // InternalProblem.g:1514:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
869 {
870 match('\'');
871 // InternalProblem.g:1514:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
872 loop5:
873 do {
874 int alt5=3;
875 int LA5_0 = input.LA(1);
876
877 if ( (LA5_0=='\\') ) {
878 alt5=1;
879 }
880 else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=']' && LA5_0<='\uFFFF')) ) {
881 alt5=2;
882 }
883
884
885 switch (alt5) {
886 case 1 :
887 // InternalProblem.g:1514:54: '\\\\' .
888 {
889 match('\\');
890 matchAny();
891
892 }
893 break;
894 case 2 :
895 // InternalProblem.g:1514:61: ~ ( ( '\\\\' | '\\'' ) )
896 {
897 if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
898 input.consume();
899
900 }
901 else {
902 MismatchedSetException mse = new MismatchedSetException(null,input);
903 recover(mse);
904 throw mse;}
905
906
907 }
908 break;
909
910 default :
911 break loop5;
912 }
913 } while (true);
914
915 match('\'');
916 858
917 } 859 }
918 break; 860
861 if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
862 input.consume();
863
864 }
865 else {
866 MismatchedSetException mse = new MismatchedSetException(null,input);
867 recover(mse);
868 throw mse;}
869
870 // InternalProblem.g:1646:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
871 loop4:
872 do {
873 int alt4=2;
874 int LA4_0 = input.LA(1);
875
876 if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) {
877 alt4=1;
878 }
879
880
881 switch (alt4) {
882 case 1 :
883 // InternalProblem.g:
884 {
885 if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
886 input.consume();
887
888 }
889 else {
890 MismatchedSetException mse = new MismatchedSetException(null,input);
891 recover(mse);
892 throw mse;}
893
894
895 }
896 break;
897
898 default :
899 break loop4;
900 }
901 } while (true);
902
919 903
920 } 904 }
921 905
906 state.type = _type;
907 state.channel = _channel;
908 }
909 finally {
910 }
911 }
912 // $ANTLR end "RULE_ID"
913
914 // $ANTLR start "RULE_INT"
915 public final void mRULE_INT() throws RecognitionException {
916 try {
917 int _type = RULE_INT;
918 int _channel = DEFAULT_TOKEN_CHANNEL;
919 // InternalProblem.g:1648:10: ( ( '0' .. '9' )+ )
920 // InternalProblem.g:1648:12: ( '0' .. '9' )+
921 {
922 // InternalProblem.g:1648:12: ( '0' .. '9' )+
923 int cnt5=0;
924 loop5:
925 do {
926 int alt5=2;
927 int LA5_0 = input.LA(1);
928
929 if ( ((LA5_0>='0' && LA5_0<='9')) ) {
930 alt5=1;
931 }
932
933
934 switch (alt5) {
935 case 1 :
936 // InternalProblem.g:1648:13: '0' .. '9'
937 {
938 matchRange('0','9');
939
940 }
941 break;
942
943 default :
944 if ( cnt5 >= 1 ) break loop5;
945 EarlyExitException eee =
946 new EarlyExitException(5, input);
947 throw eee;
948 }
949 cnt5++;
950 } while (true);
951
922 952
923 } 953 }
924 954
@@ -928,44 +958,44 @@ public class InternalProblemLexer extends Lexer {
928 finally { 958 finally {
929 } 959 }
930 } 960 }
931 // $ANTLR end "RULE_STRING" 961 // $ANTLR end "RULE_INT"
932 962
933 // $ANTLR start "RULE_ML_COMMENT" 963 // $ANTLR start "RULE_ML_COMMENT"
934 public final void mRULE_ML_COMMENT() throws RecognitionException { 964 public final void mRULE_ML_COMMENT() throws RecognitionException {
935 try { 965 try {
936 int _type = RULE_ML_COMMENT; 966 int _type = RULE_ML_COMMENT;
937 int _channel = DEFAULT_TOKEN_CHANNEL; 967 int _channel = DEFAULT_TOKEN_CHANNEL;
938 // InternalProblem.g:1516:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) 968 // InternalProblem.g:1650:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
939 // InternalProblem.g:1516:19: '/*' ( options {greedy=false; } : . )* '*/' 969 // InternalProblem.g:1650:19: '/*' ( options {greedy=false; } : . )* '*/'
940 { 970 {
941 match("/*"); 971 match("/*");
942 972
943 // InternalProblem.g:1516:24: ( options {greedy=false; } : . )* 973 // InternalProblem.g:1650:24: ( options {greedy=false; } : . )*
944 loop7: 974 loop6:
945 do { 975 do {
946 int alt7=2; 976 int alt6=2;
947 int LA7_0 = input.LA(1); 977 int LA6_0 = input.LA(1);
948 978
949 if ( (LA7_0=='*') ) { 979 if ( (LA6_0=='*') ) {
950 int LA7_1 = input.LA(2); 980 int LA6_1 = input.LA(2);
951 981
952 if ( (LA7_1=='/') ) { 982 if ( (LA6_1=='/') ) {
953 alt7=2; 983 alt6=2;
954 } 984 }
955 else if ( ((LA7_1>='\u0000' && LA7_1<='.')||(LA7_1>='0' && LA7_1<='\uFFFF')) ) { 985 else if ( ((LA6_1>='\u0000' && LA6_1<='.')||(LA6_1>='0' && LA6_1<='\uFFFF')) ) {
956 alt7=1; 986 alt6=1;
957 } 987 }
958 988
959 989
960 } 990 }
961 else if ( ((LA7_0>='\u0000' && LA7_0<=')')||(LA7_0>='+' && LA7_0<='\uFFFF')) ) { 991 else if ( ((LA6_0>='\u0000' && LA6_0<=')')||(LA6_0>='+' && LA6_0<='\uFFFF')) ) {
962 alt7=1; 992 alt6=1;
963 } 993 }
964 994
965 995
966 switch (alt7) { 996 switch (alt6) {
967 case 1 : 997 case 1 :
968 // InternalProblem.g:1516:52: . 998 // InternalProblem.g:1650:52: .
969 { 999 {
970 matchAny(); 1000 matchAny();
971 1001
@@ -973,7 +1003,7 @@ public class InternalProblemLexer extends Lexer {
973 break; 1003 break;
974 1004
975 default : 1005 default :
976 break loop7; 1006 break loop6;
977 } 1007 }
978 } while (true); 1008 } while (true);
979 1009
@@ -995,25 +1025,25 @@ public class InternalProblemLexer extends Lexer {
995 try { 1025 try {
996 int _type = RULE_SL_COMMENT; 1026 int _type = RULE_SL_COMMENT;
997 int _channel = DEFAULT_TOKEN_CHANNEL; 1027 int _channel = DEFAULT_TOKEN_CHANNEL;
998 // InternalProblem.g:1518:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) 1028 // InternalProblem.g:1652:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
999 // InternalProblem.g:1518:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? 1029 // InternalProblem.g:1652:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
1000 { 1030 {
1001 match("//"); 1031 match("//");
1002 1032
1003 // InternalProblem.g:1518:24: (~ ( ( '\\n' | '\\r' ) ) )* 1033 // InternalProblem.g:1652:24: (~ ( ( '\\n' | '\\r' ) ) )*
1004 loop8: 1034 loop7:
1005 do { 1035 do {
1006 int alt8=2; 1036 int alt7=2;
1007 int LA8_0 = input.LA(1); 1037 int LA7_0 = input.LA(1);
1008 1038
1009 if ( ((LA8_0>='\u0000' && LA8_0<='\t')||(LA8_0>='\u000B' && LA8_0<='\f')||(LA8_0>='\u000E' && LA8_0<='\uFFFF')) ) { 1039 if ( ((LA7_0>='\u0000' && LA7_0<='\t')||(LA7_0>='\u000B' && LA7_0<='\f')||(LA7_0>='\u000E' && LA7_0<='\uFFFF')) ) {
1010 alt8=1; 1040 alt7=1;
1011 } 1041 }
1012 1042
1013 1043
1014 switch (alt8) { 1044 switch (alt7) {
1015 case 1 : 1045 case 1 :
1016 // InternalProblem.g:1518:24: ~ ( ( '\\n' | '\\r' ) ) 1046 // InternalProblem.g:1652:24: ~ ( ( '\\n' | '\\r' ) )
1017 { 1047 {
1018 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') ) { 1048 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') ) {
1019 input.consume(); 1049 input.consume();
@@ -1029,31 +1059,31 @@ public class InternalProblemLexer extends Lexer {
1029 break; 1059 break;
1030 1060
1031 default : 1061 default :
1032 break loop8; 1062 break loop7;
1033 } 1063 }
1034 } while (true); 1064 } while (true);
1035 1065
1036 // InternalProblem.g:1518:40: ( ( '\\r' )? '\\n' )? 1066 // InternalProblem.g:1652:40: ( ( '\\r' )? '\\n' )?
1037 int alt10=2; 1067 int alt9=2;
1038 int LA10_0 = input.LA(1); 1068 int LA9_0 = input.LA(1);
1039 1069
1040 if ( (LA10_0=='\n'||LA10_0=='\r') ) { 1070 if ( (LA9_0=='\n'||LA9_0=='\r') ) {
1041 alt10=1; 1071 alt9=1;
1042 } 1072 }
1043 switch (alt10) { 1073 switch (alt9) {
1044 case 1 : 1074 case 1 :
1045 // InternalProblem.g:1518:41: ( '\\r' )? '\\n' 1075 // InternalProblem.g:1652:41: ( '\\r' )? '\\n'
1046 { 1076 {
1047 // InternalProblem.g:1518:41: ( '\\r' )? 1077 // InternalProblem.g:1652:41: ( '\\r' )?
1048 int alt9=2; 1078 int alt8=2;
1049 int LA9_0 = input.LA(1); 1079 int LA8_0 = input.LA(1);
1050 1080
1051 if ( (LA9_0=='\r') ) { 1081 if ( (LA8_0=='\r') ) {
1052 alt9=1; 1082 alt8=1;
1053 } 1083 }
1054 switch (alt9) { 1084 switch (alt8) {
1055 case 1 : 1085 case 1 :
1056 // InternalProblem.g:1518:41: '\\r' 1086 // InternalProblem.g:1652:41: '\\r'
1057 { 1087 {
1058 match('\r'); 1088 match('\r');
1059 1089
@@ -1085,22 +1115,22 @@ public class InternalProblemLexer extends Lexer {
1085 try { 1115 try {
1086 int _type = RULE_WS; 1116 int _type = RULE_WS;
1087 int _channel = DEFAULT_TOKEN_CHANNEL; 1117 int _channel = DEFAULT_TOKEN_CHANNEL;
1088 // InternalProblem.g:1520:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) 1118 // InternalProblem.g:1654:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
1089 // InternalProblem.g:1520:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ 1119 // InternalProblem.g:1654:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
1090 { 1120 {
1091 // InternalProblem.g:1520:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ 1121 // InternalProblem.g:1654:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
1092 int cnt11=0; 1122 int cnt10=0;
1093 loop11: 1123 loop10:
1094 do { 1124 do {
1095 int alt11=2; 1125 int alt10=2;
1096 int LA11_0 = input.LA(1); 1126 int LA10_0 = input.LA(1);
1097 1127
1098 if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) { 1128 if ( ((LA10_0>='\t' && LA10_0<='\n')||LA10_0=='\r'||LA10_0==' ') ) {
1099 alt11=1; 1129 alt10=1;
1100 } 1130 }
1101 1131
1102 1132
1103 switch (alt11) { 1133 switch (alt10) {
1104 case 1 : 1134 case 1 :
1105 // InternalProblem.g: 1135 // InternalProblem.g:
1106 { 1136 {
@@ -1118,12 +1148,12 @@ public class InternalProblemLexer extends Lexer {
1118 break; 1148 break;
1119 1149
1120 default : 1150 default :
1121 if ( cnt11 >= 1 ) break loop11; 1151 if ( cnt10 >= 1 ) break loop10;
1122 EarlyExitException eee = 1152 EarlyExitException eee =
1123 new EarlyExitException(11, input); 1153 new EarlyExitException(10, input);
1124 throw eee; 1154 throw eee;
1125 } 1155 }
1126 cnt11++; 1156 cnt10++;
1127 } while (true); 1157 } while (true);
1128 1158
1129 1159
@@ -1142,8 +1172,8 @@ public class InternalProblemLexer extends Lexer {
1142 try { 1172 try {
1143 int _type = RULE_ANY_OTHER; 1173 int _type = RULE_ANY_OTHER;
1144 int _channel = DEFAULT_TOKEN_CHANNEL; 1174 int _channel = DEFAULT_TOKEN_CHANNEL;
1145 // InternalProblem.g:1522:16: ( . ) 1175 // InternalProblem.g:1656:16: ( . )
1146 // InternalProblem.g:1522:18: . 1176 // InternalProblem.g:1656:18: .
1147 { 1177 {
1148 matchAny(); 1178 matchAny();
1149 1179
@@ -1158,257 +1188,278 @@ public class InternalProblemLexer extends Lexer {
1158 // $ANTLR end "RULE_ANY_OTHER" 1188 // $ANTLR end "RULE_ANY_OTHER"
1159 1189
1160 public void mTokens() throws RecognitionException { 1190 public void mTokens() throws RecognitionException {
1161 // InternalProblem.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 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) 1191 // InternalProblem.g:1:8: ( 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 | T__42 | RULE_STRING | RULE_QUOTED_ID | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
1162 int alt12=36; 1192 int alt11=39;
1163 alt12 = dfa12.predict(input); 1193 alt11 = dfa11.predict(input);
1164 switch (alt12) { 1194 switch (alt11) {
1165 case 1 : 1195 case 1 :
1166 // InternalProblem.g:1:10: T__11 1196 // InternalProblem.g:1:10: T__12
1167 { 1197 {
1168 mT__11(); 1198 mT__12();
1169 1199
1170 } 1200 }
1171 break; 1201 break;
1172 case 2 : 1202 case 2 :
1173 // InternalProblem.g:1:16: T__12 1203 // InternalProblem.g:1:16: T__13
1174 { 1204 {
1175 mT__12(); 1205 mT__13();
1176 1206
1177 } 1207 }
1178 break; 1208 break;
1179 case 3 : 1209 case 3 :
1180 // InternalProblem.g:1:22: T__13 1210 // InternalProblem.g:1:22: T__14
1181 { 1211 {
1182 mT__13(); 1212 mT__14();
1183 1213
1184 } 1214 }
1185 break; 1215 break;
1186 case 4 : 1216 case 4 :
1187 // InternalProblem.g:1:28: T__14 1217 // InternalProblem.g:1:28: T__15
1188 { 1218 {
1189 mT__14(); 1219 mT__15();
1190 1220
1191 } 1221 }
1192 break; 1222 break;
1193 case 5 : 1223 case 5 :
1194 // InternalProblem.g:1:34: T__15 1224 // InternalProblem.g:1:34: T__16
1195 { 1225 {
1196 mT__15(); 1226 mT__16();
1197 1227
1198 } 1228 }
1199 break; 1229 break;
1200 case 6 : 1230 case 6 :
1201 // InternalProblem.g:1:40: T__16 1231 // InternalProblem.g:1:40: T__17
1202 { 1232 {
1203 mT__16(); 1233 mT__17();
1204 1234
1205 } 1235 }
1206 break; 1236 break;
1207 case 7 : 1237 case 7 :
1208 // InternalProblem.g:1:46: T__17 1238 // InternalProblem.g:1:46: T__18
1209 { 1239 {
1210 mT__17(); 1240 mT__18();
1211 1241
1212 } 1242 }
1213 break; 1243 break;
1214 case 8 : 1244 case 8 :
1215 // InternalProblem.g:1:52: T__18 1245 // InternalProblem.g:1:52: T__19
1216 { 1246 {
1217 mT__18(); 1247 mT__19();
1218 1248
1219 } 1249 }
1220 break; 1250 break;
1221 case 9 : 1251 case 9 :
1222 // InternalProblem.g:1:58: T__19 1252 // InternalProblem.g:1:58: T__20
1223 { 1253 {
1224 mT__19(); 1254 mT__20();
1225 1255
1226 } 1256 }
1227 break; 1257 break;
1228 case 10 : 1258 case 10 :
1229 // InternalProblem.g:1:64: T__20 1259 // InternalProblem.g:1:64: T__21
1230 { 1260 {
1231 mT__20(); 1261 mT__21();
1232 1262
1233 } 1263 }
1234 break; 1264 break;
1235 case 11 : 1265 case 11 :
1236 // InternalProblem.g:1:70: T__21 1266 // InternalProblem.g:1:70: T__22
1237 { 1267 {
1238 mT__21(); 1268 mT__22();
1239 1269
1240 } 1270 }
1241 break; 1271 break;
1242 case 12 : 1272 case 12 :
1243 // InternalProblem.g:1:76: T__22 1273 // InternalProblem.g:1:76: T__23
1244 { 1274 {
1245 mT__22(); 1275 mT__23();
1246 1276
1247 } 1277 }
1248 break; 1278 break;
1249 case 13 : 1279 case 13 :
1250 // InternalProblem.g:1:82: T__23 1280 // InternalProblem.g:1:82: T__24
1251 { 1281 {
1252 mT__23(); 1282 mT__24();
1253 1283
1254 } 1284 }
1255 break; 1285 break;
1256 case 14 : 1286 case 14 :
1257 // InternalProblem.g:1:88: T__24 1287 // InternalProblem.g:1:88: T__25
1258 { 1288 {
1259 mT__24(); 1289 mT__25();
1260 1290
1261 } 1291 }
1262 break; 1292 break;
1263 case 15 : 1293 case 15 :
1264 // InternalProblem.g:1:94: T__25 1294 // InternalProblem.g:1:94: T__26
1265 { 1295 {
1266 mT__25(); 1296 mT__26();
1267 1297
1268 } 1298 }
1269 break; 1299 break;
1270 case 16 : 1300 case 16 :
1271 // InternalProblem.g:1:100: T__26 1301 // InternalProblem.g:1:100: T__27
1272 { 1302 {
1273 mT__26(); 1303 mT__27();
1274 1304
1275 } 1305 }
1276 break; 1306 break;
1277 case 17 : 1307 case 17 :
1278 // InternalProblem.g:1:106: T__27 1308 // InternalProblem.g:1:106: T__28
1279 { 1309 {
1280 mT__27(); 1310 mT__28();
1281 1311
1282 } 1312 }
1283 break; 1313 break;
1284 case 18 : 1314 case 18 :
1285 // InternalProblem.g:1:112: T__28 1315 // InternalProblem.g:1:112: T__29
1286 { 1316 {
1287 mT__28(); 1317 mT__29();
1288 1318
1289 } 1319 }
1290 break; 1320 break;
1291 case 19 : 1321 case 19 :
1292 // InternalProblem.g:1:118: T__29 1322 // InternalProblem.g:1:118: T__30
1293 { 1323 {
1294 mT__29(); 1324 mT__30();
1295 1325
1296 } 1326 }
1297 break; 1327 break;
1298 case 20 : 1328 case 20 :
1299 // InternalProblem.g:1:124: T__30 1329 // InternalProblem.g:1:124: T__31
1300 { 1330 {
1301 mT__30(); 1331 mT__31();
1302 1332
1303 } 1333 }
1304 break; 1334 break;
1305 case 21 : 1335 case 21 :
1306 // InternalProblem.g:1:130: T__31 1336 // InternalProblem.g:1:130: T__32
1307 { 1337 {
1308 mT__31(); 1338 mT__32();
1309 1339
1310 } 1340 }
1311 break; 1341 break;
1312 case 22 : 1342 case 22 :
1313 // InternalProblem.g:1:136: T__32 1343 // InternalProblem.g:1:136: T__33
1314 { 1344 {
1315 mT__32(); 1345 mT__33();
1316 1346
1317 } 1347 }
1318 break; 1348 break;
1319 case 23 : 1349 case 23 :
1320 // InternalProblem.g:1:142: T__33 1350 // InternalProblem.g:1:142: T__34
1321 { 1351 {
1322 mT__33(); 1352 mT__34();
1323 1353
1324 } 1354 }
1325 break; 1355 break;
1326 case 24 : 1356 case 24 :
1327 // InternalProblem.g:1:148: T__34 1357 // InternalProblem.g:1:148: T__35
1328 { 1358 {
1329 mT__34(); 1359 mT__35();
1330 1360
1331 } 1361 }
1332 break; 1362 break;
1333 case 25 : 1363 case 25 :
1334 // InternalProblem.g:1:154: T__35 1364 // InternalProblem.g:1:154: T__36
1335 { 1365 {
1336 mT__35(); 1366 mT__36();
1337 1367
1338 } 1368 }
1339 break; 1369 break;
1340 case 26 : 1370 case 26 :
1341 // InternalProblem.g:1:160: T__36 1371 // InternalProblem.g:1:160: T__37
1342 { 1372 {
1343 mT__36(); 1373 mT__37();
1344 1374
1345 } 1375 }
1346 break; 1376 break;
1347 case 27 : 1377 case 27 :
1348 // InternalProblem.g:1:166: T__37 1378 // InternalProblem.g:1:166: T__38
1349 { 1379 {
1350 mT__37(); 1380 mT__38();
1351 1381
1352 } 1382 }
1353 break; 1383 break;
1354 case 28 : 1384 case 28 :
1355 // InternalProblem.g:1:172: T__38 1385 // InternalProblem.g:1:172: T__39
1356 { 1386 {
1357 mT__38(); 1387 mT__39();
1358 1388
1359 } 1389 }
1360 break; 1390 break;
1361 case 29 : 1391 case 29 :
1362 // InternalProblem.g:1:178: T__39 1392 // InternalProblem.g:1:178: T__40
1363 { 1393 {
1364 mT__39(); 1394 mT__40();
1365 1395
1366 } 1396 }
1367 break; 1397 break;
1368 case 30 : 1398 case 30 :
1369 // InternalProblem.g:1:184: RULE_ID 1399 // InternalProblem.g:1:184: T__41
1370 { 1400 {
1371 mRULE_ID(); 1401 mT__41();
1372 1402
1373 } 1403 }
1374 break; 1404 break;
1375 case 31 : 1405 case 31 :
1376 // InternalProblem.g:1:192: RULE_INT 1406 // InternalProblem.g:1:190: T__42
1377 { 1407 {
1378 mRULE_INT(); 1408 mT__42();
1379 1409
1380 } 1410 }
1381 break; 1411 break;
1382 case 32 : 1412 case 32 :
1383 // InternalProblem.g:1:201: RULE_STRING 1413 // InternalProblem.g:1:196: RULE_STRING
1384 { 1414 {
1385 mRULE_STRING(); 1415 mRULE_STRING();
1386 1416
1387 } 1417 }
1388 break; 1418 break;
1389 case 33 : 1419 case 33 :
1390 // InternalProblem.g:1:213: RULE_ML_COMMENT 1420 // InternalProblem.g:1:208: RULE_QUOTED_ID
1391 { 1421 {
1392 mRULE_ML_COMMENT(); 1422 mRULE_QUOTED_ID();
1393 1423
1394 } 1424 }
1395 break; 1425 break;
1396 case 34 : 1426 case 34 :
1397 // InternalProblem.g:1:229: RULE_SL_COMMENT 1427 // InternalProblem.g:1:223: RULE_ID
1398 { 1428 {
1399 mRULE_SL_COMMENT(); 1429 mRULE_ID();
1400 1430
1401 } 1431 }
1402 break; 1432 break;
1403 case 35 : 1433 case 35 :
1404 // InternalProblem.g:1:245: RULE_WS 1434 // InternalProblem.g:1:231: RULE_INT
1405 { 1435 {
1406 mRULE_WS(); 1436 mRULE_INT();
1407 1437
1408 } 1438 }
1409 break; 1439 break;
1410 case 36 : 1440 case 36 :
1411 // InternalProblem.g:1:253: RULE_ANY_OTHER 1441 // InternalProblem.g:1:240: RULE_ML_COMMENT
1442 {
1443 mRULE_ML_COMMENT();
1444
1445 }
1446 break;
1447 case 37 :
1448 // InternalProblem.g:1:256: RULE_SL_COMMENT
1449 {
1450 mRULE_SL_COMMENT();
1451
1452 }
1453 break;
1454 case 38 :
1455 // InternalProblem.g:1:272: RULE_WS
1456 {
1457 mRULE_WS();
1458
1459 }
1460 break;
1461 case 39 :
1462 // InternalProblem.g:1:280: RULE_ANY_OTHER
1412 { 1463 {
1413 mRULE_ANY_OTHER(); 1464 mRULE_ANY_OTHER();
1414 1465
@@ -1420,92 +1471,91 @@ public class InternalProblemLexer extends Lexer {
1420 } 1471 }
1421 1472
1422 1473
1423 protected DFA12 dfa12 = new DFA12(this); 1474 protected DFA11 dfa11 = new DFA11(this);
1424 static final String DFA12_eotS = 1475 static final String DFA11_eotS =
1425 "\1\uffff\3\41\3\uffff\1\52\3\41\2\uffff\1\62\2\uffff\1\66\1\41\2\uffff\3\41\1\uffff\1\37\2\uffff\3\37\2\uffff\1\41\1\uffff\4\41\5\uffff\3\41\11\uffff\1\41\2\uffff\3\41\6\uffff\23\41\1\142\1\41\1\144\3\41\1\150\2\41\1\153\2\41\1\uffff\1\156\1\uffff\1\157\2\41\1\uffff\2\41\1\uffff\1\164\1\41\2\uffff\3\41\1\171\1\uffff\1\41\1\173\1\174\1\175\1\uffff\1\176\4\uffff"; 1476 "\1\uffff\1\43\1\45\3\43\4\uffff\1\43\2\uffff\1\43\2\uffff\1\66\1\uffff\1\71\1\43\2\uffff\3\43\1\uffff\3\41\2\uffff\1\41\2\uffff\1\43\3\uffff\5\43\4\uffff\1\43\2\uffff\1\43\7\uffff\1\43\2\uffff\3\43\7\uffff\16\43\1\142\10\43\1\153\3\43\1\uffff\1\43\1\160\2\43\1\163\2\43\1\166\1\uffff\1\167\3\43\1\uffff\2\43\1\uffff\1\175\1\43\2\uffff\1\43\1\u0080\2\43\1\u0083\1\uffff\1\43\1\u0085\1\uffff\1\u0086\1\u0087\1\uffff\1\u0088\4\uffff";
1426 static final String DFA12_eofS = 1477 static final String DFA11_eofS =
1427 "\177\uffff"; 1478 "\u0089\uffff";
1428 static final String DFA12_minS = 1479 static final String DFA11_minS =
1429 "\1\0\1\142\1\154\1\162\3\uffff\1\56\1\145\1\160\1\162\2\uffff\1\72\2\uffff\1\75\1\143\2\uffff\1\162\1\141\1\156\1\uffff\1\101\2\uffff\2\0\1\52\2\uffff\1\163\1\uffff\1\141\1\156\1\164\1\162\5\uffff\1\146\1\160\1\145\11\uffff\1\157\2\uffff\1\165\1\154\1\153\6\uffff\1\164\1\163\1\164\1\145\1\157\1\145\1\157\1\144\1\160\1\145\1\163\1\156\1\162\1\163\1\141\1\156\2\162\1\163\1\60\1\145\1\60\1\145\1\157\1\141\1\60\1\151\1\144\1\60\1\163\1\151\1\uffff\1\60\1\uffff\1\60\1\167\1\143\1\uffff\1\156\1\163\1\uffff\1\60\1\164\2\uffff\1\156\1\164\1\163\1\60\1\uffff\1\145\3\60\1\uffff\1\60\4\uffff"; 1480 "\1\0\1\162\1\56\1\142\1\154\1\162\4\uffff\1\145\2\uffff\1\160\2\uffff\1\55\1\uffff\1\75\1\143\2\uffff\1\162\1\141\1\156\1\uffff\2\0\1\101\2\uffff\1\52\2\uffff\1\145\3\uffff\1\163\1\141\1\156\1\164\1\162\4\uffff\1\146\2\uffff\1\160\7\uffff\1\157\2\uffff\1\165\1\154\1\153\7\uffff\1\142\1\144\1\164\1\163\1\164\1\145\1\157\1\145\1\157\1\160\1\145\1\163\1\156\1\154\1\60\1\162\1\163\1\141\1\156\2\162\1\163\1\145\1\60\1\145\1\157\1\145\1\uffff\1\141\1\60\1\151\1\144\1\60\1\163\1\151\1\60\1\uffff\1\60\1\167\1\155\1\143\1\uffff\1\156\1\163\1\uffff\1\60\1\164\2\uffff\1\156\1\60\1\164\1\163\1\60\1\uffff\1\145\1\60\1\uffff\2\60\1\uffff\1\60\4\uffff";
1430 static final String DFA12_maxS = 1481 static final String DFA11_maxS =
1431 "\1\uffff\1\142\1\157\1\170\3\uffff\1\56\1\145\1\160\1\162\2\uffff\1\75\2\uffff\1\75\1\143\2\uffff\1\162\1\141\1\156\1\uffff\1\172\2\uffff\2\uffff\1\57\2\uffff\1\163\1\uffff\1\141\1\156\1\164\1\162\5\uffff\1\146\1\160\1\145\11\uffff\1\157\2\uffff\1\165\1\154\1\153\6\uffff\1\164\1\163\1\164\1\145\1\157\1\145\1\157\1\144\1\160\1\145\1\163\1\156\1\162\1\163\1\141\1\156\2\162\1\163\1\172\1\145\1\172\1\145\1\157\1\141\1\172\1\151\1\144\1\172\1\163\1\151\1\uffff\1\172\1\uffff\1\172\1\167\1\143\1\uffff\1\156\1\163\1\uffff\1\172\1\164\2\uffff\1\156\1\164\1\163\1\172\1\uffff\1\145\3\172\1\uffff\1\172\4\uffff"; 1482 "\1\uffff\1\162\1\56\1\142\1\157\1\170\4\uffff\1\145\2\uffff\1\160\2\uffff\1\55\1\uffff\1\75\1\143\2\uffff\1\162\1\141\1\156\1\uffff\2\uffff\1\172\2\uffff\1\57\2\uffff\1\157\3\uffff\1\163\1\141\1\156\1\164\1\162\4\uffff\1\146\2\uffff\1\160\7\uffff\1\157\2\uffff\1\165\1\154\1\153\7\uffff\1\142\1\144\1\164\1\163\1\164\1\145\1\157\1\145\1\157\1\160\1\145\1\163\1\156\1\154\1\172\1\162\1\163\1\141\1\156\2\162\1\163\1\145\1\172\1\145\1\157\1\145\1\uffff\1\141\1\172\1\151\1\144\1\172\1\163\1\151\1\172\1\uffff\1\172\1\167\1\155\1\143\1\uffff\1\156\1\163\1\uffff\1\172\1\164\2\uffff\1\156\1\172\1\164\1\163\1\172\1\uffff\1\145\1\172\1\uffff\2\172\1\uffff\1\172\4\uffff";
1432 static final String DFA12_acceptS = 1483 static final String DFA11_acceptS =
1433 "\4\uffff\1\4\1\5\1\6\4\uffff\1\15\1\16\1\uffff\1\20\1\21\2\uffff\1\26\1\30\3\uffff\1\35\1\uffff\1\36\1\37\3\uffff\1\43\1\44\1\uffff\1\36\4\uffff\1\4\1\5\1\6\1\27\1\7\3\uffff\1\15\1\16\1\17\1\31\1\23\1\20\1\21\1\25\1\22\1\uffff\1\26\1\30\3\uffff\1\35\1\37\1\40\1\41\1\42\1\43\37\uffff\1\14\1\uffff\1\32\3\uffff\1\2\2\uffff\1\13\2\uffff\1\24\1\33\4\uffff\1\11\4\uffff\1\3\1\uffff\1\34\1\1\1\10\1\12"; 1484 "\6\uffff\1\6\1\7\1\10\1\11\1\uffff\1\14\1\15\1\uffff\1\21\1\22\1\uffff\1\24\2\uffff\1\31\1\33\3\uffff\1\37\3\uffff\1\42\1\43\1\uffff\1\46\1\47\1\uffff\1\42\1\32\1\2\5\uffff\1\6\1\7\1\10\1\11\1\uffff\1\14\1\15\1\uffff\1\21\1\22\1\23\1\26\1\24\1\30\1\25\1\uffff\1\31\1\33\3\uffff\1\37\1\40\1\41\1\43\1\44\1\45\1\46\33\uffff\1\20\10\uffff\1\34\4\uffff\1\4\2\uffff\1\17\2\uffff\1\27\1\35\5\uffff\1\13\2\uffff\1\1\2\uffff\1\5\1\uffff\1\36\1\3\1\12\1\16";
1434 static final String DFA12_specialS = 1485 static final String DFA11_specialS =
1435 "\1\1\32\uffff\1\2\1\0\142\uffff}>"; 1486 "\1\1\31\uffff\1\2\1\0\155\uffff}>";
1436 static final String[] DFA12_transitionS = { 1487 static final String[] DFA11_transitionS = {
1437 "\11\37\2\36\2\37\1\36\22\37\1\36\1\17\1\33\4\37\1\34\1\13\1\14\1\23\1\20\1\5\1\37\1\7\1\35\12\32\1\15\1\16\1\37\1\22\1\37\1\27\1\37\32\31\1\4\1\37\1\6\1\30\1\31\1\37\1\1\1\31\1\2\1\31\1\3\1\25\10\31\1\11\1\12\1\31\1\10\1\21\1\24\1\26\5\31\uff85\37", 1488 "\11\41\2\40\2\41\1\40\22\41\1\40\1\21\1\32\4\41\1\33\1\16\1\17\1\25\1\22\1\6\1\41\1\2\1\37\12\36\1\20\1\10\1\41\1\24\1\41\1\31\1\41\32\35\1\13\1\41\1\14\1\34\1\35\1\41\1\3\1\35\1\4\1\35\1\5\1\27\10\35\1\15\1\1\1\35\1\12\1\23\1\26\1\30\5\35\1\7\1\41\1\11\uff82\41",
1438 "\1\40", 1489 "\1\42",
1439 "\1\42\2\uffff\1\43", 1490 "\1\44",
1440 "\1\45\5\uffff\1\44", 1491 "\1\46",
1492 "\1\47\2\uffff\1\50",
1493 "\1\52\5\uffff\1\51",
1441 "", 1494 "",
1442 "", 1495 "",
1443 "", 1496 "",
1444 "\1\51",
1445 "\1\53",
1446 "\1\54",
1447 "\1\55",
1448 "", 1497 "",
1498 "\1\57",
1449 "", 1499 "",
1450 "\1\61\2\uffff\1\60",
1451 "", 1500 "",
1501 "\1\62",
1452 "", 1502 "",
1453 "\1\65",
1454 "\1\67",
1455 "", 1503 "",
1504 "\1\65",
1456 "", 1505 "",
1506 "\1\70",
1457 "\1\72", 1507 "\1\72",
1458 "\1\73",
1459 "\1\74",
1460 "",
1461 "\32\41\4\uffff\1\41\1\uffff\32\41",
1462 "", 1508 "",
1463 "", 1509 "",
1464 "\0\77", 1510 "\1\75",
1465 "\0\77", 1511 "\1\76",
1466 "\1\100\4\uffff\1\101", 1512 "\1\77",
1467 "", 1513 "",
1514 "\0\101",
1515 "\0\102",
1516 "\32\43\4\uffff\1\43\1\uffff\32\43",
1468 "", 1517 "",
1469 "\1\103",
1470 "", 1518 "",
1471 "\1\104", 1519 "\1\104\4\uffff\1\105",
1472 "\1\105",
1473 "\1\106",
1474 "\1\107",
1475 "", 1520 "",
1476 "", 1521 "",
1522 "\1\110\11\uffff\1\107",
1477 "", 1523 "",
1478 "", 1524 "",
1479 "", 1525 "",
1480 "\1\110",
1481 "\1\111", 1526 "\1\111",
1482 "\1\112", 1527 "\1\112",
1528 "\1\113",
1529 "\1\114",
1530 "\1\115",
1483 "", 1531 "",
1484 "", 1532 "",
1485 "", 1533 "",
1486 "", 1534 "",
1535 "\1\116",
1487 "", 1536 "",
1488 "", 1537 "",
1538 "\1\117",
1489 "", 1539 "",
1490 "", 1540 "",
1491 "", 1541 "",
1492 "\1\113",
1493 "",
1494 "",
1495 "\1\114",
1496 "\1\115",
1497 "\1\116",
1498 "", 1542 "",
1499 "", 1543 "",
1500 "", 1544 "",
1501 "", 1545 "",
1546 "\1\120",
1502 "", 1547 "",
1503 "", 1548 "",
1504 "\1\117",
1505 "\1\120",
1506 "\1\121", 1549 "\1\121",
1507 "\1\122", 1550 "\1\122",
1508 "\1\123", 1551 "\1\123",
1552 "",
1553 "",
1554 "",
1555 "",
1556 "",
1557 "",
1558 "",
1509 "\1\124", 1559 "\1\124",
1510 "\1\125", 1560 "\1\125",
1511 "\1\126", 1561 "\1\126",
@@ -1520,176 +1570,191 @@ public class InternalProblemLexer extends Lexer {
1520 "\1\137", 1570 "\1\137",
1521 "\1\140", 1571 "\1\140",
1522 "\1\141", 1572 "\1\141",
1523 "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41", 1573 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1524 "\1\143", 1574 "\1\143",
1525 "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41", 1575 "\1\144",
1526 "\1\145", 1576 "\1\145",
1527 "\1\146", 1577 "\1\146",
1528 "\1\147", 1578 "\1\147",
1529 "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41", 1579 "\1\150",
1530 "\1\151", 1580 "\1\151",
1531 "\1\152", 1581 "\1\152",
1532 "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41", 1582 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1533 "\1\154", 1583 "\1\154",
1534 "\1\155", 1584 "\1\155",
1585 "\1\156",
1535 "", 1586 "",
1536 "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41", 1587 "\1\157",
1537 "", 1588 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1538 "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
1539 "\1\160",
1540 "\1\161", 1589 "\1\161",
1541 "",
1542 "\1\162", 1590 "\1\162",
1543 "\1\163", 1591 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1544 "", 1592 "\1\164",
1545 "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
1546 "\1\165", 1593 "\1\165",
1594 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1547 "", 1595 "",
1548 "", 1596 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1549 "\1\166",
1550 "\1\167",
1551 "\1\170", 1597 "\1\170",
1552 "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41", 1598 "\1\171",
1553 "",
1554 "\1\172", 1599 "\1\172",
1555 "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
1556 "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
1557 "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
1558 "", 1600 "",
1559 "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41", 1601 "\1\173",
1602 "\1\174",
1603 "",
1604 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1605 "\1\176",
1606 "",
1607 "",
1608 "\1\177",
1609 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1610 "\1\u0081",
1611 "\1\u0082",
1612 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1613 "",
1614 "\1\u0084",
1615 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1616 "",
1617 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1618 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1619 "",
1620 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1560 "", 1621 "",
1561 "", 1622 "",
1562 "", 1623 "",
1563 "" 1624 ""
1564 }; 1625 };
1565 1626
1566 static final short[] DFA12_eot = DFA.unpackEncodedString(DFA12_eotS); 1627 static final short[] DFA11_eot = DFA.unpackEncodedString(DFA11_eotS);
1567 static final short[] DFA12_eof = DFA.unpackEncodedString(DFA12_eofS); 1628 static final short[] DFA11_eof = DFA.unpackEncodedString(DFA11_eofS);
1568 static final char[] DFA12_min = DFA.unpackEncodedStringToUnsignedChars(DFA12_minS); 1629 static final char[] DFA11_min = DFA.unpackEncodedStringToUnsignedChars(DFA11_minS);
1569 static final char[] DFA12_max = DFA.unpackEncodedStringToUnsignedChars(DFA12_maxS); 1630 static final char[] DFA11_max = DFA.unpackEncodedStringToUnsignedChars(DFA11_maxS);
1570 static final short[] DFA12_accept = DFA.unpackEncodedString(DFA12_acceptS); 1631 static final short[] DFA11_accept = DFA.unpackEncodedString(DFA11_acceptS);
1571 static final short[] DFA12_special = DFA.unpackEncodedString(DFA12_specialS); 1632 static final short[] DFA11_special = DFA.unpackEncodedString(DFA11_specialS);
1572 static final short[][] DFA12_transition; 1633 static final short[][] DFA11_transition;
1573 1634
1574 static { 1635 static {
1575 int numStates = DFA12_transitionS.length; 1636 int numStates = DFA11_transitionS.length;
1576 DFA12_transition = new short[numStates][]; 1637 DFA11_transition = new short[numStates][];
1577 for (int i=0; i<numStates; i++) { 1638 for (int i=0; i<numStates; i++) {
1578 DFA12_transition[i] = DFA.unpackEncodedString(DFA12_transitionS[i]); 1639 DFA11_transition[i] = DFA.unpackEncodedString(DFA11_transitionS[i]);
1579 } 1640 }
1580 } 1641 }
1581 1642
1582 class DFA12 extends DFA { 1643 class DFA11 extends DFA {
1583 1644
1584 public DFA12(BaseRecognizer recognizer) { 1645 public DFA11(BaseRecognizer recognizer) {
1585 this.recognizer = recognizer; 1646 this.recognizer = recognizer;
1586 this.decisionNumber = 12; 1647 this.decisionNumber = 11;
1587 this.eot = DFA12_eot; 1648 this.eot = DFA11_eot;
1588 this.eof = DFA12_eof; 1649 this.eof = DFA11_eof;
1589 this.min = DFA12_min; 1650 this.min = DFA11_min;
1590 this.max = DFA12_max; 1651 this.max = DFA11_max;
1591 this.accept = DFA12_accept; 1652 this.accept = DFA11_accept;
1592 this.special = DFA12_special; 1653 this.special = DFA11_special;
1593 this.transition = DFA12_transition; 1654 this.transition = DFA11_transition;
1594 } 1655 }
1595 public String getDescription() { 1656 public String getDescription() {
1596 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 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );"; 1657 return "1:1: Tokens : ( 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 | T__42 | RULE_STRING | RULE_QUOTED_ID | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
1597 } 1658 }
1598 public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { 1659 public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
1599 IntStream input = _input; 1660 IntStream input = _input;
1600 int _s = s; 1661 int _s = s;
1601 switch ( s ) { 1662 switch ( s ) {
1602 case 0 : 1663 case 0 :
1603 int LA12_28 = input.LA(1); 1664 int LA11_27 = input.LA(1);
1604 1665
1605 s = -1; 1666 s = -1;
1606 if ( ((LA12_28>='\u0000' && LA12_28<='\uFFFF')) ) {s = 63;} 1667 if ( ((LA11_27>='\u0000' && LA11_27<='\uFFFF')) ) {s = 66;}
1607 1668
1608 else s = 31; 1669 else s = 33;
1609 1670
1610 if ( s>=0 ) return s; 1671 if ( s>=0 ) return s;
1611 break; 1672 break;
1612 case 1 : 1673 case 1 :
1613 int LA12_0 = input.LA(1); 1674 int LA11_0 = input.LA(1);
1614 1675
1615 s = -1; 1676 s = -1;
1616 if ( (LA12_0=='a') ) {s = 1;} 1677 if ( (LA11_0=='p') ) {s = 1;}
1678
1679 else if ( (LA11_0=='.') ) {s = 2;}
1680
1681 else if ( (LA11_0=='a') ) {s = 3;}
1617 1682
1618 else if ( (LA12_0=='c') ) {s = 2;} 1683 else if ( (LA11_0=='c') ) {s = 4;}
1619 1684
1620 else if ( (LA12_0=='e') ) {s = 3;} 1685 else if ( (LA11_0=='e') ) {s = 5;}
1621 1686
1622 else if ( (LA12_0=='[') ) {s = 4;} 1687 else if ( (LA11_0==',') ) {s = 6;}
1623 1688
1624 else if ( (LA12_0==',') ) {s = 5;} 1689 else if ( (LA11_0=='{') ) {s = 7;}
1625 1690
1626 else if ( (LA12_0==']') ) {s = 6;} 1691 else if ( (LA11_0==';') ) {s = 8;}
1627 1692
1628 else if ( (LA12_0=='.') ) {s = 7;} 1693 else if ( (LA11_0=='}') ) {s = 9;}
1629 1694
1630 else if ( (LA12_0=='r') ) {s = 8;} 1695 else if ( (LA11_0=='r') ) {s = 10;}
1631 1696
1632 else if ( (LA12_0=='o') ) {s = 9;} 1697 else if ( (LA11_0=='[') ) {s = 11;}
1633 1698
1634 else if ( (LA12_0=='p') ) {s = 10;} 1699 else if ( (LA11_0==']') ) {s = 12;}
1635 1700
1636 else if ( (LA12_0=='(') ) {s = 11;} 1701 else if ( (LA11_0=='o') ) {s = 13;}
1637 1702
1638 else if ( (LA12_0==')') ) {s = 12;} 1703 else if ( (LA11_0=='(') ) {s = 14;}
1639 1704
1640 else if ( (LA12_0==':') ) {s = 13;} 1705 else if ( (LA11_0==')') ) {s = 15;}
1641 1706
1642 else if ( (LA12_0==';') ) {s = 14;} 1707 else if ( (LA11_0==':') ) {s = 16;}
1643 1708
1644 else if ( (LA12_0=='!') ) {s = 15;} 1709 else if ( (LA11_0=='!') ) {s = 17;}
1645 1710
1646 else if ( (LA12_0=='+') ) {s = 16;} 1711 else if ( (LA11_0=='+') ) {s = 18;}
1647 1712
1648 else if ( (LA12_0=='s') ) {s = 17;} 1713 else if ( (LA11_0=='s') ) {s = 19;}
1649 1714
1650 else if ( (LA12_0=='=') ) {s = 18;} 1715 else if ( (LA11_0=='=') ) {s = 20;}
1651 1716
1652 else if ( (LA12_0=='*') ) {s = 19;} 1717 else if ( (LA11_0=='*') ) {s = 21;}
1653 1718
1654 else if ( (LA12_0=='t') ) {s = 20;} 1719 else if ( (LA11_0=='t') ) {s = 22;}
1655 1720
1656 else if ( (LA12_0=='f') ) {s = 21;} 1721 else if ( (LA11_0=='f') ) {s = 23;}
1657 1722
1658 else if ( (LA12_0=='u') ) {s = 22;} 1723 else if ( (LA11_0=='u') ) {s = 24;}
1659 1724
1660 else if ( (LA12_0=='?') ) {s = 23;} 1725 else if ( (LA11_0=='?') ) {s = 25;}
1661 1726
1662 else if ( (LA12_0=='^') ) {s = 24;} 1727 else if ( (LA11_0=='\"') ) {s = 26;}
1663 1728
1664 else if ( ((LA12_0>='A' && LA12_0<='Z')||LA12_0=='_'||LA12_0=='b'||LA12_0=='d'||(LA12_0>='g' && LA12_0<='n')||LA12_0=='q'||(LA12_0>='v' && LA12_0<='z')) ) {s = 25;} 1729 else if ( (LA11_0=='\'') ) {s = 27;}
1665 1730
1666 else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 26;} 1731 else if ( (LA11_0=='^') ) {s = 28;}
1667 1732
1668 else if ( (LA12_0=='\"') ) {s = 27;} 1733 else if ( ((LA11_0>='A' && LA11_0<='Z')||LA11_0=='_'||LA11_0=='b'||LA11_0=='d'||(LA11_0>='g' && LA11_0<='n')||LA11_0=='q'||(LA11_0>='v' && LA11_0<='z')) ) {s = 29;}
1669 1734
1670 else if ( (LA12_0=='\'') ) {s = 28;} 1735 else if ( ((LA11_0>='0' && LA11_0<='9')) ) {s = 30;}
1671 1736
1672 else if ( (LA12_0=='/') ) {s = 29;} 1737 else if ( (LA11_0=='/') ) {s = 31;}
1673 1738
1674 else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 30;} 1739 else if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) {s = 32;}
1675 1740
1676 else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||(LA12_0>='#' && LA12_0<='&')||LA12_0=='-'||LA12_0=='<'||LA12_0=='>'||LA12_0=='@'||LA12_0=='\\'||LA12_0=='`'||(LA12_0>='{' && LA12_0<='\uFFFF')) ) {s = 31;} 1741 else if ( ((LA11_0>='\u0000' && LA11_0<='\b')||(LA11_0>='\u000B' && LA11_0<='\f')||(LA11_0>='\u000E' && LA11_0<='\u001F')||(LA11_0>='#' && LA11_0<='&')||LA11_0=='-'||LA11_0=='<'||LA11_0=='>'||LA11_0=='@'||LA11_0=='\\'||LA11_0=='`'||LA11_0=='|'||(LA11_0>='~' && LA11_0<='\uFFFF')) ) {s = 33;}
1677 1742
1678 if ( s>=0 ) return s; 1743 if ( s>=0 ) return s;
1679 break; 1744 break;
1680 case 2 : 1745 case 2 :
1681 int LA12_27 = input.LA(1); 1746 int LA11_26 = input.LA(1);
1682 1747
1683 s = -1; 1748 s = -1;
1684 if ( ((LA12_27>='\u0000' && LA12_27<='\uFFFF')) ) {s = 63;} 1749 if ( ((LA11_26>='\u0000' && LA11_26<='\uFFFF')) ) {s = 65;}
1685 1750
1686 else s = 31; 1751 else s = 33;
1687 1752
1688 if ( s>=0 ) return s; 1753 if ( s>=0 ) return s;
1689 break; 1754 break;
1690 } 1755 }
1691 NoViableAltException nvae = 1756 NoViableAltException nvae =
1692 new NoViableAltException(getDescription(), 12, _s, input); 1757 new NoViableAltException(getDescription(), 11, _s, input);
1693 error(nvae); 1758 error(nvae);
1694 throw nvae; 1759 throw nvae;
1695 } 1760 }
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemParser.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemParser.java
index 9bfeb079..c4f19943 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemParser.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemParser.java
@@ -22,10 +22,10 @@ import java.util.ArrayList;
22@SuppressWarnings("all") 22@SuppressWarnings("all")
23public class InternalProblemParser extends AbstractInternalAntlrParser { 23public class InternalProblemParser extends AbstractInternalAntlrParser {
24 public static final String[] tokenNames = new String[] { 24 public static final String[] tokenNames = new String[] {
25 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_INT", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'abstract'", "'class'", "'extends'", "'['", "','", "']'", "'.'", "'contains'", "'refers'", "'opposite'", "'error'", "'pred'", "'('", "')'", "':='", "';'", "'!'", "'+'", "':'", "'scope'", "'+='", "'='", "'..'", "'*'", "'::'", "'true'", "'false'", "'unknown'", "'?'" 25 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_INT", "RULE_QUOTED_ID", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'problem'", "'.'", "'abstract'", "'class'", "'extends'", "','", "'{'", "';'", "'}'", "'contains'", "'refers'", "'['", "']'", "'opposite'", "'error'", "'pred'", "'('", "')'", "':-'", "'!'", "'+'", "':'", "'scope'", "'+='", "'='", "'..'", "'*'", "'true'", "'false'", "'unknown'", "'?'"
26 }; 26 };
27 public static final int RULE_STRING=6; 27 public static final int RULE_STRING=7;
28 public static final int RULE_SL_COMMENT=8; 28 public static final int RULE_SL_COMMENT=9;
29 public static final int T__19=19; 29 public static final int T__19=19;
30 public static final int T__15=15; 30 public static final int T__15=15;
31 public static final int T__37=37; 31 public static final int T__37=37;
@@ -34,7 +34,6 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
34 public static final int T__17=17; 34 public static final int T__17=17;
35 public static final int T__39=39; 35 public static final int T__39=39;
36 public static final int T__18=18; 36 public static final int T__18=18;
37 public static final int T__11=11;
38 public static final int T__33=33; 37 public static final int T__33=33;
39 public static final int T__12=12; 38 public static final int T__12=12;
40 public static final int T__34=34; 39 public static final int T__34=34;
@@ -47,19 +46,23 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
47 public static final int T__31=31; 46 public static final int T__31=31;
48 public static final int T__32=32; 47 public static final int T__32=32;
49 public static final int RULE_ID=4; 48 public static final int RULE_ID=4;
50 public static final int RULE_WS=9; 49 public static final int RULE_WS=10;
51 public static final int RULE_ANY_OTHER=10; 50 public static final int RULE_QUOTED_ID=6;
51 public static final int RULE_ANY_OTHER=11;
52 public static final int T__26=26; 52 public static final int T__26=26;
53 public static final int T__27=27; 53 public static final int T__27=27;
54 public static final int T__28=28; 54 public static final int T__28=28;
55 public static final int RULE_INT=5; 55 public static final int RULE_INT=5;
56 public static final int T__29=29; 56 public static final int T__29=29;
57 public static final int T__22=22; 57 public static final int T__22=22;
58 public static final int RULE_ML_COMMENT=7; 58 public static final int RULE_ML_COMMENT=8;
59 public static final int T__23=23; 59 public static final int T__23=23;
60 public static final int T__24=24; 60 public static final int T__24=24;
61 public static final int T__25=25; 61 public static final int T__25=25;
62 public static final int T__40=40;
63 public static final int T__41=41;
62 public static final int T__20=20; 64 public static final int T__20=20;
65 public static final int T__42=42;
63 public static final int T__21=21; 66 public static final int T__21=21;
64 67
65 // delegates 68 // delegates
@@ -138,57 +141,114 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
138 141
139 142
140 // $ANTLR start "ruleProblem" 143 // $ANTLR start "ruleProblem"
141 // InternalProblem.g:72:1: ruleProblem returns [EObject current=null] : ( (lv_statements_0_0= ruleStatement ) )* ; 144 // InternalProblem.g:72:1: ruleProblem returns [EObject current=null] : ( (otherlv_0= 'problem' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )* ) ;
142 public final EObject ruleProblem() throws RecognitionException { 145 public final EObject ruleProblem() throws RecognitionException {
143 EObject current = null; 146 EObject current = null;
144 147
145 EObject lv_statements_0_0 = null; 148 Token otherlv_0=null;
149 Token lv_name_1_0=null;
150 Token otherlv_2=null;
151 EObject lv_statements_3_0 = null;
146 152
147 153
148 154
149 enterRule(); 155 enterRule();
150 156
151 try { 157 try {
152 // InternalProblem.g:78:2: ( ( (lv_statements_0_0= ruleStatement ) )* ) 158 // InternalProblem.g:78:2: ( ( (otherlv_0= 'problem' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )* ) )
153 // InternalProblem.g:79:2: ( (lv_statements_0_0= ruleStatement ) )* 159 // InternalProblem.g:79:2: ( (otherlv_0= 'problem' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )* )
154 { 160 {
155 // InternalProblem.g:79:2: ( (lv_statements_0_0= ruleStatement ) )* 161 // InternalProblem.g:79:2: ( (otherlv_0= 'problem' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )* )
156 loop1: 162 // InternalProblem.g:80:3: (otherlv_0= 'problem' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )*
163 {
164 // InternalProblem.g:80:3: (otherlv_0= 'problem' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '.' )?
165 int alt1=2;
166 int LA1_0 = input.LA(1);
167
168 if ( (LA1_0==12) ) {
169 alt1=1;
170 }
171 switch (alt1) {
172 case 1 :
173 // InternalProblem.g:81:4: otherlv_0= 'problem' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '.'
174 {
175 otherlv_0=(Token)match(input,12,FOLLOW_3);
176
177 newLeafNode(otherlv_0, grammarAccess.getProblemAccess().getProblemKeyword_0_0());
178
179 // InternalProblem.g:85:4: ( (lv_name_1_0= RULE_ID ) )
180 // InternalProblem.g:86:5: (lv_name_1_0= RULE_ID )
181 {
182 // InternalProblem.g:86:5: (lv_name_1_0= RULE_ID )
183 // InternalProblem.g:87:6: lv_name_1_0= RULE_ID
184 {
185 lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_4);
186
187 newLeafNode(lv_name_1_0, grammarAccess.getProblemAccess().getNameIDTerminalRuleCall_0_1_0());
188
189
190 if (current==null) {
191 current = createModelElement(grammarAccess.getProblemRule());
192 }
193 setWithLastConsumed(
194 current,
195 "name",
196 lv_name_1_0,
197 "org.eclipse.xtext.common.Terminals.ID");
198
199
200 }
201
202
203 }
204
205 otherlv_2=(Token)match(input,13,FOLLOW_5);
206
207 newLeafNode(otherlv_2, grammarAccess.getProblemAccess().getFullStopKeyword_0_2());
208
209
210 }
211 break;
212
213 }
214
215 // InternalProblem.g:108:3: ( (lv_statements_3_0= ruleStatement ) )*
216 loop2:
157 do { 217 do {
158 int alt1=2; 218 int alt2=2;
159 int LA1_0 = input.LA(1); 219 int LA2_0 = input.LA(1);
160 220
161 if ( (LA1_0==RULE_ID||(LA1_0>=11 && LA1_0<=12)||(LA1_0>=21 && LA1_0<=22)||LA1_0==27||LA1_0==30||LA1_0==39) ) { 221 if ( (LA2_0==RULE_ID||LA2_0==RULE_QUOTED_ID||(LA2_0>=14 && LA2_0<=15)||(LA2_0>=26 && LA2_0<=27)||LA2_0==31||LA2_0==34||LA2_0==42) ) {
162 alt1=1; 222 alt2=1;
163 } 223 }
164 224
165 225
166 switch (alt1) { 226 switch (alt2) {
167 case 1 : 227 case 1 :
168 // InternalProblem.g:80:3: (lv_statements_0_0= ruleStatement ) 228 // InternalProblem.g:109:4: (lv_statements_3_0= ruleStatement )
169 { 229 {
170 // InternalProblem.g:80:3: (lv_statements_0_0= ruleStatement ) 230 // InternalProblem.g:109:4: (lv_statements_3_0= ruleStatement )
171 // InternalProblem.g:81:4: lv_statements_0_0= ruleStatement 231 // InternalProblem.g:110:5: lv_statements_3_0= ruleStatement
172 { 232 {
173 233
174 newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_0()); 234 newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_1_0());
175 235
176 pushFollow(FOLLOW_3); 236 pushFollow(FOLLOW_5);
177 lv_statements_0_0=ruleStatement(); 237 lv_statements_3_0=ruleStatement();
178 238
179 state._fsp--; 239 state._fsp--;
180 240
181 241
182 if (current==null) { 242 if (current==null) {
183 current = createModelElementForParent(grammarAccess.getProblemRule()); 243 current = createModelElementForParent(grammarAccess.getProblemRule());
184 } 244 }
185 add( 245 add(
186 current, 246 current,
187 "statements", 247 "statements",
188 lv_statements_0_0, 248 lv_statements_3_0,
189 "org.eclipse.viatra.solver.language.Problem.Statement"); 249 "org.eclipse.viatra.solver.language.Problem.Statement");
190 afterParserOrEnumRuleCall(); 250 afterParserOrEnumRuleCall();
191 251
192 252
193 } 253 }
194 254
@@ -197,7 +257,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
197 break; 257 break;
198 258
199 default : 259 default :
200 break loop1; 260 break loop2;
201 } 261 }
202 } while (true); 262 } while (true);
203 263
@@ -205,6 +265,9 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
205 } 265 }
206 266
207 267
268 }
269
270
208 leaveRule(); 271 leaveRule();
209 272
210 } 273 }
@@ -221,7 +284,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
221 284
222 285
223 // $ANTLR start "entryRuleStatement" 286 // $ANTLR start "entryRuleStatement"
224 // InternalProblem.g:101:1: entryRuleStatement returns [EObject current=null] : iv_ruleStatement= ruleStatement EOF ; 287 // InternalProblem.g:131:1: entryRuleStatement returns [EObject current=null] : iv_ruleStatement= ruleStatement EOF ;
225 public final EObject entryRuleStatement() throws RecognitionException { 288 public final EObject entryRuleStatement() throws RecognitionException {
226 EObject current = null; 289 EObject current = null;
227 290
@@ -229,8 +292,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
229 292
230 293
231 try { 294 try {
232 // InternalProblem.g:101:50: (iv_ruleStatement= ruleStatement EOF ) 295 // InternalProblem.g:131:50: (iv_ruleStatement= ruleStatement EOF )
233 // InternalProblem.g:102:2: iv_ruleStatement= ruleStatement EOF 296 // InternalProblem.g:132:2: iv_ruleStatement= ruleStatement EOF
234 { 297 {
235 newCompositeNode(grammarAccess.getStatementRule()); 298 newCompositeNode(grammarAccess.getStatementRule());
236 pushFollow(FOLLOW_1); 299 pushFollow(FOLLOW_1);
@@ -257,7 +320,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
257 320
258 321
259 // $ANTLR start "ruleStatement" 322 // $ANTLR start "ruleStatement"
260 // InternalProblem.g:108:1: ruleStatement returns [EObject current=null] : (this_ClassDeclaration_0= ruleClassDeclaration | this_PredicateDefinition_1= rulePredicateDefinition | this_Assertion_2= ruleAssertion | this_ScopeDeclaration_3= ruleScopeDeclaration ) ; 323 // InternalProblem.g:138:1: ruleStatement returns [EObject current=null] : (this_ClassDeclaration_0= ruleClassDeclaration | this_PredicateDefinition_1= rulePredicateDefinition | this_Assertion_2= ruleAssertion | this_ScopeDeclaration_3= ruleScopeDeclaration ) ;
261 public final EObject ruleStatement() throws RecognitionException { 324 public final EObject ruleStatement() throws RecognitionException {
262 EObject current = null; 325 EObject current = null;
263 326
@@ -274,46 +337,47 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
274 enterRule(); 337 enterRule();
275 338
276 try { 339 try {
277 // InternalProblem.g:114:2: ( (this_ClassDeclaration_0= ruleClassDeclaration | this_PredicateDefinition_1= rulePredicateDefinition | this_Assertion_2= ruleAssertion | this_ScopeDeclaration_3= ruleScopeDeclaration ) ) 340 // InternalProblem.g:144:2: ( (this_ClassDeclaration_0= ruleClassDeclaration | this_PredicateDefinition_1= rulePredicateDefinition | this_Assertion_2= ruleAssertion | this_ScopeDeclaration_3= ruleScopeDeclaration ) )
278 // InternalProblem.g:115:2: (this_ClassDeclaration_0= ruleClassDeclaration | this_PredicateDefinition_1= rulePredicateDefinition | this_Assertion_2= ruleAssertion | this_ScopeDeclaration_3= ruleScopeDeclaration ) 341 // InternalProblem.g:145:2: (this_ClassDeclaration_0= ruleClassDeclaration | this_PredicateDefinition_1= rulePredicateDefinition | this_Assertion_2= ruleAssertion | this_ScopeDeclaration_3= ruleScopeDeclaration )
279 { 342 {
280 // InternalProblem.g:115:2: (this_ClassDeclaration_0= ruleClassDeclaration | this_PredicateDefinition_1= rulePredicateDefinition | this_Assertion_2= ruleAssertion | this_ScopeDeclaration_3= ruleScopeDeclaration ) 343 // InternalProblem.g:145:2: (this_ClassDeclaration_0= ruleClassDeclaration | this_PredicateDefinition_1= rulePredicateDefinition | this_Assertion_2= ruleAssertion | this_ScopeDeclaration_3= ruleScopeDeclaration )
281 int alt2=4; 344 int alt3=4;
282 switch ( input.LA(1) ) { 345 switch ( input.LA(1) ) {
283 case 11: 346 case 14:
284 case 12: 347 case 15:
285 { 348 {
286 alt2=1; 349 alt3=1;
287 } 350 }
288 break; 351 break;
289 case 21: 352 case 26:
290 case 22: 353 case 27:
291 { 354 {
292 alt2=2; 355 alt3=2;
293 } 356 }
294 break; 357 break;
295 case RULE_ID: 358 case RULE_ID:
296 case 27: 359 case RULE_QUOTED_ID:
297 case 39: 360 case 31:
361 case 42:
298 { 362 {
299 alt2=3; 363 alt3=3;
300 } 364 }
301 break; 365 break;
302 case 30: 366 case 34:
303 { 367 {
304 alt2=4; 368 alt3=4;
305 } 369 }
306 break; 370 break;
307 default: 371 default:
308 NoViableAltException nvae = 372 NoViableAltException nvae =
309 new NoViableAltException("", 2, 0, input); 373 new NoViableAltException("", 3, 0, input);
310 374
311 throw nvae; 375 throw nvae;
312 } 376 }
313 377
314 switch (alt2) { 378 switch (alt3) {
315 case 1 : 379 case 1 :
316 // InternalProblem.g:116:3: this_ClassDeclaration_0= ruleClassDeclaration 380 // InternalProblem.g:146:3: this_ClassDeclaration_0= ruleClassDeclaration
317 { 381 {
318 382
319 newCompositeNode(grammarAccess.getStatementAccess().getClassDeclarationParserRuleCall_0()); 383 newCompositeNode(grammarAccess.getStatementAccess().getClassDeclarationParserRuleCall_0());
@@ -331,7 +395,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
331 } 395 }
332 break; 396 break;
333 case 2 : 397 case 2 :
334 // InternalProblem.g:125:3: this_PredicateDefinition_1= rulePredicateDefinition 398 // InternalProblem.g:155:3: this_PredicateDefinition_1= rulePredicateDefinition
335 { 399 {
336 400
337 newCompositeNode(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_1()); 401 newCompositeNode(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_1());
@@ -349,7 +413,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
349 } 413 }
350 break; 414 break;
351 case 3 : 415 case 3 :
352 // InternalProblem.g:134:3: this_Assertion_2= ruleAssertion 416 // InternalProblem.g:164:3: this_Assertion_2= ruleAssertion
353 { 417 {
354 418
355 newCompositeNode(grammarAccess.getStatementAccess().getAssertionParserRuleCall_2()); 419 newCompositeNode(grammarAccess.getStatementAccess().getAssertionParserRuleCall_2());
@@ -367,7 +431,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
367 } 431 }
368 break; 432 break;
369 case 4 : 433 case 4 :
370 // InternalProblem.g:143:3: this_ScopeDeclaration_3= ruleScopeDeclaration 434 // InternalProblem.g:173:3: this_ScopeDeclaration_3= ruleScopeDeclaration
371 { 435 {
372 436
373 newCompositeNode(grammarAccess.getStatementAccess().getScopeDeclarationParserRuleCall_3()); 437 newCompositeNode(grammarAccess.getStatementAccess().getScopeDeclarationParserRuleCall_3());
@@ -407,7 +471,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
407 471
408 472
409 // $ANTLR start "entryRuleClassDeclaration" 473 // $ANTLR start "entryRuleClassDeclaration"
410 // InternalProblem.g:155:1: entryRuleClassDeclaration returns [EObject current=null] : iv_ruleClassDeclaration= ruleClassDeclaration EOF ; 474 // InternalProblem.g:185:1: entryRuleClassDeclaration returns [EObject current=null] : iv_ruleClassDeclaration= ruleClassDeclaration EOF ;
411 public final EObject entryRuleClassDeclaration() throws RecognitionException { 475 public final EObject entryRuleClassDeclaration() throws RecognitionException {
412 EObject current = null; 476 EObject current = null;
413 477
@@ -415,8 +479,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
415 479
416 480
417 try { 481 try {
418 // InternalProblem.g:155:57: (iv_ruleClassDeclaration= ruleClassDeclaration EOF ) 482 // InternalProblem.g:185:57: (iv_ruleClassDeclaration= ruleClassDeclaration EOF )
419 // InternalProblem.g:156:2: iv_ruleClassDeclaration= ruleClassDeclaration EOF 483 // InternalProblem.g:186:2: iv_ruleClassDeclaration= ruleClassDeclaration EOF
420 { 484 {
421 newCompositeNode(grammarAccess.getClassDeclarationRule()); 485 newCompositeNode(grammarAccess.getClassDeclarationRule());
422 pushFollow(FOLLOW_1); 486 pushFollow(FOLLOW_1);
@@ -443,7 +507,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
443 507
444 508
445 // $ANTLR start "ruleClassDeclaration" 509 // $ANTLR start "ruleClassDeclaration"
446 // InternalProblem.g:162:1: ruleClassDeclaration returns [EObject current=null] : ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= RULE_ID ) ) ( (otherlv_3= 'extends' ( ( (otherlv_4= RULE_ID ) ) | (otherlv_5= '[' ( ( (otherlv_6= RULE_ID ) ) (otherlv_7= ',' ( (otherlv_8= RULE_ID ) ) )* )? otherlv_9= ']' ) ) ) | ( (lv_referenceDeclarations_10_0= ruleReferenceDeclaration ) ) )? (otherlv_11= ',' ( (lv_referenceDeclarations_12_0= ruleReferenceDeclaration ) ) )* otherlv_13= '.' ) ; 510 // InternalProblem.g:192:1: ruleClassDeclaration returns [EObject current=null] : ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' ) ) ;
447 public final EObject ruleClassDeclaration() throws RecognitionException { 511 public final EObject ruleClassDeclaration() throws RecognitionException {
448 EObject current = null; 512 EObject current = null;
449 513
@@ -451,44 +515,39 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
451 Token otherlv_1=null; 515 Token otherlv_1=null;
452 Token lv_name_2_0=null; 516 Token lv_name_2_0=null;
453 Token otherlv_3=null; 517 Token otherlv_3=null;
454 Token otherlv_4=null;
455 Token otherlv_5=null; 518 Token otherlv_5=null;
456 Token otherlv_6=null;
457 Token otherlv_7=null; 519 Token otherlv_7=null;
458 Token otherlv_8=null;
459 Token otherlv_9=null; 520 Token otherlv_9=null;
521 Token otherlv_10=null;
460 Token otherlv_11=null; 522 Token otherlv_11=null;
461 Token otherlv_13=null; 523 EObject lv_referenceDeclarations_8_0 = null;
462 EObject lv_referenceDeclarations_10_0 = null;
463
464 EObject lv_referenceDeclarations_12_0 = null;
465 524
466 525
467 526
468 enterRule(); 527 enterRule();
469 528
470 try { 529 try {
471 // InternalProblem.g:168:2: ( ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= RULE_ID ) ) ( (otherlv_3= 'extends' ( ( (otherlv_4= RULE_ID ) ) | (otherlv_5= '[' ( ( (otherlv_6= RULE_ID ) ) (otherlv_7= ',' ( (otherlv_8= RULE_ID ) ) )* )? otherlv_9= ']' ) ) ) | ( (lv_referenceDeclarations_10_0= ruleReferenceDeclaration ) ) )? (otherlv_11= ',' ( (lv_referenceDeclarations_12_0= ruleReferenceDeclaration ) ) )* otherlv_13= '.' ) ) 530 // InternalProblem.g:198:2: ( ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' ) ) )
472 // InternalProblem.g:169:2: ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= RULE_ID ) ) ( (otherlv_3= 'extends' ( ( (otherlv_4= RULE_ID ) ) | (otherlv_5= '[' ( ( (otherlv_6= RULE_ID ) ) (otherlv_7= ',' ( (otherlv_8= RULE_ID ) ) )* )? otherlv_9= ']' ) ) ) | ( (lv_referenceDeclarations_10_0= ruleReferenceDeclaration ) ) )? (otherlv_11= ',' ( (lv_referenceDeclarations_12_0= ruleReferenceDeclaration ) ) )* otherlv_13= '.' ) 531 // InternalProblem.g:199:2: ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' ) )
473 { 532 {
474 // InternalProblem.g:169:2: ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= RULE_ID ) ) ( (otherlv_3= 'extends' ( ( (otherlv_4= RULE_ID ) ) | (otherlv_5= '[' ( ( (otherlv_6= RULE_ID ) ) (otherlv_7= ',' ( (otherlv_8= RULE_ID ) ) )* )? otherlv_9= ']' ) ) ) | ( (lv_referenceDeclarations_10_0= ruleReferenceDeclaration ) ) )? (otherlv_11= ',' ( (lv_referenceDeclarations_12_0= ruleReferenceDeclaration ) ) )* otherlv_13= '.' ) 533 // InternalProblem.g:199:2: ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' ) )
475 // InternalProblem.g:170:3: ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= RULE_ID ) ) ( (otherlv_3= 'extends' ( ( (otherlv_4= RULE_ID ) ) | (otherlv_5= '[' ( ( (otherlv_6= RULE_ID ) ) (otherlv_7= ',' ( (otherlv_8= RULE_ID ) ) )* )? otherlv_9= ']' ) ) ) | ( (lv_referenceDeclarations_10_0= ruleReferenceDeclaration ) ) )? (otherlv_11= ',' ( (lv_referenceDeclarations_12_0= ruleReferenceDeclaration ) ) )* otherlv_13= '.' 534 // InternalProblem.g:200:3: ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' )
476 { 535 {
477 // InternalProblem.g:170:3: ( (lv_abstract_0_0= 'abstract' ) )? 536 // InternalProblem.g:200:3: ( (lv_abstract_0_0= 'abstract' ) )?
478 int alt3=2; 537 int alt4=2;
479 int LA3_0 = input.LA(1); 538 int LA4_0 = input.LA(1);
480 539
481 if ( (LA3_0==11) ) { 540 if ( (LA4_0==14) ) {
482 alt3=1; 541 alt4=1;
483 } 542 }
484 switch (alt3) { 543 switch (alt4) {
485 case 1 : 544 case 1 :
486 // InternalProblem.g:171:4: (lv_abstract_0_0= 'abstract' ) 545 // InternalProblem.g:201:4: (lv_abstract_0_0= 'abstract' )
487 { 546 {
488 // InternalProblem.g:171:4: (lv_abstract_0_0= 'abstract' ) 547 // InternalProblem.g:201:4: (lv_abstract_0_0= 'abstract' )
489 // InternalProblem.g:172:5: lv_abstract_0_0= 'abstract' 548 // InternalProblem.g:202:5: lv_abstract_0_0= 'abstract'
490 { 549 {
491 lv_abstract_0_0=(Token)match(input,11,FOLLOW_4); 550 lv_abstract_0_0=(Token)match(input,14,FOLLOW_6);
492 551
493 newLeafNode(lv_abstract_0_0, grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0()); 552 newLeafNode(lv_abstract_0_0, grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0());
494 553
@@ -507,17 +566,17 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
507 566
508 } 567 }
509 568
510 otherlv_1=(Token)match(input,12,FOLLOW_5); 569 otherlv_1=(Token)match(input,15,FOLLOW_3);
511 570
512 newLeafNode(otherlv_1, grammarAccess.getClassDeclarationAccess().getClassKeyword_1()); 571 newLeafNode(otherlv_1, grammarAccess.getClassDeclarationAccess().getClassKeyword_1());
513 572
514 // InternalProblem.g:188:3: ( (lv_name_2_0= RULE_ID ) ) 573 // InternalProblem.g:218:3: ( (lv_name_2_0= RULE_ID ) )
515 // InternalProblem.g:189:4: (lv_name_2_0= RULE_ID ) 574 // InternalProblem.g:219:4: (lv_name_2_0= RULE_ID )
516 { 575 {
517 // InternalProblem.g:189:4: (lv_name_2_0= RULE_ID ) 576 // InternalProblem.g:219:4: (lv_name_2_0= RULE_ID )
518 // InternalProblem.g:190:5: lv_name_2_0= RULE_ID 577 // InternalProblem.g:220:5: lv_name_2_0= RULE_ID
519 { 578 {
520 lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_6); 579 lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_7);
521 580
522 newLeafNode(lv_name_2_0, grammarAccess.getClassDeclarationAccess().getNameIDTerminalRuleCall_2_0()); 581 newLeafNode(lv_name_2_0, grammarAccess.getClassDeclarationAccess().getNameIDTerminalRuleCall_2_0());
523 582
@@ -537,290 +596,237 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
537 596
538 } 597 }
539 598
540 // InternalProblem.g:206:3: ( (otherlv_3= 'extends' ( ( (otherlv_4= RULE_ID ) ) | (otherlv_5= '[' ( ( (otherlv_6= RULE_ID ) ) (otherlv_7= ',' ( (otherlv_8= RULE_ID ) ) )* )? otherlv_9= ']' ) ) ) | ( (lv_referenceDeclarations_10_0= ruleReferenceDeclaration ) ) )? 599 // InternalProblem.g:236:3: (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )?
541 int alt7=3; 600 int alt6=2;
542 int LA7_0 = input.LA(1); 601 int LA6_0 = input.LA(1);
543 602
544 if ( (LA7_0==13) ) { 603 if ( (LA6_0==16) ) {
545 alt7=1; 604 alt6=1;
546 }
547 else if ( ((LA7_0>=18 && LA7_0<=19)) ) {
548 alt7=2;
549 } 605 }
550 switch (alt7) { 606 switch (alt6) {
551 case 1 : 607 case 1 :
552 // InternalProblem.g:207:4: (otherlv_3= 'extends' ( ( (otherlv_4= RULE_ID ) ) | (otherlv_5= '[' ( ( (otherlv_6= RULE_ID ) ) (otherlv_7= ',' ( (otherlv_8= RULE_ID ) ) )* )? otherlv_9= ']' ) ) ) 608 // InternalProblem.g:237:4: otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )*
553 { 609 {
554 // InternalProblem.g:207:4: (otherlv_3= 'extends' ( ( (otherlv_4= RULE_ID ) ) | (otherlv_5= '[' ( ( (otherlv_6= RULE_ID ) ) (otherlv_7= ',' ( (otherlv_8= RULE_ID ) ) )* )? otherlv_9= ']' ) ) ) 610 otherlv_3=(Token)match(input,16,FOLLOW_8);
555 // InternalProblem.g:208:5: otherlv_3= 'extends' ( ( (otherlv_4= RULE_ID ) ) | (otherlv_5= '[' ( ( (otherlv_6= RULE_ID ) ) (otherlv_7= ',' ( (otherlv_8= RULE_ID ) ) )* )? otherlv_9= ']' ) )
556 {
557 otherlv_3=(Token)match(input,13,FOLLOW_7);
558
559 newLeafNode(otherlv_3, grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0_0());
560
561 // InternalProblem.g:212:5: ( ( (otherlv_4= RULE_ID ) ) | (otherlv_5= '[' ( ( (otherlv_6= RULE_ID ) ) (otherlv_7= ',' ( (otherlv_8= RULE_ID ) ) )* )? otherlv_9= ']' ) )
562 int alt6=2;
563 int LA6_0 = input.LA(1);
564
565 if ( (LA6_0==RULE_ID) ) {
566 alt6=1;
567 }
568 else if ( (LA6_0==14) ) {
569 alt6=2;
570 }
571 else {
572 NoViableAltException nvae =
573 new NoViableAltException("", 6, 0, input);
574
575 throw nvae;
576 }
577 switch (alt6) {
578 case 1 :
579 // InternalProblem.g:213:6: ( (otherlv_4= RULE_ID ) )
580 {
581 // InternalProblem.g:213:6: ( (otherlv_4= RULE_ID ) )
582 // InternalProblem.g:214:7: (otherlv_4= RULE_ID )
583 {
584 // InternalProblem.g:214:7: (otherlv_4= RULE_ID )
585 // InternalProblem.g:215:8: otherlv_4= RULE_ID
586 {
587
588 if (current==null) {
589 current = createModelElement(grammarAccess.getClassDeclarationRule());
590 }
591
592 otherlv_4=(Token)match(input,RULE_ID,FOLLOW_8);
593
594 newLeafNode(otherlv_4, grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_0_1_0_0());
595
596
597 }
598
599
600 }
601
602
603 }
604 break;
605 case 2 :
606 // InternalProblem.g:227:6: (otherlv_5= '[' ( ( (otherlv_6= RULE_ID ) ) (otherlv_7= ',' ( (otherlv_8= RULE_ID ) ) )* )? otherlv_9= ']' )
607 {
608 // InternalProblem.g:227:6: (otherlv_5= '[' ( ( (otherlv_6= RULE_ID ) ) (otherlv_7= ',' ( (otherlv_8= RULE_ID ) ) )* )? otherlv_9= ']' )
609 // InternalProblem.g:228:7: otherlv_5= '[' ( ( (otherlv_6= RULE_ID ) ) (otherlv_7= ',' ( (otherlv_8= RULE_ID ) ) )* )? otherlv_9= ']'
610 {
611 otherlv_5=(Token)match(input,14,FOLLOW_9);
612
613 newLeafNode(otherlv_5, grammarAccess.getClassDeclarationAccess().getLeftSquareBracketKeyword_3_0_1_1_0());
614
615 // InternalProblem.g:232:7: ( ( (otherlv_6= RULE_ID ) ) (otherlv_7= ',' ( (otherlv_8= RULE_ID ) ) )* )?
616 int alt5=2;
617 int LA5_0 = input.LA(1);
618
619 if ( (LA5_0==RULE_ID) ) {
620 alt5=1;
621 }
622 switch (alt5) {
623 case 1 :
624 // InternalProblem.g:233:8: ( (otherlv_6= RULE_ID ) ) (otherlv_7= ',' ( (otherlv_8= RULE_ID ) ) )*
625 {
626 // InternalProblem.g:233:8: ( (otherlv_6= RULE_ID ) )
627 // InternalProblem.g:234:9: (otherlv_6= RULE_ID )
628 {
629 // InternalProblem.g:234:9: (otherlv_6= RULE_ID )
630 // InternalProblem.g:235:10: otherlv_6= RULE_ID
631 {
632 611
633 if (current==null) { 612 newLeafNode(otherlv_3, grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0());
634 current = createModelElement(grammarAccess.getClassDeclarationRule()); 613
635 } 614 // InternalProblem.g:241:4: ( ( ruleQualifiedName ) )
636 615 // InternalProblem.g:242:5: ( ruleQualifiedName )
637 otherlv_6=(Token)match(input,RULE_ID,FOLLOW_10); 616 {
617 // InternalProblem.g:242:5: ( ruleQualifiedName )
618 // InternalProblem.g:243:6: ruleQualifiedName
619 {
638 620
639 newLeafNode(otherlv_6, grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_0_1_1_1_0_0()); 621 if (current==null) {
640 622 current = createModelElement(grammarAccess.getClassDeclarationRule());
623 }
624
641 625
642 } 626 newCompositeNode(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_1_0());
627
628 pushFollow(FOLLOW_9);
629 ruleQualifiedName();
643 630
631 state._fsp--;
644 632
645 }
646 633
647 // InternalProblem.g:246:8: (otherlv_7= ',' ( (otherlv_8= RULE_ID ) ) )* 634 afterParserOrEnumRuleCall();
648 loop4: 635
649 do {
650 int alt4=2;
651 int LA4_0 = input.LA(1);
652 636
653 if ( (LA4_0==15) ) { 637 }
654 alt4=1;
655 }
656 638
657 639
658 switch (alt4) { 640 }
659 case 1 :
660 // InternalProblem.g:247:9: otherlv_7= ',' ( (otherlv_8= RULE_ID ) )
661 {
662 otherlv_7=(Token)match(input,15,FOLLOW_5);
663 641
664 newLeafNode(otherlv_7, grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_0_1_1_1_1_0()); 642 // InternalProblem.g:257:4: (otherlv_5= ',' ( ( ruleQualifiedName ) ) )*
665 643 loop5:
666 // InternalProblem.g:251:9: ( (otherlv_8= RULE_ID ) ) 644 do {
667 // InternalProblem.g:252:10: (otherlv_8= RULE_ID ) 645 int alt5=2;
668 { 646 int LA5_0 = input.LA(1);
669 // InternalProblem.g:252:10: (otherlv_8= RULE_ID )
670 // InternalProblem.g:253:11: otherlv_8= RULE_ID
671 {
672 647
673 if (current==null) { 648 if ( (LA5_0==17) ) {
674 current = createModelElement(grammarAccess.getClassDeclarationRule()); 649 alt5=1;
675 } 650 }
676
677 otherlv_8=(Token)match(input,RULE_ID,FOLLOW_10);
678 651
679 newLeafNode(otherlv_8, grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_0_1_1_1_1_1_0());
680
681 652
682 } 653 switch (alt5) {
654 case 1 :
655 // InternalProblem.g:258:5: otherlv_5= ',' ( ( ruleQualifiedName ) )
656 {
657 otherlv_5=(Token)match(input,17,FOLLOW_8);
683 658
659 newLeafNode(otherlv_5, grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_2_0());
660
661 // InternalProblem.g:262:5: ( ( ruleQualifiedName ) )
662 // InternalProblem.g:263:6: ( ruleQualifiedName )
663 {
664 // InternalProblem.g:263:6: ( ruleQualifiedName )
665 // InternalProblem.g:264:7: ruleQualifiedName
666 {
684 667
685 } 668 if (current==null) {
669 current = createModelElement(grammarAccess.getClassDeclarationRule());
670 }
671
686 672
673 newCompositeNode(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_2_1_0());
674
675 pushFollow(FOLLOW_9);
676 ruleQualifiedName();
687 677
688 } 678 state._fsp--;
689 break;
690 679
691 default :
692 break loop4;
693 }
694 } while (true);
695 680
681 afterParserOrEnumRuleCall();
682
696 683
697 } 684 }
698 break;
699 685
700 }
701 686
702 otherlv_9=(Token)match(input,16,FOLLOW_8); 687 }
703 688
704 newLeafNode(otherlv_9, grammarAccess.getClassDeclarationAccess().getRightSquareBracketKeyword_3_0_1_1_2());
705
706 689
707 } 690 }
691 break;
708 692
693 default :
694 break loop5;
695 }
696 } while (true);
709 697
710 }
711 break;
712 698
713 } 699 }
700 break;
714 701
702 }
715 703
716 } 704 // InternalProblem.g:280:3: ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' )
705 int alt9=2;
706 int LA9_0 = input.LA(1);
717 707
708 if ( (LA9_0==18) ) {
709 alt9=1;
710 }
711 else if ( (LA9_0==13) ) {
712 alt9=2;
713 }
714 else {
715 NoViableAltException nvae =
716 new NoViableAltException("", 9, 0, input);
718 717
719 } 718 throw nvae;
720 break; 719 }
721 case 2 : 720 switch (alt9) {
722 // InternalProblem.g:274:4: ( (lv_referenceDeclarations_10_0= ruleReferenceDeclaration ) ) 721 case 1 :
723 { 722 // InternalProblem.g:281:4: (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' )
724 // InternalProblem.g:274:4: ( (lv_referenceDeclarations_10_0= ruleReferenceDeclaration ) )
725 // InternalProblem.g:275:5: (lv_referenceDeclarations_10_0= ruleReferenceDeclaration )
726 { 723 {
727 // InternalProblem.g:275:5: (lv_referenceDeclarations_10_0= ruleReferenceDeclaration ) 724 // InternalProblem.g:281:4: (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' )
728 // InternalProblem.g:276:6: lv_referenceDeclarations_10_0= ruleReferenceDeclaration 725 // InternalProblem.g:282:5: otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}'
729 { 726 {
727 otherlv_7=(Token)match(input,18,FOLLOW_10);
730 728
731 newCompositeNode(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_3_1_0()); 729 newLeafNode(otherlv_7, grammarAccess.getClassDeclarationAccess().getLeftCurlyBracketKeyword_4_0_0());
732 730
733 pushFollow(FOLLOW_8); 731 // InternalProblem.g:286:5: ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )*
734 lv_referenceDeclarations_10_0=ruleReferenceDeclaration(); 732 loop8:
733 do {
734 int alt8=2;
735 int LA8_0 = input.LA(1);
735 736
736 state._fsp--; 737 if ( ((LA8_0>=21 && LA8_0<=22)) ) {
738 alt8=1;
739 }
737 740
738 741
739 if (current==null) { 742 switch (alt8) {
740 current = createModelElementForParent(grammarAccess.getClassDeclarationRule()); 743 case 1 :
741 } 744 // InternalProblem.g:287:6: ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )?
742 add( 745 {
743 current, 746 // InternalProblem.g:287:6: ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) )
744 "referenceDeclarations", 747 // InternalProblem.g:288:7: (lv_referenceDeclarations_8_0= ruleReferenceDeclaration )
745 lv_referenceDeclarations_10_0, 748 {
746 "org.eclipse.viatra.solver.language.Problem.ReferenceDeclaration"); 749 // InternalProblem.g:288:7: (lv_referenceDeclarations_8_0= ruleReferenceDeclaration )
747 afterParserOrEnumRuleCall(); 750 // InternalProblem.g:289:8: lv_referenceDeclarations_8_0= ruleReferenceDeclaration
748 751 {
749 752
750 } 753 newCompositeNode(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_4_0_1_0_0());
754
755 pushFollow(FOLLOW_11);
756 lv_referenceDeclarations_8_0=ruleReferenceDeclaration();
751 757
758 state._fsp--;
752 759
753 }
754 760
761 if (current==null) {
762 current = createModelElementForParent(grammarAccess.getClassDeclarationRule());
763 }
764 add(
765 current,
766 "referenceDeclarations",
767 lv_referenceDeclarations_8_0,
768 "org.eclipse.viatra.solver.language.Problem.ReferenceDeclaration");
769 afterParserOrEnumRuleCall();
770
755 771
756 } 772 }
757 break;
758 773
759 }
760 774
761 // InternalProblem.g:294:3: (otherlv_11= ',' ( (lv_referenceDeclarations_12_0= ruleReferenceDeclaration ) ) )* 775 }
762 loop8:
763 do {
764 int alt8=2;
765 int LA8_0 = input.LA(1);
766 776
767 if ( (LA8_0==15) ) { 777 // InternalProblem.g:306:6: (otherlv_9= ';' )?
768 alt8=1; 778 int alt7=2;
769 } 779 int LA7_0 = input.LA(1);
770 780
781 if ( (LA7_0==19) ) {
782 alt7=1;
783 }
784 switch (alt7) {
785 case 1 :
786 // InternalProblem.g:307:7: otherlv_9= ';'
787 {
788 otherlv_9=(Token)match(input,19,FOLLOW_10);
771 789
772 switch (alt8) { 790 newLeafNode(otherlv_9, grammarAccess.getClassDeclarationAccess().getSemicolonKeyword_4_0_1_1());
773 case 1 : 791
774 // InternalProblem.g:295:4: otherlv_11= ',' ( (lv_referenceDeclarations_12_0= ruleReferenceDeclaration ) )
775 {
776 otherlv_11=(Token)match(input,15,FOLLOW_11);
777 792
778 newLeafNode(otherlv_11, grammarAccess.getClassDeclarationAccess().getCommaKeyword_4_0()); 793 }
779 794 break;
780 // InternalProblem.g:299:4: ( (lv_referenceDeclarations_12_0= ruleReferenceDeclaration ) )
781 // InternalProblem.g:300:5: (lv_referenceDeclarations_12_0= ruleReferenceDeclaration )
782 {
783 // InternalProblem.g:300:5: (lv_referenceDeclarations_12_0= ruleReferenceDeclaration )
784 // InternalProblem.g:301:6: lv_referenceDeclarations_12_0= ruleReferenceDeclaration
785 {
786 795
787 newCompositeNode(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_4_1_0()); 796 }
788
789 pushFollow(FOLLOW_8);
790 lv_referenceDeclarations_12_0=ruleReferenceDeclaration();
791 797
792 state._fsp--;
793 798
799 }
800 break;
794 801
795 if (current==null) { 802 default :
796 current = createModelElementForParent(grammarAccess.getClassDeclarationRule()); 803 break loop8;
797 } 804 }
798 add( 805 } while (true);
799 current,
800 "referenceDeclarations",
801 lv_referenceDeclarations_12_0,
802 "org.eclipse.viatra.solver.language.Problem.ReferenceDeclaration");
803 afterParserOrEnumRuleCall();
804
805 806
806 } 807 otherlv_10=(Token)match(input,20,FOLLOW_2);
807 808
809 newLeafNode(otherlv_10, grammarAccess.getClassDeclarationAccess().getRightCurlyBracketKeyword_4_0_2());
810
808 811
809 } 812 }
810 813
811 814
812 } 815 }
813 break; 816 break;
817 case 2 :
818 // InternalProblem.g:319:4: otherlv_11= '.'
819 {
820 otherlv_11=(Token)match(input,13,FOLLOW_2);
814 821
815 default : 822 newLeafNode(otherlv_11, grammarAccess.getClassDeclarationAccess().getFullStopKeyword_4_1());
816 break loop8; 823
817 }
818 } while (true);
819 824
820 otherlv_13=(Token)match(input,17,FOLLOW_2); 825 }
826 break;
827
828 }
821 829
822 newLeafNode(otherlv_13, grammarAccess.getClassDeclarationAccess().getFullStopKeyword_5());
823
824 830
825 } 831 }
826 832
@@ -844,7 +850,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
844 850
845 851
846 // $ANTLR start "entryRuleReferenceDeclaration" 852 // $ANTLR start "entryRuleReferenceDeclaration"
847 // InternalProblem.g:327:1: entryRuleReferenceDeclaration returns [EObject current=null] : iv_ruleReferenceDeclaration= ruleReferenceDeclaration EOF ; 853 // InternalProblem.g:328:1: entryRuleReferenceDeclaration returns [EObject current=null] : iv_ruleReferenceDeclaration= ruleReferenceDeclaration EOF ;
848 public final EObject entryRuleReferenceDeclaration() throws RecognitionException { 854 public final EObject entryRuleReferenceDeclaration() throws RecognitionException {
849 EObject current = null; 855 EObject current = null;
850 856
@@ -852,8 +858,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
852 858
853 859
854 try { 860 try {
855 // InternalProblem.g:327:61: (iv_ruleReferenceDeclaration= ruleReferenceDeclaration EOF ) 861 // InternalProblem.g:328:61: (iv_ruleReferenceDeclaration= ruleReferenceDeclaration EOF )
856 // InternalProblem.g:328:2: iv_ruleReferenceDeclaration= ruleReferenceDeclaration EOF 862 // InternalProblem.g:329:2: iv_ruleReferenceDeclaration= ruleReferenceDeclaration EOF
857 { 863 {
858 newCompositeNode(grammarAccess.getReferenceDeclarationRule()); 864 newCompositeNode(grammarAccess.getReferenceDeclarationRule());
859 pushFollow(FOLLOW_1); 865 pushFollow(FOLLOW_1);
@@ -880,13 +886,12 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
880 886
881 887
882 // $ANTLR start "ruleReferenceDeclaration" 888 // $ANTLR start "ruleReferenceDeclaration"
883 // InternalProblem.g:334:1: ruleReferenceDeclaration returns [EObject current=null] : ( ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' ) ( (otherlv_2= RULE_ID ) ) otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' ( (lv_name_6_0= RULE_ID ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? ) ; 889 // InternalProblem.g:335:1: ruleReferenceDeclaration returns [EObject current=null] : ( ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' ) ( ( ruleQualifiedName ) ) (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? ( (lv_name_6_0= RULE_ID ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? ) ;
884 public final EObject ruleReferenceDeclaration() throws RecognitionException { 890 public final EObject ruleReferenceDeclaration() throws RecognitionException {
885 EObject current = null; 891 EObject current = null;
886 892
887 Token lv_containment_0_0=null; 893 Token lv_containment_0_0=null;
888 Token otherlv_1=null; 894 Token otherlv_1=null;
889 Token otherlv_2=null;
890 Token otherlv_3=null; 895 Token otherlv_3=null;
891 Token otherlv_5=null; 896 Token otherlv_5=null;
892 Token lv_name_6_0=null; 897 Token lv_name_6_0=null;
@@ -898,39 +903,39 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
898 enterRule(); 903 enterRule();
899 904
900 try { 905 try {
901 // InternalProblem.g:340:2: ( ( ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' ) ( (otherlv_2= RULE_ID ) ) otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' ( (lv_name_6_0= RULE_ID ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? ) ) 906 // InternalProblem.g:341:2: ( ( ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' ) ( ( ruleQualifiedName ) ) (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? ( (lv_name_6_0= RULE_ID ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? ) )
902 // InternalProblem.g:341:2: ( ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' ) ( (otherlv_2= RULE_ID ) ) otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' ( (lv_name_6_0= RULE_ID ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? ) 907 // InternalProblem.g:342:2: ( ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' ) ( ( ruleQualifiedName ) ) (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? ( (lv_name_6_0= RULE_ID ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? )
903 { 908 {
904 // InternalProblem.g:341:2: ( ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' ) ( (otherlv_2= RULE_ID ) ) otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' ( (lv_name_6_0= RULE_ID ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? ) 909 // InternalProblem.g:342:2: ( ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' ) ( ( ruleQualifiedName ) ) (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? ( (lv_name_6_0= RULE_ID ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? )
905 // InternalProblem.g:342:3: ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' ) ( (otherlv_2= RULE_ID ) ) otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' ( (lv_name_6_0= RULE_ID ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? 910 // InternalProblem.g:343:3: ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' ) ( ( ruleQualifiedName ) ) (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? ( (lv_name_6_0= RULE_ID ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )?
906 { 911 {
907 // InternalProblem.g:342:3: ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' ) 912 // InternalProblem.g:343:3: ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' )
908 int alt9=2; 913 int alt10=2;
909 int LA9_0 = input.LA(1); 914 int LA10_0 = input.LA(1);
910 915
911 if ( (LA9_0==18) ) { 916 if ( (LA10_0==21) ) {
912 alt9=1; 917 alt10=1;
913 } 918 }
914 else if ( (LA9_0==19) ) { 919 else if ( (LA10_0==22) ) {
915 alt9=2; 920 alt10=2;
916 } 921 }
917 else { 922 else {
918 NoViableAltException nvae = 923 NoViableAltException nvae =
919 new NoViableAltException("", 9, 0, input); 924 new NoViableAltException("", 10, 0, input);
920 925
921 throw nvae; 926 throw nvae;
922 } 927 }
923 switch (alt9) { 928 switch (alt10) {
924 case 1 : 929 case 1 :
925 // InternalProblem.g:343:4: ( (lv_containment_0_0= 'contains' ) ) 930 // InternalProblem.g:344:4: ( (lv_containment_0_0= 'contains' ) )
926 { 931 {
927 // InternalProblem.g:343:4: ( (lv_containment_0_0= 'contains' ) ) 932 // InternalProblem.g:344:4: ( (lv_containment_0_0= 'contains' ) )
928 // InternalProblem.g:344:5: (lv_containment_0_0= 'contains' ) 933 // InternalProblem.g:345:5: (lv_containment_0_0= 'contains' )
929 { 934 {
930 // InternalProblem.g:344:5: (lv_containment_0_0= 'contains' ) 935 // InternalProblem.g:345:5: (lv_containment_0_0= 'contains' )
931 // InternalProblem.g:345:6: lv_containment_0_0= 'contains' 936 // InternalProblem.g:346:6: lv_containment_0_0= 'contains'
932 { 937 {
933 lv_containment_0_0=(Token)match(input,18,FOLLOW_5); 938 lv_containment_0_0=(Token)match(input,21,FOLLOW_8);
934 939
935 newLeafNode(lv_containment_0_0, grammarAccess.getReferenceDeclarationAccess().getContainmentContainsKeyword_0_0_0()); 940 newLeafNode(lv_containment_0_0, grammarAccess.getReferenceDeclarationAccess().getContainmentContainsKeyword_0_0_0());
936 941
@@ -950,9 +955,9 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
950 } 955 }
951 break; 956 break;
952 case 2 : 957 case 2 :
953 // InternalProblem.g:358:4: otherlv_1= 'refers' 958 // InternalProblem.g:359:4: otherlv_1= 'refers'
954 { 959 {
955 otherlv_1=(Token)match(input,19,FOLLOW_5); 960 otherlv_1=(Token)match(input,22,FOLLOW_8);
956 961
957 newLeafNode(otherlv_1, grammarAccess.getReferenceDeclarationAccess().getRefersKeyword_0_1()); 962 newLeafNode(otherlv_1, grammarAccess.getReferenceDeclarationAccess().getRefersKeyword_0_1());
958 963
@@ -962,20 +967,27 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
962 967
963 } 968 }
964 969
965 // InternalProblem.g:363:3: ( (otherlv_2= RULE_ID ) ) 970 // InternalProblem.g:364:3: ( ( ruleQualifiedName ) )
966 // InternalProblem.g:364:4: (otherlv_2= RULE_ID ) 971 // InternalProblem.g:365:4: ( ruleQualifiedName )
967 { 972 {
968 // InternalProblem.g:364:4: (otherlv_2= RULE_ID ) 973 // InternalProblem.g:365:4: ( ruleQualifiedName )
969 // InternalProblem.g:365:5: otherlv_2= RULE_ID 974 // InternalProblem.g:366:5: ruleQualifiedName
970 { 975 {
971 976
972 if (current==null) { 977 if (current==null) {
973 current = createModelElement(grammarAccess.getReferenceDeclarationRule()); 978 current = createModelElement(grammarAccess.getReferenceDeclarationRule());
974 } 979 }
975 980
976 otherlv_2=(Token)match(input,RULE_ID,FOLLOW_12);
977 981
978 newLeafNode(otherlv_2, grammarAccess.getReferenceDeclarationAccess().getReferenceTypeClassDeclarationCrossReference_1_0()); 982 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeClassDeclarationCrossReference_1_0());
983
984 pushFollow(FOLLOW_12);
985 ruleQualifiedName();
986
987 state._fsp--;
988
989
990 afterParserOrEnumRuleCall();
979 991
980 992
981 } 993 }
@@ -983,54 +995,71 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
983 995
984 } 996 }
985 997
986 otherlv_3=(Token)match(input,14,FOLLOW_13); 998 // InternalProblem.g:380:3: (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )?
999 int alt11=2;
1000 int LA11_0 = input.LA(1);
987 1001
988 newLeafNode(otherlv_3, grammarAccess.getReferenceDeclarationAccess().getLeftSquareBracketKeyword_2()); 1002 if ( (LA11_0==23) ) {
989 1003 alt11=1;
990 // InternalProblem.g:380:3: ( (lv_multiplicity_4_0= ruleMultiplicity ) ) 1004 }
991 // InternalProblem.g:381:4: (lv_multiplicity_4_0= ruleMultiplicity ) 1005 switch (alt11) {
992 { 1006 case 1 :
993 // InternalProblem.g:381:4: (lv_multiplicity_4_0= ruleMultiplicity ) 1007 // InternalProblem.g:381:4: otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']'
994 // InternalProblem.g:382:5: lv_multiplicity_4_0= ruleMultiplicity 1008 {
995 { 1009 otherlv_3=(Token)match(input,23,FOLLOW_13);
996 1010
997 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getMultiplicityMultiplicityParserRuleCall_3_0()); 1011 newLeafNode(otherlv_3, grammarAccess.getReferenceDeclarationAccess().getLeftSquareBracketKeyword_2_0());
998 1012
999 pushFollow(FOLLOW_14); 1013 // InternalProblem.g:385:4: ( (lv_multiplicity_4_0= ruleMultiplicity ) )
1000 lv_multiplicity_4_0=ruleMultiplicity(); 1014 // InternalProblem.g:386:5: (lv_multiplicity_4_0= ruleMultiplicity )
1015 {
1016 // InternalProblem.g:386:5: (lv_multiplicity_4_0= ruleMultiplicity )
1017 // InternalProblem.g:387:6: lv_multiplicity_4_0= ruleMultiplicity
1018 {
1001 1019
1002 state._fsp--; 1020 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getMultiplicityMultiplicityParserRuleCall_2_1_0());
1021
1022 pushFollow(FOLLOW_14);
1023 lv_multiplicity_4_0=ruleMultiplicity();
1003 1024
1025 state._fsp--;
1004 1026
1005 if (current==null) {
1006 current = createModelElementForParent(grammarAccess.getReferenceDeclarationRule());
1007 }
1008 set(
1009 current,
1010 "multiplicity",
1011 lv_multiplicity_4_0,
1012 "org.eclipse.viatra.solver.language.Problem.Multiplicity");
1013 afterParserOrEnumRuleCall();
1014
1015 1027
1016 } 1028 if (current==null) {
1029 current = createModelElementForParent(grammarAccess.getReferenceDeclarationRule());
1030 }
1031 set(
1032 current,
1033 "multiplicity",
1034 lv_multiplicity_4_0,
1035 "org.eclipse.viatra.solver.language.Problem.Multiplicity");
1036 afterParserOrEnumRuleCall();
1037
1017 1038
1039 }
1018 1040
1019 }
1020 1041
1021 otherlv_5=(Token)match(input,16,FOLLOW_5); 1042 }
1022 1043
1023 newLeafNode(otherlv_5, grammarAccess.getReferenceDeclarationAccess().getRightSquareBracketKeyword_4()); 1044 otherlv_5=(Token)match(input,24,FOLLOW_3);
1024 1045
1025 // InternalProblem.g:403:3: ( (lv_name_6_0= RULE_ID ) ) 1046 newLeafNode(otherlv_5, grammarAccess.getReferenceDeclarationAccess().getRightSquareBracketKeyword_2_2());
1026 // InternalProblem.g:404:4: (lv_name_6_0= RULE_ID ) 1047
1048
1049 }
1050 break;
1051
1052 }
1053
1054 // InternalProblem.g:409:3: ( (lv_name_6_0= RULE_ID ) )
1055 // InternalProblem.g:410:4: (lv_name_6_0= RULE_ID )
1027 { 1056 {
1028 // InternalProblem.g:404:4: (lv_name_6_0= RULE_ID ) 1057 // InternalProblem.g:410:4: (lv_name_6_0= RULE_ID )
1029 // InternalProblem.g:405:5: lv_name_6_0= RULE_ID 1058 // InternalProblem.g:411:5: lv_name_6_0= RULE_ID
1030 { 1059 {
1031 lv_name_6_0=(Token)match(input,RULE_ID,FOLLOW_15); 1060 lv_name_6_0=(Token)match(input,RULE_ID,FOLLOW_15);
1032 1061
1033 newLeafNode(lv_name_6_0, grammarAccess.getReferenceDeclarationAccess().getNameIDTerminalRuleCall_5_0()); 1062 newLeafNode(lv_name_6_0, grammarAccess.getReferenceDeclarationAccess().getNameIDTerminalRuleCall_3_0());
1034 1063
1035 1064
1036 if (current==null) { 1065 if (current==null) {
@@ -1048,26 +1077,26 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1048 1077
1049 } 1078 }
1050 1079
1051 // InternalProblem.g:421:3: (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? 1080 // InternalProblem.g:427:3: (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )?
1052 int alt10=2; 1081 int alt12=2;
1053 int LA10_0 = input.LA(1); 1082 int LA12_0 = input.LA(1);
1054 1083
1055 if ( (LA10_0==20) ) { 1084 if ( (LA12_0==25) ) {
1056 alt10=1; 1085 alt12=1;
1057 } 1086 }
1058 switch (alt10) { 1087 switch (alt12) {
1059 case 1 : 1088 case 1 :
1060 // InternalProblem.g:422:4: otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) 1089 // InternalProblem.g:428:4: otherlv_7= 'opposite' ( ( ruleQualifiedName ) )
1061 { 1090 {
1062 otherlv_7=(Token)match(input,20,FOLLOW_5); 1091 otherlv_7=(Token)match(input,25,FOLLOW_8);
1063 1092
1064 newLeafNode(otherlv_7, grammarAccess.getReferenceDeclarationAccess().getOppositeKeyword_6_0()); 1093 newLeafNode(otherlv_7, grammarAccess.getReferenceDeclarationAccess().getOppositeKeyword_4_0());
1065 1094
1066 // InternalProblem.g:426:4: ( ( ruleQualifiedName ) ) 1095 // InternalProblem.g:432:4: ( ( ruleQualifiedName ) )
1067 // InternalProblem.g:427:5: ( ruleQualifiedName ) 1096 // InternalProblem.g:433:5: ( ruleQualifiedName )
1068 { 1097 {
1069 // InternalProblem.g:427:5: ( ruleQualifiedName ) 1098 // InternalProblem.g:433:5: ( ruleQualifiedName )
1070 // InternalProblem.g:428:6: ruleQualifiedName 1099 // InternalProblem.g:434:6: ruleQualifiedName
1071 { 1100 {
1072 1101
1073 if (current==null) { 1102 if (current==null) {
@@ -1075,7 +1104,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1075 } 1104 }
1076 1105
1077 1106
1078 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationCrossReference_6_1_0()); 1107 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationCrossReference_4_1_0());
1079 1108
1080 pushFollow(FOLLOW_2); 1109 pushFollow(FOLLOW_2);
1081 ruleQualifiedName(); 1110 ruleQualifiedName();
@@ -1120,7 +1149,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1120 1149
1121 1150
1122 // $ANTLR start "entryRulePredicateDefinition" 1151 // $ANTLR start "entryRulePredicateDefinition"
1123 // InternalProblem.g:447:1: entryRulePredicateDefinition returns [EObject current=null] : iv_rulePredicateDefinition= rulePredicateDefinition EOF ; 1152 // InternalProblem.g:453:1: entryRulePredicateDefinition returns [EObject current=null] : iv_rulePredicateDefinition= rulePredicateDefinition EOF ;
1124 public final EObject entryRulePredicateDefinition() throws RecognitionException { 1153 public final EObject entryRulePredicateDefinition() throws RecognitionException {
1125 EObject current = null; 1154 EObject current = null;
1126 1155
@@ -1128,8 +1157,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1128 1157
1129 1158
1130 try { 1159 try {
1131 // InternalProblem.g:447:60: (iv_rulePredicateDefinition= rulePredicateDefinition EOF ) 1160 // InternalProblem.g:453:60: (iv_rulePredicateDefinition= rulePredicateDefinition EOF )
1132 // InternalProblem.g:448:2: iv_rulePredicateDefinition= rulePredicateDefinition EOF 1161 // InternalProblem.g:454:2: iv_rulePredicateDefinition= rulePredicateDefinition EOF
1133 { 1162 {
1134 newCompositeNode(grammarAccess.getPredicateDefinitionRule()); 1163 newCompositeNode(grammarAccess.getPredicateDefinitionRule());
1135 pushFollow(FOLLOW_1); 1164 pushFollow(FOLLOW_1);
@@ -1156,7 +1185,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1156 1185
1157 1186
1158 // $ANTLR start "rulePredicateDefinition" 1187 // $ANTLR start "rulePredicateDefinition"
1159 // InternalProblem.g:454:1: rulePredicateDefinition returns [EObject current=null] : ( ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= RULE_ID ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? otherlv_8= ')' (otherlv_9= ':=' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? otherlv_13= '.' ) ; 1188 // InternalProblem.g:460:1: rulePredicateDefinition returns [EObject current=null] : ( ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= RULE_ID ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? otherlv_8= ')' (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? otherlv_13= '.' ) ;
1160 public final EObject rulePredicateDefinition() throws RecognitionException { 1189 public final EObject rulePredicateDefinition() throws RecognitionException {
1161 EObject current = null; 1190 EObject current = null;
1162 1191
@@ -1183,42 +1212,42 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1183 enterRule(); 1212 enterRule();
1184 1213
1185 try { 1214 try {
1186 // InternalProblem.g:460:2: ( ( ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= RULE_ID ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? otherlv_8= ')' (otherlv_9= ':=' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? otherlv_13= '.' ) ) 1215 // InternalProblem.g:466:2: ( ( ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= RULE_ID ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? otherlv_8= ')' (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? otherlv_13= '.' ) )
1187 // InternalProblem.g:461:2: ( ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= RULE_ID ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? otherlv_8= ')' (otherlv_9= ':=' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? otherlv_13= '.' ) 1216 // InternalProblem.g:467:2: ( ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= RULE_ID ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? otherlv_8= ')' (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? otherlv_13= '.' )
1188 { 1217 {
1189 // InternalProblem.g:461:2: ( ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= RULE_ID ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? otherlv_8= ')' (otherlv_9= ':=' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? otherlv_13= '.' ) 1218 // InternalProblem.g:467:2: ( ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= RULE_ID ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? otherlv_8= ')' (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? otherlv_13= '.' )
1190 // InternalProblem.g:462:3: ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= RULE_ID ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? otherlv_8= ')' (otherlv_9= ':=' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? otherlv_13= '.' 1219 // InternalProblem.g:468:3: ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= RULE_ID ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? otherlv_8= ')' (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? otherlv_13= '.'
1191 { 1220 {
1192 // InternalProblem.g:462:3: ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) 1221 // InternalProblem.g:468:3: ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' )
1193 int alt12=2; 1222 int alt14=2;
1194 int LA12_0 = input.LA(1); 1223 int LA14_0 = input.LA(1);
1195 1224
1196 if ( (LA12_0==21) ) { 1225 if ( (LA14_0==26) ) {
1197 alt12=1; 1226 alt14=1;
1198 } 1227 }
1199 else if ( (LA12_0==22) ) { 1228 else if ( (LA14_0==27) ) {
1200 alt12=2; 1229 alt14=2;
1201 } 1230 }
1202 else { 1231 else {
1203 NoViableAltException nvae = 1232 NoViableAltException nvae =
1204 new NoViableAltException("", 12, 0, input); 1233 new NoViableAltException("", 14, 0, input);
1205 1234
1206 throw nvae; 1235 throw nvae;
1207 } 1236 }
1208 switch (alt12) { 1237 switch (alt14) {
1209 case 1 : 1238 case 1 :
1210 // InternalProblem.g:463:4: ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) 1239 // InternalProblem.g:469:4: ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? )
1211 { 1240 {
1212 // InternalProblem.g:463:4: ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) 1241 // InternalProblem.g:469:4: ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? )
1213 // InternalProblem.g:464:5: ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? 1242 // InternalProblem.g:470:5: ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )?
1214 { 1243 {
1215 // InternalProblem.g:464:5: ( (lv_error_0_0= 'error' ) ) 1244 // InternalProblem.g:470:5: ( (lv_error_0_0= 'error' ) )
1216 // InternalProblem.g:465:6: (lv_error_0_0= 'error' ) 1245 // InternalProblem.g:471:6: (lv_error_0_0= 'error' )
1217 { 1246 {
1218 // InternalProblem.g:465:6: (lv_error_0_0= 'error' ) 1247 // InternalProblem.g:471:6: (lv_error_0_0= 'error' )
1219 // InternalProblem.g:466:7: lv_error_0_0= 'error' 1248 // InternalProblem.g:472:7: lv_error_0_0= 'error'
1220 { 1249 {
1221 lv_error_0_0=(Token)match(input,21,FOLLOW_16); 1250 lv_error_0_0=(Token)match(input,26,FOLLOW_16);
1222 1251
1223 newLeafNode(lv_error_0_0, grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_0_0()); 1252 newLeafNode(lv_error_0_0, grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_0_0());
1224 1253
@@ -1234,18 +1263,18 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1234 1263
1235 } 1264 }
1236 1265
1237 // InternalProblem.g:478:5: (otherlv_1= 'pred' )? 1266 // InternalProblem.g:484:5: (otherlv_1= 'pred' )?
1238 int alt11=2; 1267 int alt13=2;
1239 int LA11_0 = input.LA(1); 1268 int LA13_0 = input.LA(1);
1240 1269
1241 if ( (LA11_0==22) ) { 1270 if ( (LA13_0==27) ) {
1242 alt11=1; 1271 alt13=1;
1243 } 1272 }
1244 switch (alt11) { 1273 switch (alt13) {
1245 case 1 : 1274 case 1 :
1246 // InternalProblem.g:479:6: otherlv_1= 'pred' 1275 // InternalProblem.g:485:6: otherlv_1= 'pred'
1247 { 1276 {
1248 otherlv_1=(Token)match(input,22,FOLLOW_5); 1277 otherlv_1=(Token)match(input,27,FOLLOW_3);
1249 1278
1250 newLeafNode(otherlv_1, grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_0_1()); 1279 newLeafNode(otherlv_1, grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_0_1());
1251 1280
@@ -1262,9 +1291,9 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1262 } 1291 }
1263 break; 1292 break;
1264 case 2 : 1293 case 2 :
1265 // InternalProblem.g:486:4: otherlv_2= 'pred' 1294 // InternalProblem.g:492:4: otherlv_2= 'pred'
1266 { 1295 {
1267 otherlv_2=(Token)match(input,22,FOLLOW_5); 1296 otherlv_2=(Token)match(input,27,FOLLOW_3);
1268 1297
1269 newLeafNode(otherlv_2, grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_1()); 1298 newLeafNode(otherlv_2, grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_1());
1270 1299
@@ -1274,11 +1303,11 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1274 1303
1275 } 1304 }
1276 1305
1277 // InternalProblem.g:491:3: ( (lv_name_3_0= RULE_ID ) ) 1306 // InternalProblem.g:497:3: ( (lv_name_3_0= RULE_ID ) )
1278 // InternalProblem.g:492:4: (lv_name_3_0= RULE_ID ) 1307 // InternalProblem.g:498:4: (lv_name_3_0= RULE_ID )
1279 { 1308 {
1280 // InternalProblem.g:492:4: (lv_name_3_0= RULE_ID ) 1309 // InternalProblem.g:498:4: (lv_name_3_0= RULE_ID )
1281 // InternalProblem.g:493:5: lv_name_3_0= RULE_ID 1310 // InternalProblem.g:499:5: lv_name_3_0= RULE_ID
1282 { 1311 {
1283 lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_17); 1312 lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_17);
1284 1313
@@ -1300,26 +1329,26 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1300 1329
1301 } 1330 }
1302 1331
1303 otherlv_4=(Token)match(input,23,FOLLOW_18); 1332 otherlv_4=(Token)match(input,28,FOLLOW_18);
1304 1333
1305 newLeafNode(otherlv_4, grammarAccess.getPredicateDefinitionAccess().getLeftParenthesisKeyword_2()); 1334 newLeafNode(otherlv_4, grammarAccess.getPredicateDefinitionAccess().getLeftParenthesisKeyword_2());
1306 1335
1307 // InternalProblem.g:513:3: ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? 1336 // InternalProblem.g:519:3: ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )?
1308 int alt14=2; 1337 int alt16=2;
1309 int LA14_0 = input.LA(1); 1338 int LA16_0 = input.LA(1);
1310 1339
1311 if ( (LA14_0==RULE_ID) ) { 1340 if ( (LA16_0==RULE_ID) ) {
1312 alt14=1; 1341 alt16=1;
1313 } 1342 }
1314 switch (alt14) { 1343 switch (alt16) {
1315 case 1 : 1344 case 1 :
1316 // InternalProblem.g:514:4: ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* 1345 // InternalProblem.g:520:4: ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )*
1317 { 1346 {
1318 // InternalProblem.g:514:4: ( (lv_parameters_5_0= ruleParameter ) ) 1347 // InternalProblem.g:520:4: ( (lv_parameters_5_0= ruleParameter ) )
1319 // InternalProblem.g:515:5: (lv_parameters_5_0= ruleParameter ) 1348 // InternalProblem.g:521:5: (lv_parameters_5_0= ruleParameter )
1320 { 1349 {
1321 // InternalProblem.g:515:5: (lv_parameters_5_0= ruleParameter ) 1350 // InternalProblem.g:521:5: (lv_parameters_5_0= ruleParameter )
1322 // InternalProblem.g:516:6: lv_parameters_5_0= ruleParameter 1351 // InternalProblem.g:522:6: lv_parameters_5_0= ruleParameter
1323 { 1352 {
1324 1353
1325 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_0_0()); 1354 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_0_0());
@@ -1346,30 +1375,30 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1346 1375
1347 } 1376 }
1348 1377
1349 // InternalProblem.g:533:4: (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* 1378 // InternalProblem.g:539:4: (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )*
1350 loop13: 1379 loop15:
1351 do { 1380 do {
1352 int alt13=2; 1381 int alt15=2;
1353 int LA13_0 = input.LA(1); 1382 int LA15_0 = input.LA(1);
1354 1383
1355 if ( (LA13_0==15) ) { 1384 if ( (LA15_0==17) ) {
1356 alt13=1; 1385 alt15=1;
1357 } 1386 }
1358 1387
1359 1388
1360 switch (alt13) { 1389 switch (alt15) {
1361 case 1 : 1390 case 1 :
1362 // InternalProblem.g:534:5: otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) 1391 // InternalProblem.g:540:5: otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) )
1363 { 1392 {
1364 otherlv_6=(Token)match(input,15,FOLLOW_5); 1393 otherlv_6=(Token)match(input,17,FOLLOW_3);
1365 1394
1366 newLeafNode(otherlv_6, grammarAccess.getPredicateDefinitionAccess().getCommaKeyword_3_1_0()); 1395 newLeafNode(otherlv_6, grammarAccess.getPredicateDefinitionAccess().getCommaKeyword_3_1_0());
1367 1396
1368 // InternalProblem.g:538:5: ( (lv_parameters_7_0= ruleParameter ) ) 1397 // InternalProblem.g:544:5: ( (lv_parameters_7_0= ruleParameter ) )
1369 // InternalProblem.g:539:6: (lv_parameters_7_0= ruleParameter ) 1398 // InternalProblem.g:545:6: (lv_parameters_7_0= ruleParameter )
1370 { 1399 {
1371 // InternalProblem.g:539:6: (lv_parameters_7_0= ruleParameter ) 1400 // InternalProblem.g:545:6: (lv_parameters_7_0= ruleParameter )
1372 // InternalProblem.g:540:7: lv_parameters_7_0= ruleParameter 1401 // InternalProblem.g:546:7: lv_parameters_7_0= ruleParameter
1373 { 1402 {
1374 1403
1375 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_1_1_0()); 1404 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_1_1_0());
@@ -1401,7 +1430,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1401 break; 1430 break;
1402 1431
1403 default : 1432 default :
1404 break loop13; 1433 break loop15;
1405 } 1434 }
1406 } while (true); 1435 } while (true);
1407 1436
@@ -1411,30 +1440,30 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1411 1440
1412 } 1441 }
1413 1442
1414 otherlv_8=(Token)match(input,24,FOLLOW_20); 1443 otherlv_8=(Token)match(input,29,FOLLOW_20);
1415 1444
1416 newLeafNode(otherlv_8, grammarAccess.getPredicateDefinitionAccess().getRightParenthesisKeyword_4()); 1445 newLeafNode(otherlv_8, grammarAccess.getPredicateDefinitionAccess().getRightParenthesisKeyword_4());
1417 1446
1418 // InternalProblem.g:563:3: (otherlv_9= ':=' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? 1447 // InternalProblem.g:569:3: (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )?
1419 int alt16=2; 1448 int alt18=2;
1420 int LA16_0 = input.LA(1); 1449 int LA18_0 = input.LA(1);
1421 1450
1422 if ( (LA16_0==25) ) { 1451 if ( (LA18_0==30) ) {
1423 alt16=1; 1452 alt18=1;
1424 } 1453 }
1425 switch (alt16) { 1454 switch (alt18) {
1426 case 1 : 1455 case 1 :
1427 // InternalProblem.g:564:4: otherlv_9= ':=' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* 1456 // InternalProblem.g:570:4: otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )*
1428 { 1457 {
1429 otherlv_9=(Token)match(input,25,FOLLOW_21); 1458 otherlv_9=(Token)match(input,30,FOLLOW_21);
1430 1459
1431 newLeafNode(otherlv_9, grammarAccess.getPredicateDefinitionAccess().getColonEqualsSignKeyword_5_0()); 1460 newLeafNode(otherlv_9, grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_5_0());
1432 1461
1433 // InternalProblem.g:568:4: ( (lv_bodies_10_0= ruleConjunction ) ) 1462 // InternalProblem.g:574:4: ( (lv_bodies_10_0= ruleConjunction ) )
1434 // InternalProblem.g:569:5: (lv_bodies_10_0= ruleConjunction ) 1463 // InternalProblem.g:575:5: (lv_bodies_10_0= ruleConjunction )
1435 { 1464 {
1436 // InternalProblem.g:569:5: (lv_bodies_10_0= ruleConjunction ) 1465 // InternalProblem.g:575:5: (lv_bodies_10_0= ruleConjunction )
1437 // InternalProblem.g:570:6: lv_bodies_10_0= ruleConjunction 1466 // InternalProblem.g:576:6: lv_bodies_10_0= ruleConjunction
1438 { 1467 {
1439 1468
1440 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_1_0()); 1469 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_1_0());
@@ -1461,30 +1490,30 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1461 1490
1462 } 1491 }
1463 1492
1464 // InternalProblem.g:587:4: (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* 1493 // InternalProblem.g:593:4: (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )*
1465 loop15: 1494 loop17:
1466 do { 1495 do {
1467 int alt15=2; 1496 int alt17=2;
1468 int LA15_0 = input.LA(1); 1497 int LA17_0 = input.LA(1);
1469 1498
1470 if ( (LA15_0==26) ) { 1499 if ( (LA17_0==19) ) {
1471 alt15=1; 1500 alt17=1;
1472 } 1501 }
1473 1502
1474 1503
1475 switch (alt15) { 1504 switch (alt17) {
1476 case 1 : 1505 case 1 :
1477 // InternalProblem.g:588:5: otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) 1506 // InternalProblem.g:594:5: otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) )
1478 { 1507 {
1479 otherlv_11=(Token)match(input,26,FOLLOW_21); 1508 otherlv_11=(Token)match(input,19,FOLLOW_21);
1480 1509
1481 newLeafNode(otherlv_11, grammarAccess.getPredicateDefinitionAccess().getSemicolonKeyword_5_2_0()); 1510 newLeafNode(otherlv_11, grammarAccess.getPredicateDefinitionAccess().getSemicolonKeyword_5_2_0());
1482 1511
1483 // InternalProblem.g:592:5: ( (lv_bodies_12_0= ruleConjunction ) ) 1512 // InternalProblem.g:598:5: ( (lv_bodies_12_0= ruleConjunction ) )
1484 // InternalProblem.g:593:6: (lv_bodies_12_0= ruleConjunction ) 1513 // InternalProblem.g:599:6: (lv_bodies_12_0= ruleConjunction )
1485 { 1514 {
1486 // InternalProblem.g:593:6: (lv_bodies_12_0= ruleConjunction ) 1515 // InternalProblem.g:599:6: (lv_bodies_12_0= ruleConjunction )
1487 // InternalProblem.g:594:7: lv_bodies_12_0= ruleConjunction 1516 // InternalProblem.g:600:7: lv_bodies_12_0= ruleConjunction
1488 { 1517 {
1489 1518
1490 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_2_1_0()); 1519 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_2_1_0());
@@ -1516,7 +1545,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1516 break; 1545 break;
1517 1546
1518 default : 1547 default :
1519 break loop15; 1548 break loop17;
1520 } 1549 }
1521 } while (true); 1550 } while (true);
1522 1551
@@ -1526,7 +1555,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1526 1555
1527 } 1556 }
1528 1557
1529 otherlv_13=(Token)match(input,17,FOLLOW_2); 1558 otherlv_13=(Token)match(input,13,FOLLOW_2);
1530 1559
1531 newLeafNode(otherlv_13, grammarAccess.getPredicateDefinitionAccess().getFullStopKeyword_6()); 1560 newLeafNode(otherlv_13, grammarAccess.getPredicateDefinitionAccess().getFullStopKeyword_6());
1532 1561
@@ -1553,7 +1582,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1553 1582
1554 1583
1555 // $ANTLR start "entryRuleParameter" 1584 // $ANTLR start "entryRuleParameter"
1556 // InternalProblem.g:621:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ; 1585 // InternalProblem.g:627:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ;
1557 public final EObject entryRuleParameter() throws RecognitionException { 1586 public final EObject entryRuleParameter() throws RecognitionException {
1558 EObject current = null; 1587 EObject current = null;
1559 1588
@@ -1561,8 +1590,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1561 1590
1562 1591
1563 try { 1592 try {
1564 // InternalProblem.g:621:50: (iv_ruleParameter= ruleParameter EOF ) 1593 // InternalProblem.g:627:50: (iv_ruleParameter= ruleParameter EOF )
1565 // InternalProblem.g:622:2: iv_ruleParameter= ruleParameter EOF 1594 // InternalProblem.g:628:2: iv_ruleParameter= ruleParameter EOF
1566 { 1595 {
1567 newCompositeNode(grammarAccess.getParameterRule()); 1596 newCompositeNode(grammarAccess.getParameterRule());
1568 pushFollow(FOLLOW_1); 1597 pushFollow(FOLLOW_1);
@@ -1589,7 +1618,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1589 1618
1590 1619
1591 // $ANTLR start "ruleParameter" 1620 // $ANTLR start "ruleParameter"
1592 // InternalProblem.g:628:1: ruleParameter returns [EObject current=null] : ( ( (otherlv_0= RULE_ID ) ) ( (lv_name_1_0= RULE_ID ) ) ) ; 1621 // InternalProblem.g:634:1: ruleParameter returns [EObject current=null] : ( ( (otherlv_0= RULE_ID ) ) ( (lv_name_1_0= RULE_ID ) ) ) ;
1593 public final EObject ruleParameter() throws RecognitionException { 1622 public final EObject ruleParameter() throws RecognitionException {
1594 EObject current = null; 1623 EObject current = null;
1595 1624
@@ -1600,24 +1629,24 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1600 enterRule(); 1629 enterRule();
1601 1630
1602 try { 1631 try {
1603 // InternalProblem.g:634:2: ( ( ( (otherlv_0= RULE_ID ) ) ( (lv_name_1_0= RULE_ID ) ) ) ) 1632 // InternalProblem.g:640:2: ( ( ( (otherlv_0= RULE_ID ) ) ( (lv_name_1_0= RULE_ID ) ) ) )
1604 // InternalProblem.g:635:2: ( ( (otherlv_0= RULE_ID ) ) ( (lv_name_1_0= RULE_ID ) ) ) 1633 // InternalProblem.g:641:2: ( ( (otherlv_0= RULE_ID ) ) ( (lv_name_1_0= RULE_ID ) ) )
1605 { 1634 {
1606 // InternalProblem.g:635:2: ( ( (otherlv_0= RULE_ID ) ) ( (lv_name_1_0= RULE_ID ) ) ) 1635 // InternalProblem.g:641:2: ( ( (otherlv_0= RULE_ID ) ) ( (lv_name_1_0= RULE_ID ) ) )
1607 // InternalProblem.g:636:3: ( (otherlv_0= RULE_ID ) ) ( (lv_name_1_0= RULE_ID ) ) 1636 // InternalProblem.g:642:3: ( (otherlv_0= RULE_ID ) ) ( (lv_name_1_0= RULE_ID ) )
1608 { 1637 {
1609 // InternalProblem.g:636:3: ( (otherlv_0= RULE_ID ) ) 1638 // InternalProblem.g:642:3: ( (otherlv_0= RULE_ID ) )
1610 // InternalProblem.g:637:4: (otherlv_0= RULE_ID ) 1639 // InternalProblem.g:643:4: (otherlv_0= RULE_ID )
1611 { 1640 {
1612 // InternalProblem.g:637:4: (otherlv_0= RULE_ID ) 1641 // InternalProblem.g:643:4: (otherlv_0= RULE_ID )
1613 // InternalProblem.g:638:5: otherlv_0= RULE_ID 1642 // InternalProblem.g:644:5: otherlv_0= RULE_ID
1614 { 1643 {
1615 1644
1616 if (current==null) { 1645 if (current==null) {
1617 current = createModelElement(grammarAccess.getParameterRule()); 1646 current = createModelElement(grammarAccess.getParameterRule());
1618 } 1647 }
1619 1648
1620 otherlv_0=(Token)match(input,RULE_ID,FOLLOW_5); 1649 otherlv_0=(Token)match(input,RULE_ID,FOLLOW_3);
1621 1650
1622 newLeafNode(otherlv_0, grammarAccess.getParameterAccess().getParameterTypeClassDeclarationCrossReference_0_0()); 1651 newLeafNode(otherlv_0, grammarAccess.getParameterAccess().getParameterTypeClassDeclarationCrossReference_0_0());
1623 1652
@@ -1627,11 +1656,11 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1627 1656
1628 } 1657 }
1629 1658
1630 // InternalProblem.g:649:3: ( (lv_name_1_0= RULE_ID ) ) 1659 // InternalProblem.g:655:3: ( (lv_name_1_0= RULE_ID ) )
1631 // InternalProblem.g:650:4: (lv_name_1_0= RULE_ID ) 1660 // InternalProblem.g:656:4: (lv_name_1_0= RULE_ID )
1632 { 1661 {
1633 // InternalProblem.g:650:4: (lv_name_1_0= RULE_ID ) 1662 // InternalProblem.g:656:4: (lv_name_1_0= RULE_ID )
1634 // InternalProblem.g:651:5: lv_name_1_0= RULE_ID 1663 // InternalProblem.g:657:5: lv_name_1_0= RULE_ID
1635 { 1664 {
1636 lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_2); 1665 lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_2);
1637 1666
@@ -1676,7 +1705,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1676 1705
1677 1706
1678 // $ANTLR start "entryRuleConjunction" 1707 // $ANTLR start "entryRuleConjunction"
1679 // InternalProblem.g:671:1: entryRuleConjunction returns [EObject current=null] : iv_ruleConjunction= ruleConjunction EOF ; 1708 // InternalProblem.g:677:1: entryRuleConjunction returns [EObject current=null] : iv_ruleConjunction= ruleConjunction EOF ;
1680 public final EObject entryRuleConjunction() throws RecognitionException { 1709 public final EObject entryRuleConjunction() throws RecognitionException {
1681 EObject current = null; 1710 EObject current = null;
1682 1711
@@ -1684,8 +1713,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1684 1713
1685 1714
1686 try { 1715 try {
1687 // InternalProblem.g:671:52: (iv_ruleConjunction= ruleConjunction EOF ) 1716 // InternalProblem.g:677:52: (iv_ruleConjunction= ruleConjunction EOF )
1688 // InternalProblem.g:672:2: iv_ruleConjunction= ruleConjunction EOF 1717 // InternalProblem.g:678:2: iv_ruleConjunction= ruleConjunction EOF
1689 { 1718 {
1690 newCompositeNode(grammarAccess.getConjunctionRule()); 1719 newCompositeNode(grammarAccess.getConjunctionRule());
1691 pushFollow(FOLLOW_1); 1720 pushFollow(FOLLOW_1);
@@ -1712,7 +1741,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1712 1741
1713 1742
1714 // $ANTLR start "ruleConjunction" 1743 // $ANTLR start "ruleConjunction"
1715 // InternalProblem.g:678:1: ruleConjunction returns [EObject current=null] : ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* ) ; 1744 // InternalProblem.g:684:1: ruleConjunction returns [EObject current=null] : ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* ) ;
1716 public final EObject ruleConjunction() throws RecognitionException { 1745 public final EObject ruleConjunction() throws RecognitionException {
1717 EObject current = null; 1746 EObject current = null;
1718 1747
@@ -1726,17 +1755,17 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1726 enterRule(); 1755 enterRule();
1727 1756
1728 try { 1757 try {
1729 // InternalProblem.g:684:2: ( ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* ) ) 1758 // InternalProblem.g:690:2: ( ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* ) )
1730 // InternalProblem.g:685:2: ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* ) 1759 // InternalProblem.g:691:2: ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* )
1731 { 1760 {
1732 // InternalProblem.g:685:2: ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* ) 1761 // InternalProblem.g:691:2: ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* )
1733 // InternalProblem.g:686:3: ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* 1762 // InternalProblem.g:692:3: ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )*
1734 { 1763 {
1735 // InternalProblem.g:686:3: ( (lv_literals_0_0= ruleLiteral ) ) 1764 // InternalProblem.g:692:3: ( (lv_literals_0_0= ruleLiteral ) )
1736 // InternalProblem.g:687:4: (lv_literals_0_0= ruleLiteral ) 1765 // InternalProblem.g:693:4: (lv_literals_0_0= ruleLiteral )
1737 { 1766 {
1738 // InternalProblem.g:687:4: (lv_literals_0_0= ruleLiteral ) 1767 // InternalProblem.g:693:4: (lv_literals_0_0= ruleLiteral )
1739 // InternalProblem.g:688:5: lv_literals_0_0= ruleLiteral 1768 // InternalProblem.g:694:5: lv_literals_0_0= ruleLiteral
1740 { 1769 {
1741 1770
1742 newCompositeNode(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_0_0()); 1771 newCompositeNode(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_0_0());
@@ -1763,30 +1792,30 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1763 1792
1764 } 1793 }
1765 1794
1766 // InternalProblem.g:705:3: (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* 1795 // InternalProblem.g:711:3: (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )*
1767 loop17: 1796 loop19:
1768 do { 1797 do {
1769 int alt17=2; 1798 int alt19=2;
1770 int LA17_0 = input.LA(1); 1799 int LA19_0 = input.LA(1);
1771 1800
1772 if ( (LA17_0==15) ) { 1801 if ( (LA19_0==17) ) {
1773 alt17=1; 1802 alt19=1;
1774 } 1803 }
1775 1804
1776 1805
1777 switch (alt17) { 1806 switch (alt19) {
1778 case 1 : 1807 case 1 :
1779 // InternalProblem.g:706:4: otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) 1808 // InternalProblem.g:712:4: otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) )
1780 { 1809 {
1781 otherlv_1=(Token)match(input,15,FOLLOW_21); 1810 otherlv_1=(Token)match(input,17,FOLLOW_21);
1782 1811
1783 newLeafNode(otherlv_1, grammarAccess.getConjunctionAccess().getCommaKeyword_1_0()); 1812 newLeafNode(otherlv_1, grammarAccess.getConjunctionAccess().getCommaKeyword_1_0());
1784 1813
1785 // InternalProblem.g:710:4: ( (lv_literals_2_0= ruleLiteral ) ) 1814 // InternalProblem.g:716:4: ( (lv_literals_2_0= ruleLiteral ) )
1786 // InternalProblem.g:711:5: (lv_literals_2_0= ruleLiteral ) 1815 // InternalProblem.g:717:5: (lv_literals_2_0= ruleLiteral )
1787 { 1816 {
1788 // InternalProblem.g:711:5: (lv_literals_2_0= ruleLiteral ) 1817 // InternalProblem.g:717:5: (lv_literals_2_0= ruleLiteral )
1789 // InternalProblem.g:712:6: lv_literals_2_0= ruleLiteral 1818 // InternalProblem.g:718:6: lv_literals_2_0= ruleLiteral
1790 { 1819 {
1791 1820
1792 newCompositeNode(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_1_1_0()); 1821 newCompositeNode(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_1_1_0());
@@ -1818,7 +1847,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1818 break; 1847 break;
1819 1848
1820 default : 1849 default :
1821 break loop17; 1850 break loop19;
1822 } 1851 }
1823 } while (true); 1852 } while (true);
1824 1853
@@ -1845,7 +1874,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1845 1874
1846 1875
1847 // $ANTLR start "entryRuleLiteral" 1876 // $ANTLR start "entryRuleLiteral"
1848 // InternalProblem.g:734:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ; 1877 // InternalProblem.g:740:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ;
1849 public final EObject entryRuleLiteral() throws RecognitionException { 1878 public final EObject entryRuleLiteral() throws RecognitionException {
1850 EObject current = null; 1879 EObject current = null;
1851 1880
@@ -1853,8 +1882,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1853 1882
1854 1883
1855 try { 1884 try {
1856 // InternalProblem.g:734:48: (iv_ruleLiteral= ruleLiteral EOF ) 1885 // InternalProblem.g:740:48: (iv_ruleLiteral= ruleLiteral EOF )
1857 // InternalProblem.g:735:2: iv_ruleLiteral= ruleLiteral EOF 1886 // InternalProblem.g:741:2: iv_ruleLiteral= ruleLiteral EOF
1858 { 1887 {
1859 newCompositeNode(grammarAccess.getLiteralRule()); 1888 newCompositeNode(grammarAccess.getLiteralRule());
1860 pushFollow(FOLLOW_1); 1889 pushFollow(FOLLOW_1);
@@ -1881,7 +1910,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1881 1910
1882 1911
1883 // $ANTLR start "ruleLiteral" 1912 // $ANTLR start "ruleLiteral"
1884 // InternalProblem.g:741:1: ruleLiteral returns [EObject current=null] : (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral ) ; 1913 // InternalProblem.g:747:1: ruleLiteral returns [EObject current=null] : (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral ) ;
1885 public final EObject ruleLiteral() throws RecognitionException { 1914 public final EObject ruleLiteral() throws RecognitionException {
1886 EObject current = null; 1915 EObject current = null;
1887 1916
@@ -1894,28 +1923,28 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1894 enterRule(); 1923 enterRule();
1895 1924
1896 try { 1925 try {
1897 // InternalProblem.g:747:2: ( (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral ) ) 1926 // InternalProblem.g:753:2: ( (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral ) )
1898 // InternalProblem.g:748:2: (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral ) 1927 // InternalProblem.g:754:2: (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral )
1899 { 1928 {
1900 // InternalProblem.g:748:2: (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral ) 1929 // InternalProblem.g:754:2: (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral )
1901 int alt18=2; 1930 int alt20=2;
1902 int LA18_0 = input.LA(1); 1931 int LA20_0 = input.LA(1);
1903 1932
1904 if ( (LA18_0==RULE_ID) ) { 1933 if ( (LA20_0==RULE_ID||LA20_0==RULE_QUOTED_ID) ) {
1905 alt18=1; 1934 alt20=1;
1906 } 1935 }
1907 else if ( (LA18_0==27) ) { 1936 else if ( (LA20_0==31) ) {
1908 alt18=2; 1937 alt20=2;
1909 } 1938 }
1910 else { 1939 else {
1911 NoViableAltException nvae = 1940 NoViableAltException nvae =
1912 new NoViableAltException("", 18, 0, input); 1941 new NoViableAltException("", 20, 0, input);
1913 1942
1914 throw nvae; 1943 throw nvae;
1915 } 1944 }
1916 switch (alt18) { 1945 switch (alt20) {
1917 case 1 : 1946 case 1 :
1918 // InternalProblem.g:749:3: this_Atom_0= ruleAtom 1947 // InternalProblem.g:755:3: this_Atom_0= ruleAtom
1919 { 1948 {
1920 1949
1921 newCompositeNode(grammarAccess.getLiteralAccess().getAtomParserRuleCall_0()); 1950 newCompositeNode(grammarAccess.getLiteralAccess().getAtomParserRuleCall_0());
@@ -1933,7 +1962,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1933 } 1962 }
1934 break; 1963 break;
1935 case 2 : 1964 case 2 :
1936 // InternalProblem.g:758:3: this_NegativeLiteral_1= ruleNegativeLiteral 1965 // InternalProblem.g:764:3: this_NegativeLiteral_1= ruleNegativeLiteral
1937 { 1966 {
1938 1967
1939 newCompositeNode(grammarAccess.getLiteralAccess().getNegativeLiteralParserRuleCall_1()); 1968 newCompositeNode(grammarAccess.getLiteralAccess().getNegativeLiteralParserRuleCall_1());
@@ -1973,7 +2002,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1973 2002
1974 2003
1975 // $ANTLR start "entryRuleNegativeLiteral" 2004 // $ANTLR start "entryRuleNegativeLiteral"
1976 // InternalProblem.g:770:1: entryRuleNegativeLiteral returns [EObject current=null] : iv_ruleNegativeLiteral= ruleNegativeLiteral EOF ; 2005 // InternalProblem.g:776:1: entryRuleNegativeLiteral returns [EObject current=null] : iv_ruleNegativeLiteral= ruleNegativeLiteral EOF ;
1977 public final EObject entryRuleNegativeLiteral() throws RecognitionException { 2006 public final EObject entryRuleNegativeLiteral() throws RecognitionException {
1978 EObject current = null; 2007 EObject current = null;
1979 2008
@@ -1981,8 +2010,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1981 2010
1982 2011
1983 try { 2012 try {
1984 // InternalProblem.g:770:56: (iv_ruleNegativeLiteral= ruleNegativeLiteral EOF ) 2013 // InternalProblem.g:776:56: (iv_ruleNegativeLiteral= ruleNegativeLiteral EOF )
1985 // InternalProblem.g:771:2: iv_ruleNegativeLiteral= ruleNegativeLiteral EOF 2014 // InternalProblem.g:777:2: iv_ruleNegativeLiteral= ruleNegativeLiteral EOF
1986 { 2015 {
1987 newCompositeNode(grammarAccess.getNegativeLiteralRule()); 2016 newCompositeNode(grammarAccess.getNegativeLiteralRule());
1988 pushFollow(FOLLOW_1); 2017 pushFollow(FOLLOW_1);
@@ -2009,7 +2038,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2009 2038
2010 2039
2011 // $ANTLR start "ruleNegativeLiteral" 2040 // $ANTLR start "ruleNegativeLiteral"
2012 // InternalProblem.g:777:1: ruleNegativeLiteral returns [EObject current=null] : (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) ) ; 2041 // InternalProblem.g:783:1: ruleNegativeLiteral returns [EObject current=null] : (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) ) ;
2013 public final EObject ruleNegativeLiteral() throws RecognitionException { 2042 public final EObject ruleNegativeLiteral() throws RecognitionException {
2014 EObject current = null; 2043 EObject current = null;
2015 2044
@@ -2021,21 +2050,21 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2021 enterRule(); 2050 enterRule();
2022 2051
2023 try { 2052 try {
2024 // InternalProblem.g:783:2: ( (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) ) ) 2053 // InternalProblem.g:789:2: ( (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) ) )
2025 // InternalProblem.g:784:2: (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) ) 2054 // InternalProblem.g:790:2: (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) )
2026 { 2055 {
2027 // InternalProblem.g:784:2: (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) ) 2056 // InternalProblem.g:790:2: (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) )
2028 // InternalProblem.g:785:3: otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) 2057 // InternalProblem.g:791:3: otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) )
2029 { 2058 {
2030 otherlv_0=(Token)match(input,27,FOLLOW_5); 2059 otherlv_0=(Token)match(input,31,FOLLOW_8);
2031 2060
2032 newLeafNode(otherlv_0, grammarAccess.getNegativeLiteralAccess().getExclamationMarkKeyword_0()); 2061 newLeafNode(otherlv_0, grammarAccess.getNegativeLiteralAccess().getExclamationMarkKeyword_0());
2033 2062
2034 // InternalProblem.g:789:3: ( (lv_atom_1_0= ruleAtom ) ) 2063 // InternalProblem.g:795:3: ( (lv_atom_1_0= ruleAtom ) )
2035 // InternalProblem.g:790:4: (lv_atom_1_0= ruleAtom ) 2064 // InternalProblem.g:796:4: (lv_atom_1_0= ruleAtom )
2036 { 2065 {
2037 // InternalProblem.g:790:4: (lv_atom_1_0= ruleAtom ) 2066 // InternalProblem.g:796:4: (lv_atom_1_0= ruleAtom )
2038 // InternalProblem.g:791:5: lv_atom_1_0= ruleAtom 2067 // InternalProblem.g:797:5: lv_atom_1_0= ruleAtom
2039 { 2068 {
2040 2069
2041 newCompositeNode(grammarAccess.getNegativeLiteralAccess().getAtomAtomParserRuleCall_1_0()); 2070 newCompositeNode(grammarAccess.getNegativeLiteralAccess().getAtomAtomParserRuleCall_1_0());
@@ -2085,7 +2114,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2085 2114
2086 2115
2087 // $ANTLR start "entryRuleAtom" 2116 // $ANTLR start "entryRuleAtom"
2088 // InternalProblem.g:812:1: entryRuleAtom returns [EObject current=null] : iv_ruleAtom= ruleAtom EOF ; 2117 // InternalProblem.g:818:1: entryRuleAtom returns [EObject current=null] : iv_ruleAtom= ruleAtom EOF ;
2089 public final EObject entryRuleAtom() throws RecognitionException { 2118 public final EObject entryRuleAtom() throws RecognitionException {
2090 EObject current = null; 2119 EObject current = null;
2091 2120
@@ -2093,8 +2122,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2093 2122
2094 2123
2095 try { 2124 try {
2096 // InternalProblem.g:812:45: (iv_ruleAtom= ruleAtom EOF ) 2125 // InternalProblem.g:818:45: (iv_ruleAtom= ruleAtom EOF )
2097 // InternalProblem.g:813:2: iv_ruleAtom= ruleAtom EOF 2126 // InternalProblem.g:819:2: iv_ruleAtom= ruleAtom EOF
2098 { 2127 {
2099 newCompositeNode(grammarAccess.getAtomRule()); 2128 newCompositeNode(grammarAccess.getAtomRule());
2100 pushFollow(FOLLOW_1); 2129 pushFollow(FOLLOW_1);
@@ -2121,32 +2150,34 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2121 2150
2122 2151
2123 // $ANTLR start "ruleAtom" 2152 // $ANTLR start "ruleAtom"
2124 // InternalProblem.g:819:1: ruleAtom returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* )? otherlv_6= ')' ) ; 2153 // InternalProblem.g:825:1: ruleAtom returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )? otherlv_6= ')' ) ;
2125 public final EObject ruleAtom() throws RecognitionException { 2154 public final EObject ruleAtom() throws RecognitionException {
2126 EObject current = null; 2155 EObject current = null;
2127 2156
2128 Token lv_transitiveClosure_1_0=null; 2157 Token lv_transitiveClosure_1_0=null;
2129 Token otherlv_2=null; 2158 Token otherlv_2=null;
2130 Token otherlv_3=null;
2131 Token otherlv_4=null; 2159 Token otherlv_4=null;
2132 Token otherlv_5=null;
2133 Token otherlv_6=null; 2160 Token otherlv_6=null;
2161 EObject lv_arguments_3_0 = null;
2162
2163 EObject lv_arguments_5_0 = null;
2164
2134 2165
2135 2166
2136 enterRule(); 2167 enterRule();
2137 2168
2138 try { 2169 try {
2139 // InternalProblem.g:825:2: ( ( ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* )? otherlv_6= ')' ) ) 2170 // InternalProblem.g:831:2: ( ( ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )? otherlv_6= ')' ) )
2140 // InternalProblem.g:826:2: ( ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* )? otherlv_6= ')' ) 2171 // InternalProblem.g:832:2: ( ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )? otherlv_6= ')' )
2141 { 2172 {
2142 // InternalProblem.g:826:2: ( ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* )? otherlv_6= ')' ) 2173 // InternalProblem.g:832:2: ( ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )? otherlv_6= ')' )
2143 // InternalProblem.g:827:3: ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* )? otherlv_6= ')' 2174 // InternalProblem.g:833:3: ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )? otherlv_6= ')'
2144 { 2175 {
2145 // InternalProblem.g:827:3: ( ( ruleQualifiedName ) ) 2176 // InternalProblem.g:833:3: ( ( ruleQualifiedName ) )
2146 // InternalProblem.g:828:4: ( ruleQualifiedName ) 2177 // InternalProblem.g:834:4: ( ruleQualifiedName )
2147 { 2178 {
2148 // InternalProblem.g:828:4: ( ruleQualifiedName ) 2179 // InternalProblem.g:834:4: ( ruleQualifiedName )
2149 // InternalProblem.g:829:5: ruleQualifiedName 2180 // InternalProblem.g:835:5: ruleQualifiedName
2150 { 2181 {
2151 2182
2152 if (current==null) { 2183 if (current==null) {
@@ -2170,21 +2201,21 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2170 2201
2171 } 2202 }
2172 2203
2173 // InternalProblem.g:843:3: ( (lv_transitiveClosure_1_0= '+' ) )? 2204 // InternalProblem.g:849:3: ( (lv_transitiveClosure_1_0= '+' ) )?
2174 int alt19=2; 2205 int alt21=2;
2175 int LA19_0 = input.LA(1); 2206 int LA21_0 = input.LA(1);
2176 2207
2177 if ( (LA19_0==28) ) { 2208 if ( (LA21_0==32) ) {
2178 alt19=1; 2209 alt21=1;
2179 } 2210 }
2180 switch (alt19) { 2211 switch (alt21) {
2181 case 1 : 2212 case 1 :
2182 // InternalProblem.g:844:4: (lv_transitiveClosure_1_0= '+' ) 2213 // InternalProblem.g:850:4: (lv_transitiveClosure_1_0= '+' )
2183 { 2214 {
2184 // InternalProblem.g:844:4: (lv_transitiveClosure_1_0= '+' ) 2215 // InternalProblem.g:850:4: (lv_transitiveClosure_1_0= '+' )
2185 // InternalProblem.g:845:5: lv_transitiveClosure_1_0= '+' 2216 // InternalProblem.g:851:5: lv_transitiveClosure_1_0= '+'
2186 { 2217 {
2187 lv_transitiveClosure_1_0=(Token)match(input,28,FOLLOW_17); 2218 lv_transitiveClosure_1_0=(Token)match(input,32,FOLLOW_17);
2188 2219
2189 newLeafNode(lv_transitiveClosure_1_0, grammarAccess.getAtomAccess().getTransitiveClosurePlusSignKeyword_1_0()); 2220 newLeafNode(lv_transitiveClosure_1_0, grammarAccess.getAtomAccess().getTransitiveClosurePlusSignKeyword_1_0());
2190 2221
@@ -2203,35 +2234,45 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2203 2234
2204 } 2235 }
2205 2236
2206 otherlv_2=(Token)match(input,23,FOLLOW_18); 2237 otherlv_2=(Token)match(input,28,FOLLOW_18);
2207 2238
2208 newLeafNode(otherlv_2, grammarAccess.getAtomAccess().getLeftParenthesisKeyword_2()); 2239 newLeafNode(otherlv_2, grammarAccess.getAtomAccess().getLeftParenthesisKeyword_2());
2209 2240
2210 // InternalProblem.g:861:3: ( ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* )? 2241 // InternalProblem.g:867:3: ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )?
2211 int alt21=2; 2242 int alt23=2;
2212 int LA21_0 = input.LA(1); 2243 int LA23_0 = input.LA(1);
2213 2244
2214 if ( (LA21_0==RULE_ID) ) { 2245 if ( (LA23_0==RULE_ID) ) {
2215 alt21=1; 2246 alt23=1;
2216 } 2247 }
2217 switch (alt21) { 2248 switch (alt23) {
2218 case 1 : 2249 case 1 :
2219 // InternalProblem.g:862:4: ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* 2250 // InternalProblem.g:868:4: ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )*
2220 { 2251 {
2221 // InternalProblem.g:862:4: ( (otherlv_3= RULE_ID ) ) 2252 // InternalProblem.g:868:4: ( (lv_arguments_3_0= ruleArgument ) )
2222 // InternalProblem.g:863:5: (otherlv_3= RULE_ID ) 2253 // InternalProblem.g:869:5: (lv_arguments_3_0= ruleArgument )
2223 { 2254 {
2224 // InternalProblem.g:863:5: (otherlv_3= RULE_ID ) 2255 // InternalProblem.g:869:5: (lv_arguments_3_0= ruleArgument )
2225 // InternalProblem.g:864:6: otherlv_3= RULE_ID 2256 // InternalProblem.g:870:6: lv_arguments_3_0= ruleArgument
2226 { 2257 {
2227 2258
2228 if (current==null) { 2259 newCompositeNode(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_0_0());
2229 current = createModelElement(grammarAccess.getAtomRule());
2230 }
2231 2260
2232 otherlv_3=(Token)match(input,RULE_ID,FOLLOW_19); 2261 pushFollow(FOLLOW_19);
2262 lv_arguments_3_0=ruleArgument();
2233 2263
2234 newLeafNode(otherlv_3, grammarAccess.getAtomAccess().getArgumentsVariableCrossReference_3_0_0()); 2264 state._fsp--;
2265
2266
2267 if (current==null) {
2268 current = createModelElementForParent(grammarAccess.getAtomRule());
2269 }
2270 add(
2271 current,
2272 "arguments",
2273 lv_arguments_3_0,
2274 "org.eclipse.viatra.solver.language.Problem.Argument");
2275 afterParserOrEnumRuleCall();
2235 2276
2236 2277
2237 } 2278 }
@@ -2239,39 +2280,49 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2239 2280
2240 } 2281 }
2241 2282
2242 // InternalProblem.g:875:4: (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* 2283 // InternalProblem.g:887:4: (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )*
2243 loop20: 2284 loop22:
2244 do { 2285 do {
2245 int alt20=2; 2286 int alt22=2;
2246 int LA20_0 = input.LA(1); 2287 int LA22_0 = input.LA(1);
2247 2288
2248 if ( (LA20_0==15) ) { 2289 if ( (LA22_0==17) ) {
2249 alt20=1; 2290 alt22=1;
2250 } 2291 }
2251 2292
2252 2293
2253 switch (alt20) { 2294 switch (alt22) {
2254 case 1 : 2295 case 1 :
2255 // InternalProblem.g:876:5: otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) 2296 // InternalProblem.g:888:5: otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) )
2256 { 2297 {
2257 otherlv_4=(Token)match(input,15,FOLLOW_5); 2298 otherlv_4=(Token)match(input,17,FOLLOW_3);
2258 2299
2259 newLeafNode(otherlv_4, grammarAccess.getAtomAccess().getCommaKeyword_3_1_0()); 2300 newLeafNode(otherlv_4, grammarAccess.getAtomAccess().getCommaKeyword_3_1_0());
2260 2301
2261 // InternalProblem.g:880:5: ( (otherlv_5= RULE_ID ) ) 2302 // InternalProblem.g:892:5: ( (lv_arguments_5_0= ruleArgument ) )
2262 // InternalProblem.g:881:6: (otherlv_5= RULE_ID ) 2303 // InternalProblem.g:893:6: (lv_arguments_5_0= ruleArgument )
2263 { 2304 {
2264 // InternalProblem.g:881:6: (otherlv_5= RULE_ID ) 2305 // InternalProblem.g:893:6: (lv_arguments_5_0= ruleArgument )
2265 // InternalProblem.g:882:7: otherlv_5= RULE_ID 2306 // InternalProblem.g:894:7: lv_arguments_5_0= ruleArgument
2266 { 2307 {
2267 2308
2268 if (current==null) { 2309 newCompositeNode(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_1_1_0());
2269 current = createModelElement(grammarAccess.getAtomRule());
2270 }
2271 2310
2272 otherlv_5=(Token)match(input,RULE_ID,FOLLOW_19); 2311 pushFollow(FOLLOW_19);
2312 lv_arguments_5_0=ruleArgument();
2313
2314 state._fsp--;
2273 2315
2274 newLeafNode(otherlv_5, grammarAccess.getAtomAccess().getArgumentsVariableCrossReference_3_1_1_0()); 2316
2317 if (current==null) {
2318 current = createModelElementForParent(grammarAccess.getAtomRule());
2319 }
2320 add(
2321 current,
2322 "arguments",
2323 lv_arguments_5_0,
2324 "org.eclipse.viatra.solver.language.Problem.Argument");
2325 afterParserOrEnumRuleCall();
2275 2326
2276 2327
2277 } 2328 }
@@ -2284,7 +2335,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2284 break; 2335 break;
2285 2336
2286 default : 2337 default :
2287 break loop20; 2338 break loop22;
2288 } 2339 }
2289 } while (true); 2340 } while (true);
2290 2341
@@ -2294,7 +2345,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2294 2345
2295 } 2346 }
2296 2347
2297 otherlv_6=(Token)match(input,24,FOLLOW_2); 2348 otherlv_6=(Token)match(input,29,FOLLOW_2);
2298 2349
2299 newLeafNode(otherlv_6, grammarAccess.getAtomAccess().getRightParenthesisKeyword_4()); 2350 newLeafNode(otherlv_6, grammarAccess.getAtomAccess().getRightParenthesisKeyword_4());
2300 2351
@@ -2320,8 +2371,98 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2320 // $ANTLR end "ruleAtom" 2371 // $ANTLR end "ruleAtom"
2321 2372
2322 2373
2374 // $ANTLR start "entryRuleArgument"
2375 // InternalProblem.g:921:1: entryRuleArgument returns [EObject current=null] : iv_ruleArgument= ruleArgument EOF ;
2376 public final EObject entryRuleArgument() throws RecognitionException {
2377 EObject current = null;
2378
2379 EObject iv_ruleArgument = null;
2380
2381
2382 try {
2383 // InternalProblem.g:921:49: (iv_ruleArgument= ruleArgument EOF )
2384 // InternalProblem.g:922:2: iv_ruleArgument= ruleArgument EOF
2385 {
2386 newCompositeNode(grammarAccess.getArgumentRule());
2387 pushFollow(FOLLOW_1);
2388 iv_ruleArgument=ruleArgument();
2389
2390 state._fsp--;
2391
2392 current =iv_ruleArgument;
2393 match(input,EOF,FOLLOW_2);
2394
2395 }
2396
2397 }
2398
2399 catch (RecognitionException re) {
2400 recover(input,re);
2401 appendSkippedTokens();
2402 }
2403 finally {
2404 }
2405 return current;
2406 }
2407 // $ANTLR end "entryRuleArgument"
2408
2409
2410 // $ANTLR start "ruleArgument"
2411 // InternalProblem.g:928:1: ruleArgument returns [EObject current=null] : ( (otherlv_0= RULE_ID ) ) ;
2412 public final EObject ruleArgument() throws RecognitionException {
2413 EObject current = null;
2414
2415 Token otherlv_0=null;
2416
2417
2418 enterRule();
2419
2420 try {
2421 // InternalProblem.g:934:2: ( ( (otherlv_0= RULE_ID ) ) )
2422 // InternalProblem.g:935:2: ( (otherlv_0= RULE_ID ) )
2423 {
2424 // InternalProblem.g:935:2: ( (otherlv_0= RULE_ID ) )
2425 // InternalProblem.g:936:3: (otherlv_0= RULE_ID )
2426 {
2427 // InternalProblem.g:936:3: (otherlv_0= RULE_ID )
2428 // InternalProblem.g:937:4: otherlv_0= RULE_ID
2429 {
2430
2431 if (current==null) {
2432 current = createModelElement(grammarAccess.getArgumentRule());
2433 }
2434
2435 otherlv_0=(Token)match(input,RULE_ID,FOLLOW_2);
2436
2437 newLeafNode(otherlv_0, grammarAccess.getArgumentAccess().getVariableVariableCrossReference_0());
2438
2439
2440 }
2441
2442
2443 }
2444
2445
2446 }
2447
2448
2449 leaveRule();
2450
2451 }
2452
2453 catch (RecognitionException re) {
2454 recover(input,re);
2455 appendSkippedTokens();
2456 }
2457 finally {
2458 }
2459 return current;
2460 }
2461 // $ANTLR end "ruleArgument"
2462
2463
2323 // $ANTLR start "entryRuleAssertion" 2464 // $ANTLR start "entryRuleAssertion"
2324 // InternalProblem.g:903:1: entryRuleAssertion returns [EObject current=null] : iv_ruleAssertion= ruleAssertion EOF ; 2465 // InternalProblem.g:951:1: entryRuleAssertion returns [EObject current=null] : iv_ruleAssertion= ruleAssertion EOF ;
2325 public final EObject entryRuleAssertion() throws RecognitionException { 2466 public final EObject entryRuleAssertion() throws RecognitionException {
2326 EObject current = null; 2467 EObject current = null;
2327 2468
@@ -2329,8 +2470,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2329 2470
2330 2471
2331 try { 2472 try {
2332 // InternalProblem.g:903:50: (iv_ruleAssertion= ruleAssertion EOF ) 2473 // InternalProblem.g:951:50: (iv_ruleAssertion= ruleAssertion EOF )
2333 // InternalProblem.g:904:2: iv_ruleAssertion= ruleAssertion EOF 2474 // InternalProblem.g:952:2: iv_ruleAssertion= ruleAssertion EOF
2334 { 2475 {
2335 newCompositeNode(grammarAccess.getAssertionRule()); 2476 newCompositeNode(grammarAccess.getAssertionRule());
2336 pushFollow(FOLLOW_1); 2477 pushFollow(FOLLOW_1);
@@ -2357,7 +2498,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2357 2498
2358 2499
2359 // $ANTLR start "ruleAssertion" 2500 // $ANTLR start "ruleAssertion"
2360 // InternalProblem.g:910:1: ruleAssertion returns [EObject current=null] : ( ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) otherlv_15= '.' ) ; 2501 // InternalProblem.g:958:1: ruleAssertion returns [EObject current=null] : ( ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) otherlv_15= '.' ) ;
2361 public final EObject ruleAssertion() throws RecognitionException { 2502 public final EObject ruleAssertion() throws RecognitionException {
2362 EObject current = null; 2503 EObject current = null;
2363 2504
@@ -2378,27 +2519,27 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2378 enterRule(); 2519 enterRule();
2379 2520
2380 try { 2521 try {
2381 // InternalProblem.g:916:2: ( ( ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) otherlv_15= '.' ) ) 2522 // InternalProblem.g:964:2: ( ( ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) otherlv_15= '.' ) )
2382 // InternalProblem.g:917:2: ( ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) otherlv_15= '.' ) 2523 // InternalProblem.g:965:2: ( ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) otherlv_15= '.' )
2383 { 2524 {
2384 // InternalProblem.g:917:2: ( ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) otherlv_15= '.' ) 2525 // InternalProblem.g:965:2: ( ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) otherlv_15= '.' )
2385 // InternalProblem.g:918:3: ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) otherlv_15= '.' 2526 // InternalProblem.g:966:3: ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) otherlv_15= '.'
2386 { 2527 {
2387 // InternalProblem.g:918:3: ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) 2528 // InternalProblem.g:966:3: ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) )
2388 int alt27=2; 2529 int alt29=2;
2389 alt27 = dfa27.predict(input); 2530 alt29 = dfa29.predict(input);
2390 switch (alt27) { 2531 switch (alt29) {
2391 case 1 : 2532 case 1 :
2392 // InternalProblem.g:919:4: ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) 2533 // InternalProblem.g:967:4: ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) )
2393 { 2534 {
2394 // InternalProblem.g:919:4: ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) 2535 // InternalProblem.g:967:4: ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) )
2395 // InternalProblem.g:920:5: ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) 2536 // InternalProblem.g:968:5: ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) )
2396 { 2537 {
2397 // InternalProblem.g:920:5: ( ( ruleQualifiedName ) ) 2538 // InternalProblem.g:968:5: ( ( ruleQualifiedName ) )
2398 // InternalProblem.g:921:6: ( ruleQualifiedName ) 2539 // InternalProblem.g:969:6: ( ruleQualifiedName )
2399 { 2540 {
2400 // InternalProblem.g:921:6: ( ruleQualifiedName ) 2541 // InternalProblem.g:969:6: ( ruleQualifiedName )
2401 // InternalProblem.g:922:7: ruleQualifiedName 2542 // InternalProblem.g:970:7: ruleQualifiedName
2402 { 2543 {
2403 2544
2404 if (current==null) { 2545 if (current==null) {
@@ -2422,26 +2563,26 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2422 2563
2423 } 2564 }
2424 2565
2425 otherlv_1=(Token)match(input,23,FOLLOW_18); 2566 otherlv_1=(Token)match(input,28,FOLLOW_25);
2426 2567
2427 newLeafNode(otherlv_1, grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_0_1()); 2568 newLeafNode(otherlv_1, grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_0_1());
2428 2569
2429 // InternalProblem.g:940:5: ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? 2570 // InternalProblem.g:988:5: ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )?
2430 int alt23=2; 2571 int alt25=2;
2431 int LA23_0 = input.LA(1); 2572 int LA25_0 = input.LA(1);
2432 2573
2433 if ( (LA23_0==RULE_ID) ) { 2574 if ( (LA25_0==RULE_ID||LA25_0==RULE_QUOTED_ID) ) {
2434 alt23=1; 2575 alt25=1;
2435 } 2576 }
2436 switch (alt23) { 2577 switch (alt25) {
2437 case 1 : 2578 case 1 :
2438 // InternalProblem.g:941:6: ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* 2579 // InternalProblem.g:989:6: ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )*
2439 { 2580 {
2440 // InternalProblem.g:941:6: ( ( ruleQualifiedName ) ) 2581 // InternalProblem.g:989:6: ( ( ruleQualifiedName ) )
2441 // InternalProblem.g:942:7: ( ruleQualifiedName ) 2582 // InternalProblem.g:990:7: ( ruleQualifiedName )
2442 { 2583 {
2443 // InternalProblem.g:942:7: ( ruleQualifiedName ) 2584 // InternalProblem.g:990:7: ( ruleQualifiedName )
2444 // InternalProblem.g:943:8: ruleQualifiedName 2585 // InternalProblem.g:991:8: ruleQualifiedName
2445 { 2586 {
2446 2587
2447 if (current==null) { 2588 if (current==null) {
@@ -2465,30 +2606,30 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2465 2606
2466 } 2607 }
2467 2608
2468 // InternalProblem.g:957:6: (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* 2609 // InternalProblem.g:1005:6: (otherlv_3= ',' ( ( ruleQualifiedName ) ) )*
2469 loop22: 2610 loop24:
2470 do { 2611 do {
2471 int alt22=2; 2612 int alt24=2;
2472 int LA22_0 = input.LA(1); 2613 int LA24_0 = input.LA(1);
2473 2614
2474 if ( (LA22_0==15) ) { 2615 if ( (LA24_0==17) ) {
2475 alt22=1; 2616 alt24=1;
2476 } 2617 }
2477 2618
2478 2619
2479 switch (alt22) { 2620 switch (alt24) {
2480 case 1 : 2621 case 1 :
2481 // InternalProblem.g:958:7: otherlv_3= ',' ( ( ruleQualifiedName ) ) 2622 // InternalProblem.g:1006:7: otherlv_3= ',' ( ( ruleQualifiedName ) )
2482 { 2623 {
2483 otherlv_3=(Token)match(input,15,FOLLOW_5); 2624 otherlv_3=(Token)match(input,17,FOLLOW_8);
2484 2625
2485 newLeafNode(otherlv_3, grammarAccess.getAssertionAccess().getCommaKeyword_0_0_2_1_0()); 2626 newLeafNode(otherlv_3, grammarAccess.getAssertionAccess().getCommaKeyword_0_0_2_1_0());
2486 2627
2487 // InternalProblem.g:962:7: ( ( ruleQualifiedName ) ) 2628 // InternalProblem.g:1010:7: ( ( ruleQualifiedName ) )
2488 // InternalProblem.g:963:8: ( ruleQualifiedName ) 2629 // InternalProblem.g:1011:8: ( ruleQualifiedName )
2489 { 2630 {
2490 // InternalProblem.g:963:8: ( ruleQualifiedName ) 2631 // InternalProblem.g:1011:8: ( ruleQualifiedName )
2491 // InternalProblem.g:964:9: ruleQualifiedName 2632 // InternalProblem.g:1012:9: ruleQualifiedName
2492 { 2633 {
2493 2634
2494 if (current==null) { 2635 if (current==null) {
@@ -2517,7 +2658,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2517 break; 2658 break;
2518 2659
2519 default : 2660 default :
2520 break loop22; 2661 break loop24;
2521 } 2662 }
2522 } while (true); 2663 } while (true);
2523 2664
@@ -2527,24 +2668,24 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2527 2668
2528 } 2669 }
2529 2670
2530 otherlv_5=(Token)match(input,24,FOLLOW_25); 2671 otherlv_5=(Token)match(input,29,FOLLOW_26);
2531 2672
2532 newLeafNode(otherlv_5, grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_0_3()); 2673 newLeafNode(otherlv_5, grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_0_3());
2533 2674
2534 otherlv_6=(Token)match(input,29,FOLLOW_26); 2675 otherlv_6=(Token)match(input,33,FOLLOW_27);
2535 2676
2536 newLeafNode(otherlv_6, grammarAccess.getAssertionAccess().getColonKeyword_0_0_4()); 2677 newLeafNode(otherlv_6, grammarAccess.getAssertionAccess().getColonKeyword_0_0_4());
2537 2678
2538 // InternalProblem.g:988:5: ( (lv_value_7_0= ruleLogicValue ) ) 2679 // InternalProblem.g:1036:5: ( (lv_value_7_0= ruleLogicValue ) )
2539 // InternalProblem.g:989:6: (lv_value_7_0= ruleLogicValue ) 2680 // InternalProblem.g:1037:6: (lv_value_7_0= ruleLogicValue )
2540 { 2681 {
2541 // InternalProblem.g:989:6: (lv_value_7_0= ruleLogicValue ) 2682 // InternalProblem.g:1037:6: (lv_value_7_0= ruleLogicValue )
2542 // InternalProblem.g:990:7: lv_value_7_0= ruleLogicValue 2683 // InternalProblem.g:1038:7: lv_value_7_0= ruleLogicValue
2543 { 2684 {
2544 2685
2545 newCompositeNode(grammarAccess.getAssertionAccess().getValueLogicValueEnumRuleCall_0_0_5_0()); 2686 newCompositeNode(grammarAccess.getAssertionAccess().getValueLogicValueEnumRuleCall_0_0_5_0());
2546 2687
2547 pushFollow(FOLLOW_27); 2688 pushFollow(FOLLOW_4);
2548 lv_value_7_0=ruleLogicValue(); 2689 lv_value_7_0=ruleLogicValue();
2549 2690
2550 state._fsp--; 2691 state._fsp--;
@@ -2573,29 +2714,29 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2573 } 2714 }
2574 break; 2715 break;
2575 case 2 : 2716 case 2 :
2576 // InternalProblem.g:1009:4: ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) 2717 // InternalProblem.g:1057:4: ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' )
2577 { 2718 {
2578 // InternalProblem.g:1009:4: ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) 2719 // InternalProblem.g:1057:4: ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' )
2579 // InternalProblem.g:1010:5: ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' 2720 // InternalProblem.g:1058:5: ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')'
2580 { 2721 {
2581 // InternalProblem.g:1010:5: ( (lv_value_8_0= ruleShortLogicValue ) )? 2722 // InternalProblem.g:1058:5: ( (lv_value_8_0= ruleShortLogicValue ) )?
2582 int alt24=2; 2723 int alt26=2;
2583 int LA24_0 = input.LA(1); 2724 int LA26_0 = input.LA(1);
2584 2725
2585 if ( (LA24_0==27||LA24_0==39) ) { 2726 if ( (LA26_0==31||LA26_0==42) ) {
2586 alt24=1; 2727 alt26=1;
2587 } 2728 }
2588 switch (alt24) { 2729 switch (alt26) {
2589 case 1 : 2730 case 1 :
2590 // InternalProblem.g:1011:6: (lv_value_8_0= ruleShortLogicValue ) 2731 // InternalProblem.g:1059:6: (lv_value_8_0= ruleShortLogicValue )
2591 { 2732 {
2592 // InternalProblem.g:1011:6: (lv_value_8_0= ruleShortLogicValue ) 2733 // InternalProblem.g:1059:6: (lv_value_8_0= ruleShortLogicValue )
2593 // InternalProblem.g:1012:7: lv_value_8_0= ruleShortLogicValue 2734 // InternalProblem.g:1060:7: lv_value_8_0= ruleShortLogicValue
2594 { 2735 {
2595 2736
2596 newCompositeNode(grammarAccess.getAssertionAccess().getValueShortLogicValueEnumRuleCall_0_1_0_0()); 2737 newCompositeNode(grammarAccess.getAssertionAccess().getValueShortLogicValueEnumRuleCall_0_1_0_0());
2597 2738
2598 pushFollow(FOLLOW_5); 2739 pushFollow(FOLLOW_8);
2599 lv_value_8_0=ruleShortLogicValue(); 2740 lv_value_8_0=ruleShortLogicValue();
2600 2741
2601 state._fsp--; 2742 state._fsp--;
@@ -2620,11 +2761,11 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2620 2761
2621 } 2762 }
2622 2763
2623 // InternalProblem.g:1029:5: ( ( ruleQualifiedName ) ) 2764 // InternalProblem.g:1077:5: ( ( ruleQualifiedName ) )
2624 // InternalProblem.g:1030:6: ( ruleQualifiedName ) 2765 // InternalProblem.g:1078:6: ( ruleQualifiedName )
2625 { 2766 {
2626 // InternalProblem.g:1030:6: ( ruleQualifiedName ) 2767 // InternalProblem.g:1078:6: ( ruleQualifiedName )
2627 // InternalProblem.g:1031:7: ruleQualifiedName 2768 // InternalProblem.g:1079:7: ruleQualifiedName
2628 { 2769 {
2629 2770
2630 if (current==null) { 2771 if (current==null) {
@@ -2648,26 +2789,26 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2648 2789
2649 } 2790 }
2650 2791
2651 otherlv_10=(Token)match(input,23,FOLLOW_18); 2792 otherlv_10=(Token)match(input,28,FOLLOW_25);
2652 2793
2653 newLeafNode(otherlv_10, grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_1_2()); 2794 newLeafNode(otherlv_10, grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_1_2());
2654 2795
2655 // InternalProblem.g:1049:5: ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? 2796 // InternalProblem.g:1097:5: ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )?
2656 int alt26=2; 2797 int alt28=2;
2657 int LA26_0 = input.LA(1); 2798 int LA28_0 = input.LA(1);
2658 2799
2659 if ( (LA26_0==RULE_ID) ) { 2800 if ( (LA28_0==RULE_ID||LA28_0==RULE_QUOTED_ID) ) {
2660 alt26=1; 2801 alt28=1;
2661 } 2802 }
2662 switch (alt26) { 2803 switch (alt28) {
2663 case 1 : 2804 case 1 :
2664 // InternalProblem.g:1050:6: ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* 2805 // InternalProblem.g:1098:6: ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )*
2665 { 2806 {
2666 // InternalProblem.g:1050:6: ( ( ruleQualifiedName ) ) 2807 // InternalProblem.g:1098:6: ( ( ruleQualifiedName ) )
2667 // InternalProblem.g:1051:7: ( ruleQualifiedName ) 2808 // InternalProblem.g:1099:7: ( ruleQualifiedName )
2668 { 2809 {
2669 // InternalProblem.g:1051:7: ( ruleQualifiedName ) 2810 // InternalProblem.g:1099:7: ( ruleQualifiedName )
2670 // InternalProblem.g:1052:8: ruleQualifiedName 2811 // InternalProblem.g:1100:8: ruleQualifiedName
2671 { 2812 {
2672 2813
2673 if (current==null) { 2814 if (current==null) {
@@ -2691,30 +2832,30 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2691 2832
2692 } 2833 }
2693 2834
2694 // InternalProblem.g:1066:6: (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* 2835 // InternalProblem.g:1114:6: (otherlv_12= ',' ( ( ruleQualifiedName ) ) )*
2695 loop25: 2836 loop27:
2696 do { 2837 do {
2697 int alt25=2; 2838 int alt27=2;
2698 int LA25_0 = input.LA(1); 2839 int LA27_0 = input.LA(1);
2699 2840
2700 if ( (LA25_0==15) ) { 2841 if ( (LA27_0==17) ) {
2701 alt25=1; 2842 alt27=1;
2702 } 2843 }
2703 2844
2704 2845
2705 switch (alt25) { 2846 switch (alt27) {
2706 case 1 : 2847 case 1 :
2707 // InternalProblem.g:1067:7: otherlv_12= ',' ( ( ruleQualifiedName ) ) 2848 // InternalProblem.g:1115:7: otherlv_12= ',' ( ( ruleQualifiedName ) )
2708 { 2849 {
2709 otherlv_12=(Token)match(input,15,FOLLOW_5); 2850 otherlv_12=(Token)match(input,17,FOLLOW_8);
2710 2851
2711 newLeafNode(otherlv_12, grammarAccess.getAssertionAccess().getCommaKeyword_0_1_3_1_0()); 2852 newLeafNode(otherlv_12, grammarAccess.getAssertionAccess().getCommaKeyword_0_1_3_1_0());
2712 2853
2713 // InternalProblem.g:1071:7: ( ( ruleQualifiedName ) ) 2854 // InternalProblem.g:1119:7: ( ( ruleQualifiedName ) )
2714 // InternalProblem.g:1072:8: ( ruleQualifiedName ) 2855 // InternalProblem.g:1120:8: ( ruleQualifiedName )
2715 { 2856 {
2716 // InternalProblem.g:1072:8: ( ruleQualifiedName ) 2857 // InternalProblem.g:1120:8: ( ruleQualifiedName )
2717 // InternalProblem.g:1073:9: ruleQualifiedName 2858 // InternalProblem.g:1121:9: ruleQualifiedName
2718 { 2859 {
2719 2860
2720 if (current==null) { 2861 if (current==null) {
@@ -2743,7 +2884,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2743 break; 2884 break;
2744 2885
2745 default : 2886 default :
2746 break loop25; 2887 break loop27;
2747 } 2888 }
2748 } while (true); 2889 } while (true);
2749 2890
@@ -2753,7 +2894,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2753 2894
2754 } 2895 }
2755 2896
2756 otherlv_14=(Token)match(input,24,FOLLOW_27); 2897 otherlv_14=(Token)match(input,29,FOLLOW_4);
2757 2898
2758 newLeafNode(otherlv_14, grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_1_4()); 2899 newLeafNode(otherlv_14, grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_1_4());
2759 2900
@@ -2766,7 +2907,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2766 2907
2767 } 2908 }
2768 2909
2769 otherlv_15=(Token)match(input,17,FOLLOW_2); 2910 otherlv_15=(Token)match(input,13,FOLLOW_2);
2770 2911
2771 newLeafNode(otherlv_15, grammarAccess.getAssertionAccess().getFullStopKeyword_1()); 2912 newLeafNode(otherlv_15, grammarAccess.getAssertionAccess().getFullStopKeyword_1());
2772 2913
@@ -2793,7 +2934,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2793 2934
2794 2935
2795 // $ANTLR start "entryRuleScopeDeclaration" 2936 // $ANTLR start "entryRuleScopeDeclaration"
2796 // InternalProblem.g:1103:1: entryRuleScopeDeclaration returns [EObject current=null] : iv_ruleScopeDeclaration= ruleScopeDeclaration EOF ; 2937 // InternalProblem.g:1151:1: entryRuleScopeDeclaration returns [EObject current=null] : iv_ruleScopeDeclaration= ruleScopeDeclaration EOF ;
2797 public final EObject entryRuleScopeDeclaration() throws RecognitionException { 2938 public final EObject entryRuleScopeDeclaration() throws RecognitionException {
2798 EObject current = null; 2939 EObject current = null;
2799 2940
@@ -2801,8 +2942,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2801 2942
2802 2943
2803 try { 2944 try {
2804 // InternalProblem.g:1103:57: (iv_ruleScopeDeclaration= ruleScopeDeclaration EOF ) 2945 // InternalProblem.g:1151:57: (iv_ruleScopeDeclaration= ruleScopeDeclaration EOF )
2805 // InternalProblem.g:1104:2: iv_ruleScopeDeclaration= ruleScopeDeclaration EOF 2946 // InternalProblem.g:1152:2: iv_ruleScopeDeclaration= ruleScopeDeclaration EOF
2806 { 2947 {
2807 newCompositeNode(grammarAccess.getScopeDeclarationRule()); 2948 newCompositeNode(grammarAccess.getScopeDeclarationRule());
2808 pushFollow(FOLLOW_1); 2949 pushFollow(FOLLOW_1);
@@ -2829,7 +2970,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2829 2970
2830 2971
2831 // $ANTLR start "ruleScopeDeclaration" 2972 // $ANTLR start "ruleScopeDeclaration"
2832 // InternalProblem.g:1110:1: ruleScopeDeclaration returns [EObject current=null] : (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' ) ; 2973 // InternalProblem.g:1158:1: ruleScopeDeclaration returns [EObject current=null] : (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' ) ;
2833 public final EObject ruleScopeDeclaration() throws RecognitionException { 2974 public final EObject ruleScopeDeclaration() throws RecognitionException {
2834 EObject current = null; 2975 EObject current = null;
2835 2976
@@ -2845,26 +2986,26 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2845 enterRule(); 2986 enterRule();
2846 2987
2847 try { 2988 try {
2848 // InternalProblem.g:1116:2: ( (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' ) ) 2989 // InternalProblem.g:1164:2: ( (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' ) )
2849 // InternalProblem.g:1117:2: (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' ) 2990 // InternalProblem.g:1165:2: (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' )
2850 { 2991 {
2851 // InternalProblem.g:1117:2: (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' ) 2992 // InternalProblem.g:1165:2: (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' )
2852 // InternalProblem.g:1118:3: otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' 2993 // InternalProblem.g:1166:3: otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.'
2853 { 2994 {
2854 otherlv_0=(Token)match(input,30,FOLLOW_5); 2995 otherlv_0=(Token)match(input,34,FOLLOW_3);
2855 2996
2856 newLeafNode(otherlv_0, grammarAccess.getScopeDeclarationAccess().getScopeKeyword_0()); 2997 newLeafNode(otherlv_0, grammarAccess.getScopeDeclarationAccess().getScopeKeyword_0());
2857 2998
2858 // InternalProblem.g:1122:3: ( (lv_typeScopes_1_0= ruleTypeScope ) ) 2999 // InternalProblem.g:1170:3: ( (lv_typeScopes_1_0= ruleTypeScope ) )
2859 // InternalProblem.g:1123:4: (lv_typeScopes_1_0= ruleTypeScope ) 3000 // InternalProblem.g:1171:4: (lv_typeScopes_1_0= ruleTypeScope )
2860 { 3001 {
2861 // InternalProblem.g:1123:4: (lv_typeScopes_1_0= ruleTypeScope ) 3002 // InternalProblem.g:1171:4: (lv_typeScopes_1_0= ruleTypeScope )
2862 // InternalProblem.g:1124:5: lv_typeScopes_1_0= ruleTypeScope 3003 // InternalProblem.g:1172:5: lv_typeScopes_1_0= ruleTypeScope
2863 { 3004 {
2864 3005
2865 newCompositeNode(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_1_0()); 3006 newCompositeNode(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_1_0());
2866 3007
2867 pushFollow(FOLLOW_8); 3008 pushFollow(FOLLOW_28);
2868 lv_typeScopes_1_0=ruleTypeScope(); 3009 lv_typeScopes_1_0=ruleTypeScope();
2869 3010
2870 state._fsp--; 3011 state._fsp--;
@@ -2886,35 +3027,35 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2886 3027
2887 } 3028 }
2888 3029
2889 // InternalProblem.g:1141:3: (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* 3030 // InternalProblem.g:1189:3: (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )*
2890 loop28: 3031 loop30:
2891 do { 3032 do {
2892 int alt28=2; 3033 int alt30=2;
2893 int LA28_0 = input.LA(1); 3034 int LA30_0 = input.LA(1);
2894 3035
2895 if ( (LA28_0==15) ) { 3036 if ( (LA30_0==17) ) {
2896 alt28=1; 3037 alt30=1;
2897 } 3038 }
2898 3039
2899 3040
2900 switch (alt28) { 3041 switch (alt30) {
2901 case 1 : 3042 case 1 :
2902 // InternalProblem.g:1142:4: otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) 3043 // InternalProblem.g:1190:4: otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) )
2903 { 3044 {
2904 otherlv_2=(Token)match(input,15,FOLLOW_5); 3045 otherlv_2=(Token)match(input,17,FOLLOW_3);
2905 3046
2906 newLeafNode(otherlv_2, grammarAccess.getScopeDeclarationAccess().getCommaKeyword_2_0()); 3047 newLeafNode(otherlv_2, grammarAccess.getScopeDeclarationAccess().getCommaKeyword_2_0());
2907 3048
2908 // InternalProblem.g:1146:4: ( (lv_typeScopes_3_0= ruleTypeScope ) ) 3049 // InternalProblem.g:1194:4: ( (lv_typeScopes_3_0= ruleTypeScope ) )
2909 // InternalProblem.g:1147:5: (lv_typeScopes_3_0= ruleTypeScope ) 3050 // InternalProblem.g:1195:5: (lv_typeScopes_3_0= ruleTypeScope )
2910 { 3051 {
2911 // InternalProblem.g:1147:5: (lv_typeScopes_3_0= ruleTypeScope ) 3052 // InternalProblem.g:1195:5: (lv_typeScopes_3_0= ruleTypeScope )
2912 // InternalProblem.g:1148:6: lv_typeScopes_3_0= ruleTypeScope 3053 // InternalProblem.g:1196:6: lv_typeScopes_3_0= ruleTypeScope
2913 { 3054 {
2914 3055
2915 newCompositeNode(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_2_1_0()); 3056 newCompositeNode(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_2_1_0());
2916 3057
2917 pushFollow(FOLLOW_8); 3058 pushFollow(FOLLOW_28);
2918 lv_typeScopes_3_0=ruleTypeScope(); 3059 lv_typeScopes_3_0=ruleTypeScope();
2919 3060
2920 state._fsp--; 3061 state._fsp--;
@@ -2941,11 +3082,11 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2941 break; 3082 break;
2942 3083
2943 default : 3084 default :
2944 break loop28; 3085 break loop30;
2945 } 3086 }
2946 } while (true); 3087 } while (true);
2947 3088
2948 otherlv_4=(Token)match(input,17,FOLLOW_2); 3089 otherlv_4=(Token)match(input,13,FOLLOW_2);
2949 3090
2950 newLeafNode(otherlv_4, grammarAccess.getScopeDeclarationAccess().getFullStopKeyword_3()); 3091 newLeafNode(otherlv_4, grammarAccess.getScopeDeclarationAccess().getFullStopKeyword_3());
2951 3092
@@ -2972,7 +3113,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2972 3113
2973 3114
2974 // $ANTLR start "entryRuleTypeScope" 3115 // $ANTLR start "entryRuleTypeScope"
2975 // InternalProblem.g:1174:1: entryRuleTypeScope returns [EObject current=null] : iv_ruleTypeScope= ruleTypeScope EOF ; 3116 // InternalProblem.g:1222:1: entryRuleTypeScope returns [EObject current=null] : iv_ruleTypeScope= ruleTypeScope EOF ;
2976 public final EObject entryRuleTypeScope() throws RecognitionException { 3117 public final EObject entryRuleTypeScope() throws RecognitionException {
2977 EObject current = null; 3118 EObject current = null;
2978 3119
@@ -2980,8 +3121,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2980 3121
2981 3122
2982 try { 3123 try {
2983 // InternalProblem.g:1174:50: (iv_ruleTypeScope= ruleTypeScope EOF ) 3124 // InternalProblem.g:1222:50: (iv_ruleTypeScope= ruleTypeScope EOF )
2984 // InternalProblem.g:1175:2: iv_ruleTypeScope= ruleTypeScope EOF 3125 // InternalProblem.g:1223:2: iv_ruleTypeScope= ruleTypeScope EOF
2985 { 3126 {
2986 newCompositeNode(grammarAccess.getTypeScopeRule()); 3127 newCompositeNode(grammarAccess.getTypeScopeRule());
2987 pushFollow(FOLLOW_1); 3128 pushFollow(FOLLOW_1);
@@ -3008,7 +3149,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3008 3149
3009 3150
3010 // $ANTLR start "ruleTypeScope" 3151 // $ANTLR start "ruleTypeScope"
3011 // InternalProblem.g:1181:1: ruleTypeScope returns [EObject current=null] : ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleMultiplicity ) ) ) ; 3152 // InternalProblem.g:1229:1: ruleTypeScope returns [EObject current=null] : ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) ) ;
3012 public final EObject ruleTypeScope() throws RecognitionException { 3153 public final EObject ruleTypeScope() throws RecognitionException {
3013 EObject current = null; 3154 EObject current = null;
3014 3155
@@ -3022,24 +3163,24 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3022 enterRule(); 3163 enterRule();
3023 3164
3024 try { 3165 try {
3025 // InternalProblem.g:1187:2: ( ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleMultiplicity ) ) ) ) 3166 // InternalProblem.g:1235:2: ( ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) ) )
3026 // InternalProblem.g:1188:2: ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleMultiplicity ) ) ) 3167 // InternalProblem.g:1236:2: ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) )
3027 { 3168 {
3028 // InternalProblem.g:1188:2: ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleMultiplicity ) ) ) 3169 // InternalProblem.g:1236:2: ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) )
3029 // InternalProblem.g:1189:3: ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleMultiplicity ) ) 3170 // InternalProblem.g:1237:3: ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) )
3030 { 3171 {
3031 // InternalProblem.g:1189:3: ( (otherlv_0= RULE_ID ) ) 3172 // InternalProblem.g:1237:3: ( (otherlv_0= RULE_ID ) )
3032 // InternalProblem.g:1190:4: (otherlv_0= RULE_ID ) 3173 // InternalProblem.g:1238:4: (otherlv_0= RULE_ID )
3033 { 3174 {
3034 // InternalProblem.g:1190:4: (otherlv_0= RULE_ID ) 3175 // InternalProblem.g:1238:4: (otherlv_0= RULE_ID )
3035 // InternalProblem.g:1191:5: otherlv_0= RULE_ID 3176 // InternalProblem.g:1239:5: otherlv_0= RULE_ID
3036 { 3177 {
3037 3178
3038 if (current==null) { 3179 if (current==null) {
3039 current = createModelElement(grammarAccess.getTypeScopeRule()); 3180 current = createModelElement(grammarAccess.getTypeScopeRule());
3040 } 3181 }
3041 3182
3042 otherlv_0=(Token)match(input,RULE_ID,FOLLOW_28); 3183 otherlv_0=(Token)match(input,RULE_ID,FOLLOW_29);
3043 3184
3044 newLeafNode(otherlv_0, grammarAccess.getTypeScopeAccess().getTargetTypeClassDeclarationCrossReference_0_0()); 3185 newLeafNode(otherlv_0, grammarAccess.getTypeScopeAccess().getTargetTypeClassDeclarationCrossReference_0_0());
3045 3186
@@ -3049,33 +3190,33 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3049 3190
3050 } 3191 }
3051 3192
3052 // InternalProblem.g:1202:3: ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) 3193 // InternalProblem.g:1250:3: ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' )
3053 int alt29=2; 3194 int alt31=2;
3054 int LA29_0 = input.LA(1); 3195 int LA31_0 = input.LA(1);
3055 3196
3056 if ( (LA29_0==31) ) { 3197 if ( (LA31_0==35) ) {
3057 alt29=1; 3198 alt31=1;
3058 } 3199 }
3059 else if ( (LA29_0==32) ) { 3200 else if ( (LA31_0==36) ) {
3060 alt29=2; 3201 alt31=2;
3061 } 3202 }
3062 else { 3203 else {
3063 NoViableAltException nvae = 3204 NoViableAltException nvae =
3064 new NoViableAltException("", 29, 0, input); 3205 new NoViableAltException("", 31, 0, input);
3065 3206
3066 throw nvae; 3207 throw nvae;
3067 } 3208 }
3068 switch (alt29) { 3209 switch (alt31) {
3069 case 1 : 3210 case 1 :
3070 // InternalProblem.g:1203:4: ( (lv_increment_1_0= '+=' ) ) 3211 // InternalProblem.g:1251:4: ( (lv_increment_1_0= '+=' ) )
3071 { 3212 {
3072 // InternalProblem.g:1203:4: ( (lv_increment_1_0= '+=' ) ) 3213 // InternalProblem.g:1251:4: ( (lv_increment_1_0= '+=' ) )
3073 // InternalProblem.g:1204:5: (lv_increment_1_0= '+=' ) 3214 // InternalProblem.g:1252:5: (lv_increment_1_0= '+=' )
3074 { 3215 {
3075 // InternalProblem.g:1204:5: (lv_increment_1_0= '+=' ) 3216 // InternalProblem.g:1252:5: (lv_increment_1_0= '+=' )
3076 // InternalProblem.g:1205:6: lv_increment_1_0= '+=' 3217 // InternalProblem.g:1253:6: lv_increment_1_0= '+='
3077 { 3218 {
3078 lv_increment_1_0=(Token)match(input,31,FOLLOW_13); 3219 lv_increment_1_0=(Token)match(input,35,FOLLOW_13);
3079 3220
3080 newLeafNode(lv_increment_1_0, grammarAccess.getTypeScopeAccess().getIncrementPlusSignEqualsSignKeyword_1_0_0()); 3221 newLeafNode(lv_increment_1_0, grammarAccess.getTypeScopeAccess().getIncrementPlusSignEqualsSignKeyword_1_0_0());
3081 3222
@@ -3095,9 +3236,9 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3095 } 3236 }
3096 break; 3237 break;
3097 case 2 : 3238 case 2 :
3098 // InternalProblem.g:1218:4: otherlv_2= '=' 3239 // InternalProblem.g:1266:4: otherlv_2= '='
3099 { 3240 {
3100 otherlv_2=(Token)match(input,32,FOLLOW_13); 3241 otherlv_2=(Token)match(input,36,FOLLOW_13);
3101 3242
3102 newLeafNode(otherlv_2, grammarAccess.getTypeScopeAccess().getEqualsSignKeyword_1_1()); 3243 newLeafNode(otherlv_2, grammarAccess.getTypeScopeAccess().getEqualsSignKeyword_1_1());
3103 3244
@@ -3107,17 +3248,17 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3107 3248
3108 } 3249 }
3109 3250
3110 // InternalProblem.g:1223:3: ( (lv_multiplicity_3_0= ruleMultiplicity ) ) 3251 // InternalProblem.g:1271:3: ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) )
3111 // InternalProblem.g:1224:4: (lv_multiplicity_3_0= ruleMultiplicity ) 3252 // InternalProblem.g:1272:4: (lv_multiplicity_3_0= ruleDefiniteMultiplicity )
3112 { 3253 {
3113 // InternalProblem.g:1224:4: (lv_multiplicity_3_0= ruleMultiplicity ) 3254 // InternalProblem.g:1272:4: (lv_multiplicity_3_0= ruleDefiniteMultiplicity )
3114 // InternalProblem.g:1225:5: lv_multiplicity_3_0= ruleMultiplicity 3255 // InternalProblem.g:1273:5: lv_multiplicity_3_0= ruleDefiniteMultiplicity
3115 { 3256 {
3116 3257
3117 newCompositeNode(grammarAccess.getTypeScopeAccess().getMultiplicityMultiplicityParserRuleCall_2_0()); 3258 newCompositeNode(grammarAccess.getTypeScopeAccess().getMultiplicityDefiniteMultiplicityParserRuleCall_2_0());
3118 3259
3119 pushFollow(FOLLOW_2); 3260 pushFollow(FOLLOW_2);
3120 lv_multiplicity_3_0=ruleMultiplicity(); 3261 lv_multiplicity_3_0=ruleDefiniteMultiplicity();
3121 3262
3122 state._fsp--; 3263 state._fsp--;
3123 3264
@@ -3129,7 +3270,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3129 current, 3270 current,
3130 "multiplicity", 3271 "multiplicity",
3131 lv_multiplicity_3_0, 3272 lv_multiplicity_3_0,
3132 "org.eclipse.viatra.solver.language.Problem.Multiplicity"); 3273 "org.eclipse.viatra.solver.language.Problem.DefiniteMultiplicity");
3133 afterParserOrEnumRuleCall(); 3274 afterParserOrEnumRuleCall();
3134 3275
3135 3276
@@ -3161,7 +3302,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3161 3302
3162 3303
3163 // $ANTLR start "entryRuleMultiplicity" 3304 // $ANTLR start "entryRuleMultiplicity"
3164 // InternalProblem.g:1246:1: entryRuleMultiplicity returns [EObject current=null] : iv_ruleMultiplicity= ruleMultiplicity EOF ; 3305 // InternalProblem.g:1294:1: entryRuleMultiplicity returns [EObject current=null] : iv_ruleMultiplicity= ruleMultiplicity EOF ;
3165 public final EObject entryRuleMultiplicity() throws RecognitionException { 3306 public final EObject entryRuleMultiplicity() throws RecognitionException {
3166 EObject current = null; 3307 EObject current = null;
3167 3308
@@ -3169,8 +3310,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3169 3310
3170 3311
3171 try { 3312 try {
3172 // InternalProblem.g:1246:53: (iv_ruleMultiplicity= ruleMultiplicity EOF ) 3313 // InternalProblem.g:1294:53: (iv_ruleMultiplicity= ruleMultiplicity EOF )
3173 // InternalProblem.g:1247:2: iv_ruleMultiplicity= ruleMultiplicity EOF 3314 // InternalProblem.g:1295:2: iv_ruleMultiplicity= ruleMultiplicity EOF
3174 { 3315 {
3175 newCompositeNode(grammarAccess.getMultiplicityRule()); 3316 newCompositeNode(grammarAccess.getMultiplicityRule());
3176 pushFollow(FOLLOW_1); 3317 pushFollow(FOLLOW_1);
@@ -3197,10 +3338,138 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3197 3338
3198 3339
3199 // $ANTLR start "ruleMultiplicity" 3340 // $ANTLR start "ruleMultiplicity"
3200 // InternalProblem.g:1253:1: ruleMultiplicity returns [EObject current=null] : (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity ) ; 3341 // InternalProblem.g:1301:1: ruleMultiplicity returns [EObject current=null] : (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity ) ;
3201 public final EObject ruleMultiplicity() throws RecognitionException { 3342 public final EObject ruleMultiplicity() throws RecognitionException {
3202 EObject current = null; 3343 EObject current = null;
3203 3344
3345 EObject this_UnboundedMultiplicity_0 = null;
3346
3347 EObject this_DefiniteMultiplicity_1 = null;
3348
3349
3350
3351 enterRule();
3352
3353 try {
3354 // InternalProblem.g:1307:2: ( (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity ) )
3355 // InternalProblem.g:1308:2: (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity )
3356 {
3357 // InternalProblem.g:1308:2: (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity )
3358 int alt32=2;
3359 int LA32_0 = input.LA(1);
3360
3361 if ( (LA32_0==EOF||LA32_0==24) ) {
3362 alt32=1;
3363 }
3364 else if ( (LA32_0==RULE_INT) ) {
3365 alt32=2;
3366 }
3367 else {
3368 NoViableAltException nvae =
3369 new NoViableAltException("", 32, 0, input);
3370
3371 throw nvae;
3372 }
3373 switch (alt32) {
3374 case 1 :
3375 // InternalProblem.g:1309:3: this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity
3376 {
3377
3378 newCompositeNode(grammarAccess.getMultiplicityAccess().getUnboundedMultiplicityParserRuleCall_0());
3379
3380 pushFollow(FOLLOW_2);
3381 this_UnboundedMultiplicity_0=ruleUnboundedMultiplicity();
3382
3383 state._fsp--;
3384
3385
3386 current = this_UnboundedMultiplicity_0;
3387 afterParserOrEnumRuleCall();
3388
3389
3390 }
3391 break;
3392 case 2 :
3393 // InternalProblem.g:1318:3: this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity
3394 {
3395
3396 newCompositeNode(grammarAccess.getMultiplicityAccess().getDefiniteMultiplicityParserRuleCall_1());
3397
3398 pushFollow(FOLLOW_2);
3399 this_DefiniteMultiplicity_1=ruleDefiniteMultiplicity();
3400
3401 state._fsp--;
3402
3403
3404 current = this_DefiniteMultiplicity_1;
3405 afterParserOrEnumRuleCall();
3406
3407
3408 }
3409 break;
3410
3411 }
3412
3413
3414 }
3415
3416
3417 leaveRule();
3418
3419 }
3420
3421 catch (RecognitionException re) {
3422 recover(input,re);
3423 appendSkippedTokens();
3424 }
3425 finally {
3426 }
3427 return current;
3428 }
3429 // $ANTLR end "ruleMultiplicity"
3430
3431
3432 // $ANTLR start "entryRuleDefiniteMultiplicity"
3433 // InternalProblem.g:1330:1: entryRuleDefiniteMultiplicity returns [EObject current=null] : iv_ruleDefiniteMultiplicity= ruleDefiniteMultiplicity EOF ;
3434 public final EObject entryRuleDefiniteMultiplicity() throws RecognitionException {
3435 EObject current = null;
3436
3437 EObject iv_ruleDefiniteMultiplicity = null;
3438
3439
3440 try {
3441 // InternalProblem.g:1330:61: (iv_ruleDefiniteMultiplicity= ruleDefiniteMultiplicity EOF )
3442 // InternalProblem.g:1331:2: iv_ruleDefiniteMultiplicity= ruleDefiniteMultiplicity EOF
3443 {
3444 newCompositeNode(grammarAccess.getDefiniteMultiplicityRule());
3445 pushFollow(FOLLOW_1);
3446 iv_ruleDefiniteMultiplicity=ruleDefiniteMultiplicity();
3447
3448 state._fsp--;
3449
3450 current =iv_ruleDefiniteMultiplicity;
3451 match(input,EOF,FOLLOW_2);
3452
3453 }
3454
3455 }
3456
3457 catch (RecognitionException re) {
3458 recover(input,re);
3459 appendSkippedTokens();
3460 }
3461 finally {
3462 }
3463 return current;
3464 }
3465 // $ANTLR end "entryRuleDefiniteMultiplicity"
3466
3467
3468 // $ANTLR start "ruleDefiniteMultiplicity"
3469 // InternalProblem.g:1337:1: ruleDefiniteMultiplicity returns [EObject current=null] : (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity ) ;
3470 public final EObject ruleDefiniteMultiplicity() throws RecognitionException {
3471 EObject current = null;
3472
3204 EObject this_RangeMultiplicity_0 = null; 3473 EObject this_RangeMultiplicity_0 = null;
3205 3474
3206 EObject this_ExactMultiplicity_1 = null; 3475 EObject this_ExactMultiplicity_1 = null;
@@ -3210,41 +3479,41 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3210 enterRule(); 3479 enterRule();
3211 3480
3212 try { 3481 try {
3213 // InternalProblem.g:1259:2: ( (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity ) ) 3482 // InternalProblem.g:1343:2: ( (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity ) )
3214 // InternalProblem.g:1260:2: (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity ) 3483 // InternalProblem.g:1344:2: (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity )
3215 { 3484 {
3216 // InternalProblem.g:1260:2: (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity ) 3485 // InternalProblem.g:1344:2: (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity )
3217 int alt30=2; 3486 int alt33=2;
3218 int LA30_0 = input.LA(1); 3487 int LA33_0 = input.LA(1);
3219 3488
3220 if ( (LA30_0==RULE_INT) ) { 3489 if ( (LA33_0==RULE_INT) ) {
3221 int LA30_1 = input.LA(2); 3490 int LA33_1 = input.LA(2);
3222 3491
3223 if ( (LA30_1==33) ) { 3492 if ( (LA33_1==37) ) {
3224 alt30=1; 3493 alt33=1;
3225 } 3494 }
3226 else if ( (LA30_1==EOF||(LA30_1>=15 && LA30_1<=17)) ) { 3495 else if ( (LA33_1==EOF||LA33_1==13||LA33_1==17||LA33_1==24) ) {
3227 alt30=2; 3496 alt33=2;
3228 } 3497 }
3229 else { 3498 else {
3230 NoViableAltException nvae = 3499 NoViableAltException nvae =
3231 new NoViableAltException("", 30, 1, input); 3500 new NoViableAltException("", 33, 1, input);
3232 3501
3233 throw nvae; 3502 throw nvae;
3234 } 3503 }
3235 } 3504 }
3236 else { 3505 else {
3237 NoViableAltException nvae = 3506 NoViableAltException nvae =
3238 new NoViableAltException("", 30, 0, input); 3507 new NoViableAltException("", 33, 0, input);
3239 3508
3240 throw nvae; 3509 throw nvae;
3241 } 3510 }
3242 switch (alt30) { 3511 switch (alt33) {
3243 case 1 : 3512 case 1 :
3244 // InternalProblem.g:1261:3: this_RangeMultiplicity_0= ruleRangeMultiplicity 3513 // InternalProblem.g:1345:3: this_RangeMultiplicity_0= ruleRangeMultiplicity
3245 { 3514 {
3246 3515
3247 newCompositeNode(grammarAccess.getMultiplicityAccess().getRangeMultiplicityParserRuleCall_0()); 3516 newCompositeNode(grammarAccess.getDefiniteMultiplicityAccess().getRangeMultiplicityParserRuleCall_0());
3248 3517
3249 pushFollow(FOLLOW_2); 3518 pushFollow(FOLLOW_2);
3250 this_RangeMultiplicity_0=ruleRangeMultiplicity(); 3519 this_RangeMultiplicity_0=ruleRangeMultiplicity();
@@ -3259,10 +3528,10 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3259 } 3528 }
3260 break; 3529 break;
3261 case 2 : 3530 case 2 :
3262 // InternalProblem.g:1270:3: this_ExactMultiplicity_1= ruleExactMultiplicity 3531 // InternalProblem.g:1354:3: this_ExactMultiplicity_1= ruleExactMultiplicity
3263 { 3532 {
3264 3533
3265 newCompositeNode(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); 3534 newCompositeNode(grammarAccess.getDefiniteMultiplicityAccess().getExactMultiplicityParserRuleCall_1());
3266 3535
3267 pushFollow(FOLLOW_2); 3536 pushFollow(FOLLOW_2);
3268 this_ExactMultiplicity_1=ruleExactMultiplicity(); 3537 this_ExactMultiplicity_1=ruleExactMultiplicity();
@@ -3295,11 +3564,84 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3295 } 3564 }
3296 return current; 3565 return current;
3297 } 3566 }
3298 // $ANTLR end "ruleMultiplicity" 3567 // $ANTLR end "ruleDefiniteMultiplicity"
3568
3569
3570 // $ANTLR start "entryRuleUnboundedMultiplicity"
3571 // InternalProblem.g:1366:1: entryRuleUnboundedMultiplicity returns [EObject current=null] : iv_ruleUnboundedMultiplicity= ruleUnboundedMultiplicity EOF ;
3572 public final EObject entryRuleUnboundedMultiplicity() throws RecognitionException {
3573 EObject current = null;
3574
3575 EObject iv_ruleUnboundedMultiplicity = null;
3576
3577
3578 try {
3579 // InternalProblem.g:1366:62: (iv_ruleUnboundedMultiplicity= ruleUnboundedMultiplicity EOF )
3580 // InternalProblem.g:1367:2: iv_ruleUnboundedMultiplicity= ruleUnboundedMultiplicity EOF
3581 {
3582 newCompositeNode(grammarAccess.getUnboundedMultiplicityRule());
3583 pushFollow(FOLLOW_1);
3584 iv_ruleUnboundedMultiplicity=ruleUnboundedMultiplicity();
3585
3586 state._fsp--;
3587
3588 current =iv_ruleUnboundedMultiplicity;
3589 match(input,EOF,FOLLOW_2);
3590
3591 }
3592
3593 }
3594
3595 catch (RecognitionException re) {
3596 recover(input,re);
3597 appendSkippedTokens();
3598 }
3599 finally {
3600 }
3601 return current;
3602 }
3603 // $ANTLR end "entryRuleUnboundedMultiplicity"
3604
3605
3606 // $ANTLR start "ruleUnboundedMultiplicity"
3607 // InternalProblem.g:1373:1: ruleUnboundedMultiplicity returns [EObject current=null] : () ;
3608 public final EObject ruleUnboundedMultiplicity() throws RecognitionException {
3609 EObject current = null;
3610
3611
3612 enterRule();
3613
3614 try {
3615 // InternalProblem.g:1379:2: ( () )
3616 // InternalProblem.g:1380:2: ()
3617 {
3618 // InternalProblem.g:1380:2: ()
3619 // InternalProblem.g:1381:3:
3620 {
3621
3622 current = forceCreateModelElement(
3623 grammarAccess.getUnboundedMultiplicityAccess().getUnboundedMultiplicityAction(),
3624 current);
3625
3626
3627 }
3628
3629
3630 }
3631
3632
3633 leaveRule();
3634
3635 }
3636 finally {
3637 }
3638 return current;
3639 }
3640 // $ANTLR end "ruleUnboundedMultiplicity"
3299 3641
3300 3642
3301 // $ANTLR start "entryRuleRangeMultiplicity" 3643 // $ANTLR start "entryRuleRangeMultiplicity"
3302 // InternalProblem.g:1282:1: entryRuleRangeMultiplicity returns [EObject current=null] : iv_ruleRangeMultiplicity= ruleRangeMultiplicity EOF ; 3644 // InternalProblem.g:1390:1: entryRuleRangeMultiplicity returns [EObject current=null] : iv_ruleRangeMultiplicity= ruleRangeMultiplicity EOF ;
3303 public final EObject entryRuleRangeMultiplicity() throws RecognitionException { 3645 public final EObject entryRuleRangeMultiplicity() throws RecognitionException {
3304 EObject current = null; 3646 EObject current = null;
3305 3647
@@ -3307,8 +3649,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3307 3649
3308 3650
3309 try { 3651 try {
3310 // InternalProblem.g:1282:58: (iv_ruleRangeMultiplicity= ruleRangeMultiplicity EOF ) 3652 // InternalProblem.g:1390:58: (iv_ruleRangeMultiplicity= ruleRangeMultiplicity EOF )
3311 // InternalProblem.g:1283:2: iv_ruleRangeMultiplicity= ruleRangeMultiplicity EOF 3653 // InternalProblem.g:1391:2: iv_ruleRangeMultiplicity= ruleRangeMultiplicity EOF
3312 { 3654 {
3313 newCompositeNode(grammarAccess.getRangeMultiplicityRule()); 3655 newCompositeNode(grammarAccess.getRangeMultiplicityRule());
3314 pushFollow(FOLLOW_1); 3656 pushFollow(FOLLOW_1);
@@ -3335,7 +3677,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3335 3677
3336 3678
3337 // $ANTLR start "ruleRangeMultiplicity" 3679 // $ANTLR start "ruleRangeMultiplicity"
3338 // InternalProblem.g:1289:1: ruleRangeMultiplicity returns [EObject current=null] : ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) ) ; 3680 // InternalProblem.g:1397:1: ruleRangeMultiplicity returns [EObject current=null] : ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) ) ;
3339 public final EObject ruleRangeMultiplicity() throws RecognitionException { 3681 public final EObject ruleRangeMultiplicity() throws RecognitionException {
3340 EObject current = null; 3682 EObject current = null;
3341 3683
@@ -3348,19 +3690,19 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3348 enterRule(); 3690 enterRule();
3349 3691
3350 try { 3692 try {
3351 // InternalProblem.g:1295:2: ( ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) ) ) 3693 // InternalProblem.g:1403:2: ( ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) ) )
3352 // InternalProblem.g:1296:2: ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) ) 3694 // InternalProblem.g:1404:2: ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) )
3353 { 3695 {
3354 // InternalProblem.g:1296:2: ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) ) 3696 // InternalProblem.g:1404:2: ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) )
3355 // InternalProblem.g:1297:3: ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) 3697 // InternalProblem.g:1405:3: ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) )
3356 { 3698 {
3357 // InternalProblem.g:1297:3: ( (lv_lowerBound_0_0= RULE_INT ) ) 3699 // InternalProblem.g:1405:3: ( (lv_lowerBound_0_0= RULE_INT ) )
3358 // InternalProblem.g:1298:4: (lv_lowerBound_0_0= RULE_INT ) 3700 // InternalProblem.g:1406:4: (lv_lowerBound_0_0= RULE_INT )
3359 { 3701 {
3360 // InternalProblem.g:1298:4: (lv_lowerBound_0_0= RULE_INT ) 3702 // InternalProblem.g:1406:4: (lv_lowerBound_0_0= RULE_INT )
3361 // InternalProblem.g:1299:5: lv_lowerBound_0_0= RULE_INT 3703 // InternalProblem.g:1407:5: lv_lowerBound_0_0= RULE_INT
3362 { 3704 {
3363 lv_lowerBound_0_0=(Token)match(input,RULE_INT,FOLLOW_29); 3705 lv_lowerBound_0_0=(Token)match(input,RULE_INT,FOLLOW_30);
3364 3706
3365 newLeafNode(lv_lowerBound_0_0, grammarAccess.getRangeMultiplicityAccess().getLowerBoundINTTerminalRuleCall_0_0()); 3707 newLeafNode(lv_lowerBound_0_0, grammarAccess.getRangeMultiplicityAccess().getLowerBoundINTTerminalRuleCall_0_0());
3366 3708
@@ -3380,15 +3722,15 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3380 3722
3381 } 3723 }
3382 3724
3383 otherlv_1=(Token)match(input,33,FOLLOW_30); 3725 otherlv_1=(Token)match(input,37,FOLLOW_31);
3384 3726
3385 newLeafNode(otherlv_1, grammarAccess.getRangeMultiplicityAccess().getFullStopFullStopKeyword_1()); 3727 newLeafNode(otherlv_1, grammarAccess.getRangeMultiplicityAccess().getFullStopFullStopKeyword_1());
3386 3728
3387 // InternalProblem.g:1319:3: ( (lv_upperBound_2_0= ruleUpperBound ) ) 3729 // InternalProblem.g:1427:3: ( (lv_upperBound_2_0= ruleUpperBound ) )
3388 // InternalProblem.g:1320:4: (lv_upperBound_2_0= ruleUpperBound ) 3730 // InternalProblem.g:1428:4: (lv_upperBound_2_0= ruleUpperBound )
3389 { 3731 {
3390 // InternalProblem.g:1320:4: (lv_upperBound_2_0= ruleUpperBound ) 3732 // InternalProblem.g:1428:4: (lv_upperBound_2_0= ruleUpperBound )
3391 // InternalProblem.g:1321:5: lv_upperBound_2_0= ruleUpperBound 3733 // InternalProblem.g:1429:5: lv_upperBound_2_0= ruleUpperBound
3392 { 3734 {
3393 3735
3394 newCompositeNode(grammarAccess.getRangeMultiplicityAccess().getUpperBoundUpperBoundParserRuleCall_2_0()); 3736 newCompositeNode(grammarAccess.getRangeMultiplicityAccess().getUpperBoundUpperBoundParserRuleCall_2_0());
@@ -3438,7 +3780,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3438 3780
3439 3781
3440 // $ANTLR start "entryRuleExactMultiplicity" 3782 // $ANTLR start "entryRuleExactMultiplicity"
3441 // InternalProblem.g:1342:1: entryRuleExactMultiplicity returns [EObject current=null] : iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ; 3783 // InternalProblem.g:1450:1: entryRuleExactMultiplicity returns [EObject current=null] : iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ;
3442 public final EObject entryRuleExactMultiplicity() throws RecognitionException { 3784 public final EObject entryRuleExactMultiplicity() throws RecognitionException {
3443 EObject current = null; 3785 EObject current = null;
3444 3786
@@ -3446,8 +3788,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3446 3788
3447 3789
3448 try { 3790 try {
3449 // InternalProblem.g:1342:58: (iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ) 3791 // InternalProblem.g:1450:58: (iv_ruleExactMultiplicity= ruleExactMultiplicity EOF )
3450 // InternalProblem.g:1343:2: iv_ruleExactMultiplicity= ruleExactMultiplicity EOF 3792 // InternalProblem.g:1451:2: iv_ruleExactMultiplicity= ruleExactMultiplicity EOF
3451 { 3793 {
3452 newCompositeNode(grammarAccess.getExactMultiplicityRule()); 3794 newCompositeNode(grammarAccess.getExactMultiplicityRule());
3453 pushFollow(FOLLOW_1); 3795 pushFollow(FOLLOW_1);
@@ -3474,7 +3816,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3474 3816
3475 3817
3476 // $ANTLR start "ruleExactMultiplicity" 3818 // $ANTLR start "ruleExactMultiplicity"
3477 // InternalProblem.g:1349:1: ruleExactMultiplicity returns [EObject current=null] : ( (lv_exactValue_0_0= RULE_INT ) ) ; 3819 // InternalProblem.g:1457:1: ruleExactMultiplicity returns [EObject current=null] : ( (lv_exactValue_0_0= RULE_INT ) ) ;
3478 public final EObject ruleExactMultiplicity() throws RecognitionException { 3820 public final EObject ruleExactMultiplicity() throws RecognitionException {
3479 EObject current = null; 3821 EObject current = null;
3480 3822
@@ -3484,14 +3826,14 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3484 enterRule(); 3826 enterRule();
3485 3827
3486 try { 3828 try {
3487 // InternalProblem.g:1355:2: ( ( (lv_exactValue_0_0= RULE_INT ) ) ) 3829 // InternalProblem.g:1463:2: ( ( (lv_exactValue_0_0= RULE_INT ) ) )
3488 // InternalProblem.g:1356:2: ( (lv_exactValue_0_0= RULE_INT ) ) 3830 // InternalProblem.g:1464:2: ( (lv_exactValue_0_0= RULE_INT ) )
3489 { 3831 {
3490 // InternalProblem.g:1356:2: ( (lv_exactValue_0_0= RULE_INT ) ) 3832 // InternalProblem.g:1464:2: ( (lv_exactValue_0_0= RULE_INT ) )
3491 // InternalProblem.g:1357:3: (lv_exactValue_0_0= RULE_INT ) 3833 // InternalProblem.g:1465:3: (lv_exactValue_0_0= RULE_INT )
3492 { 3834 {
3493 // InternalProblem.g:1357:3: (lv_exactValue_0_0= RULE_INT ) 3835 // InternalProblem.g:1465:3: (lv_exactValue_0_0= RULE_INT )
3494 // InternalProblem.g:1358:4: lv_exactValue_0_0= RULE_INT 3836 // InternalProblem.g:1466:4: lv_exactValue_0_0= RULE_INT
3495 { 3837 {
3496 lv_exactValue_0_0=(Token)match(input,RULE_INT,FOLLOW_2); 3838 lv_exactValue_0_0=(Token)match(input,RULE_INT,FOLLOW_2);
3497 3839
@@ -3533,7 +3875,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3533 3875
3534 3876
3535 // $ANTLR start "entryRuleUpperBound" 3877 // $ANTLR start "entryRuleUpperBound"
3536 // InternalProblem.g:1377:1: entryRuleUpperBound returns [String current=null] : iv_ruleUpperBound= ruleUpperBound EOF ; 3878 // InternalProblem.g:1485:1: entryRuleUpperBound returns [String current=null] : iv_ruleUpperBound= ruleUpperBound EOF ;
3537 public final String entryRuleUpperBound() throws RecognitionException { 3879 public final String entryRuleUpperBound() throws RecognitionException {
3538 String current = null; 3880 String current = null;
3539 3881
@@ -3541,8 +3883,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3541 3883
3542 3884
3543 try { 3885 try {
3544 // InternalProblem.g:1377:50: (iv_ruleUpperBound= ruleUpperBound EOF ) 3886 // InternalProblem.g:1485:50: (iv_ruleUpperBound= ruleUpperBound EOF )
3545 // InternalProblem.g:1378:2: iv_ruleUpperBound= ruleUpperBound EOF 3887 // InternalProblem.g:1486:2: iv_ruleUpperBound= ruleUpperBound EOF
3546 { 3888 {
3547 newCompositeNode(grammarAccess.getUpperBoundRule()); 3889 newCompositeNode(grammarAccess.getUpperBoundRule());
3548 pushFollow(FOLLOW_1); 3890 pushFollow(FOLLOW_1);
@@ -3569,7 +3911,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3569 3911
3570 3912
3571 // $ANTLR start "ruleUpperBound" 3913 // $ANTLR start "ruleUpperBound"
3572 // InternalProblem.g:1384:1: ruleUpperBound returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | kw= '*' ) ; 3914 // InternalProblem.g:1492:1: ruleUpperBound returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | kw= '*' ) ;
3573 public final AntlrDatatypeRuleToken ruleUpperBound() throws RecognitionException { 3915 public final AntlrDatatypeRuleToken ruleUpperBound() throws RecognitionException {
3574 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); 3916 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
3575 3917
@@ -3580,28 +3922,28 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3580 enterRule(); 3922 enterRule();
3581 3923
3582 try { 3924 try {
3583 // InternalProblem.g:1390:2: ( (this_INT_0= RULE_INT | kw= '*' ) ) 3925 // InternalProblem.g:1498:2: ( (this_INT_0= RULE_INT | kw= '*' ) )
3584 // InternalProblem.g:1391:2: (this_INT_0= RULE_INT | kw= '*' ) 3926 // InternalProblem.g:1499:2: (this_INT_0= RULE_INT | kw= '*' )
3585 { 3927 {
3586 // InternalProblem.g:1391:2: (this_INT_0= RULE_INT | kw= '*' ) 3928 // InternalProblem.g:1499:2: (this_INT_0= RULE_INT | kw= '*' )
3587 int alt31=2; 3929 int alt34=2;
3588 int LA31_0 = input.LA(1); 3930 int LA34_0 = input.LA(1);
3589 3931
3590 if ( (LA31_0==RULE_INT) ) { 3932 if ( (LA34_0==RULE_INT) ) {
3591 alt31=1; 3933 alt34=1;
3592 } 3934 }
3593 else if ( (LA31_0==34) ) { 3935 else if ( (LA34_0==38) ) {
3594 alt31=2; 3936 alt34=2;
3595 } 3937 }
3596 else { 3938 else {
3597 NoViableAltException nvae = 3939 NoViableAltException nvae =
3598 new NoViableAltException("", 31, 0, input); 3940 new NoViableAltException("", 34, 0, input);
3599 3941
3600 throw nvae; 3942 throw nvae;
3601 } 3943 }
3602 switch (alt31) { 3944 switch (alt34) {
3603 case 1 : 3945 case 1 :
3604 // InternalProblem.g:1392:3: this_INT_0= RULE_INT 3946 // InternalProblem.g:1500:3: this_INT_0= RULE_INT
3605 { 3947 {
3606 this_INT_0=(Token)match(input,RULE_INT,FOLLOW_2); 3948 this_INT_0=(Token)match(input,RULE_INT,FOLLOW_2);
3607 3949
@@ -3614,9 +3956,9 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3614 } 3956 }
3615 break; 3957 break;
3616 case 2 : 3958 case 2 :
3617 // InternalProblem.g:1400:3: kw= '*' 3959 // InternalProblem.g:1508:3: kw= '*'
3618 { 3960 {
3619 kw=(Token)match(input,34,FOLLOW_2); 3961 kw=(Token)match(input,38,FOLLOW_2);
3620 3962
3621 current.merge(kw); 3963 current.merge(kw);
3622 newLeafNode(kw, grammarAccess.getUpperBoundAccess().getAsteriskKeyword_1()); 3964 newLeafNode(kw, grammarAccess.getUpperBoundAccess().getAsteriskKeyword_1());
@@ -3647,7 +3989,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3647 3989
3648 3990
3649 // $ANTLR start "entryRuleQualifiedName" 3991 // $ANTLR start "entryRuleQualifiedName"
3650 // InternalProblem.g:1409:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ; 3992 // InternalProblem.g:1517:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ;
3651 public final String entryRuleQualifiedName() throws RecognitionException { 3993 public final String entryRuleQualifiedName() throws RecognitionException {
3652 String current = null; 3994 String current = null;
3653 3995
@@ -3655,8 +3997,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3655 3997
3656 3998
3657 try { 3999 try {
3658 // InternalProblem.g:1409:53: (iv_ruleQualifiedName= ruleQualifiedName EOF ) 4000 // InternalProblem.g:1517:53: (iv_ruleQualifiedName= ruleQualifiedName EOF )
3659 // InternalProblem.g:1410:2: iv_ruleQualifiedName= ruleQualifiedName EOF 4001 // InternalProblem.g:1518:2: iv_ruleQualifiedName= ruleQualifiedName EOF
3660 { 4002 {
3661 newCompositeNode(grammarAccess.getQualifiedNameRule()); 4003 newCompositeNode(grammarAccess.getQualifiedNameRule());
3662 pushFollow(FOLLOW_1); 4004 pushFollow(FOLLOW_1);
@@ -3683,67 +4025,143 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3683 4025
3684 4026
3685 // $ANTLR start "ruleQualifiedName" 4027 // $ANTLR start "ruleQualifiedName"
3686 // InternalProblem.g:1416:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID (kw= '::' this_ID_2= RULE_ID )* ) ; 4028 // InternalProblem.g:1524:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_QUOTED_ID_0= RULE_QUOTED_ID | (this_ID_1= RULE_ID (kw= ':' this_ID_3= RULE_ID )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? ) ) ;
3687 public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException { 4029 public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException {
3688 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); 4030 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
3689 4031
3690 Token this_ID_0=null; 4032 Token this_QUOTED_ID_0=null;
4033 Token this_ID_1=null;
3691 Token kw=null; 4034 Token kw=null;
3692 Token this_ID_2=null; 4035 Token this_ID_3=null;
4036 Token this_QUOTED_ID_5=null;
3693 4037
3694 4038
3695 enterRule(); 4039 enterRule();
3696 4040
3697 try { 4041 try {
3698 // InternalProblem.g:1422:2: ( (this_ID_0= RULE_ID (kw= '::' this_ID_2= RULE_ID )* ) ) 4042 // InternalProblem.g:1530:2: ( (this_QUOTED_ID_0= RULE_QUOTED_ID | (this_ID_1= RULE_ID (kw= ':' this_ID_3= RULE_ID )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? ) ) )
3699 // InternalProblem.g:1423:2: (this_ID_0= RULE_ID (kw= '::' this_ID_2= RULE_ID )* ) 4043 // InternalProblem.g:1531:2: (this_QUOTED_ID_0= RULE_QUOTED_ID | (this_ID_1= RULE_ID (kw= ':' this_ID_3= RULE_ID )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? ) )
3700 { 4044 {
3701 // InternalProblem.g:1423:2: (this_ID_0= RULE_ID (kw= '::' this_ID_2= RULE_ID )* ) 4045 // InternalProblem.g:1531:2: (this_QUOTED_ID_0= RULE_QUOTED_ID | (this_ID_1= RULE_ID (kw= ':' this_ID_3= RULE_ID )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? ) )
3702 // InternalProblem.g:1424:3: this_ID_0= RULE_ID (kw= '::' this_ID_2= RULE_ID )* 4046 int alt37=2;
3703 { 4047 int LA37_0 = input.LA(1);
3704 this_ID_0=(Token)match(input,RULE_ID,FOLLOW_31);
3705 4048
3706 current.merge(this_ID_0); 4049 if ( (LA37_0==RULE_QUOTED_ID) ) {
3707 4050 alt37=1;
4051 }
4052 else if ( (LA37_0==RULE_ID) ) {
4053 alt37=2;
4054 }
4055 else {
4056 NoViableAltException nvae =
4057 new NoViableAltException("", 37, 0, input);
3708 4058
3709 newLeafNode(this_ID_0, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0()); 4059 throw nvae;
3710 4060 }
3711 // InternalProblem.g:1431:3: (kw= '::' this_ID_2= RULE_ID )* 4061 switch (alt37) {
3712 loop32: 4062 case 1 :
3713 do { 4063 // InternalProblem.g:1532:3: this_QUOTED_ID_0= RULE_QUOTED_ID
3714 int alt32=2; 4064 {
3715 int LA32_0 = input.LA(1); 4065 this_QUOTED_ID_0=(Token)match(input,RULE_QUOTED_ID,FOLLOW_2);
3716 4066
3717 if ( (LA32_0==35) ) { 4067 current.merge(this_QUOTED_ID_0);
3718 alt32=1; 4068
3719 }
3720 4069
4070 newLeafNode(this_QUOTED_ID_0, grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_0());
4071
3721 4072
3722 switch (alt32) { 4073 }
3723 case 1 : 4074 break;
3724 // InternalProblem.g:1432:4: kw= '::' this_ID_2= RULE_ID 4075 case 2 :
3725 { 4076 // InternalProblem.g:1540:3: (this_ID_1= RULE_ID (kw= ':' this_ID_3= RULE_ID )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? )
3726 kw=(Token)match(input,35,FOLLOW_5); 4077 {
4078 // InternalProblem.g:1540:3: (this_ID_1= RULE_ID (kw= ':' this_ID_3= RULE_ID )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? )
4079 // InternalProblem.g:1541:4: this_ID_1= RULE_ID (kw= ':' this_ID_3= RULE_ID )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )?
4080 {
4081 this_ID_1=(Token)match(input,RULE_ID,FOLLOW_32);
3727 4082
3728 current.merge(kw); 4083 current.merge(this_ID_1);
3729 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getColonColonKeyword_1_0()); 4084
3730
3731 this_ID_2=(Token)match(input,RULE_ID,FOLLOW_31);
3732 4085
3733 current.merge(this_ID_2); 4086 newLeafNode(this_ID_1, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_0());
3734 4087
4088 // InternalProblem.g:1548:4: (kw= ':' this_ID_3= RULE_ID )*
4089 loop35:
4090 do {
4091 int alt35=2;
4092 int LA35_0 = input.LA(1);
3735 4093
3736 newLeafNode(this_ID_2, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1()); 4094 if ( (LA35_0==33) ) {
3737 4095 int LA35_1 = input.LA(2);
3738 4096
3739 } 4097 if ( (LA35_1==RULE_ID) ) {
3740 break; 4098 alt35=1;
4099 }
3741 4100
3742 default :
3743 break loop32;
3744 }
3745 } while (true);
3746 4101
4102 }
4103
4104
4105 switch (alt35) {
4106 case 1 :
4107 // InternalProblem.g:1549:5: kw= ':' this_ID_3= RULE_ID
4108 {
4109 kw=(Token)match(input,33,FOLLOW_3);
4110
4111 current.merge(kw);
4112 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getColonKeyword_1_1_0());
4113
4114 this_ID_3=(Token)match(input,RULE_ID,FOLLOW_32);
4115
4116 current.merge(this_ID_3);
4117
4118
4119 newLeafNode(this_ID_3, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1_1());
4120
4121
4122 }
4123 break;
4124
4125 default :
4126 break loop35;
4127 }
4128 } while (true);
4129
4130 // InternalProblem.g:1562:4: (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )?
4131 int alt36=2;
4132 int LA36_0 = input.LA(1);
4133
4134 if ( (LA36_0==33) ) {
4135 alt36=1;
4136 }
4137 switch (alt36) {
4138 case 1 :
4139 // InternalProblem.g:1563:5: kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID
4140 {
4141 kw=(Token)match(input,33,FOLLOW_33);
4142
4143 current.merge(kw);
4144 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getColonKeyword_1_2_0());
4145
4146 this_QUOTED_ID_5=(Token)match(input,RULE_QUOTED_ID,FOLLOW_2);
4147
4148 current.merge(this_QUOTED_ID_5);
4149
4150
4151 newLeafNode(this_QUOTED_ID_5, grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1_2_1());
4152
4153
4154 }
4155 break;
4156
4157 }
4158
4159
4160 }
4161
4162
4163 }
4164 break;
3747 4165
3748 } 4166 }
3749 4167
@@ -3767,7 +4185,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3767 4185
3768 4186
3769 // $ANTLR start "ruleLogicValue" 4187 // $ANTLR start "ruleLogicValue"
3770 // InternalProblem.g:1449:1: ruleLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) ) ; 4188 // InternalProblem.g:1581:1: ruleLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) ) ;
3771 public final Enumerator ruleLogicValue() throws RecognitionException { 4189 public final Enumerator ruleLogicValue() throws RecognitionException {
3772 Enumerator current = null; 4190 Enumerator current = null;
3773 4191
@@ -3779,42 +4197,42 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3779 enterRule(); 4197 enterRule();
3780 4198
3781 try { 4199 try {
3782 // InternalProblem.g:1455:2: ( ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) ) ) 4200 // InternalProblem.g:1587:2: ( ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) ) )
3783 // InternalProblem.g:1456:2: ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) ) 4201 // InternalProblem.g:1588:2: ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) )
3784 { 4202 {
3785 // InternalProblem.g:1456:2: ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) ) 4203 // InternalProblem.g:1588:2: ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) )
3786 int alt33=3; 4204 int alt38=3;
3787 switch ( input.LA(1) ) { 4205 switch ( input.LA(1) ) {
3788 case 36: 4206 case 39:
3789 { 4207 {
3790 alt33=1; 4208 alt38=1;
3791 } 4209 }
3792 break; 4210 break;
3793 case 37: 4211 case 40:
3794 { 4212 {
3795 alt33=2; 4213 alt38=2;
3796 } 4214 }
3797 break; 4215 break;
3798 case 38: 4216 case 41:
3799 { 4217 {
3800 alt33=3; 4218 alt38=3;
3801 } 4219 }
3802 break; 4220 break;
3803 default: 4221 default:
3804 NoViableAltException nvae = 4222 NoViableAltException nvae =
3805 new NoViableAltException("", 33, 0, input); 4223 new NoViableAltException("", 38, 0, input);
3806 4224
3807 throw nvae; 4225 throw nvae;
3808 } 4226 }
3809 4227
3810 switch (alt33) { 4228 switch (alt38) {
3811 case 1 : 4229 case 1 :
3812 // InternalProblem.g:1457:3: (enumLiteral_0= 'true' ) 4230 // InternalProblem.g:1589:3: (enumLiteral_0= 'true' )
3813 { 4231 {
3814 // InternalProblem.g:1457:3: (enumLiteral_0= 'true' ) 4232 // InternalProblem.g:1589:3: (enumLiteral_0= 'true' )
3815 // InternalProblem.g:1458:4: enumLiteral_0= 'true' 4233 // InternalProblem.g:1590:4: enumLiteral_0= 'true'
3816 { 4234 {
3817 enumLiteral_0=(Token)match(input,36,FOLLOW_2); 4235 enumLiteral_0=(Token)match(input,39,FOLLOW_2);
3818 4236
3819 current = grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); 4237 current = grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
3820 newLeafNode(enumLiteral_0, grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0()); 4238 newLeafNode(enumLiteral_0, grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0());
@@ -3826,12 +4244,12 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3826 } 4244 }
3827 break; 4245 break;
3828 case 2 : 4246 case 2 :
3829 // InternalProblem.g:1465:3: (enumLiteral_1= 'false' ) 4247 // InternalProblem.g:1597:3: (enumLiteral_1= 'false' )
3830 { 4248 {
3831 // InternalProblem.g:1465:3: (enumLiteral_1= 'false' ) 4249 // InternalProblem.g:1597:3: (enumLiteral_1= 'false' )
3832 // InternalProblem.g:1466:4: enumLiteral_1= 'false' 4250 // InternalProblem.g:1598:4: enumLiteral_1= 'false'
3833 { 4251 {
3834 enumLiteral_1=(Token)match(input,37,FOLLOW_2); 4252 enumLiteral_1=(Token)match(input,40,FOLLOW_2);
3835 4253
3836 current = grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); 4254 current = grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
3837 newLeafNode(enumLiteral_1, grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1()); 4255 newLeafNode(enumLiteral_1, grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1());
@@ -3843,12 +4261,12 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3843 } 4261 }
3844 break; 4262 break;
3845 case 3 : 4263 case 3 :
3846 // InternalProblem.g:1473:3: (enumLiteral_2= 'unknown' ) 4264 // InternalProblem.g:1605:3: (enumLiteral_2= 'unknown' )
3847 { 4265 {
3848 // InternalProblem.g:1473:3: (enumLiteral_2= 'unknown' ) 4266 // InternalProblem.g:1605:3: (enumLiteral_2= 'unknown' )
3849 // InternalProblem.g:1474:4: enumLiteral_2= 'unknown' 4267 // InternalProblem.g:1606:4: enumLiteral_2= 'unknown'
3850 { 4268 {
3851 enumLiteral_2=(Token)match(input,38,FOLLOW_2); 4269 enumLiteral_2=(Token)match(input,41,FOLLOW_2);
3852 4270
3853 current = grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); 4271 current = grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
3854 newLeafNode(enumLiteral_2, grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2()); 4272 newLeafNode(enumLiteral_2, grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2());
@@ -3882,7 +4300,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3882 4300
3883 4301
3884 // $ANTLR start "ruleShortLogicValue" 4302 // $ANTLR start "ruleShortLogicValue"
3885 // InternalProblem.g:1484:1: ruleShortLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) ) ; 4303 // InternalProblem.g:1616:1: ruleShortLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) ) ;
3886 public final Enumerator ruleShortLogicValue() throws RecognitionException { 4304 public final Enumerator ruleShortLogicValue() throws RecognitionException {
3887 Enumerator current = null; 4305 Enumerator current = null;
3888 4306
@@ -3893,33 +4311,33 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3893 enterRule(); 4311 enterRule();
3894 4312
3895 try { 4313 try {
3896 // InternalProblem.g:1490:2: ( ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) ) ) 4314 // InternalProblem.g:1622:2: ( ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) ) )
3897 // InternalProblem.g:1491:2: ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) ) 4315 // InternalProblem.g:1623:2: ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) )
3898 { 4316 {
3899 // InternalProblem.g:1491:2: ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) ) 4317 // InternalProblem.g:1623:2: ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) )
3900 int alt34=2; 4318 int alt39=2;
3901 int LA34_0 = input.LA(1); 4319 int LA39_0 = input.LA(1);
3902 4320
3903 if ( (LA34_0==27) ) { 4321 if ( (LA39_0==31) ) {
3904 alt34=1; 4322 alt39=1;
3905 } 4323 }
3906 else if ( (LA34_0==39) ) { 4324 else if ( (LA39_0==42) ) {
3907 alt34=2; 4325 alt39=2;
3908 } 4326 }
3909 else { 4327 else {
3910 NoViableAltException nvae = 4328 NoViableAltException nvae =
3911 new NoViableAltException("", 34, 0, input); 4329 new NoViableAltException("", 39, 0, input);
3912 4330
3913 throw nvae; 4331 throw nvae;
3914 } 4332 }
3915 switch (alt34) { 4333 switch (alt39) {
3916 case 1 : 4334 case 1 :
3917 // InternalProblem.g:1492:3: (enumLiteral_0= '!' ) 4335 // InternalProblem.g:1624:3: (enumLiteral_0= '!' )
3918 { 4336 {
3919 // InternalProblem.g:1492:3: (enumLiteral_0= '!' ) 4337 // InternalProblem.g:1624:3: (enumLiteral_0= '!' )
3920 // InternalProblem.g:1493:4: enumLiteral_0= '!' 4338 // InternalProblem.g:1625:4: enumLiteral_0= '!'
3921 { 4339 {
3922 enumLiteral_0=(Token)match(input,27,FOLLOW_2); 4340 enumLiteral_0=(Token)match(input,31,FOLLOW_2);
3923 4341
3924 current = grammarAccess.getShortLogicValueAccess().getFALSEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); 4342 current = grammarAccess.getShortLogicValueAccess().getFALSEEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
3925 newLeafNode(enumLiteral_0, grammarAccess.getShortLogicValueAccess().getFALSEEnumLiteralDeclaration_0()); 4343 newLeafNode(enumLiteral_0, grammarAccess.getShortLogicValueAccess().getFALSEEnumLiteralDeclaration_0());
@@ -3931,12 +4349,12 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3931 } 4349 }
3932 break; 4350 break;
3933 case 2 : 4351 case 2 :
3934 // InternalProblem.g:1500:3: (enumLiteral_1= '?' ) 4352 // InternalProblem.g:1632:3: (enumLiteral_1= '?' )
3935 { 4353 {
3936 // InternalProblem.g:1500:3: (enumLiteral_1= '?' ) 4354 // InternalProblem.g:1632:3: (enumLiteral_1= '?' )
3937 // InternalProblem.g:1501:4: enumLiteral_1= '?' 4355 // InternalProblem.g:1633:4: enumLiteral_1= '?'
3938 { 4356 {
3939 enumLiteral_1=(Token)match(input,39,FOLLOW_2); 4357 enumLiteral_1=(Token)match(input,42,FOLLOW_2);
3940 4358
3941 current = grammarAccess.getShortLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); 4359 current = grammarAccess.getShortLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
3942 newLeafNode(enumLiteral_1, grammarAccess.getShortLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_1()); 4360 newLeafNode(enumLiteral_1, grammarAccess.getShortLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_1());
@@ -3971,28 +4389,34 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3971 // Delegated rules 4389 // Delegated rules
3972 4390
3973 4391
3974 protected DFA27 dfa27 = new DFA27(this); 4392 protected DFA29 dfa29 = new DFA29(this);
3975 static final String dfa_1s = "\17\uffff"; 4393 static final String dfa_1s = "\25\uffff";
3976 static final String dfa_2s = "\1\4\1\27\1\uffff\2\4\1\27\1\17\1\21\2\4\1\uffff\2\17\1\4\1\17"; 4394 static final String dfa_2s = "\1\4\2\34\1\uffff\2\4\2\21\1\15\2\34\2\4\1\uffff\4\21\1\4\2\21";
3977 static final String dfa_3s = "\1\47\1\43\1\uffff\1\4\1\30\2\43\1\35\2\4\1\uffff\2\43\1\4\1\43"; 4395 static final String dfa_3s = "\1\52\1\34\1\41\1\uffff\1\35\1\6\1\35\2\41\1\34\1\41\2\6\1\uffff\1\35\1\41\1\35\1\41\1\6\1\35\1\41";
3978 static final String dfa_4s = "\2\uffff\1\2\7\uffff\1\1\4\uffff"; 4396 static final String dfa_4s = "\3\uffff\1\2\11\uffff\1\1\7\uffff";
3979 static final String dfa_5s = "\17\uffff}>"; 4397 static final String dfa_5s = "\25\uffff}>";
3980 static final String[] dfa_6s = { 4398 static final String[] dfa_6s = {
3981 "\1\1\26\uffff\1\2\13\uffff\1\2", 4399 "\1\2\1\uffff\1\1\30\uffff\1\3\12\uffff\1\3",
3982 "\1\4\13\uffff\1\3", 4400 "\1\4",
4401 "\1\4\4\uffff\1\5",
3983 "", 4402 "",
3984 "\1\5", 4403 "\1\7\1\uffff\1\6\26\uffff\1\10",
3985 "\1\6\23\uffff\1\7", 4404 "\1\12\1\uffff\1\11",
3986 "\1\4\13\uffff\1\3", 4405 "\1\13\13\uffff\1\10",
3987 "\1\11\10\uffff\1\7\12\uffff\1\10", 4406 "\1\13\13\uffff\1\10\3\uffff\1\14",
3988 "\1\2\13\uffff\1\12", 4407 "\1\3\23\uffff\1\15",
3989 "\1\13", 4408 "\1\4",
3990 "\1\14", 4409 "\1\4\4\uffff\1\5",
4410 "\1\17\1\uffff\1\16",
4411 "\1\21\1\uffff\1\20",
3991 "", 4412 "",
3992 "\1\11\10\uffff\1\7\12\uffff\1\10", 4413 "\1\13\13\uffff\1\10",
3993 "\1\11\10\uffff\1\7\12\uffff\1\15", 4414 "\1\13\13\uffff\1\10\3\uffff\1\22",
3994 "\1\16", 4415 "\1\13\13\uffff\1\10",
3995 "\1\11\10\uffff\1\7\12\uffff\1\15" 4416 "\1\13\13\uffff\1\10\3\uffff\1\14",
4417 "\1\24\1\uffff\1\23",
4418 "\1\13\13\uffff\1\10",
4419 "\1\13\13\uffff\1\10\3\uffff\1\22"
3996 }; 4420 };
3997 4421
3998 static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); 4422 static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s);
@@ -4002,11 +4426,11 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
4002 static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s); 4426 static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s);
4003 static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s); 4427 static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s);
4004 4428
4005 class DFA27 extends DFA { 4429 class DFA29 extends DFA {
4006 4430
4007 public DFA27(BaseRecognizer recognizer) { 4431 public DFA29(BaseRecognizer recognizer) {
4008 this.recognizer = recognizer; 4432 this.recognizer = recognizer;
4009 this.decisionNumber = 27; 4433 this.decisionNumber = 29;
4010 this.eot = dfa_1; 4434 this.eot = dfa_1;
4011 this.eof = dfa_1; 4435 this.eof = dfa_1;
4012 this.min = dfa_2; 4436 this.min = dfa_2;
@@ -4016,41 +4440,43 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
4016 this.transition = dfa_6; 4440 this.transition = dfa_6;
4017 } 4441 }
4018 public String getDescription() { 4442 public String getDescription() {
4019 return "918:3: ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) )"; 4443 return "966:3: ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) )";
4020 } 4444 }
4021 } 4445 }
4022 4446
4023 4447
4024 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); 4448 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L});
4025 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); 4449 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
4026 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000008048601812L}); 4450 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000000000010L});
4027 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000001000L}); 4451 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000002000L});
4028 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000000010L}); 4452 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x000004048C00C052L});
4029 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x00000000000EA000L}); 4453 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000008000L});
4030 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000004010L}); 4454 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000052000L});
4031 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000028000L}); 4455 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000000050L});
4032 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000010010L}); 4456 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000062000L});
4033 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000018000L}); 4457 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000700000L});
4034 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x00000000000C0000L}); 4458 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000780000L});
4035 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000004000L}); 4459 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000800010L});
4036 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000000020L}); 4460 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000000020L});
4037 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000010000L}); 4461 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000001000000L});
4038 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000100002L}); 4462 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000002000002L});
4039 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000000400010L}); 4463 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000008000010L});
4040 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000800000L}); 4464 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000010000000L});
4041 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000001000010L}); 4465 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000020000010L});
4042 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000001008000L}); 4466 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000020020000L});
4043 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000002020000L}); 4467 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000040002000L});
4044 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000008000010L}); 4468 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000080000050L});
4045 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000004020000L}); 4469 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000000082000L});
4046 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000000008002L}); 4470 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000000020002L});
4047 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000010800000L}); 4471 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000110000000L});
4048 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000020000000L}); 4472 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000020000050L});
4049 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000007000000000L}); 4473 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000200000000L});
4050 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000000020000L}); 4474 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000038000000000L});
4051 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000180000000L}); 4475 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000000022000L});
4052 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000200000000L}); 4476 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000001800000000L});
4053 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000400000020L}); 4477 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000002000000000L});
4054 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000800000002L}); 4478 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000004000000020L});
4479 public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000200000002L});
4480 public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000000000040L});
4055 4481
4056} \ No newline at end of file 4482} \ No newline at end of file
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/serializer/ProblemSemanticSequencer.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/serializer/ProblemSemanticSequencer.java
index a857b997..336d0867 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/serializer/ProblemSemanticSequencer.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/serializer/ProblemSemanticSequencer.java
@@ -7,6 +7,7 @@ import com.google.inject.Inject;
7import java.util.Set; 7import java.util.Set;
8import org.eclipse.emf.ecore.EObject; 8import org.eclipse.emf.ecore.EObject;
9import org.eclipse.emf.ecore.EPackage; 9import org.eclipse.emf.ecore.EPackage;
10import org.eclipse.viatra.solver.language.model.problem.Argument;
10import org.eclipse.viatra.solver.language.model.problem.Assertion; 11import org.eclipse.viatra.solver.language.model.problem.Assertion;
11import org.eclipse.viatra.solver.language.model.problem.Atom; 12import org.eclipse.viatra.solver.language.model.problem.Atom;
12import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration; 13import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration;
@@ -20,6 +21,7 @@ import org.eclipse.viatra.solver.language.model.problem.RangeMultiplicity;
20import org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration; 21import org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration;
21import org.eclipse.viatra.solver.language.model.problem.ScopeDeclaration; 22import org.eclipse.viatra.solver.language.model.problem.ScopeDeclaration;
22import org.eclipse.viatra.solver.language.model.problem.TypeScope; 23import org.eclipse.viatra.solver.language.model.problem.TypeScope;
24import org.eclipse.viatra.solver.language.model.problem.UnboundedMultiplicity;
23import org.eclipse.viatra.solver.language.services.ProblemGrammarAccess; 25import org.eclipse.viatra.solver.language.services.ProblemGrammarAccess;
24import org.eclipse.xtext.Action; 26import org.eclipse.xtext.Action;
25import org.eclipse.xtext.Parameter; 27import org.eclipse.xtext.Parameter;
@@ -43,6 +45,9 @@ public class ProblemSemanticSequencer extends AbstractDelegatingSemanticSequence
43 Set<Parameter> parameters = context.getEnabledBooleanParameters(); 45 Set<Parameter> parameters = context.getEnabledBooleanParameters();
44 if (epackage == ProblemPackage.eINSTANCE) 46 if (epackage == ProblemPackage.eINSTANCE)
45 switch (semanticObject.eClass().getClassifierID()) { 47 switch (semanticObject.eClass().getClassifierID()) {
48 case ProblemPackage.ARGUMENT:
49 sequence_Argument(context, (Argument) semanticObject);
50 return;
46 case ProblemPackage.ASSERTION: 51 case ProblemPackage.ASSERTION:
47 sequence_Assertion(context, (Assertion) semanticObject); 52 sequence_Assertion(context, (Assertion) semanticObject);
48 return; 53 return;
@@ -82,6 +87,9 @@ public class ProblemSemanticSequencer extends AbstractDelegatingSemanticSequence
82 case ProblemPackage.TYPE_SCOPE: 87 case ProblemPackage.TYPE_SCOPE:
83 sequence_TypeScope(context, (TypeScope) semanticObject); 88 sequence_TypeScope(context, (TypeScope) semanticObject);
84 return; 89 return;
90 case ProblemPackage.UNBOUNDED_MULTIPLICITY:
91 sequence_UnboundedMultiplicity(context, (UnboundedMultiplicity) semanticObject);
92 return;
85 } 93 }
86 if (errorAcceptor != null) 94 if (errorAcceptor != null)
87 errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context)); 95 errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
@@ -89,6 +97,24 @@ public class ProblemSemanticSequencer extends AbstractDelegatingSemanticSequence
89 97
90 /** 98 /**
91 * Contexts: 99 * Contexts:
100 * Argument returns Argument
101 *
102 * Constraint:
103 * variable=[Variable|ID]
104 */
105 protected void sequence_Argument(ISerializationContext context, Argument semanticObject) {
106 if (errorAcceptor != null) {
107 if (transientValues.isValueTransient(semanticObject, ProblemPackage.Literals.ARGUMENT__VARIABLE) == ValueTransient.YES)
108 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, ProblemPackage.Literals.ARGUMENT__VARIABLE));
109 }
110 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
111 feeder.accept(grammarAccess.getArgumentAccess().getVariableVariableIDTerminalRuleCall_0_1(), semanticObject.eGet(ProblemPackage.Literals.ARGUMENT__VARIABLE, false));
112 feeder.finish();
113 }
114
115
116 /**
117 * Contexts:
92 * Statement returns Assertion 118 * Statement returns Assertion
93 * Assertion returns Assertion 119 * Assertion returns Assertion
94 * 120 *
@@ -109,7 +135,7 @@ public class ProblemSemanticSequencer extends AbstractDelegatingSemanticSequence
109 * Atom returns Atom 135 * Atom returns Atom
110 * 136 *
111 * Constraint: 137 * Constraint:
112 * (relation=[Relation|QualifiedName] transitiveClosure?='+'? (arguments+=[Variable|ID] arguments+=[Variable|ID]*)?) 138 * (relation=[Relation|QualifiedName] transitiveClosure?='+'? (arguments+=Argument arguments+=Argument*)?)
113 */ 139 */
114 protected void sequence_Atom(ISerializationContext context, Atom semanticObject) { 140 protected void sequence_Atom(ISerializationContext context, Atom semanticObject) {
115 genericSequencer.createSequence(context, semanticObject); 141 genericSequencer.createSequence(context, semanticObject);
@@ -125,11 +151,7 @@ public class ProblemSemanticSequencer extends AbstractDelegatingSemanticSequence
125 * ( 151 * (
126 * abstract?='abstract'? 152 * abstract?='abstract'?
127 * name=ID 153 * name=ID
128 * ( 154 * (superTypes+=[ClassDeclaration|QualifiedName] superTypes+=[ClassDeclaration|QualifiedName]*)?
129 * superTypes+=[ClassDeclaration|ID] |
130 * (superTypes+=[ClassDeclaration|ID] superTypes+=[ClassDeclaration|ID]*) |
131 * referenceDeclarations+=ReferenceDeclaration
132 * )?
133 * referenceDeclarations+=ReferenceDeclaration* 155 * referenceDeclarations+=ReferenceDeclaration*
134 * ) 156 * )
135 */ 157 */
@@ -153,6 +175,7 @@ public class ProblemSemanticSequencer extends AbstractDelegatingSemanticSequence
153 /** 175 /**
154 * Contexts: 176 * Contexts:
155 * Multiplicity returns ExactMultiplicity 177 * Multiplicity returns ExactMultiplicity
178 * DefiniteMultiplicity returns ExactMultiplicity
156 * ExactMultiplicity returns ExactMultiplicity 179 * ExactMultiplicity returns ExactMultiplicity
157 * 180 *
158 * Constraint: 181 * Constraint:
@@ -227,7 +250,7 @@ public class ProblemSemanticSequencer extends AbstractDelegatingSemanticSequence
227 * Problem returns Problem 250 * Problem returns Problem
228 * 251 *
229 * Constraint: 252 * Constraint:
230 * statements+=Statement+ 253 * ((name=ID statements+=Statement+) | statements+=Statement+)?
231 */ 254 */
232 protected void sequence_Problem(ISerializationContext context, Problem semanticObject) { 255 protected void sequence_Problem(ISerializationContext context, Problem semanticObject) {
233 genericSequencer.createSequence(context, semanticObject); 256 genericSequencer.createSequence(context, semanticObject);
@@ -237,6 +260,7 @@ public class ProblemSemanticSequencer extends AbstractDelegatingSemanticSequence
237 /** 260 /**
238 * Contexts: 261 * Contexts:
239 * Multiplicity returns RangeMultiplicity 262 * Multiplicity returns RangeMultiplicity
263 * DefiniteMultiplicity returns RangeMultiplicity
240 * RangeMultiplicity returns RangeMultiplicity 264 * RangeMultiplicity returns RangeMultiplicity
241 * 265 *
242 * Constraint: 266 * Constraint:
@@ -261,7 +285,13 @@ public class ProblemSemanticSequencer extends AbstractDelegatingSemanticSequence
261 * ReferenceDeclaration returns ReferenceDeclaration 285 * ReferenceDeclaration returns ReferenceDeclaration
262 * 286 *
263 * Constraint: 287 * Constraint:
264 * (containment?='contains'? referenceType=[ClassDeclaration|ID] multiplicity=Multiplicity name=ID opposite=[ReferenceDeclaration|QualifiedName]?) 288 * (
289 * containment?='contains'?
290 * referenceType=[ClassDeclaration|QualifiedName]
291 * multiplicity=Multiplicity?
292 * name=ID
293 * opposite=[ReferenceDeclaration|QualifiedName]?
294 * )
265 */ 295 */
266 protected void sequence_ReferenceDeclaration(ISerializationContext context, ReferenceDeclaration semanticObject) { 296 protected void sequence_ReferenceDeclaration(ISerializationContext context, ReferenceDeclaration semanticObject) {
267 genericSequencer.createSequence(context, semanticObject); 297 genericSequencer.createSequence(context, semanticObject);
@@ -286,11 +316,24 @@ public class ProblemSemanticSequencer extends AbstractDelegatingSemanticSequence
286 * TypeScope returns TypeScope 316 * TypeScope returns TypeScope
287 * 317 *
288 * Constraint: 318 * Constraint:
289 * (targetType=[ClassDeclaration|ID] increment?='+='? multiplicity=Multiplicity) 319 * (targetType=[ClassDeclaration|ID] increment?='+='? multiplicity=DefiniteMultiplicity)
290 */ 320 */
291 protected void sequence_TypeScope(ISerializationContext context, TypeScope semanticObject) { 321 protected void sequence_TypeScope(ISerializationContext context, TypeScope semanticObject) {
292 genericSequencer.createSequence(context, semanticObject); 322 genericSequencer.createSequence(context, semanticObject);
293 } 323 }
294 324
295 325
326 /**
327 * Contexts:
328 * Multiplicity returns UnboundedMultiplicity
329 * UnboundedMultiplicity returns UnboundedMultiplicity
330 *
331 * Constraint:
332 * {UnboundedMultiplicity}
333 */
334 protected void sequence_UnboundedMultiplicity(ISerializationContext context, UnboundedMultiplicity semanticObject) {
335 genericSequencer.createSequence(context, semanticObject);
336 }
337
338
296} 339}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/serializer/ProblemSyntacticSequencer.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/serializer/ProblemSyntacticSequencer.java
index 3ffb6315..80ac73d6 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/serializer/ProblemSyntacticSequencer.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/serializer/ProblemSyntacticSequencer.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.AlternativeAlias;
14import org.eclipse.xtext.serializer.analysis.GrammarAlias.GroupAlias; 15import org.eclipse.xtext.serializer.analysis.GrammarAlias.GroupAlias;
15import org.eclipse.xtext.serializer.analysis.GrammarAlias.TokenAlias; 16import org.eclipse.xtext.serializer.analysis.GrammarAlias.TokenAlias;
16import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable; 17import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable;
@@ -21,13 +22,15 @@ import org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer;
21public class ProblemSyntacticSequencer extends AbstractSyntacticSequencer { 22public class ProblemSyntacticSequencer extends AbstractSyntacticSequencer {
22 23
23 protected ProblemGrammarAccess grammarAccess; 24 protected ProblemGrammarAccess grammarAccess;
24 protected AbstractElementAlias match_ClassDeclaration___ExtendsKeyword_3_0_0_LeftSquareBracketKeyword_3_0_1_1_0_RightSquareBracketKeyword_3_0_1_1_2__q; 25 protected AbstractElementAlias match_ClassDeclaration_FullStopKeyword_4_1_or___LeftCurlyBracketKeyword_4_0_0_RightCurlyBracketKeyword_4_0_2__;
26 protected AbstractElementAlias match_ClassDeclaration_SemicolonKeyword_4_0_1_1_q;
25 protected AbstractElementAlias match_PredicateDefinition_PredKeyword_0_0_1_q; 27 protected AbstractElementAlias match_PredicateDefinition_PredKeyword_0_0_1_q;
26 28
27 @Inject 29 @Inject
28 protected void init(IGrammarAccess access) { 30 protected void init(IGrammarAccess access) {
29 grammarAccess = (ProblemGrammarAccess) access; 31 grammarAccess = (ProblemGrammarAccess) access;
30 match_ClassDeclaration___ExtendsKeyword_3_0_0_LeftSquareBracketKeyword_3_0_1_1_0_RightSquareBracketKeyword_3_0_1_1_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0_0()), new TokenAlias(false, false, grammarAccess.getClassDeclarationAccess().getLeftSquareBracketKeyword_3_0_1_1_0()), new TokenAlias(false, false, grammarAccess.getClassDeclarationAccess().getRightSquareBracketKeyword_3_0_1_1_2())); 32 match_ClassDeclaration_FullStopKeyword_4_1_or___LeftCurlyBracketKeyword_4_0_0_RightCurlyBracketKeyword_4_0_2__ = new AlternativeAlias(false, false, new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getClassDeclarationAccess().getLeftCurlyBracketKeyword_4_0_0()), new TokenAlias(false, false, grammarAccess.getClassDeclarationAccess().getRightCurlyBracketKeyword_4_0_2())), new TokenAlias(false, false, grammarAccess.getClassDeclarationAccess().getFullStopKeyword_4_1()));
33 match_ClassDeclaration_SemicolonKeyword_4_0_1_1_q = new TokenAlias(false, true, grammarAccess.getClassDeclarationAccess().getSemicolonKeyword_4_0_1_1());
31 match_PredicateDefinition_PredKeyword_0_0_1_q = new TokenAlias(false, true, grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_0_1()); 34 match_PredicateDefinition_PredKeyword_0_0_1_q = new TokenAlias(false, true, grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_0_1());
32 } 35 }
33 36
@@ -43,8 +46,10 @@ public class ProblemSyntacticSequencer extends AbstractSyntacticSequencer {
43 List<INode> transitionNodes = collectNodes(fromNode, toNode); 46 List<INode> transitionNodes = collectNodes(fromNode, toNode);
44 for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) { 47 for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) {
45 List<INode> syntaxNodes = getNodesFor(transitionNodes, syntax); 48 List<INode> syntaxNodes = getNodesFor(transitionNodes, syntax);
46 if (match_ClassDeclaration___ExtendsKeyword_3_0_0_LeftSquareBracketKeyword_3_0_1_1_0_RightSquareBracketKeyword_3_0_1_1_2__q.equals(syntax)) 49 if (match_ClassDeclaration_FullStopKeyword_4_1_or___LeftCurlyBracketKeyword_4_0_0_RightCurlyBracketKeyword_4_0_2__.equals(syntax))
47 emit_ClassDeclaration___ExtendsKeyword_3_0_0_LeftSquareBracketKeyword_3_0_1_1_0_RightSquareBracketKeyword_3_0_1_1_2__q(semanticObject, getLastNavigableState(), syntaxNodes); 50 emit_ClassDeclaration_FullStopKeyword_4_1_or___LeftCurlyBracketKeyword_4_0_0_RightCurlyBracketKeyword_4_0_2__(semanticObject, getLastNavigableState(), syntaxNodes);
51 else if (match_ClassDeclaration_SemicolonKeyword_4_0_1_1_q.equals(syntax))
52 emit_ClassDeclaration_SemicolonKeyword_4_0_1_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
48 else if (match_PredicateDefinition_PredKeyword_0_0_1_q.equals(syntax)) 53 else if (match_PredicateDefinition_PredKeyword_0_0_1_q.equals(syntax))
49 emit_PredicateDefinition_PredKeyword_0_0_1_q(semanticObject, getLastNavigableState(), syntaxNodes); 54 emit_PredicateDefinition_PredKeyword_0_0_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
50 else acceptNodes(getLastNavigableState(), syntaxNodes); 55 else acceptNodes(getLastNavigableState(), syntaxNodes);
@@ -53,13 +58,25 @@ public class ProblemSyntacticSequencer extends AbstractSyntacticSequencer {
53 58
54 /** 59 /**
55 * Ambiguous syntax: 60 * Ambiguous syntax:
56 * ('extends' '[' ']')? 61 * ('{' '}') | '.'
57 * 62 *
58 * This ambiguous syntax occurs at: 63 * This ambiguous syntax occurs at:
59 * name=ID (ambiguity) ',' referenceDeclarations+=ReferenceDeclaration 64 * name=ID (ambiguity) (rule end)
60 * name=ID (ambiguity) '.' (rule end) 65 * superTypes+=[ClassDeclaration|QualifiedName] (ambiguity) (rule end)
61 */ 66 */
62 protected void emit_ClassDeclaration___ExtendsKeyword_3_0_0_LeftSquareBracketKeyword_3_0_1_1_0_RightSquareBracketKeyword_3_0_1_1_2__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) { 67 protected void emit_ClassDeclaration_FullStopKeyword_4_1_or___LeftCurlyBracketKeyword_4_0_0_RightCurlyBracketKeyword_4_0_2__(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
68 acceptNodes(transition, nodes);
69 }
70
71 /**
72 * Ambiguous syntax:
73 * ';'?
74 *
75 * This ambiguous syntax occurs at:
76 * referenceDeclarations+=ReferenceDeclaration (ambiguity) '}' (rule end)
77 * referenceDeclarations+=ReferenceDeclaration (ambiguity) referenceDeclarations+=ReferenceDeclaration
78 */
79 protected void emit_ClassDeclaration_SemicolonKeyword_4_0_1_1_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
63 acceptNodes(transition, nodes); 80 acceptNodes(transition, nodes);
64 } 81 }
65 82
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/services/ProblemGrammarAccess.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/services/ProblemGrammarAccess.java
index 7d6b7013..5b3781a2 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/services/ProblemGrammarAccess.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/services/ProblemGrammarAccess.java
@@ -6,6 +6,7 @@ package org.eclipse.viatra.solver.language.services;
6import com.google.inject.Inject; 6import com.google.inject.Inject;
7import com.google.inject.Singleton; 7import com.google.inject.Singleton;
8import java.util.List; 8import java.util.List;
9import org.eclipse.xtext.Action;
9import org.eclipse.xtext.Alternatives; 10import org.eclipse.xtext.Alternatives;
10import org.eclipse.xtext.Assignment; 11import org.eclipse.xtext.Assignment;
11import org.eclipse.xtext.CrossReference; 12import org.eclipse.xtext.CrossReference;
@@ -27,18 +28,44 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
27 28
28 public class ProblemElements extends AbstractParserRuleElementFinder { 29 public class ProblemElements extends AbstractParserRuleElementFinder {
29 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Problem"); 30 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Problem");
30 private final Assignment cStatementsAssignment = (Assignment)rule.eContents().get(1); 31 private final Group cGroup = (Group)rule.eContents().get(1);
31 private final RuleCall cStatementsStatementParserRuleCall_0 = (RuleCall)cStatementsAssignment.eContents().get(0); 32 private final Group cGroup_0 = (Group)cGroup.eContents().get(0);
33 private final Keyword cProblemKeyword_0_0 = (Keyword)cGroup_0.eContents().get(0);
34 private final Assignment cNameAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1);
35 private final RuleCall cNameIDTerminalRuleCall_0_1_0 = (RuleCall)cNameAssignment_0_1.eContents().get(0);
36 private final Keyword cFullStopKeyword_0_2 = (Keyword)cGroup_0.eContents().get(2);
37 private final Assignment cStatementsAssignment_1 = (Assignment)cGroup.eContents().get(1);
38 private final RuleCall cStatementsStatementParserRuleCall_1_0 = (RuleCall)cStatementsAssignment_1.eContents().get(0);
32 39
33 //Problem: 40 //Problem:
41 // ("problem" name=ID ".")?
34 // statements+=Statement*; 42 // statements+=Statement*;
35 @Override public ParserRule getRule() { return rule; } 43 @Override public ParserRule getRule() { return rule; }
36 44
45 //("problem" name=ID ".")?
37 //statements+=Statement* 46 //statements+=Statement*
38 public Assignment getStatementsAssignment() { return cStatementsAssignment; } 47 public Group getGroup() { return cGroup; }
48
49 //("problem" name=ID ".")?
50 public Group getGroup_0() { return cGroup_0; }
51
52 //"problem"
53 public Keyword getProblemKeyword_0_0() { return cProblemKeyword_0_0; }
54
55 //name=ID
56 public Assignment getNameAssignment_0_1() { return cNameAssignment_0_1; }
57
58 //ID
59 public RuleCall getNameIDTerminalRuleCall_0_1_0() { return cNameIDTerminalRuleCall_0_1_0; }
60
61 //"."
62 public Keyword getFullStopKeyword_0_2() { return cFullStopKeyword_0_2; }
63
64 //statements+=Statement*
65 public Assignment getStatementsAssignment_1() { return cStatementsAssignment_1; }
39 66
40 //Statement 67 //Statement
41 public RuleCall getStatementsStatementParserRuleCall_0() { return cStatementsStatementParserRuleCall_0; } 68 public RuleCall getStatementsStatementParserRuleCall_1_0() { return cStatementsStatementParserRuleCall_1_0; }
42 } 69 }
43 public class StatementElements extends AbstractParserRuleElementFinder { 70 public class StatementElements extends AbstractParserRuleElementFinder {
44 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Statement"); 71 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Statement");
@@ -75,50 +102,37 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
75 private final Keyword cClassKeyword_1 = (Keyword)cGroup.eContents().get(1); 102 private final Keyword cClassKeyword_1 = (Keyword)cGroup.eContents().get(1);
76 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); 103 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
77 private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); 104 private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
78 private final Alternatives cAlternatives_3 = (Alternatives)cGroup.eContents().get(3); 105 private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
79 private final Group cGroup_3_0 = (Group)cAlternatives_3.eContents().get(0); 106 private final Keyword cExtendsKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
80 private final Keyword cExtendsKeyword_3_0_0 = (Keyword)cGroup_3_0.eContents().get(0); 107 private final Assignment cSuperTypesAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
81 private final Alternatives cAlternatives_3_0_1 = (Alternatives)cGroup_3_0.eContents().get(1); 108 private final CrossReference cSuperTypesClassDeclarationCrossReference_3_1_0 = (CrossReference)cSuperTypesAssignment_3_1.eContents().get(0);
82 private final Assignment cSuperTypesAssignment_3_0_1_0 = (Assignment)cAlternatives_3_0_1.eContents().get(0); 109 private final RuleCall cSuperTypesClassDeclarationQualifiedNameParserRuleCall_3_1_0_1 = (RuleCall)cSuperTypesClassDeclarationCrossReference_3_1_0.eContents().get(1);
83 private final CrossReference cSuperTypesClassDeclarationCrossReference_3_0_1_0_0 = (CrossReference)cSuperTypesAssignment_3_0_1_0.eContents().get(0); 110 private final Group cGroup_3_2 = (Group)cGroup_3.eContents().get(2);
84 private final RuleCall cSuperTypesClassDeclarationIDTerminalRuleCall_3_0_1_0_0_1 = (RuleCall)cSuperTypesClassDeclarationCrossReference_3_0_1_0_0.eContents().get(1); 111 private final Keyword cCommaKeyword_3_2_0 = (Keyword)cGroup_3_2.eContents().get(0);
85 private final Group cGroup_3_0_1_1 = (Group)cAlternatives_3_0_1.eContents().get(1); 112 private final Assignment cSuperTypesAssignment_3_2_1 = (Assignment)cGroup_3_2.eContents().get(1);
86 private final Keyword cLeftSquareBracketKeyword_3_0_1_1_0 = (Keyword)cGroup_3_0_1_1.eContents().get(0); 113 private final CrossReference cSuperTypesClassDeclarationCrossReference_3_2_1_0 = (CrossReference)cSuperTypesAssignment_3_2_1.eContents().get(0);
87 private final Group cGroup_3_0_1_1_1 = (Group)cGroup_3_0_1_1.eContents().get(1); 114 private final RuleCall cSuperTypesClassDeclarationQualifiedNameParserRuleCall_3_2_1_0_1 = (RuleCall)cSuperTypesClassDeclarationCrossReference_3_2_1_0.eContents().get(1);
88 private final Assignment cSuperTypesAssignment_3_0_1_1_1_0 = (Assignment)cGroup_3_0_1_1_1.eContents().get(0); 115 private final Alternatives cAlternatives_4 = (Alternatives)cGroup.eContents().get(4);
89 private final CrossReference cSuperTypesClassDeclarationCrossReference_3_0_1_1_1_0_0 = (CrossReference)cSuperTypesAssignment_3_0_1_1_1_0.eContents().get(0); 116 private final Group cGroup_4_0 = (Group)cAlternatives_4.eContents().get(0);
90 private final RuleCall cSuperTypesClassDeclarationIDTerminalRuleCall_3_0_1_1_1_0_0_1 = (RuleCall)cSuperTypesClassDeclarationCrossReference_3_0_1_1_1_0_0.eContents().get(1); 117 private final Keyword cLeftCurlyBracketKeyword_4_0_0 = (Keyword)cGroup_4_0.eContents().get(0);
91 private final Group cGroup_3_0_1_1_1_1 = (Group)cGroup_3_0_1_1_1.eContents().get(1); 118 private final Group cGroup_4_0_1 = (Group)cGroup_4_0.eContents().get(1);
92 private final Keyword cCommaKeyword_3_0_1_1_1_1_0 = (Keyword)cGroup_3_0_1_1_1_1.eContents().get(0); 119 private final Assignment cReferenceDeclarationsAssignment_4_0_1_0 = (Assignment)cGroup_4_0_1.eContents().get(0);
93 private final Assignment cSuperTypesAssignment_3_0_1_1_1_1_1 = (Assignment)cGroup_3_0_1_1_1_1.eContents().get(1); 120 private final RuleCall cReferenceDeclarationsReferenceDeclarationParserRuleCall_4_0_1_0_0 = (RuleCall)cReferenceDeclarationsAssignment_4_0_1_0.eContents().get(0);
94 private final CrossReference cSuperTypesClassDeclarationCrossReference_3_0_1_1_1_1_1_0 = (CrossReference)cSuperTypesAssignment_3_0_1_1_1_1_1.eContents().get(0); 121 private final Keyword cSemicolonKeyword_4_0_1_1 = (Keyword)cGroup_4_0_1.eContents().get(1);
95 private final RuleCall cSuperTypesClassDeclarationIDTerminalRuleCall_3_0_1_1_1_1_1_0_1 = (RuleCall)cSuperTypesClassDeclarationCrossReference_3_0_1_1_1_1_1_0.eContents().get(1); 122 private final Keyword cRightCurlyBracketKeyword_4_0_2 = (Keyword)cGroup_4_0.eContents().get(2);
96 private final Keyword cRightSquareBracketKeyword_3_0_1_1_2 = (Keyword)cGroup_3_0_1_1.eContents().get(2); 123 private final Keyword cFullStopKeyword_4_1 = (Keyword)cAlternatives_4.eContents().get(1);
97 private final Assignment cReferenceDeclarationsAssignment_3_1 = (Assignment)cAlternatives_3.eContents().get(1);
98 private final RuleCall cReferenceDeclarationsReferenceDeclarationParserRuleCall_3_1_0 = (RuleCall)cReferenceDeclarationsAssignment_3_1.eContents().get(0);
99 private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
100 private final Keyword cCommaKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
101 private final Assignment cReferenceDeclarationsAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
102 private final RuleCall cReferenceDeclarationsReferenceDeclarationParserRuleCall_4_1_0 = (RuleCall)cReferenceDeclarationsAssignment_4_1.eContents().get(0);
103 private final Keyword cFullStopKeyword_5 = (Keyword)cGroup.eContents().get(5);
104 124
105 //ClassDeclaration: 125 //ClassDeclaration:
106 // abstract?="abstract"? "class" 126 // abstract?="abstract"? "class"
107 // name=ID 127 // name=ID
108 // ("extends" (superTypes+=[ClassDeclaration] | 128 // ("extends" superTypes+=[ClassDeclaration|QualifiedName] ("," superTypes+=[ClassDeclaration|QualifiedName])*)?
109 // "[" (superTypes+=[ClassDeclaration] ("," superTypes+=[ClassDeclaration])*)? "]") | 129 // ("{" (referenceDeclarations+=ReferenceDeclaration ";"?)* "}" | ".");
110 // referenceDeclarations+=ReferenceDeclaration)?
111 // ("," referenceDeclarations+=ReferenceDeclaration)*
112 // ".";
113 @Override public ParserRule getRule() { return rule; } 130 @Override public ParserRule getRule() { return rule; }
114 131
115 //abstract?="abstract"? "class" 132 //abstract?="abstract"? "class"
116 //name=ID 133 //name=ID
117 //("extends" (superTypes+=[ClassDeclaration] | 134 //("extends" superTypes+=[ClassDeclaration|QualifiedName] ("," superTypes+=[ClassDeclaration|QualifiedName])*)?
118 //"[" (superTypes+=[ClassDeclaration] ("," superTypes+=[ClassDeclaration])*)? "]") | 135 //("{" (referenceDeclarations+=ReferenceDeclaration ";"?)* "}" | ".")
119 //referenceDeclarations+=ReferenceDeclaration)?
120 //("," referenceDeclarations+=ReferenceDeclaration)*
121 //"."
122 public Group getGroup() { return cGroup; } 136 public Group getGroup() { return cGroup; }
123 137
124 //abstract?="abstract"? 138 //abstract?="abstract"?
@@ -136,87 +150,62 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
136 //ID 150 //ID
137 public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; } 151 public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; }
138 152
139 //("extends" (superTypes+=[ClassDeclaration] | 153 //("extends" superTypes+=[ClassDeclaration|QualifiedName] ("," superTypes+=[ClassDeclaration|QualifiedName])*)?
140 //"[" (superTypes+=[ClassDeclaration] ("," superTypes+=[ClassDeclaration])*)? "]") | 154 public Group getGroup_3() { return cGroup_3; }
141 //referenceDeclarations+=ReferenceDeclaration)?
142 public Alternatives getAlternatives_3() { return cAlternatives_3; }
143
144 //"extends" (superTypes+=[ClassDeclaration] |
145 // "[" (superTypes+=[ClassDeclaration] ("," superTypes+=[ClassDeclaration])*)? "]")
146 public Group getGroup_3_0() { return cGroup_3_0; }
147 155
148 //"extends" 156 //"extends"
149 public Keyword getExtendsKeyword_3_0_0() { return cExtendsKeyword_3_0_0; } 157 public Keyword getExtendsKeyword_3_0() { return cExtendsKeyword_3_0; }
150
151 //(superTypes+=[ClassDeclaration] |
152 // "[" (superTypes+=[ClassDeclaration] ("," superTypes+=[ClassDeclaration])*)? "]")
153 public Alternatives getAlternatives_3_0_1() { return cAlternatives_3_0_1; }
154
155 //superTypes+=[ClassDeclaration]
156 public Assignment getSuperTypesAssignment_3_0_1_0() { return cSuperTypesAssignment_3_0_1_0; }
157
158 //[ClassDeclaration]
159 public CrossReference getSuperTypesClassDeclarationCrossReference_3_0_1_0_0() { return cSuperTypesClassDeclarationCrossReference_3_0_1_0_0; }
160 158
161 //ID 159 //superTypes+=[ClassDeclaration|QualifiedName]
162 public RuleCall getSuperTypesClassDeclarationIDTerminalRuleCall_3_0_1_0_0_1() { return cSuperTypesClassDeclarationIDTerminalRuleCall_3_0_1_0_0_1; } 160 public Assignment getSuperTypesAssignment_3_1() { return cSuperTypesAssignment_3_1; }
163
164 //"[" (superTypes+=[ClassDeclaration] ("," superTypes+=[ClassDeclaration])*)? "]"
165 public Group getGroup_3_0_1_1() { return cGroup_3_0_1_1; }
166 161
167 //"[" 162 //[ClassDeclaration|QualifiedName]
168 public Keyword getLeftSquareBracketKeyword_3_0_1_1_0() { return cLeftSquareBracketKeyword_3_0_1_1_0; } 163 public CrossReference getSuperTypesClassDeclarationCrossReference_3_1_0() { return cSuperTypesClassDeclarationCrossReference_3_1_0; }
169 164
170 //(superTypes+=[ClassDeclaration] ("," superTypes+=[ClassDeclaration])*)? 165 //QualifiedName
171 public Group getGroup_3_0_1_1_1() { return cGroup_3_0_1_1_1; } 166 public RuleCall getSuperTypesClassDeclarationQualifiedNameParserRuleCall_3_1_0_1() { return cSuperTypesClassDeclarationQualifiedNameParserRuleCall_3_1_0_1; }
172 167
173 //superTypes+=[ClassDeclaration] 168 //("," superTypes+=[ClassDeclaration|QualifiedName])*
174 public Assignment getSuperTypesAssignment_3_0_1_1_1_0() { return cSuperTypesAssignment_3_0_1_1_1_0; } 169 public Group getGroup_3_2() { return cGroup_3_2; }
175 170
176 //[ClassDeclaration] 171 //","
177 public CrossReference getSuperTypesClassDeclarationCrossReference_3_0_1_1_1_0_0() { return cSuperTypesClassDeclarationCrossReference_3_0_1_1_1_0_0; } 172 public Keyword getCommaKeyword_3_2_0() { return cCommaKeyword_3_2_0; }
178 173
179 //ID 174 //superTypes+=[ClassDeclaration|QualifiedName]
180 public RuleCall getSuperTypesClassDeclarationIDTerminalRuleCall_3_0_1_1_1_0_0_1() { return cSuperTypesClassDeclarationIDTerminalRuleCall_3_0_1_1_1_0_0_1; } 175 public Assignment getSuperTypesAssignment_3_2_1() { return cSuperTypesAssignment_3_2_1; }
181 176
182 //("," superTypes+=[ClassDeclaration])* 177 //[ClassDeclaration|QualifiedName]
183 public Group getGroup_3_0_1_1_1_1() { return cGroup_3_0_1_1_1_1; } 178 public CrossReference getSuperTypesClassDeclarationCrossReference_3_2_1_0() { return cSuperTypesClassDeclarationCrossReference_3_2_1_0; }
184 179
185 //"," 180 //QualifiedName
186 public Keyword getCommaKeyword_3_0_1_1_1_1_0() { return cCommaKeyword_3_0_1_1_1_1_0; } 181 public RuleCall getSuperTypesClassDeclarationQualifiedNameParserRuleCall_3_2_1_0_1() { return cSuperTypesClassDeclarationQualifiedNameParserRuleCall_3_2_1_0_1; }
187 182
188 //superTypes+=[ClassDeclaration] 183 //("{" (referenceDeclarations+=ReferenceDeclaration ";"?)* "}" | ".")
189 public Assignment getSuperTypesAssignment_3_0_1_1_1_1_1() { return cSuperTypesAssignment_3_0_1_1_1_1_1; } 184 public Alternatives getAlternatives_4() { return cAlternatives_4; }
190 185
191 //[ClassDeclaration] 186 //"{" (referenceDeclarations+=ReferenceDeclaration ";"?)* "}"
192 public CrossReference getSuperTypesClassDeclarationCrossReference_3_0_1_1_1_1_1_0() { return cSuperTypesClassDeclarationCrossReference_3_0_1_1_1_1_1_0; } 187 public Group getGroup_4_0() { return cGroup_4_0; }
193 188
194 //ID 189 //"{"
195 public RuleCall getSuperTypesClassDeclarationIDTerminalRuleCall_3_0_1_1_1_1_1_0_1() { return cSuperTypesClassDeclarationIDTerminalRuleCall_3_0_1_1_1_1_1_0_1; } 190 public Keyword getLeftCurlyBracketKeyword_4_0_0() { return cLeftCurlyBracketKeyword_4_0_0; }
196 191
197 //"]" 192 //(referenceDeclarations+=ReferenceDeclaration ";"?)*
198 public Keyword getRightSquareBracketKeyword_3_0_1_1_2() { return cRightSquareBracketKeyword_3_0_1_1_2; } 193 public Group getGroup_4_0_1() { return cGroup_4_0_1; }
199 194
200 //referenceDeclarations+=ReferenceDeclaration 195 //referenceDeclarations+=ReferenceDeclaration
201 public Assignment getReferenceDeclarationsAssignment_3_1() { return cReferenceDeclarationsAssignment_3_1; } 196 public Assignment getReferenceDeclarationsAssignment_4_0_1_0() { return cReferenceDeclarationsAssignment_4_0_1_0; }
202 197
203 //ReferenceDeclaration 198 //ReferenceDeclaration
204 public RuleCall getReferenceDeclarationsReferenceDeclarationParserRuleCall_3_1_0() { return cReferenceDeclarationsReferenceDeclarationParserRuleCall_3_1_0; } 199 public RuleCall getReferenceDeclarationsReferenceDeclarationParserRuleCall_4_0_1_0_0() { return cReferenceDeclarationsReferenceDeclarationParserRuleCall_4_0_1_0_0; }
205 200
206 //("," referenceDeclarations+=ReferenceDeclaration)* 201 //";"?
207 public Group getGroup_4() { return cGroup_4; } 202 public Keyword getSemicolonKeyword_4_0_1_1() { return cSemicolonKeyword_4_0_1_1; }
208 203
209 //"," 204 //"}"
210 public Keyword getCommaKeyword_4_0() { return cCommaKeyword_4_0; } 205 public Keyword getRightCurlyBracketKeyword_4_0_2() { return cRightCurlyBracketKeyword_4_0_2; }
211
212 //referenceDeclarations+=ReferenceDeclaration
213 public Assignment getReferenceDeclarationsAssignment_4_1() { return cReferenceDeclarationsAssignment_4_1; }
214
215 //ReferenceDeclaration
216 public RuleCall getReferenceDeclarationsReferenceDeclarationParserRuleCall_4_1_0() { return cReferenceDeclarationsReferenceDeclarationParserRuleCall_4_1_0; }
217 206
218 //"." 207 //"."
219 public Keyword getFullStopKeyword_5() { return cFullStopKeyword_5; } 208 public Keyword getFullStopKeyword_4_1() { return cFullStopKeyword_4_1; }
220 } 209 }
221 public class ReferenceDeclarationElements extends AbstractParserRuleElementFinder { 210 public class ReferenceDeclarationElements extends AbstractParserRuleElementFinder {
222 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.ReferenceDeclaration"); 211 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.ReferenceDeclaration");
@@ -227,30 +216,31 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
227 private final Keyword cRefersKeyword_0_1 = (Keyword)cAlternatives_0.eContents().get(1); 216 private final Keyword cRefersKeyword_0_1 = (Keyword)cAlternatives_0.eContents().get(1);
228 private final Assignment cReferenceTypeAssignment_1 = (Assignment)cGroup.eContents().get(1); 217 private final Assignment cReferenceTypeAssignment_1 = (Assignment)cGroup.eContents().get(1);
229 private final CrossReference cReferenceTypeClassDeclarationCrossReference_1_0 = (CrossReference)cReferenceTypeAssignment_1.eContents().get(0); 218 private final CrossReference cReferenceTypeClassDeclarationCrossReference_1_0 = (CrossReference)cReferenceTypeAssignment_1.eContents().get(0);
230 private final RuleCall cReferenceTypeClassDeclarationIDTerminalRuleCall_1_0_1 = (RuleCall)cReferenceTypeClassDeclarationCrossReference_1_0.eContents().get(1); 219 private final RuleCall cReferenceTypeClassDeclarationQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cReferenceTypeClassDeclarationCrossReference_1_0.eContents().get(1);
231 private final Keyword cLeftSquareBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); 220 private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
232 private final Assignment cMultiplicityAssignment_3 = (Assignment)cGroup.eContents().get(3); 221 private final Keyword cLeftSquareBracketKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
233 private final RuleCall cMultiplicityMultiplicityParserRuleCall_3_0 = (RuleCall)cMultiplicityAssignment_3.eContents().get(0); 222 private final Assignment cMultiplicityAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
234 private final Keyword cRightSquareBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); 223 private final RuleCall cMultiplicityMultiplicityParserRuleCall_2_1_0 = (RuleCall)cMultiplicityAssignment_2_1.eContents().get(0);
235 private final Assignment cNameAssignment_5 = (Assignment)cGroup.eContents().get(5); 224 private final Keyword cRightSquareBracketKeyword_2_2 = (Keyword)cGroup_2.eContents().get(2);
236 private final RuleCall cNameIDTerminalRuleCall_5_0 = (RuleCall)cNameAssignment_5.eContents().get(0); 225 private final Assignment cNameAssignment_3 = (Assignment)cGroup.eContents().get(3);
237 private final Group cGroup_6 = (Group)cGroup.eContents().get(6); 226 private final RuleCall cNameIDTerminalRuleCall_3_0 = (RuleCall)cNameAssignment_3.eContents().get(0);
238 private final Keyword cOppositeKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0); 227 private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
239 private final Assignment cOppositeAssignment_6_1 = (Assignment)cGroup_6.eContents().get(1); 228 private final Keyword cOppositeKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
240 private final CrossReference cOppositeReferenceDeclarationCrossReference_6_1_0 = (CrossReference)cOppositeAssignment_6_1.eContents().get(0); 229 private final Assignment cOppositeAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
241 private final RuleCall cOppositeReferenceDeclarationQualifiedNameParserRuleCall_6_1_0_1 = (RuleCall)cOppositeReferenceDeclarationCrossReference_6_1_0.eContents().get(1); 230 private final CrossReference cOppositeReferenceDeclarationCrossReference_4_1_0 = (CrossReference)cOppositeAssignment_4_1.eContents().get(0);
231 private final RuleCall cOppositeReferenceDeclarationQualifiedNameParserRuleCall_4_1_0_1 = (RuleCall)cOppositeReferenceDeclarationCrossReference_4_1_0.eContents().get(1);
242 232
243 //ReferenceDeclaration: 233 //ReferenceDeclaration:
244 // (containment?="contains" | "refers") 234 // (containment?="contains" | "refers")
245 // referenceType=[ClassDeclaration] 235 // referenceType=[ClassDeclaration|QualifiedName]
246 // "[" multiplicity=Multiplicity "]" 236 // ("[" multiplicity=Multiplicity "]")?
247 // name=ID 237 // name=ID
248 // ("opposite" opposite=[ReferenceDeclaration|QualifiedName])?; 238 // ("opposite" opposite=[ReferenceDeclaration|QualifiedName])?;
249 @Override public ParserRule getRule() { return rule; } 239 @Override public ParserRule getRule() { return rule; }
250 240
251 //(containment?="contains" | "refers") 241 //(containment?="contains" | "refers")
252 //referenceType=[ClassDeclaration] 242 //referenceType=[ClassDeclaration|QualifiedName]
253 //"[" multiplicity=Multiplicity "]" 243 //("[" multiplicity=Multiplicity "]")?
254 //name=ID 244 //name=ID
255 //("opposite" opposite=[ReferenceDeclaration|QualifiedName])? 245 //("opposite" opposite=[ReferenceDeclaration|QualifiedName])?
256 public Group getGroup() { return cGroup; } 246 public Group getGroup() { return cGroup; }
@@ -267,47 +257,50 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
267 //"refers" 257 //"refers"
268 public Keyword getRefersKeyword_0_1() { return cRefersKeyword_0_1; } 258 public Keyword getRefersKeyword_0_1() { return cRefersKeyword_0_1; }
269 259
270 //referenceType=[ClassDeclaration] 260 //referenceType=[ClassDeclaration|QualifiedName]
271 public Assignment getReferenceTypeAssignment_1() { return cReferenceTypeAssignment_1; } 261 public Assignment getReferenceTypeAssignment_1() { return cReferenceTypeAssignment_1; }
272 262
273 //[ClassDeclaration] 263 //[ClassDeclaration|QualifiedName]
274 public CrossReference getReferenceTypeClassDeclarationCrossReference_1_0() { return cReferenceTypeClassDeclarationCrossReference_1_0; } 264 public CrossReference getReferenceTypeClassDeclarationCrossReference_1_0() { return cReferenceTypeClassDeclarationCrossReference_1_0; }
275 265
276 //ID 266 //QualifiedName
277 public RuleCall getReferenceTypeClassDeclarationIDTerminalRuleCall_1_0_1() { return cReferenceTypeClassDeclarationIDTerminalRuleCall_1_0_1; } 267 public RuleCall getReferenceTypeClassDeclarationQualifiedNameParserRuleCall_1_0_1() { return cReferenceTypeClassDeclarationQualifiedNameParserRuleCall_1_0_1; }
268
269 //("[" multiplicity=Multiplicity "]")?
270 public Group getGroup_2() { return cGroup_2; }
278 271
279 //"[" 272 //"["
280 public Keyword getLeftSquareBracketKeyword_2() { return cLeftSquareBracketKeyword_2; } 273 public Keyword getLeftSquareBracketKeyword_2_0() { return cLeftSquareBracketKeyword_2_0; }
281 274
282 //multiplicity=Multiplicity 275 //multiplicity=Multiplicity
283 public Assignment getMultiplicityAssignment_3() { return cMultiplicityAssignment_3; } 276 public Assignment getMultiplicityAssignment_2_1() { return cMultiplicityAssignment_2_1; }
284 277
285 //Multiplicity 278 //Multiplicity
286 public RuleCall getMultiplicityMultiplicityParserRuleCall_3_0() { return cMultiplicityMultiplicityParserRuleCall_3_0; } 279 public RuleCall getMultiplicityMultiplicityParserRuleCall_2_1_0() { return cMultiplicityMultiplicityParserRuleCall_2_1_0; }
287 280
288 //"]" 281 //"]"
289 public Keyword getRightSquareBracketKeyword_4() { return cRightSquareBracketKeyword_4; } 282 public Keyword getRightSquareBracketKeyword_2_2() { return cRightSquareBracketKeyword_2_2; }
290 283
291 //name=ID 284 //name=ID
292 public Assignment getNameAssignment_5() { return cNameAssignment_5; } 285 public Assignment getNameAssignment_3() { return cNameAssignment_3; }
293 286
294 //ID 287 //ID
295 public RuleCall getNameIDTerminalRuleCall_5_0() { return cNameIDTerminalRuleCall_5_0; } 288 public RuleCall getNameIDTerminalRuleCall_3_0() { return cNameIDTerminalRuleCall_3_0; }
296 289
297 //("opposite" opposite=[ReferenceDeclaration|QualifiedName])? 290 //("opposite" opposite=[ReferenceDeclaration|QualifiedName])?
298 public Group getGroup_6() { return cGroup_6; } 291 public Group getGroup_4() { return cGroup_4; }
299 292
300 //"opposite" 293 //"opposite"
301 public Keyword getOppositeKeyword_6_0() { return cOppositeKeyword_6_0; } 294 public Keyword getOppositeKeyword_4_0() { return cOppositeKeyword_4_0; }
302 295
303 //opposite=[ReferenceDeclaration|QualifiedName] 296 //opposite=[ReferenceDeclaration|QualifiedName]
304 public Assignment getOppositeAssignment_6_1() { return cOppositeAssignment_6_1; } 297 public Assignment getOppositeAssignment_4_1() { return cOppositeAssignment_4_1; }
305 298
306 //[ReferenceDeclaration|QualifiedName] 299 //[ReferenceDeclaration|QualifiedName]
307 public CrossReference getOppositeReferenceDeclarationCrossReference_6_1_0() { return cOppositeReferenceDeclarationCrossReference_6_1_0; } 300 public CrossReference getOppositeReferenceDeclarationCrossReference_4_1_0() { return cOppositeReferenceDeclarationCrossReference_4_1_0; }
308 301
309 //QualifiedName 302 //QualifiedName
310 public RuleCall getOppositeReferenceDeclarationQualifiedNameParserRuleCall_6_1_0_1() { return cOppositeReferenceDeclarationQualifiedNameParserRuleCall_6_1_0_1; } 303 public RuleCall getOppositeReferenceDeclarationQualifiedNameParserRuleCall_4_1_0_1() { return cOppositeReferenceDeclarationQualifiedNameParserRuleCall_4_1_0_1; }
311 } 304 }
312 public class PredicateDefinitionElements extends AbstractParserRuleElementFinder { 305 public class PredicateDefinitionElements extends AbstractParserRuleElementFinder {
313 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.PredicateDefinition"); 306 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.PredicateDefinition");
@@ -330,7 +323,7 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
330 private final RuleCall cParametersParameterParserRuleCall_3_1_1_0 = (RuleCall)cParametersAssignment_3_1_1.eContents().get(0); 323 private final RuleCall cParametersParameterParserRuleCall_3_1_1_0 = (RuleCall)cParametersAssignment_3_1_1.eContents().get(0);
331 private final Keyword cRightParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4); 324 private final Keyword cRightParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4);
332 private final Group cGroup_5 = (Group)cGroup.eContents().get(5); 325 private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
333 private final Keyword cColonEqualsSignKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); 326 private final Keyword cColonHyphenMinusKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
334 private final Assignment cBodiesAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1); 327 private final Assignment cBodiesAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1);
335 private final RuleCall cBodiesConjunctionParserRuleCall_5_1_0 = (RuleCall)cBodiesAssignment_5_1.eContents().get(0); 328 private final RuleCall cBodiesConjunctionParserRuleCall_5_1_0 = (RuleCall)cBodiesAssignment_5_1.eContents().get(0);
336 private final Group cGroup_5_2 = (Group)cGroup_5.eContents().get(2); 329 private final Group cGroup_5_2 = (Group)cGroup_5.eContents().get(2);
@@ -343,14 +336,14 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
343 // (error?="error" "pred"? | "pred") 336 // (error?="error" "pred"? | "pred")
344 // name=ID 337 // name=ID
345 // "(" (parameters+=Parameter ("," parameters+=Parameter)*)? ")" 338 // "(" (parameters+=Parameter ("," parameters+=Parameter)*)? ")"
346 // (":=" bodies+=Conjunction (";" bodies+=Conjunction)*)? 339 // (":-" bodies+=Conjunction (";" bodies+=Conjunction)*)?
347 // "."; 340 // ".";
348 @Override public ParserRule getRule() { return rule; } 341 @Override public ParserRule getRule() { return rule; }
349 342
350 //(error?="error" "pred"? | "pred") 343 //(error?="error" "pred"? | "pred")
351 //name=ID 344 //name=ID
352 //"(" (parameters+=Parameter ("," parameters+=Parameter)*)? ")" 345 //"(" (parameters+=Parameter ("," parameters+=Parameter)*)? ")"
353 //(":=" bodies+=Conjunction (";" bodies+=Conjunction)*)? 346 //(":-" bodies+=Conjunction (";" bodies+=Conjunction)*)?
354 //"." 347 //"."
355 public Group getGroup() { return cGroup; } 348 public Group getGroup() { return cGroup; }
356 349
@@ -405,11 +398,11 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
405 //")" 398 //")"
406 public Keyword getRightParenthesisKeyword_4() { return cRightParenthesisKeyword_4; } 399 public Keyword getRightParenthesisKeyword_4() { return cRightParenthesisKeyword_4; }
407 400
408 //(":=" bodies+=Conjunction (";" bodies+=Conjunction)*)? 401 //(":-" bodies+=Conjunction (";" bodies+=Conjunction)*)?
409 public Group getGroup_5() { return cGroup_5; } 402 public Group getGroup_5() { return cGroup_5; }
410 403
411 //":=" 404 //":-"
412 public Keyword getColonEqualsSignKeyword_5_0() { return cColonEqualsSignKeyword_5_0; } 405 public Keyword getColonHyphenMinusKeyword_5_0() { return cColonHyphenMinusKeyword_5_0; }
413 406
414 //bodies+=Conjunction 407 //bodies+=Conjunction
415 public Assignment getBodiesAssignment_5_1() { return cBodiesAssignment_5_1; } 408 public Assignment getBodiesAssignment_5_1() { return cBodiesAssignment_5_1; }
@@ -551,24 +544,22 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
551 private final Keyword cLeftParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2); 544 private final Keyword cLeftParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2);
552 private final Group cGroup_3 = (Group)cGroup.eContents().get(3); 545 private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
553 private final Assignment cArgumentsAssignment_3_0 = (Assignment)cGroup_3.eContents().get(0); 546 private final Assignment cArgumentsAssignment_3_0 = (Assignment)cGroup_3.eContents().get(0);
554 private final CrossReference cArgumentsVariableCrossReference_3_0_0 = (CrossReference)cArgumentsAssignment_3_0.eContents().get(0); 547 private final RuleCall cArgumentsArgumentParserRuleCall_3_0_0 = (RuleCall)cArgumentsAssignment_3_0.eContents().get(0);
555 private final RuleCall cArgumentsVariableIDTerminalRuleCall_3_0_0_1 = (RuleCall)cArgumentsVariableCrossReference_3_0_0.eContents().get(1);
556 private final Group cGroup_3_1 = (Group)cGroup_3.eContents().get(1); 548 private final Group cGroup_3_1 = (Group)cGroup_3.eContents().get(1);
557 private final Keyword cCommaKeyword_3_1_0 = (Keyword)cGroup_3_1.eContents().get(0); 549 private final Keyword cCommaKeyword_3_1_0 = (Keyword)cGroup_3_1.eContents().get(0);
558 private final Assignment cArgumentsAssignment_3_1_1 = (Assignment)cGroup_3_1.eContents().get(1); 550 private final Assignment cArgumentsAssignment_3_1_1 = (Assignment)cGroup_3_1.eContents().get(1);
559 private final CrossReference cArgumentsVariableCrossReference_3_1_1_0 = (CrossReference)cArgumentsAssignment_3_1_1.eContents().get(0); 551 private final RuleCall cArgumentsArgumentParserRuleCall_3_1_1_0 = (RuleCall)cArgumentsAssignment_3_1_1.eContents().get(0);
560 private final RuleCall cArgumentsVariableIDTerminalRuleCall_3_1_1_0_1 = (RuleCall)cArgumentsVariableCrossReference_3_1_1_0.eContents().get(1);
561 private final Keyword cRightParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4); 552 private final Keyword cRightParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4);
562 553
563 //Atom: 554 //Atom:
564 // relation=[Relation|QualifiedName] 555 // relation=[Relation|QualifiedName]
565 // transitiveClosure?="+"? 556 // transitiveClosure?="+"?
566 // "(" (arguments+=[Variable] ("," arguments+=[Variable])*)? ")"; 557 // "(" (arguments+=Argument ("," arguments+=Argument)*)? ")";
567 @Override public ParserRule getRule() { return rule; } 558 @Override public ParserRule getRule() { return rule; }
568 559
569 //relation=[Relation|QualifiedName] 560 //relation=[Relation|QualifiedName]
570 //transitiveClosure?="+"? 561 //transitiveClosure?="+"?
571 //"(" (arguments+=[Variable] ("," arguments+=[Variable])*)? ")" 562 //"(" (arguments+=Argument ("," arguments+=Argument)*)? ")"
572 public Group getGroup() { return cGroup; } 563 public Group getGroup() { return cGroup; }
573 564
574 //relation=[Relation|QualifiedName] 565 //relation=[Relation|QualifiedName]
@@ -589,36 +580,49 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
589 //"(" 580 //"("
590 public Keyword getLeftParenthesisKeyword_2() { return cLeftParenthesisKeyword_2; } 581 public Keyword getLeftParenthesisKeyword_2() { return cLeftParenthesisKeyword_2; }
591 582
592 //(arguments+=[Variable] ("," arguments+=[Variable])*)? 583 //(arguments+=Argument ("," arguments+=Argument)*)?
593 public Group getGroup_3() { return cGroup_3; } 584 public Group getGroup_3() { return cGroup_3; }
594 585
595 //arguments+=[Variable] 586 //arguments+=Argument
596 public Assignment getArgumentsAssignment_3_0() { return cArgumentsAssignment_3_0; } 587 public Assignment getArgumentsAssignment_3_0() { return cArgumentsAssignment_3_0; }
597 588
598 //[Variable] 589 //Argument
599 public CrossReference getArgumentsVariableCrossReference_3_0_0() { return cArgumentsVariableCrossReference_3_0_0; } 590 public RuleCall getArgumentsArgumentParserRuleCall_3_0_0() { return cArgumentsArgumentParserRuleCall_3_0_0; }
600
601 //ID
602 public RuleCall getArgumentsVariableIDTerminalRuleCall_3_0_0_1() { return cArgumentsVariableIDTerminalRuleCall_3_0_0_1; }
603 591
604 //("," arguments+=[Variable])* 592 //("," arguments+=Argument)*
605 public Group getGroup_3_1() { return cGroup_3_1; } 593 public Group getGroup_3_1() { return cGroup_3_1; }
606 594
607 //"," 595 //","
608 public Keyword getCommaKeyword_3_1_0() { return cCommaKeyword_3_1_0; } 596 public Keyword getCommaKeyword_3_1_0() { return cCommaKeyword_3_1_0; }
609 597
610 //arguments+=[Variable] 598 //arguments+=Argument
611 public Assignment getArgumentsAssignment_3_1_1() { return cArgumentsAssignment_3_1_1; } 599 public Assignment getArgumentsAssignment_3_1_1() { return cArgumentsAssignment_3_1_1; }
612 600
613 //[Variable] 601 //Argument
614 public CrossReference getArgumentsVariableCrossReference_3_1_1_0() { return cArgumentsVariableCrossReference_3_1_1_0; } 602 public RuleCall getArgumentsArgumentParserRuleCall_3_1_1_0() { return cArgumentsArgumentParserRuleCall_3_1_1_0; }
615
616 //ID
617 public RuleCall getArgumentsVariableIDTerminalRuleCall_3_1_1_0_1() { return cArgumentsVariableIDTerminalRuleCall_3_1_1_0_1; }
618 603
619 //")" 604 //")"
620 public Keyword getRightParenthesisKeyword_4() { return cRightParenthesisKeyword_4; } 605 public Keyword getRightParenthesisKeyword_4() { return cRightParenthesisKeyword_4; }
621 } 606 }
607 public class ArgumentElements extends AbstractParserRuleElementFinder {
608 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Argument");
609 private final Assignment cVariableAssignment = (Assignment)rule.eContents().get(1);
610 private final CrossReference cVariableVariableCrossReference_0 = (CrossReference)cVariableAssignment.eContents().get(0);
611 private final RuleCall cVariableVariableIDTerminalRuleCall_0_1 = (RuleCall)cVariableVariableCrossReference_0.eContents().get(1);
612
613 //Argument:
614 // variable=[Variable];
615 @Override public ParserRule getRule() { return rule; }
616
617 //variable=[Variable]
618 public Assignment getVariableAssignment() { return cVariableAssignment; }
619
620 //[Variable]
621 public CrossReference getVariableVariableCrossReference_0() { return cVariableVariableCrossReference_0; }
622
623 //ID
624 public RuleCall getVariableVariableIDTerminalRuleCall_0_1() { return cVariableVariableIDTerminalRuleCall_0_1; }
625 }
622 public class AssertionElements extends AbstractParserRuleElementFinder { 626 public class AssertionElements extends AbstractParserRuleElementFinder {
623 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Assertion"); 627 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Assertion");
624 private final Group cGroup = (Group)rule.eContents().get(1); 628 private final Group cGroup = (Group)rule.eContents().get(1);
@@ -853,17 +857,17 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
853 private final Keyword cIncrementPlusSignEqualsSignKeyword_1_0_0 = (Keyword)cIncrementAssignment_1_0.eContents().get(0); 857 private final Keyword cIncrementPlusSignEqualsSignKeyword_1_0_0 = (Keyword)cIncrementAssignment_1_0.eContents().get(0);
854 private final Keyword cEqualsSignKeyword_1_1 = (Keyword)cAlternatives_1.eContents().get(1); 858 private final Keyword cEqualsSignKeyword_1_1 = (Keyword)cAlternatives_1.eContents().get(1);
855 private final Assignment cMultiplicityAssignment_2 = (Assignment)cGroup.eContents().get(2); 859 private final Assignment cMultiplicityAssignment_2 = (Assignment)cGroup.eContents().get(2);
856 private final RuleCall cMultiplicityMultiplicityParserRuleCall_2_0 = (RuleCall)cMultiplicityAssignment_2.eContents().get(0); 860 private final RuleCall cMultiplicityDefiniteMultiplicityParserRuleCall_2_0 = (RuleCall)cMultiplicityAssignment_2.eContents().get(0);
857 861
858 //TypeScope: 862 //TypeScope:
859 // targetType=[ClassDeclaration] 863 // targetType=[ClassDeclaration]
860 // (increment?="+=" | "=") 864 // (increment?="+=" | "=")
861 // multiplicity=Multiplicity; 865 // multiplicity=DefiniteMultiplicity;
862 @Override public ParserRule getRule() { return rule; } 866 @Override public ParserRule getRule() { return rule; }
863 867
864 //targetType=[ClassDeclaration] 868 //targetType=[ClassDeclaration]
865 //(increment?="+=" | "=") 869 //(increment?="+=" | "=")
866 //multiplicity=Multiplicity 870 //multiplicity=DefiniteMultiplicity
867 public Group getGroup() { return cGroup; } 871 public Group getGroup() { return cGroup; }
868 872
869 //targetType=[ClassDeclaration] 873 //targetType=[ClassDeclaration]
@@ -887,19 +891,38 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
887 //"=" 891 //"="
888 public Keyword getEqualsSignKeyword_1_1() { return cEqualsSignKeyword_1_1; } 892 public Keyword getEqualsSignKeyword_1_1() { return cEqualsSignKeyword_1_1; }
889 893
890 //multiplicity=Multiplicity 894 //multiplicity=DefiniteMultiplicity
891 public Assignment getMultiplicityAssignment_2() { return cMultiplicityAssignment_2; } 895 public Assignment getMultiplicityAssignment_2() { return cMultiplicityAssignment_2; }
892 896
893 //Multiplicity 897 //DefiniteMultiplicity
894 public RuleCall getMultiplicityMultiplicityParserRuleCall_2_0() { return cMultiplicityMultiplicityParserRuleCall_2_0; } 898 public RuleCall getMultiplicityDefiniteMultiplicityParserRuleCall_2_0() { return cMultiplicityDefiniteMultiplicityParserRuleCall_2_0; }
895 } 899 }
896 public class MultiplicityElements extends AbstractParserRuleElementFinder { 900 public class MultiplicityElements extends AbstractParserRuleElementFinder {
897 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Multiplicity"); 901 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Multiplicity");
898 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 902 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
903 private final RuleCall cUnboundedMultiplicityParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
904 private final RuleCall cDefiniteMultiplicityParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
905
906 //Multiplicity:
907 // UnboundedMultiplicity | DefiniteMultiplicity;
908 @Override public ParserRule getRule() { return rule; }
909
910 //UnboundedMultiplicity | DefiniteMultiplicity
911 public Alternatives getAlternatives() { return cAlternatives; }
912
913 //UnboundedMultiplicity
914 public RuleCall getUnboundedMultiplicityParserRuleCall_0() { return cUnboundedMultiplicityParserRuleCall_0; }
915
916 //DefiniteMultiplicity
917 public RuleCall getDefiniteMultiplicityParserRuleCall_1() { return cDefiniteMultiplicityParserRuleCall_1; }
918 }
919 public class DefiniteMultiplicityElements extends AbstractParserRuleElementFinder {
920 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.DefiniteMultiplicity");
921 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
899 private final RuleCall cRangeMultiplicityParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 922 private final RuleCall cRangeMultiplicityParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
900 private final RuleCall cExactMultiplicityParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 923 private final RuleCall cExactMultiplicityParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
901 924
902 //Multiplicity: 925 //DefiniteMultiplicity returns Multiplicity:
903 // RangeMultiplicity | ExactMultiplicity; 926 // RangeMultiplicity | ExactMultiplicity;
904 @Override public ParserRule getRule() { return rule; } 927 @Override public ParserRule getRule() { return rule; }
905 928
@@ -912,6 +935,17 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
912 //ExactMultiplicity 935 //ExactMultiplicity
913 public RuleCall getExactMultiplicityParserRuleCall_1() { return cExactMultiplicityParserRuleCall_1; } 936 public RuleCall getExactMultiplicityParserRuleCall_1() { return cExactMultiplicityParserRuleCall_1; }
914 } 937 }
938 public class UnboundedMultiplicityElements extends AbstractParserRuleElementFinder {
939 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.UnboundedMultiplicity");
940 private final Action cUnboundedMultiplicityAction = (Action)rule.eContents().get(1);
941
942 //UnboundedMultiplicity:
943 // {UnboundedMultiplicity};
944 @Override public ParserRule getRule() { return rule; }
945
946 //{UnboundedMultiplicity}
947 public Action getUnboundedMultiplicityAction() { return cUnboundedMultiplicityAction; }
948 }
915 public class RangeMultiplicityElements extends AbstractParserRuleElementFinder { 949 public class RangeMultiplicityElements extends AbstractParserRuleElementFinder {
916 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.RangeMultiplicity"); 950 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.RangeMultiplicity");
917 private final Group cGroup = (Group)rule.eContents().get(1); 951 private final Group cGroup = (Group)rule.eContents().get(1);
@@ -979,30 +1013,50 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
979 } 1013 }
980 public class QualifiedNameElements extends AbstractParserRuleElementFinder { 1014 public class QualifiedNameElements extends AbstractParserRuleElementFinder {
981 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.QualifiedName"); 1015 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.QualifiedName");
982 private final Group cGroup = (Group)rule.eContents().get(1); 1016 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
983 private final RuleCall cIDTerminalRuleCall_0 = (RuleCall)cGroup.eContents().get(0); 1017 private final RuleCall cQUOTED_IDTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
984 private final Group cGroup_1 = (Group)cGroup.eContents().get(1); 1018 private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
985 private final Keyword cColonColonKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); 1019 private final RuleCall cIDTerminalRuleCall_1_0 = (RuleCall)cGroup_1.eContents().get(0);
986 private final RuleCall cIDTerminalRuleCall_1_1 = (RuleCall)cGroup_1.eContents().get(1); 1020 private final Group cGroup_1_1 = (Group)cGroup_1.eContents().get(1);
1021 private final Keyword cColonKeyword_1_1_0 = (Keyword)cGroup_1_1.eContents().get(0);
1022 private final RuleCall cIDTerminalRuleCall_1_1_1 = (RuleCall)cGroup_1_1.eContents().get(1);
1023 private final Group cGroup_1_2 = (Group)cGroup_1.eContents().get(2);
1024 private final Keyword cColonKeyword_1_2_0 = (Keyword)cGroup_1_2.eContents().get(0);
1025 private final RuleCall cQUOTED_IDTerminalRuleCall_1_2_1 = (RuleCall)cGroup_1_2.eContents().get(1);
987 1026
988 //QualifiedName: 1027 //QualifiedName:
989 // ID ("::" ID)*; 1028 // QUOTED_ID | ID (":" ID)* (":" QUOTED_ID)?;
990 @Override public ParserRule getRule() { return rule; } 1029 @Override public ParserRule getRule() { return rule; }
991 1030
992 //ID ("::" ID)* 1031 //QUOTED_ID | ID (":" ID)* (":" QUOTED_ID)?
993 public Group getGroup() { return cGroup; } 1032 public Alternatives getAlternatives() { return cAlternatives; }
994 1033
995 //ID 1034 //QUOTED_ID
996 public RuleCall getIDTerminalRuleCall_0() { return cIDTerminalRuleCall_0; } 1035 public RuleCall getQUOTED_IDTerminalRuleCall_0() { return cQUOTED_IDTerminalRuleCall_0; }
997 1036
998 //("::" ID)* 1037 //ID (":" ID)* (":" QUOTED_ID)?
999 public Group getGroup_1() { return cGroup_1; } 1038 public Group getGroup_1() { return cGroup_1; }
1000 1039
1001 //"::" 1040 //ID
1002 public Keyword getColonColonKeyword_1_0() { return cColonColonKeyword_1_0; } 1041 public RuleCall getIDTerminalRuleCall_1_0() { return cIDTerminalRuleCall_1_0; }
1042
1043 //(":" ID)*
1044 public Group getGroup_1_1() { return cGroup_1_1; }
1045
1046 //":"
1047 public Keyword getColonKeyword_1_1_0() { return cColonKeyword_1_1_0; }
1003 1048
1004 //ID 1049 //ID
1005 public RuleCall getIDTerminalRuleCall_1_1() { return cIDTerminalRuleCall_1_1; } 1050 public RuleCall getIDTerminalRuleCall_1_1_1() { return cIDTerminalRuleCall_1_1_1; }
1051
1052 //(":" QUOTED_ID)?
1053 public Group getGroup_1_2() { return cGroup_1_2; }
1054
1055 //":"
1056 public Keyword getColonKeyword_1_2_0() { return cColonKeyword_1_2_0; }
1057
1058 //QUOTED_ID
1059 public RuleCall getQUOTED_IDTerminalRuleCall_1_2_1() { return cQUOTED_IDTerminalRuleCall_1_2_1; }
1006 } 1060 }
1007 1061
1008 public class LogicValueElements extends AbstractElementFinder.AbstractEnumRuleElementFinder { 1062 public class LogicValueElements extends AbstractElementFinder.AbstractEnumRuleElementFinder {
@@ -1078,16 +1132,21 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
1078 private final LiteralElements pLiteral; 1132 private final LiteralElements pLiteral;
1079 private final NegativeLiteralElements pNegativeLiteral; 1133 private final NegativeLiteralElements pNegativeLiteral;
1080 private final AtomElements pAtom; 1134 private final AtomElements pAtom;
1135 private final ArgumentElements pArgument;
1081 private final AssertionElements pAssertion; 1136 private final AssertionElements pAssertion;
1082 private final LogicValueElements eLogicValue; 1137 private final LogicValueElements eLogicValue;
1083 private final ShortLogicValueElements eShortLogicValue; 1138 private final ShortLogicValueElements eShortLogicValue;
1084 private final ScopeDeclarationElements pScopeDeclaration; 1139 private final ScopeDeclarationElements pScopeDeclaration;
1085 private final TypeScopeElements pTypeScope; 1140 private final TypeScopeElements pTypeScope;
1086 private final MultiplicityElements pMultiplicity; 1141 private final MultiplicityElements pMultiplicity;
1142 private final DefiniteMultiplicityElements pDefiniteMultiplicity;
1143 private final UnboundedMultiplicityElements pUnboundedMultiplicity;
1087 private final RangeMultiplicityElements pRangeMultiplicity; 1144 private final RangeMultiplicityElements pRangeMultiplicity;
1088 private final ExactMultiplicityElements pExactMultiplicity; 1145 private final ExactMultiplicityElements pExactMultiplicity;
1089 private final UpperBoundElements pUpperBound; 1146 private final UpperBoundElements pUpperBound;
1090 private final QualifiedNameElements pQualifiedName; 1147 private final QualifiedNameElements pQualifiedName;
1148 private final TerminalRule tSTRING;
1149 private final TerminalRule tQUOTED_ID;
1091 1150
1092 private final Grammar grammar; 1151 private final Grammar grammar;
1093 1152
@@ -1108,16 +1167,21 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
1108 this.pLiteral = new LiteralElements(); 1167 this.pLiteral = new LiteralElements();
1109 this.pNegativeLiteral = new NegativeLiteralElements(); 1168 this.pNegativeLiteral = new NegativeLiteralElements();
1110 this.pAtom = new AtomElements(); 1169 this.pAtom = new AtomElements();
1170 this.pArgument = new ArgumentElements();
1111 this.pAssertion = new AssertionElements(); 1171 this.pAssertion = new AssertionElements();
1112 this.eLogicValue = new LogicValueElements(); 1172 this.eLogicValue = new LogicValueElements();
1113 this.eShortLogicValue = new ShortLogicValueElements(); 1173 this.eShortLogicValue = new ShortLogicValueElements();
1114 this.pScopeDeclaration = new ScopeDeclarationElements(); 1174 this.pScopeDeclaration = new ScopeDeclarationElements();
1115 this.pTypeScope = new TypeScopeElements(); 1175 this.pTypeScope = new TypeScopeElements();
1116 this.pMultiplicity = new MultiplicityElements(); 1176 this.pMultiplicity = new MultiplicityElements();
1177 this.pDefiniteMultiplicity = new DefiniteMultiplicityElements();
1178 this.pUnboundedMultiplicity = new UnboundedMultiplicityElements();
1117 this.pRangeMultiplicity = new RangeMultiplicityElements(); 1179 this.pRangeMultiplicity = new RangeMultiplicityElements();
1118 this.pExactMultiplicity = new ExactMultiplicityElements(); 1180 this.pExactMultiplicity = new ExactMultiplicityElements();
1119 this.pUpperBound = new UpperBoundElements(); 1181 this.pUpperBound = new UpperBoundElements();
1120 this.pQualifiedName = new QualifiedNameElements(); 1182 this.pQualifiedName = new QualifiedNameElements();
1183 this.tSTRING = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.STRING");
1184 this.tQUOTED_ID = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.QUOTED_ID");
1121 } 1185 }
1122 1186
1123 protected Grammar internalFindGrammar(GrammarProvider grammarProvider) { 1187 protected Grammar internalFindGrammar(GrammarProvider grammarProvider) {
@@ -1148,6 +1212,7 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
1148 1212
1149 1213
1150 //Problem: 1214 //Problem:
1215 // ("problem" name=ID ".")?
1151 // statements+=Statement*; 1216 // statements+=Statement*;
1152 public ProblemElements getProblemAccess() { 1217 public ProblemElements getProblemAccess() {
1153 return pProblem; 1218 return pProblem;
@@ -1170,11 +1235,8 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
1170 //ClassDeclaration: 1235 //ClassDeclaration:
1171 // abstract?="abstract"? "class" 1236 // abstract?="abstract"? "class"
1172 // name=ID 1237 // name=ID
1173 // ("extends" (superTypes+=[ClassDeclaration] | 1238 // ("extends" superTypes+=[ClassDeclaration|QualifiedName] ("," superTypes+=[ClassDeclaration|QualifiedName])*)?
1174 // "[" (superTypes+=[ClassDeclaration] ("," superTypes+=[ClassDeclaration])*)? "]") | 1239 // ("{" (referenceDeclarations+=ReferenceDeclaration ";"?)* "}" | ".");
1175 // referenceDeclarations+=ReferenceDeclaration)?
1176 // ("," referenceDeclarations+=ReferenceDeclaration)*
1177 // ".";
1178 public ClassDeclarationElements getClassDeclarationAccess() { 1240 public ClassDeclarationElements getClassDeclarationAccess() {
1179 return pClassDeclaration; 1241 return pClassDeclaration;
1180 } 1242 }
@@ -1185,8 +1247,8 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
1185 1247
1186 //ReferenceDeclaration: 1248 //ReferenceDeclaration:
1187 // (containment?="contains" | "refers") 1249 // (containment?="contains" | "refers")
1188 // referenceType=[ClassDeclaration] 1250 // referenceType=[ClassDeclaration|QualifiedName]
1189 // "[" multiplicity=Multiplicity "]" 1251 // ("[" multiplicity=Multiplicity "]")?
1190 // name=ID 1252 // name=ID
1191 // ("opposite" opposite=[ReferenceDeclaration|QualifiedName])?; 1253 // ("opposite" opposite=[ReferenceDeclaration|QualifiedName])?;
1192 public ReferenceDeclarationElements getReferenceDeclarationAccess() { 1254 public ReferenceDeclarationElements getReferenceDeclarationAccess() {
@@ -1201,7 +1263,7 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
1201 // (error?="error" "pred"? | "pred") 1263 // (error?="error" "pred"? | "pred")
1202 // name=ID 1264 // name=ID
1203 // "(" (parameters+=Parameter ("," parameters+=Parameter)*)? ")" 1265 // "(" (parameters+=Parameter ("," parameters+=Parameter)*)? ")"
1204 // (":=" bodies+=Conjunction (";" bodies+=Conjunction)*)? 1266 // (":-" bodies+=Conjunction (";" bodies+=Conjunction)*)?
1205 // "."; 1267 // ".";
1206 public PredicateDefinitionElements getPredicateDefinitionAccess() { 1268 public PredicateDefinitionElements getPredicateDefinitionAccess() {
1207 return pPredicateDefinition; 1269 return pPredicateDefinition;
@@ -1254,7 +1316,7 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
1254 //Atom: 1316 //Atom:
1255 // relation=[Relation|QualifiedName] 1317 // relation=[Relation|QualifiedName]
1256 // transitiveClosure?="+"? 1318 // transitiveClosure?="+"?
1257 // "(" (arguments+=[Variable] ("," arguments+=[Variable])*)? ")"; 1319 // "(" (arguments+=Argument ("," arguments+=Argument)*)? ")";
1258 public AtomElements getAtomAccess() { 1320 public AtomElements getAtomAccess() {
1259 return pAtom; 1321 return pAtom;
1260 } 1322 }
@@ -1263,6 +1325,16 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
1263 return getAtomAccess().getRule(); 1325 return getAtomAccess().getRule();
1264 } 1326 }
1265 1327
1328 //Argument:
1329 // variable=[Variable];
1330 public ArgumentElements getArgumentAccess() {
1331 return pArgument;
1332 }
1333
1334 public ParserRule getArgumentRule() {
1335 return getArgumentAccess().getRule();
1336 }
1337
1266 //Assertion: 1338 //Assertion:
1267 // (relation=[Relation|QualifiedName] 1339 // (relation=[Relation|QualifiedName]
1268 // "(" (arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? ")" 1340 // "(" (arguments+=[Node|QualifiedName] ("," arguments+=[Node|QualifiedName])*)? ")"
@@ -1312,7 +1384,7 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
1312 //TypeScope: 1384 //TypeScope:
1313 // targetType=[ClassDeclaration] 1385 // targetType=[ClassDeclaration]
1314 // (increment?="+=" | "=") 1386 // (increment?="+=" | "=")
1315 // multiplicity=Multiplicity; 1387 // multiplicity=DefiniteMultiplicity;
1316 public TypeScopeElements getTypeScopeAccess() { 1388 public TypeScopeElements getTypeScopeAccess() {
1317 return pTypeScope; 1389 return pTypeScope;
1318 } 1390 }
@@ -1322,7 +1394,7 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
1322 } 1394 }
1323 1395
1324 //Multiplicity: 1396 //Multiplicity:
1325 // RangeMultiplicity | ExactMultiplicity; 1397 // UnboundedMultiplicity | DefiniteMultiplicity;
1326 public MultiplicityElements getMultiplicityAccess() { 1398 public MultiplicityElements getMultiplicityAccess() {
1327 return pMultiplicity; 1399 return pMultiplicity;
1328 } 1400 }
@@ -1331,6 +1403,26 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
1331 return getMultiplicityAccess().getRule(); 1403 return getMultiplicityAccess().getRule();
1332 } 1404 }
1333 1405
1406 //DefiniteMultiplicity returns Multiplicity:
1407 // RangeMultiplicity | ExactMultiplicity;
1408 public DefiniteMultiplicityElements getDefiniteMultiplicityAccess() {
1409 return pDefiniteMultiplicity;
1410 }
1411
1412 public ParserRule getDefiniteMultiplicityRule() {
1413 return getDefiniteMultiplicityAccess().getRule();
1414 }
1415
1416 //UnboundedMultiplicity:
1417 // {UnboundedMultiplicity};
1418 public UnboundedMultiplicityElements getUnboundedMultiplicityAccess() {
1419 return pUnboundedMultiplicity;
1420 }
1421
1422 public ParserRule getUnboundedMultiplicityRule() {
1423 return getUnboundedMultiplicityAccess().getRule();
1424 }
1425
1334 //RangeMultiplicity: 1426 //RangeMultiplicity:
1335 // lowerBound=INT ".." upperBound=UpperBound; 1427 // lowerBound=INT ".." upperBound=UpperBound;
1336 public RangeMultiplicityElements getRangeMultiplicityAccess() { 1428 public RangeMultiplicityElements getRangeMultiplicityAccess() {
@@ -1362,7 +1454,7 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
1362 } 1454 }
1363 1455
1364 //QualifiedName: 1456 //QualifiedName:
1365 // ID ("::" ID)*; 1457 // QUOTED_ID | ID (":" ID)* (":" QUOTED_ID)?;
1366 public QualifiedNameElements getQualifiedNameAccess() { 1458 public QualifiedNameElements getQualifiedNameAccess() {
1367 return pQualifiedName; 1459 return pQualifiedName;
1368 } 1460 }
@@ -1371,6 +1463,17 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
1371 return getQualifiedNameAccess().getRule(); 1463 return getQualifiedNameAccess().getRule();
1372 } 1464 }
1373 1465
1466 //@Override
1467 //terminal STRING: '"' ( '\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\'|'"') )* '"';
1468 public TerminalRule getSTRINGRule() {
1469 return tSTRING;
1470 }
1471
1472 //terminal QUOTED_ID: "'" ( '\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\'|"'") )* "'";
1473 public TerminalRule getQUOTED_IDRule() {
1474 return tQUOTED_ID;
1475 }
1476
1374 //terminal ID: '^'?('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; 1477 //terminal ID: '^'?('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
1375 public TerminalRule getIDRule() { 1478 public TerminalRule getIDRule() {
1376 return gaTerminals.getIDRule(); 1479 return gaTerminals.getIDRule();
@@ -1381,14 +1484,6 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
1381 return gaTerminals.getINTRule(); 1484 return gaTerminals.getINTRule();
1382 } 1485 }
1383 1486
1384 //terminal STRING:
1385 // '"' ( '\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\'|'"') )* '"' |
1386 // "'" ( '\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\'|"'") )* "'"
1387 // ;
1388 public TerminalRule getSTRINGRule() {
1389 return gaTerminals.getSTRINGRule();
1390 }
1391
1392 //terminal ML_COMMENT : '/*' -> '*/'; 1487 //terminal ML_COMMENT : '/*' -> '*/';
1393 public TerminalRule getML_COMMENTRule() { 1488 public TerminalRule getML_COMMENTRule() {
1394 return gaTerminals.getML_COMMENTRule(); 1489 return gaTerminals.getML_COMMENTRule();