aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.viatra.solver.language.parent
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.viatra.solver.language.parent')
-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.java5
-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.java14
-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.g663
-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.tokens62
-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.java559
-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.java5975
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/problem.aird506
-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.java20
-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.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/EnumDeclaration.java36
-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/Node.java2
-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/Parameter.java6
-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.java9
-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.java172
-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/ReferenceDeclaration.java6
-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/Variable.java2
-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/VariableOrNode.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.java58
-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.java9
-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/EnumDeclarationImpl.java150
-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/NodeImpl.java2
-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/ParameterImpl.java19
-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.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/impl/ProblemPackageImpl.java82
-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/ReferenceDeclarationImpl.java19
-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/VariableImpl.java2
-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/VariableOrNodeImpl.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.java60
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.ecore17
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.genmodel6
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/index.html14
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/style.css10
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/xtext-resources/generated/mode-problem.js2
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/Problem.xtext42
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/ProblemUtil.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.java100
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/resource/ProblemLocationInFileProvider.java89
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/resource/ProblemResourceDescriptionStrategy.java5
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/scoping/ProblemScopeProvider.java10
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/resources/org/eclipse/viatra/solver/language/builtin.problem14
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/Problem.xtextbinbin5698 -> 6159 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.g351
-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.tokens46
-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.java415
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemParser.java2516
-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.java72
-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.java51
-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.java412
49 files changed, 8656 insertions, 4076 deletions
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 2f69e946..eee5070b 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
@@ -9,6 +9,7 @@ import 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.ProblemUtil;
11import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration; 11import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration;
12import org.eclipse.viatra.solver.language.model.problem.EnumDeclaration;
12import org.eclipse.viatra.solver.language.model.problem.Node; 13import org.eclipse.viatra.solver.language.model.problem.Node;
13import org.eclipse.viatra.solver.language.model.problem.Parameter; 14import org.eclipse.viatra.solver.language.model.problem.Parameter;
14import org.eclipse.viatra.solver.language.model.problem.PredicateDefinition; 15import org.eclipse.viatra.solver.language.model.problem.PredicateDefinition;
@@ -30,6 +31,7 @@ public class ProblemSemanticHighlightingCalculator extends DefaultSemanticHighli
30 private static final String BUILTIN_CLASS = "cm-keyword"; 31 private static final String BUILTIN_CLASS = "cm-keyword";
31 private static final String CLASS_CLASS = "problem-class"; 32 private static final String CLASS_CLASS = "problem-class";
32 private static final String ABSTRACT_CLASS = "problem-abstract"; 33 private static final String ABSTRACT_CLASS = "problem-abstract";
34 private static final String ENUM_CLASS = "problem-enum";
33 private static final String REFERENCE_CLASS = "problem-reference"; 35 private static final String REFERENCE_CLASS = "problem-reference";
34 private static final String CONTAINMENT_CLASS = "problem-containment"; 36 private static final String CONTAINMENT_CLASS = "problem-containment";
35 private static final String PREDICATE_CLASS = "problem-predicate"; 37 private static final String PREDICATE_CLASS = "problem-predicate";
@@ -105,6 +107,9 @@ public class ProblemSemanticHighlightingCalculator extends DefaultSemanticHighli
105 classesBuilder.add(ABSTRACT_CLASS); 107 classesBuilder.add(ABSTRACT_CLASS);
106 } 108 }
107 } 109 }
110 if (eObject instanceof EnumDeclaration) {
111 classesBuilder.add(ENUM_CLASS);
112 }
108 if (eObject instanceof ReferenceDeclaration) { 113 if (eObject instanceof ReferenceDeclaration) {
109 classesBuilder.add(REFERENCE_CLASS); 114 classesBuilder.add(REFERENCE_CLASS);
110 ReferenceDeclaration referenceDeclaration = (ReferenceDeclaration) eObject; 115 ReferenceDeclaration referenceDeclaration = (ReferenceDeclaration) eObject;
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 2adb1a82..e4142d9f 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
@@ -33,6 +33,8 @@ public class ProblemParser extends AbstractContentAssistParser {
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_4(), "rule__ClassDeclaration__Alternatives_4"); 35 builder.put(grammarAccess.getClassDeclarationAccess().getAlternatives_4(), "rule__ClassDeclaration__Alternatives_4");
36 builder.put(grammarAccess.getEnumDeclarationAccess().getAlternatives_2(), "rule__EnumDeclaration__Alternatives_2");
37 builder.put(grammarAccess.getEnumDeclarationAccess().getAlternatives_2_0_1_2(), "rule__EnumDeclaration__Alternatives_2_0_1_2");
36 builder.put(grammarAccess.getReferenceDeclarationAccess().getAlternatives_0(), "rule__ReferenceDeclaration__Alternatives_0"); 38 builder.put(grammarAccess.getReferenceDeclarationAccess().getAlternatives_0(), "rule__ReferenceDeclaration__Alternatives_0");
37 builder.put(grammarAccess.getPredicateDefinitionAccess().getAlternatives_0(), "rule__PredicateDefinition__Alternatives_0"); 39 builder.put(grammarAccess.getPredicateDefinitionAccess().getAlternatives_0(), "rule__PredicateDefinition__Alternatives_0");
38 builder.put(grammarAccess.getLiteralAccess().getAlternatives(), "rule__Literal__Alternatives"); 40 builder.put(grammarAccess.getLiteralAccess().getAlternatives(), "rule__Literal__Alternatives");
@@ -41,7 +43,9 @@ public class ProblemParser extends AbstractContentAssistParser {
41 builder.put(grammarAccess.getMultiplicityAccess().getAlternatives(), "rule__Multiplicity__Alternatives"); 43 builder.put(grammarAccess.getMultiplicityAccess().getAlternatives(), "rule__Multiplicity__Alternatives");
42 builder.put(grammarAccess.getDefiniteMultiplicityAccess().getAlternatives(), "rule__DefiniteMultiplicity__Alternatives"); 44 builder.put(grammarAccess.getDefiniteMultiplicityAccess().getAlternatives(), "rule__DefiniteMultiplicity__Alternatives");
43 builder.put(grammarAccess.getUpperBoundAccess().getAlternatives(), "rule__UpperBound__Alternatives"); 45 builder.put(grammarAccess.getUpperBoundAccess().getAlternatives(), "rule__UpperBound__Alternatives");
46 builder.put(grammarAccess.getQuotedOrUnquotedIdAccess().getAlternatives(), "rule__QuotedOrUnquotedId__Alternatives");
44 builder.put(grammarAccess.getQualifiedNameAccess().getAlternatives(), "rule__QualifiedName__Alternatives"); 47 builder.put(grammarAccess.getQualifiedNameAccess().getAlternatives(), "rule__QualifiedName__Alternatives");
48 builder.put(grammarAccess.getIdentifierAccess().getAlternatives(), "rule__Identifier__Alternatives");
45 builder.put(grammarAccess.getLogicValueAccess().getAlternatives(), "rule__LogicValue__Alternatives"); 49 builder.put(grammarAccess.getLogicValueAccess().getAlternatives(), "rule__LogicValue__Alternatives");
46 builder.put(grammarAccess.getShortLogicValueAccess().getAlternatives(), "rule__ShortLogicValue__Alternatives"); 50 builder.put(grammarAccess.getShortLogicValueAccess().getAlternatives(), "rule__ShortLogicValue__Alternatives");
47 builder.put(grammarAccess.getProblemAccess().getGroup(), "rule__Problem__Group__0"); 51 builder.put(grammarAccess.getProblemAccess().getGroup(), "rule__Problem__Group__0");
@@ -51,6 +55,10 @@ public class ProblemParser extends AbstractContentAssistParser {
51 builder.put(grammarAccess.getClassDeclarationAccess().getGroup_3_2(), "rule__ClassDeclaration__Group_3_2__0"); 55 builder.put(grammarAccess.getClassDeclarationAccess().getGroup_3_2(), "rule__ClassDeclaration__Group_3_2__0");
52 builder.put(grammarAccess.getClassDeclarationAccess().getGroup_4_0(), "rule__ClassDeclaration__Group_4_0__0"); 56 builder.put(grammarAccess.getClassDeclarationAccess().getGroup_4_0(), "rule__ClassDeclaration__Group_4_0__0");
53 builder.put(grammarAccess.getClassDeclarationAccess().getGroup_4_0_1(), "rule__ClassDeclaration__Group_4_0_1__0"); 57 builder.put(grammarAccess.getClassDeclarationAccess().getGroup_4_0_1(), "rule__ClassDeclaration__Group_4_0_1__0");
58 builder.put(grammarAccess.getEnumDeclarationAccess().getGroup(), "rule__EnumDeclaration__Group__0");
59 builder.put(grammarAccess.getEnumDeclarationAccess().getGroup_2_0(), "rule__EnumDeclaration__Group_2_0__0");
60 builder.put(grammarAccess.getEnumDeclarationAccess().getGroup_2_0_1(), "rule__EnumDeclaration__Group_2_0_1__0");
61 builder.put(grammarAccess.getEnumDeclarationAccess().getGroup_2_0_1_1(), "rule__EnumDeclaration__Group_2_0_1_1__0");
54 builder.put(grammarAccess.getReferenceDeclarationAccess().getGroup(), "rule__ReferenceDeclaration__Group__0"); 62 builder.put(grammarAccess.getReferenceDeclarationAccess().getGroup(), "rule__ReferenceDeclaration__Group__0");
55 builder.put(grammarAccess.getReferenceDeclarationAccess().getGroup_2(), "rule__ReferenceDeclaration__Group_2__0"); 63 builder.put(grammarAccess.getReferenceDeclarationAccess().getGroup_2(), "rule__ReferenceDeclaration__Group_2__0");
56 builder.put(grammarAccess.getReferenceDeclarationAccess().getGroup_4(), "rule__ReferenceDeclaration__Group_4__0"); 64 builder.put(grammarAccess.getReferenceDeclarationAccess().getGroup_4(), "rule__ReferenceDeclaration__Group_4__0");
@@ -88,6 +96,10 @@ public class ProblemParser extends AbstractContentAssistParser {
88 builder.put(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_1(), "rule__ClassDeclaration__SuperTypesAssignment_3_1"); 96 builder.put(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_1(), "rule__ClassDeclaration__SuperTypesAssignment_3_1");
89 builder.put(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_2_1(), "rule__ClassDeclaration__SuperTypesAssignment_3_2_1"); 97 builder.put(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_2_1(), "rule__ClassDeclaration__SuperTypesAssignment_3_2_1");
90 builder.put(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsAssignment_4_0_1_0(), "rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0"); 98 builder.put(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsAssignment_4_0_1_0(), "rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0");
99 builder.put(grammarAccess.getEnumDeclarationAccess().getNameAssignment_1(), "rule__EnumDeclaration__NameAssignment_1");
100 builder.put(grammarAccess.getEnumDeclarationAccess().getLiteralsAssignment_2_0_1_0(), "rule__EnumDeclaration__LiteralsAssignment_2_0_1_0");
101 builder.put(grammarAccess.getEnumDeclarationAccess().getLiteralsAssignment_2_0_1_1_1(), "rule__EnumDeclaration__LiteralsAssignment_2_0_1_1_1");
102 builder.put(grammarAccess.getEnumLiteralAccess().getNameAssignment(), "rule__EnumLiteral__NameAssignment");
91 builder.put(grammarAccess.getReferenceDeclarationAccess().getContainmentAssignment_0_0(), "rule__ReferenceDeclaration__ContainmentAssignment_0_0"); 103 builder.put(grammarAccess.getReferenceDeclarationAccess().getContainmentAssignment_0_0(), "rule__ReferenceDeclaration__ContainmentAssignment_0_0");
92 builder.put(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeAssignment_1(), "rule__ReferenceDeclaration__ReferenceTypeAssignment_1"); 104 builder.put(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeAssignment_1(), "rule__ReferenceDeclaration__ReferenceTypeAssignment_1");
93 builder.put(grammarAccess.getReferenceDeclarationAccess().getMultiplicityAssignment_2_1(), "rule__ReferenceDeclaration__MultiplicityAssignment_2_1"); 105 builder.put(grammarAccess.getReferenceDeclarationAccess().getMultiplicityAssignment_2_1(), "rule__ReferenceDeclaration__MultiplicityAssignment_2_1");
@@ -108,7 +120,7 @@ public class ProblemParser extends AbstractContentAssistParser {
108 builder.put(grammarAccess.getAtomAccess().getTransitiveClosureAssignment_1(), "rule__Atom__TransitiveClosureAssignment_1"); 120 builder.put(grammarAccess.getAtomAccess().getTransitiveClosureAssignment_1(), "rule__Atom__TransitiveClosureAssignment_1");
109 builder.put(grammarAccess.getAtomAccess().getArgumentsAssignment_3_0(), "rule__Atom__ArgumentsAssignment_3_0"); 121 builder.put(grammarAccess.getAtomAccess().getArgumentsAssignment_3_0(), "rule__Atom__ArgumentsAssignment_3_0");
110 builder.put(grammarAccess.getAtomAccess().getArgumentsAssignment_3_1_1(), "rule__Atom__ArgumentsAssignment_3_1_1"); 122 builder.put(grammarAccess.getAtomAccess().getArgumentsAssignment_3_1_1(), "rule__Atom__ArgumentsAssignment_3_1_1");
111 builder.put(grammarAccess.getArgumentAccess().getVariableAssignment(), "rule__Argument__VariableAssignment"); 123 builder.put(grammarAccess.getArgumentAccess().getVariableOrNodeAssignment(), "rule__Argument__VariableOrNodeAssignment");
112 builder.put(grammarAccess.getAssertionAccess().getRelationAssignment_0_0_0(), "rule__Assertion__RelationAssignment_0_0_0"); 124 builder.put(grammarAccess.getAssertionAccess().getRelationAssignment_0_0_0(), "rule__Assertion__RelationAssignment_0_0_0");
113 builder.put(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_0_2_0(), "rule__Assertion__ArgumentsAssignment_0_0_2_0"); 125 builder.put(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_0_2_0(), "rule__Assertion__ArgumentsAssignment_0_0_2_0");
114 builder.put(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_0_2_1_1(), "rule__Assertion__ArgumentsAssignment_0_0_2_1_1"); 126 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 01a6fd6e..0a7c03ba 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
@@ -124,6 +124,56 @@ finally {
124 restoreStackSize(stackSize); 124 restoreStackSize(stackSize);
125} 125}
126 126
127// Entry rule entryRuleEnumDeclaration
128entryRuleEnumDeclaration
129:
130{ before(grammarAccess.getEnumDeclarationRule()); }
131 ruleEnumDeclaration
132{ after(grammarAccess.getEnumDeclarationRule()); }
133 EOF
134;
135
136// Rule EnumDeclaration
137ruleEnumDeclaration
138 @init {
139 int stackSize = keepStackSize();
140 }
141 :
142 (
143 { before(grammarAccess.getEnumDeclarationAccess().getGroup()); }
144 (rule__EnumDeclaration__Group__0)
145 { after(grammarAccess.getEnumDeclarationAccess().getGroup()); }
146 )
147;
148finally {
149 restoreStackSize(stackSize);
150}
151
152// Entry rule entryRuleEnumLiteral
153entryRuleEnumLiteral
154:
155{ before(grammarAccess.getEnumLiteralRule()); }
156 ruleEnumLiteral
157{ after(grammarAccess.getEnumLiteralRule()); }
158 EOF
159;
160
161// Rule EnumLiteral
162ruleEnumLiteral
163 @init {
164 int stackSize = keepStackSize();
165 }
166 :
167 (
168 { before(grammarAccess.getEnumLiteralAccess().getNameAssignment()); }
169 (rule__EnumLiteral__NameAssignment)
170 { after(grammarAccess.getEnumLiteralAccess().getNameAssignment()); }
171 )
172;
173finally {
174 restoreStackSize(stackSize);
175}
176
127// Entry rule entryRuleReferenceDeclaration 177// Entry rule entryRuleReferenceDeclaration
128entryRuleReferenceDeclaration 178entryRuleReferenceDeclaration
129: 179:
@@ -315,9 +365,9 @@ ruleArgument
315 } 365 }
316 : 366 :
317 ( 367 (
318 { before(grammarAccess.getArgumentAccess().getVariableAssignment()); } 368 { before(grammarAccess.getArgumentAccess().getVariableOrNodeAssignment()); }
319 (rule__Argument__VariableAssignment) 369 (rule__Argument__VariableOrNodeAssignment)
320 { after(grammarAccess.getArgumentAccess().getVariableAssignment()); } 370 { after(grammarAccess.getArgumentAccess().getVariableOrNodeAssignment()); }
321 ) 371 )
322; 372;
323finally { 373finally {
@@ -549,6 +599,31 @@ finally {
549 restoreStackSize(stackSize); 599 restoreStackSize(stackSize);
550} 600}
551 601
602// Entry rule entryRuleQuotedOrUnquotedId
603entryRuleQuotedOrUnquotedId
604:
605{ before(grammarAccess.getQuotedOrUnquotedIdRule()); }
606 ruleQuotedOrUnquotedId
607{ after(grammarAccess.getQuotedOrUnquotedIdRule()); }
608 EOF
609;
610
611// Rule QuotedOrUnquotedId
612ruleQuotedOrUnquotedId
613 @init {
614 int stackSize = keepStackSize();
615 }
616 :
617 (
618 { before(grammarAccess.getQuotedOrUnquotedIdAccess().getAlternatives()); }
619 (rule__QuotedOrUnquotedId__Alternatives)
620 { after(grammarAccess.getQuotedOrUnquotedIdAccess().getAlternatives()); }
621 )
622;
623finally {
624 restoreStackSize(stackSize);
625}
626
552// Entry rule entryRuleQualifiedName 627// Entry rule entryRuleQualifiedName
553entryRuleQualifiedName 628entryRuleQualifiedName
554: 629:
@@ -574,6 +649,31 @@ finally {
574 restoreStackSize(stackSize); 649 restoreStackSize(stackSize);
575} 650}
576 651
652// Entry rule entryRuleIdentifier
653entryRuleIdentifier
654:
655{ before(grammarAccess.getIdentifierRule()); }
656 ruleIdentifier
657{ after(grammarAccess.getIdentifierRule()); }
658 EOF
659;
660
661// Rule Identifier
662ruleIdentifier
663 @init {
664 int stackSize = keepStackSize();
665 }
666 :
667 (
668 { before(grammarAccess.getIdentifierAccess().getAlternatives()); }
669 (rule__Identifier__Alternatives)
670 { after(grammarAccess.getIdentifierAccess().getAlternatives()); }
671 )
672;
673finally {
674 restoreStackSize(stackSize);
675}
676
577// Rule LogicValue 677// Rule LogicValue
578ruleLogicValue 678ruleLogicValue
579 @init { 679 @init {
@@ -618,21 +718,27 @@ rule__Statement__Alternatives
618 ) 718 )
619 | 719 |
620 ( 720 (
621 { before(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_1()); } 721 { before(grammarAccess.getStatementAccess().getEnumDeclarationParserRuleCall_1()); }
722 ruleEnumDeclaration
723 { after(grammarAccess.getStatementAccess().getEnumDeclarationParserRuleCall_1()); }
724 )
725 |
726 (
727 { before(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_2()); }
622 rulePredicateDefinition 728 rulePredicateDefinition
623 { after(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_1()); } 729 { after(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_2()); }
624 ) 730 )
625 | 731 |
626 ( 732 (
627 { before(grammarAccess.getStatementAccess().getAssertionParserRuleCall_2()); } 733 { before(grammarAccess.getStatementAccess().getAssertionParserRuleCall_3()); }
628 ruleAssertion 734 ruleAssertion
629 { after(grammarAccess.getStatementAccess().getAssertionParserRuleCall_2()); } 735 { after(grammarAccess.getStatementAccess().getAssertionParserRuleCall_3()); }
630 ) 736 )
631 | 737 |
632 ( 738 (
633 { before(grammarAccess.getStatementAccess().getScopeDeclarationParserRuleCall_3()); } 739 { before(grammarAccess.getStatementAccess().getScopeDeclarationParserRuleCall_4()); }
634 ruleScopeDeclaration 740 ruleScopeDeclaration
635 { after(grammarAccess.getStatementAccess().getScopeDeclarationParserRuleCall_3()); } 741 { after(grammarAccess.getStatementAccess().getScopeDeclarationParserRuleCall_4()); }
636 ) 742 )
637; 743;
638finally { 744finally {
@@ -660,6 +766,48 @@ finally {
660 restoreStackSize(stackSize); 766 restoreStackSize(stackSize);
661} 767}
662 768
769rule__EnumDeclaration__Alternatives_2
770 @init {
771 int stackSize = keepStackSize();
772 }
773:
774 (
775 { before(grammarAccess.getEnumDeclarationAccess().getGroup_2_0()); }
776 (rule__EnumDeclaration__Group_2_0__0)
777 { after(grammarAccess.getEnumDeclarationAccess().getGroup_2_0()); }
778 )
779 |
780 (
781 { before(grammarAccess.getEnumDeclarationAccess().getFullStopKeyword_2_1()); }
782 '.'
783 { after(grammarAccess.getEnumDeclarationAccess().getFullStopKeyword_2_1()); }
784 )
785;
786finally {
787 restoreStackSize(stackSize);
788}
789
790rule__EnumDeclaration__Alternatives_2_0_1_2
791 @init {
792 int stackSize = keepStackSize();
793 }
794:
795 (
796 { before(grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_2_0()); }
797 ','
798 { after(grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_2_0()); }
799 )
800 |
801 (
802 { before(grammarAccess.getEnumDeclarationAccess().getSemicolonKeyword_2_0_1_2_1()); }
803 ';'
804 { after(grammarAccess.getEnumDeclarationAccess().getSemicolonKeyword_2_0_1_2_1()); }
805 )
806;
807finally {
808 restoreStackSize(stackSize);
809}
810
663rule__ReferenceDeclaration__Alternatives_0 811rule__ReferenceDeclaration__Alternatives_0
664 @init { 812 @init {
665 int stackSize = keepStackSize(); 813 int stackSize = keepStackSize();
@@ -828,6 +976,27 @@ finally {
828 restoreStackSize(stackSize); 976 restoreStackSize(stackSize);
829} 977}
830 978
979rule__QuotedOrUnquotedId__Alternatives
980 @init {
981 int stackSize = keepStackSize();
982 }
983:
984 (
985 { before(grammarAccess.getQuotedOrUnquotedIdAccess().getQUOTED_IDTerminalRuleCall_0()); }
986 RULE_QUOTED_ID
987 { after(grammarAccess.getQuotedOrUnquotedIdAccess().getQUOTED_IDTerminalRuleCall_0()); }
988 )
989 |
990 (
991 { before(grammarAccess.getQuotedOrUnquotedIdAccess().getIdentifierParserRuleCall_1()); }
992 ruleIdentifier
993 { after(grammarAccess.getQuotedOrUnquotedIdAccess().getIdentifierParserRuleCall_1()); }
994 )
995;
996finally {
997 restoreStackSize(stackSize);
998}
999
831rule__QualifiedName__Alternatives 1000rule__QualifiedName__Alternatives
832 @init { 1001 @init {
833 int stackSize = keepStackSize(); 1002 int stackSize = keepStackSize();
@@ -849,6 +1018,33 @@ finally {
849 restoreStackSize(stackSize); 1018 restoreStackSize(stackSize);
850} 1019}
851 1020
1021rule__Identifier__Alternatives
1022 @init {
1023 int stackSize = keepStackSize();
1024 }
1025:
1026 (
1027 { before(grammarAccess.getIdentifierAccess().getIDTerminalRuleCall_0()); }
1028 RULE_ID
1029 { after(grammarAccess.getIdentifierAccess().getIDTerminalRuleCall_0()); }
1030 )
1031 |
1032 (
1033 { before(grammarAccess.getIdentifierAccess().getTrueKeyword_1()); }
1034 'true'
1035 { after(grammarAccess.getIdentifierAccess().getTrueKeyword_1()); }
1036 )
1037 |
1038 (
1039 { before(grammarAccess.getIdentifierAccess().getFalseKeyword_2()); }
1040 'false'
1041 { after(grammarAccess.getIdentifierAccess().getFalseKeyword_2()); }
1042 )
1043;
1044finally {
1045 restoreStackSize(stackSize);
1046}
1047
852rule__LogicValue__Alternatives 1048rule__LogicValue__Alternatives
853 @init { 1049 @init {
854 int stackSize = keepStackSize(); 1050 int stackSize = keepStackSize();
@@ -1437,6 +1633,303 @@ finally {
1437} 1633}
1438 1634
1439 1635
1636rule__EnumDeclaration__Group__0
1637 @init {
1638 int stackSize = keepStackSize();
1639 }
1640:
1641 rule__EnumDeclaration__Group__0__Impl
1642 rule__EnumDeclaration__Group__1
1643;
1644finally {
1645 restoreStackSize(stackSize);
1646}
1647
1648rule__EnumDeclaration__Group__0__Impl
1649 @init {
1650 int stackSize = keepStackSize();
1651 }
1652:
1653(
1654 { before(grammarAccess.getEnumDeclarationAccess().getEnumKeyword_0()); }
1655 'enum'
1656 { after(grammarAccess.getEnumDeclarationAccess().getEnumKeyword_0()); }
1657)
1658;
1659finally {
1660 restoreStackSize(stackSize);
1661}
1662
1663rule__EnumDeclaration__Group__1
1664 @init {
1665 int stackSize = keepStackSize();
1666 }
1667:
1668 rule__EnumDeclaration__Group__1__Impl
1669 rule__EnumDeclaration__Group__2
1670;
1671finally {
1672 restoreStackSize(stackSize);
1673}
1674
1675rule__EnumDeclaration__Group__1__Impl
1676 @init {
1677 int stackSize = keepStackSize();
1678 }
1679:
1680(
1681 { before(grammarAccess.getEnumDeclarationAccess().getNameAssignment_1()); }
1682 (rule__EnumDeclaration__NameAssignment_1)
1683 { after(grammarAccess.getEnumDeclarationAccess().getNameAssignment_1()); }
1684)
1685;
1686finally {
1687 restoreStackSize(stackSize);
1688}
1689
1690rule__EnumDeclaration__Group__2
1691 @init {
1692 int stackSize = keepStackSize();
1693 }
1694:
1695 rule__EnumDeclaration__Group__2__Impl
1696;
1697finally {
1698 restoreStackSize(stackSize);
1699}
1700
1701rule__EnumDeclaration__Group__2__Impl
1702 @init {
1703 int stackSize = keepStackSize();
1704 }
1705:
1706(
1707 { before(grammarAccess.getEnumDeclarationAccess().getAlternatives_2()); }
1708 (rule__EnumDeclaration__Alternatives_2)
1709 { after(grammarAccess.getEnumDeclarationAccess().getAlternatives_2()); }
1710)
1711;
1712finally {
1713 restoreStackSize(stackSize);
1714}
1715
1716
1717rule__EnumDeclaration__Group_2_0__0
1718 @init {
1719 int stackSize = keepStackSize();
1720 }
1721:
1722 rule__EnumDeclaration__Group_2_0__0__Impl
1723 rule__EnumDeclaration__Group_2_0__1
1724;
1725finally {
1726 restoreStackSize(stackSize);
1727}
1728
1729rule__EnumDeclaration__Group_2_0__0__Impl
1730 @init {
1731 int stackSize = keepStackSize();
1732 }
1733:
1734(
1735 { before(grammarAccess.getEnumDeclarationAccess().getLeftCurlyBracketKeyword_2_0_0()); }
1736 '{'
1737 { after(grammarAccess.getEnumDeclarationAccess().getLeftCurlyBracketKeyword_2_0_0()); }
1738)
1739;
1740finally {
1741 restoreStackSize(stackSize);
1742}
1743
1744rule__EnumDeclaration__Group_2_0__1
1745 @init {
1746 int stackSize = keepStackSize();
1747 }
1748:
1749 rule__EnumDeclaration__Group_2_0__1__Impl
1750 rule__EnumDeclaration__Group_2_0__2
1751;
1752finally {
1753 restoreStackSize(stackSize);
1754}
1755
1756rule__EnumDeclaration__Group_2_0__1__Impl
1757 @init {
1758 int stackSize = keepStackSize();
1759 }
1760:
1761(
1762 { before(grammarAccess.getEnumDeclarationAccess().getGroup_2_0_1()); }
1763 (rule__EnumDeclaration__Group_2_0_1__0)?
1764 { after(grammarAccess.getEnumDeclarationAccess().getGroup_2_0_1()); }
1765)
1766;
1767finally {
1768 restoreStackSize(stackSize);
1769}
1770
1771rule__EnumDeclaration__Group_2_0__2
1772 @init {
1773 int stackSize = keepStackSize();
1774 }
1775:
1776 rule__EnumDeclaration__Group_2_0__2__Impl
1777;
1778finally {
1779 restoreStackSize(stackSize);
1780}
1781
1782rule__EnumDeclaration__Group_2_0__2__Impl
1783 @init {
1784 int stackSize = keepStackSize();
1785 }
1786:
1787(
1788 { before(grammarAccess.getEnumDeclarationAccess().getRightCurlyBracketKeyword_2_0_2()); }
1789 '}'
1790 { after(grammarAccess.getEnumDeclarationAccess().getRightCurlyBracketKeyword_2_0_2()); }
1791)
1792;
1793finally {
1794 restoreStackSize(stackSize);
1795}
1796
1797
1798rule__EnumDeclaration__Group_2_0_1__0
1799 @init {
1800 int stackSize = keepStackSize();
1801 }
1802:
1803 rule__EnumDeclaration__Group_2_0_1__0__Impl
1804 rule__EnumDeclaration__Group_2_0_1__1
1805;
1806finally {
1807 restoreStackSize(stackSize);
1808}
1809
1810rule__EnumDeclaration__Group_2_0_1__0__Impl
1811 @init {
1812 int stackSize = keepStackSize();
1813 }
1814:
1815(
1816 { before(grammarAccess.getEnumDeclarationAccess().getLiteralsAssignment_2_0_1_0()); }
1817 (rule__EnumDeclaration__LiteralsAssignment_2_0_1_0)
1818 { after(grammarAccess.getEnumDeclarationAccess().getLiteralsAssignment_2_0_1_0()); }
1819)
1820;
1821finally {
1822 restoreStackSize(stackSize);
1823}
1824
1825rule__EnumDeclaration__Group_2_0_1__1
1826 @init {
1827 int stackSize = keepStackSize();
1828 }
1829:
1830 rule__EnumDeclaration__Group_2_0_1__1__Impl
1831 rule__EnumDeclaration__Group_2_0_1__2
1832;
1833finally {
1834 restoreStackSize(stackSize);
1835}
1836
1837rule__EnumDeclaration__Group_2_0_1__1__Impl
1838 @init {
1839 int stackSize = keepStackSize();
1840 }
1841:
1842(
1843 { before(grammarAccess.getEnumDeclarationAccess().getGroup_2_0_1_1()); }
1844 (rule__EnumDeclaration__Group_2_0_1_1__0)*
1845 { after(grammarAccess.getEnumDeclarationAccess().getGroup_2_0_1_1()); }
1846)
1847;
1848finally {
1849 restoreStackSize(stackSize);
1850}
1851
1852rule__EnumDeclaration__Group_2_0_1__2
1853 @init {
1854 int stackSize = keepStackSize();
1855 }
1856:
1857 rule__EnumDeclaration__Group_2_0_1__2__Impl
1858;
1859finally {
1860 restoreStackSize(stackSize);
1861}
1862
1863rule__EnumDeclaration__Group_2_0_1__2__Impl
1864 @init {
1865 int stackSize = keepStackSize();
1866 }
1867:
1868(
1869 { before(grammarAccess.getEnumDeclarationAccess().getAlternatives_2_0_1_2()); }
1870 (rule__EnumDeclaration__Alternatives_2_0_1_2)?
1871 { after(grammarAccess.getEnumDeclarationAccess().getAlternatives_2_0_1_2()); }
1872)
1873;
1874finally {
1875 restoreStackSize(stackSize);
1876}
1877
1878
1879rule__EnumDeclaration__Group_2_0_1_1__0
1880 @init {
1881 int stackSize = keepStackSize();
1882 }
1883:
1884 rule__EnumDeclaration__Group_2_0_1_1__0__Impl
1885 rule__EnumDeclaration__Group_2_0_1_1__1
1886;
1887finally {
1888 restoreStackSize(stackSize);
1889}
1890
1891rule__EnumDeclaration__Group_2_0_1_1__0__Impl
1892 @init {
1893 int stackSize = keepStackSize();
1894 }
1895:
1896(
1897 { before(grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_1_0()); }
1898 ','
1899 { after(grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_1_0()); }
1900)
1901;
1902finally {
1903 restoreStackSize(stackSize);
1904}
1905
1906rule__EnumDeclaration__Group_2_0_1_1__1
1907 @init {
1908 int stackSize = keepStackSize();
1909 }
1910:
1911 rule__EnumDeclaration__Group_2_0_1_1__1__Impl
1912;
1913finally {
1914 restoreStackSize(stackSize);
1915}
1916
1917rule__EnumDeclaration__Group_2_0_1_1__1__Impl
1918 @init {
1919 int stackSize = keepStackSize();
1920 }
1921:
1922(
1923 { before(grammarAccess.getEnumDeclarationAccess().getLiteralsAssignment_2_0_1_1_1()); }
1924 (rule__EnumDeclaration__LiteralsAssignment_2_0_1_1_1)
1925 { after(grammarAccess.getEnumDeclarationAccess().getLiteralsAssignment_2_0_1_1_1()); }
1926)
1927;
1928finally {
1929 restoreStackSize(stackSize);
1930}
1931
1932
1440rule__ReferenceDeclaration__Group__0 1933rule__ReferenceDeclaration__Group__0
1441 @init { 1934 @init {
1442 int stackSize = keepStackSize(); 1935 int stackSize = keepStackSize();
@@ -1456,7 +1949,7 @@ rule__ReferenceDeclaration__Group__0__Impl
1456: 1949:
1457( 1950(
1458 { before(grammarAccess.getReferenceDeclarationAccess().getAlternatives_0()); } 1951 { before(grammarAccess.getReferenceDeclarationAccess().getAlternatives_0()); }
1459 (rule__ReferenceDeclaration__Alternatives_0) 1952 (rule__ReferenceDeclaration__Alternatives_0)?
1460 { after(grammarAccess.getReferenceDeclarationAccess().getAlternatives_0()); } 1953 { after(grammarAccess.getReferenceDeclarationAccess().getAlternatives_0()); }
1461) 1954)
1462; 1955;
@@ -2212,7 +2705,7 @@ rule__Parameter__Group__0__Impl
2212: 2705:
2213( 2706(
2214 { before(grammarAccess.getParameterAccess().getParameterTypeAssignment_0()); } 2707 { before(grammarAccess.getParameterAccess().getParameterTypeAssignment_0()); }
2215 (rule__Parameter__ParameterTypeAssignment_0) 2708 (rule__Parameter__ParameterTypeAssignment_0)?
2216 { after(grammarAccess.getParameterAccess().getParameterTypeAssignment_0()); } 2709 { after(grammarAccess.getParameterAccess().getParameterTypeAssignment_0()); }
2217) 2710)
2218; 2711;
@@ -3561,9 +4054,9 @@ rule__QualifiedName__Group_1__0__Impl
3561 } 4054 }
3562: 4055:
3563( 4056(
3564 { before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_0()); } 4057 { before(grammarAccess.getQualifiedNameAccess().getIdentifierParserRuleCall_1_0()); }
3565 RULE_ID 4058 ruleIdentifier
3566 { after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_0()); } 4059 { after(grammarAccess.getQualifiedNameAccess().getIdentifierParserRuleCall_1_0()); }
3567) 4060)
3568; 4061;
3569finally { 4062finally {
@@ -3668,9 +4161,9 @@ rule__QualifiedName__Group_1_1__1__Impl
3668 } 4161 }
3669: 4162:
3670( 4163(
3671 { before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1_1()); } 4164 { before(grammarAccess.getQualifiedNameAccess().getIdentifierParserRuleCall_1_1_1()); }
3672 RULE_ID 4165 ruleIdentifier
3673 { after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1_1()); } 4166 { after(grammarAccess.getQualifiedNameAccess().getIdentifierParserRuleCall_1_1_1()); }
3674) 4167)
3675; 4168;
3676finally { 4169finally {
@@ -3738,9 +4231,9 @@ rule__Problem__NameAssignment_0_1
3738 } 4231 }
3739: 4232:
3740 ( 4233 (
3741 { before(grammarAccess.getProblemAccess().getNameIDTerminalRuleCall_0_1_0()); } 4234 { before(grammarAccess.getProblemAccess().getNameIdentifierParserRuleCall_0_1_0()); }
3742 RULE_ID 4235 ruleIdentifier
3743 { after(grammarAccess.getProblemAccess().getNameIDTerminalRuleCall_0_1_0()); } 4236 { after(grammarAccess.getProblemAccess().getNameIdentifierParserRuleCall_0_1_0()); }
3744 ) 4237 )
3745; 4238;
3746finally { 4239finally {
@@ -3787,9 +4280,9 @@ rule__ClassDeclaration__NameAssignment_2
3787 } 4280 }
3788: 4281:
3789 ( 4282 (
3790 { before(grammarAccess.getClassDeclarationAccess().getNameIDTerminalRuleCall_2_0()); } 4283 { before(grammarAccess.getClassDeclarationAccess().getNameIdentifierParserRuleCall_2_0()); }
3791 RULE_ID 4284 ruleIdentifier
3792 { after(grammarAccess.getClassDeclarationAccess().getNameIDTerminalRuleCall_2_0()); } 4285 { after(grammarAccess.getClassDeclarationAccess().getNameIdentifierParserRuleCall_2_0()); }
3793 ) 4286 )
3794; 4287;
3795finally { 4288finally {
@@ -3802,13 +4295,13 @@ rule__ClassDeclaration__SuperTypesAssignment_3_1
3802 } 4295 }
3803: 4296:
3804 ( 4297 (
3805 { before(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_1_0()); } 4298 { before(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationCrossReference_3_1_0()); }
3806 ( 4299 (
3807 { before(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationQualifiedNameParserRuleCall_3_1_0_1()); } 4300 { before(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationQualifiedNameParserRuleCall_3_1_0_1()); }
3808 ruleQualifiedName 4301 ruleQualifiedName
3809 { after(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationQualifiedNameParserRuleCall_3_1_0_1()); } 4302 { after(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationQualifiedNameParserRuleCall_3_1_0_1()); }
3810 ) 4303 )
3811 { after(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_1_0()); } 4304 { after(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationCrossReference_3_1_0()); }
3812 ) 4305 )
3813; 4306;
3814finally { 4307finally {
@@ -3821,13 +4314,13 @@ rule__ClassDeclaration__SuperTypesAssignment_3_2_1
3821 } 4314 }
3822: 4315:
3823 ( 4316 (
3824 { before(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_2_1_0()); } 4317 { before(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationCrossReference_3_2_1_0()); }
3825 ( 4318 (
3826 { before(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationQualifiedNameParserRuleCall_3_2_1_0_1()); } 4319 { before(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationQualifiedNameParserRuleCall_3_2_1_0_1()); }
3827 ruleQualifiedName 4320 ruleQualifiedName
3828 { after(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationQualifiedNameParserRuleCall_3_2_1_0_1()); } 4321 { after(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationQualifiedNameParserRuleCall_3_2_1_0_1()); }
3829 ) 4322 )
3830 { after(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_2_1_0()); } 4323 { after(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationCrossReference_3_2_1_0()); }
3831 ) 4324 )
3832; 4325;
3833finally { 4326finally {
@@ -3849,6 +4342,66 @@ finally {
3849 restoreStackSize(stackSize); 4342 restoreStackSize(stackSize);
3850} 4343}
3851 4344
4345rule__EnumDeclaration__NameAssignment_1
4346 @init {
4347 int stackSize = keepStackSize();
4348 }
4349:
4350 (
4351 { before(grammarAccess.getEnumDeclarationAccess().getNameIdentifierParserRuleCall_1_0()); }
4352 ruleIdentifier
4353 { after(grammarAccess.getEnumDeclarationAccess().getNameIdentifierParserRuleCall_1_0()); }
4354 )
4355;
4356finally {
4357 restoreStackSize(stackSize);
4358}
4359
4360rule__EnumDeclaration__LiteralsAssignment_2_0_1_0
4361 @init {
4362 int stackSize = keepStackSize();
4363 }
4364:
4365 (
4366 { before(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_0_0()); }
4367 ruleEnumLiteral
4368 { after(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_0_0()); }
4369 )
4370;
4371finally {
4372 restoreStackSize(stackSize);
4373}
4374
4375rule__EnumDeclaration__LiteralsAssignment_2_0_1_1_1
4376 @init {
4377 int stackSize = keepStackSize();
4378 }
4379:
4380 (
4381 { before(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0()); }
4382 ruleEnumLiteral
4383 { after(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0()); }
4384 )
4385;
4386finally {
4387 restoreStackSize(stackSize);
4388}
4389
4390rule__EnumLiteral__NameAssignment
4391 @init {
4392 int stackSize = keepStackSize();
4393 }
4394:
4395 (
4396 { before(grammarAccess.getEnumLiteralAccess().getNameQuotedOrUnquotedIdParserRuleCall_0()); }
4397 ruleQuotedOrUnquotedId
4398 { after(grammarAccess.getEnumLiteralAccess().getNameQuotedOrUnquotedIdParserRuleCall_0()); }
4399 )
4400;
4401finally {
4402 restoreStackSize(stackSize);
4403}
4404
3852rule__ReferenceDeclaration__ContainmentAssignment_0_0 4405rule__ReferenceDeclaration__ContainmentAssignment_0_0
3853 @init { 4406 @init {
3854 int stackSize = keepStackSize(); 4407 int stackSize = keepStackSize();
@@ -3874,13 +4427,13 @@ rule__ReferenceDeclaration__ReferenceTypeAssignment_1
3874 } 4427 }
3875: 4428:
3876 ( 4429 (
3877 { before(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeClassDeclarationCrossReference_1_0()); } 4430 { before(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeRelationCrossReference_1_0()); }
3878 ( 4431 (
3879 { before(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeClassDeclarationQualifiedNameParserRuleCall_1_0_1()); } 4432 { before(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeRelationQualifiedNameParserRuleCall_1_0_1()); }
3880 ruleQualifiedName 4433 ruleQualifiedName
3881 { after(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeClassDeclarationQualifiedNameParserRuleCall_1_0_1()); } 4434 { after(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeRelationQualifiedNameParserRuleCall_1_0_1()); }
3882 ) 4435 )
3883 { after(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeClassDeclarationCrossReference_1_0()); } 4436 { after(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeRelationCrossReference_1_0()); }
3884 ) 4437 )
3885; 4438;
3886finally { 4439finally {
@@ -3908,9 +4461,9 @@ rule__ReferenceDeclaration__NameAssignment_3
3908 } 4461 }
3909: 4462:
3910 ( 4463 (
3911 { before(grammarAccess.getReferenceDeclarationAccess().getNameIDTerminalRuleCall_3_0()); } 4464 { before(grammarAccess.getReferenceDeclarationAccess().getNameIdentifierParserRuleCall_3_0()); }
3912 RULE_ID 4465 ruleIdentifier
3913 { after(grammarAccess.getReferenceDeclarationAccess().getNameIDTerminalRuleCall_3_0()); } 4466 { after(grammarAccess.getReferenceDeclarationAccess().getNameIdentifierParserRuleCall_3_0()); }
3914 ) 4467 )
3915; 4468;
3916finally { 4469finally {
@@ -3961,9 +4514,9 @@ rule__PredicateDefinition__NameAssignment_1
3961 } 4514 }
3962: 4515:
3963 ( 4516 (
3964 { before(grammarAccess.getPredicateDefinitionAccess().getNameIDTerminalRuleCall_1_0()); } 4517 { before(grammarAccess.getPredicateDefinitionAccess().getNameIdentifierParserRuleCall_1_0()); }
3965 RULE_ID 4518 ruleIdentifier
3966 { after(grammarAccess.getPredicateDefinitionAccess().getNameIDTerminalRuleCall_1_0()); } 4519 { after(grammarAccess.getPredicateDefinitionAccess().getNameIdentifierParserRuleCall_1_0()); }
3967 ) 4520 )
3968; 4521;
3969finally { 4522finally {
@@ -4036,13 +4589,13 @@ rule__Parameter__ParameterTypeAssignment_0
4036 } 4589 }
4037: 4590:
4038 ( 4591 (
4039 { before(grammarAccess.getParameterAccess().getParameterTypeClassDeclarationCrossReference_0_0()); } 4592 { before(grammarAccess.getParameterAccess().getParameterTypeRelationCrossReference_0_0()); }
4040 ( 4593 (
4041 { before(grammarAccess.getParameterAccess().getParameterTypeClassDeclarationIDTerminalRuleCall_0_0_1()); } 4594 { before(grammarAccess.getParameterAccess().getParameterTypeRelationQualifiedNameParserRuleCall_0_0_1()); }
4042 RULE_ID 4595 ruleQualifiedName
4043 { after(grammarAccess.getParameterAccess().getParameterTypeClassDeclarationIDTerminalRuleCall_0_0_1()); } 4596 { after(grammarAccess.getParameterAccess().getParameterTypeRelationQualifiedNameParserRuleCall_0_0_1()); }
4044 ) 4597 )
4045 { after(grammarAccess.getParameterAccess().getParameterTypeClassDeclarationCrossReference_0_0()); } 4598 { after(grammarAccess.getParameterAccess().getParameterTypeRelationCrossReference_0_0()); }
4046 ) 4599 )
4047; 4600;
4048finally { 4601finally {
@@ -4055,9 +4608,9 @@ rule__Parameter__NameAssignment_1
4055 } 4608 }
4056: 4609:
4057 ( 4610 (
4058 { before(grammarAccess.getParameterAccess().getNameIDTerminalRuleCall_1_0()); } 4611 { before(grammarAccess.getParameterAccess().getNameIdentifierParserRuleCall_1_0()); }
4059 RULE_ID 4612 ruleIdentifier
4060 { after(grammarAccess.getParameterAccess().getNameIDTerminalRuleCall_1_0()); } 4613 { after(grammarAccess.getParameterAccess().getNameIdentifierParserRuleCall_1_0()); }
4061 ) 4614 )
4062; 4615;
4063finally { 4616finally {
@@ -4177,19 +4730,19 @@ finally {
4177 restoreStackSize(stackSize); 4730 restoreStackSize(stackSize);
4178} 4731}
4179 4732
4180rule__Argument__VariableAssignment 4733rule__Argument__VariableOrNodeAssignment
4181 @init { 4734 @init {
4182 int stackSize = keepStackSize(); 4735 int stackSize = keepStackSize();
4183 } 4736 }
4184: 4737:
4185 ( 4738 (
4186 { before(grammarAccess.getArgumentAccess().getVariableVariableCrossReference_0()); } 4739 { before(grammarAccess.getArgumentAccess().getVariableOrNodeVariableOrNodeCrossReference_0()); }
4187 ( 4740 (
4188 { before(grammarAccess.getArgumentAccess().getVariableVariableIDTerminalRuleCall_0_1()); } 4741 { before(grammarAccess.getArgumentAccess().getVariableOrNodeVariableOrNodeQualifiedNameParserRuleCall_0_1()); }
4189 RULE_ID 4742 ruleQualifiedName
4190 { after(grammarAccess.getArgumentAccess().getVariableVariableIDTerminalRuleCall_0_1()); } 4743 { after(grammarAccess.getArgumentAccess().getVariableOrNodeVariableOrNodeQualifiedNameParserRuleCall_0_1()); }
4191 ) 4744 )
4192 { after(grammarAccess.getArgumentAccess().getVariableVariableCrossReference_0()); } 4745 { after(grammarAccess.getArgumentAccess().getVariableOrNodeVariableOrNodeCrossReference_0()); }
4193 ) 4746 )
4194; 4747;
4195finally { 4748finally {
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 96f12627..c0cdd3c6 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,34 +1,35 @@
1'!'=20 1'!'=22
2'('=32 2'('=33
3')'=33 3')'=34
4'*'=16 4'*'=18
5'+'=41 5'+'=42
6'+='=42 6'+='=43
7','=25 7','=13
8'.'=12 8'.'=12
9'..'=37 9'..'=38
10':'=35 10':'=36
11':-'=34 11':-'=35
12';'=28 12';'=14
13'='=15 13'='=17
14'?'=21 14'?'=23
15'['=29 15'['=30
16']'=30 16']'=31
17'abstract'=38 17'abstract'=39
18'class'=23 18'class'=25
19'contains'=39 19'contains'=40
20'error'=40 20'enum'=29
21'extends'=24 21'error'=41
22'false'=18 22'extends'=26
23'opposite'=31 23'false'=20
24'pred'=14 24'opposite'=32
25'problem'=22 25'pred'=16
26'refers'=13 26'problem'=24
27'scope'=36 27'refers'=15
28'true'=17 28'scope'=37
29'unknown'=19 29'true'=19
30'{'=26 30'unknown'=21
31'}'=27 31'{'=27
32'}'=28
32RULE_ANY_OTHER=11 33RULE_ANY_OTHER=11
33RULE_ID=6 34RULE_ID=6
34RULE_INT=4 35RULE_INT=4
@@ -68,3 +69,4 @@ T__39=39
68T__40=40 69T__40=40
69T__41=41 70T__41=41
70T__42=42 71T__42=42
72T__43=43
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 a180de53..e8f6f12d 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,31 +12,16 @@ 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=7;
16 public static final int RULE_SL_COMMENT=9;
17 public static final int T__19=19; 15 public static final int T__19=19;
18 public static final int T__15=15; 16 public static final int T__15=15;
19 public static final int T__37=37;
20 public static final int T__16=16; 17 public static final int T__16=16;
21 public static final int T__38=38;
22 public static final int T__17=17; 18 public static final int T__17=17;
23 public static final int T__39=39;
24 public static final int T__18=18; 19 public static final int T__18=18;
25 public static final int T__33=33;
26 public static final int T__12=12; 20 public static final int T__12=12;
27 public static final int T__34=34;
28 public static final int T__13=13; 21 public static final int T__13=13;
29 public static final int T__35=35;
30 public static final int T__14=14; 22 public static final int T__14=14;
31 public static final int T__36=36;
32 public static final int EOF=-1;
33 public static final int T__30=30;
34 public static final int T__31=31;
35 public static final int T__32=32;
36 public static final int RULE_ID=6; 23 public static final int RULE_ID=6;
37 public static final int RULE_WS=10;
38 public static final int RULE_QUOTED_ID=5; 24 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; 25 public static final int T__26=26;
41 public static final int T__27=27; 26 public static final int T__27=27;
42 public static final int T__28=28; 27 public static final int T__28=28;
@@ -47,11 +32,27 @@ public class InternalProblemLexer extends Lexer {
47 public static final int T__23=23; 32 public static final int T__23=23;
48 public static final int T__24=24; 33 public static final int T__24=24;
49 public static final int T__25=25; 34 public static final int T__25=25;
35 public static final int T__20=20;
36 public static final int T__21=21;
37 public static final int RULE_STRING=7;
38 public static final int RULE_SL_COMMENT=9;
39 public static final int T__37=37;
40 public static final int T__38=38;
41 public static final int T__39=39;
42 public static final int T__33=33;
43 public static final int T__34=34;
44 public static final int T__35=35;
45 public static final int T__36=36;
46 public static final int EOF=-1;
47 public static final int T__30=30;
48 public static final int T__31=31;
49 public static final int T__32=32;
50 public static final int RULE_WS=10;
51 public static final int RULE_ANY_OTHER=11;
50 public static final int T__40=40; 52 public static final int T__40=40;
51 public static final int T__41=41; 53 public static final int T__41=41;
52 public static final int T__20=20;
53 public static final int T__42=42; 54 public static final int T__42=42;
54 public static final int T__21=21; 55 public static final int T__43=43;
55 56
56 // delegates 57 // delegates
57 // delegators 58 // delegators
@@ -91,11 +92,10 @@ public class InternalProblemLexer extends Lexer {
91 try { 92 try {
92 int _type = T__13; 93 int _type = T__13;
93 int _channel = DEFAULT_TOKEN_CHANNEL; 94 int _channel = DEFAULT_TOKEN_CHANNEL;
94 // InternalProblem.g:12:7: ( 'refers' ) 95 // InternalProblem.g:12:7: ( ',' )
95 // InternalProblem.g:12:9: 'refers' 96 // InternalProblem.g:12:9: ','
96 { 97 {
97 match("refers"); 98 match(',');
98
99 99
100 } 100 }
101 101
@@ -112,11 +112,10 @@ public class InternalProblemLexer extends Lexer {
112 try { 112 try {
113 int _type = T__14; 113 int _type = T__14;
114 int _channel = DEFAULT_TOKEN_CHANNEL; 114 int _channel = DEFAULT_TOKEN_CHANNEL;
115 // InternalProblem.g:13:7: ( 'pred' ) 115 // InternalProblem.g:13:7: ( ';' )
116 // InternalProblem.g:13:9: 'pred' 116 // InternalProblem.g:13:9: ';'
117 { 117 {
118 match("pred"); 118 match(';');
119
120 119
121 } 120 }
122 121
@@ -133,10 +132,11 @@ public class InternalProblemLexer extends Lexer {
133 try { 132 try {
134 int _type = T__15; 133 int _type = T__15;
135 int _channel = DEFAULT_TOKEN_CHANNEL; 134 int _channel = DEFAULT_TOKEN_CHANNEL;
136 // InternalProblem.g:14:7: ( '=' ) 135 // InternalProblem.g:14:7: ( 'refers' )
137 // InternalProblem.g:14:9: '=' 136 // InternalProblem.g:14:9: 'refers'
138 { 137 {
139 match('='); 138 match("refers");
139
140 140
141 } 141 }
142 142
@@ -153,10 +153,11 @@ public class InternalProblemLexer extends Lexer {
153 try { 153 try {
154 int _type = T__16; 154 int _type = T__16;
155 int _channel = DEFAULT_TOKEN_CHANNEL; 155 int _channel = DEFAULT_TOKEN_CHANNEL;
156 // InternalProblem.g:15:7: ( '*' ) 156 // InternalProblem.g:15:7: ( 'pred' )
157 // InternalProblem.g:15:9: '*' 157 // InternalProblem.g:15:9: 'pred'
158 { 158 {
159 match('*'); 159 match("pred");
160
160 161
161 } 162 }
162 163
@@ -173,11 +174,10 @@ public class InternalProblemLexer extends Lexer {
173 try { 174 try {
174 int _type = T__17; 175 int _type = T__17;
175 int _channel = DEFAULT_TOKEN_CHANNEL; 176 int _channel = DEFAULT_TOKEN_CHANNEL;
176 // InternalProblem.g:16:7: ( 'true' ) 177 // InternalProblem.g:16:7: ( '=' )
177 // InternalProblem.g:16:9: 'true' 178 // InternalProblem.g:16:9: '='
178 { 179 {
179 match("true"); 180 match('=');
180
181 181
182 } 182 }
183 183
@@ -194,11 +194,10 @@ public class InternalProblemLexer extends Lexer {
194 try { 194 try {
195 int _type = T__18; 195 int _type = T__18;
196 int _channel = DEFAULT_TOKEN_CHANNEL; 196 int _channel = DEFAULT_TOKEN_CHANNEL;
197 // InternalProblem.g:17:7: ( 'false' ) 197 // InternalProblem.g:17:7: ( '*' )
198 // InternalProblem.g:17:9: 'false' 198 // InternalProblem.g:17:9: '*'
199 { 199 {
200 match("false"); 200 match('*');
201
202 201
203 } 202 }
204 203
@@ -215,10 +214,10 @@ public class InternalProblemLexer extends Lexer {
215 try { 214 try {
216 int _type = T__19; 215 int _type = T__19;
217 int _channel = DEFAULT_TOKEN_CHANNEL; 216 int _channel = DEFAULT_TOKEN_CHANNEL;
218 // InternalProblem.g:18:7: ( 'unknown' ) 217 // InternalProblem.g:18:7: ( 'true' )
219 // InternalProblem.g:18:9: 'unknown' 218 // InternalProblem.g:18:9: 'true'
220 { 219 {
221 match("unknown"); 220 match("true");
222 221
223 222
224 } 223 }
@@ -236,10 +235,11 @@ public class InternalProblemLexer extends Lexer {
236 try { 235 try {
237 int _type = T__20; 236 int _type = T__20;
238 int _channel = DEFAULT_TOKEN_CHANNEL; 237 int _channel = DEFAULT_TOKEN_CHANNEL;
239 // InternalProblem.g:19:7: ( '!' ) 238 // InternalProblem.g:19:7: ( 'false' )
240 // InternalProblem.g:19:9: '!' 239 // InternalProblem.g:19:9: 'false'
241 { 240 {
242 match('!'); 241 match("false");
242
243 243
244 } 244 }
245 245
@@ -256,10 +256,11 @@ public class InternalProblemLexer extends Lexer {
256 try { 256 try {
257 int _type = T__21; 257 int _type = T__21;
258 int _channel = DEFAULT_TOKEN_CHANNEL; 258 int _channel = DEFAULT_TOKEN_CHANNEL;
259 // InternalProblem.g:20:7: ( '?' ) 259 // InternalProblem.g:20:7: ( 'unknown' )
260 // InternalProblem.g:20:9: '?' 260 // InternalProblem.g:20:9: 'unknown'
261 { 261 {
262 match('?'); 262 match("unknown");
263
263 264
264 } 265 }
265 266
@@ -276,11 +277,10 @@ public class InternalProblemLexer extends Lexer {
276 try { 277 try {
277 int _type = T__22; 278 int _type = T__22;
278 int _channel = DEFAULT_TOKEN_CHANNEL; 279 int _channel = DEFAULT_TOKEN_CHANNEL;
279 // InternalProblem.g:21:7: ( 'problem' ) 280 // InternalProblem.g:21:7: ( '!' )
280 // InternalProblem.g:21:9: 'problem' 281 // InternalProblem.g:21:9: '!'
281 { 282 {
282 match("problem"); 283 match('!');
283
284 284
285 } 285 }
286 286
@@ -297,11 +297,10 @@ public class InternalProblemLexer extends Lexer {
297 try { 297 try {
298 int _type = T__23; 298 int _type = T__23;
299 int _channel = DEFAULT_TOKEN_CHANNEL; 299 int _channel = DEFAULT_TOKEN_CHANNEL;
300 // InternalProblem.g:22:7: ( 'class' ) 300 // InternalProblem.g:22:7: ( '?' )
301 // InternalProblem.g:22:9: 'class' 301 // InternalProblem.g:22:9: '?'
302 { 302 {
303 match("class"); 303 match('?');
304
305 304
306 } 305 }
307 306
@@ -318,10 +317,10 @@ public class InternalProblemLexer extends Lexer {
318 try { 317 try {
319 int _type = T__24; 318 int _type = T__24;
320 int _channel = DEFAULT_TOKEN_CHANNEL; 319 int _channel = DEFAULT_TOKEN_CHANNEL;
321 // InternalProblem.g:23:7: ( 'extends' ) 320 // InternalProblem.g:23:7: ( 'problem' )
322 // InternalProblem.g:23:9: 'extends' 321 // InternalProblem.g:23:9: 'problem'
323 { 322 {
324 match("extends"); 323 match("problem");
325 324
326 325
327 } 326 }
@@ -339,10 +338,11 @@ public class InternalProblemLexer extends Lexer {
339 try { 338 try {
340 int _type = T__25; 339 int _type = T__25;
341 int _channel = DEFAULT_TOKEN_CHANNEL; 340 int _channel = DEFAULT_TOKEN_CHANNEL;
342 // InternalProblem.g:24:7: ( ',' ) 341 // InternalProblem.g:24:7: ( 'class' )
343 // InternalProblem.g:24:9: ',' 342 // InternalProblem.g:24:9: 'class'
344 { 343 {
345 match(','); 344 match("class");
345
346 346
347 } 347 }
348 348
@@ -359,10 +359,11 @@ public class InternalProblemLexer extends Lexer {
359 try { 359 try {
360 int _type = T__26; 360 int _type = T__26;
361 int _channel = DEFAULT_TOKEN_CHANNEL; 361 int _channel = DEFAULT_TOKEN_CHANNEL;
362 // InternalProblem.g:25:7: ( '{' ) 362 // InternalProblem.g:25:7: ( 'extends' )
363 // InternalProblem.g:25:9: '{' 363 // InternalProblem.g:25:9: 'extends'
364 { 364 {
365 match('{'); 365 match("extends");
366
366 367
367 } 368 }
368 369
@@ -379,10 +380,10 @@ public class InternalProblemLexer extends Lexer {
379 try { 380 try {
380 int _type = T__27; 381 int _type = T__27;
381 int _channel = DEFAULT_TOKEN_CHANNEL; 382 int _channel = DEFAULT_TOKEN_CHANNEL;
382 // InternalProblem.g:26:7: ( '}' ) 383 // InternalProblem.g:26:7: ( '{' )
383 // InternalProblem.g:26:9: '}' 384 // InternalProblem.g:26:9: '{'
384 { 385 {
385 match('}'); 386 match('{');
386 387
387 } 388 }
388 389
@@ -399,10 +400,10 @@ public class InternalProblemLexer extends Lexer {
399 try { 400 try {
400 int _type = T__28; 401 int _type = T__28;
401 int _channel = DEFAULT_TOKEN_CHANNEL; 402 int _channel = DEFAULT_TOKEN_CHANNEL;
402 // InternalProblem.g:27:7: ( ';' ) 403 // InternalProblem.g:27:7: ( '}' )
403 // InternalProblem.g:27:9: ';' 404 // InternalProblem.g:27:9: '}'
404 { 405 {
405 match(';'); 406 match('}');
406 407
407 } 408 }
408 409
@@ -419,10 +420,11 @@ public class InternalProblemLexer extends Lexer {
419 try { 420 try {
420 int _type = T__29; 421 int _type = T__29;
421 int _channel = DEFAULT_TOKEN_CHANNEL; 422 int _channel = DEFAULT_TOKEN_CHANNEL;
422 // InternalProblem.g:28:7: ( '[' ) 423 // InternalProblem.g:28:7: ( 'enum' )
423 // InternalProblem.g:28:9: '[' 424 // InternalProblem.g:28:9: 'enum'
424 { 425 {
425 match('['); 426 match("enum");
427
426 428
427 } 429 }
428 430
@@ -439,10 +441,10 @@ public class InternalProblemLexer extends Lexer {
439 try { 441 try {
440 int _type = T__30; 442 int _type = T__30;
441 int _channel = DEFAULT_TOKEN_CHANNEL; 443 int _channel = DEFAULT_TOKEN_CHANNEL;
442 // InternalProblem.g:29:7: ( ']' ) 444 // InternalProblem.g:29:7: ( '[' )
443 // InternalProblem.g:29:9: ']' 445 // InternalProblem.g:29:9: '['
444 { 446 {
445 match(']'); 447 match('[');
446 448
447 } 449 }
448 450
@@ -459,11 +461,10 @@ public class InternalProblemLexer extends Lexer {
459 try { 461 try {
460 int _type = T__31; 462 int _type = T__31;
461 int _channel = DEFAULT_TOKEN_CHANNEL; 463 int _channel = DEFAULT_TOKEN_CHANNEL;
462 // InternalProblem.g:30:7: ( 'opposite' ) 464 // InternalProblem.g:30:7: ( ']' )
463 // InternalProblem.g:30:9: 'opposite' 465 // InternalProblem.g:30:9: ']'
464 { 466 {
465 match("opposite"); 467 match(']');
466
467 468
468 } 469 }
469 470
@@ -480,10 +481,11 @@ public class InternalProblemLexer extends Lexer {
480 try { 481 try {
481 int _type = T__32; 482 int _type = T__32;
482 int _channel = DEFAULT_TOKEN_CHANNEL; 483 int _channel = DEFAULT_TOKEN_CHANNEL;
483 // InternalProblem.g:31:7: ( '(' ) 484 // InternalProblem.g:31:7: ( 'opposite' )
484 // InternalProblem.g:31:9: '(' 485 // InternalProblem.g:31:9: 'opposite'
485 { 486 {
486 match('('); 487 match("opposite");
488
487 489
488 } 490 }
489 491
@@ -500,10 +502,10 @@ public class InternalProblemLexer extends Lexer {
500 try { 502 try {
501 int _type = T__33; 503 int _type = T__33;
502 int _channel = DEFAULT_TOKEN_CHANNEL; 504 int _channel = DEFAULT_TOKEN_CHANNEL;
503 // InternalProblem.g:32:7: ( ')' ) 505 // InternalProblem.g:32:7: ( '(' )
504 // InternalProblem.g:32:9: ')' 506 // InternalProblem.g:32:9: '('
505 { 507 {
506 match(')'); 508 match('(');
507 509
508 } 510 }
509 511
@@ -520,11 +522,10 @@ public class InternalProblemLexer extends Lexer {
520 try { 522 try {
521 int _type = T__34; 523 int _type = T__34;
522 int _channel = DEFAULT_TOKEN_CHANNEL; 524 int _channel = DEFAULT_TOKEN_CHANNEL;
523 // InternalProblem.g:33:7: ( ':-' ) 525 // InternalProblem.g:33:7: ( ')' )
524 // InternalProblem.g:33:9: ':-' 526 // InternalProblem.g:33:9: ')'
525 { 527 {
526 match(":-"); 528 match(')');
527
528 529
529 } 530 }
530 531
@@ -541,10 +542,11 @@ public class InternalProblemLexer extends Lexer {
541 try { 542 try {
542 int _type = T__35; 543 int _type = T__35;
543 int _channel = DEFAULT_TOKEN_CHANNEL; 544 int _channel = DEFAULT_TOKEN_CHANNEL;
544 // InternalProblem.g:34:7: ( ':' ) 545 // InternalProblem.g:34:7: ( ':-' )
545 // InternalProblem.g:34:9: ':' 546 // InternalProblem.g:34:9: ':-'
546 { 547 {
547 match(':'); 548 match(":-");
549
548 550
549 } 551 }
550 552
@@ -561,11 +563,10 @@ public class InternalProblemLexer extends Lexer {
561 try { 563 try {
562 int _type = T__36; 564 int _type = T__36;
563 int _channel = DEFAULT_TOKEN_CHANNEL; 565 int _channel = DEFAULT_TOKEN_CHANNEL;
564 // InternalProblem.g:35:7: ( 'scope' ) 566 // InternalProblem.g:35:7: ( ':' )
565 // InternalProblem.g:35:9: 'scope' 567 // InternalProblem.g:35:9: ':'
566 { 568 {
567 match("scope"); 569 match(':');
568
569 570
570 } 571 }
571 572
@@ -582,10 +583,10 @@ public class InternalProblemLexer extends Lexer {
582 try { 583 try {
583 int _type = T__37; 584 int _type = T__37;
584 int _channel = DEFAULT_TOKEN_CHANNEL; 585 int _channel = DEFAULT_TOKEN_CHANNEL;
585 // InternalProblem.g:36:7: ( '..' ) 586 // InternalProblem.g:36:7: ( 'scope' )
586 // InternalProblem.g:36:9: '..' 587 // InternalProblem.g:36:9: 'scope'
587 { 588 {
588 match(".."); 589 match("scope");
589 590
590 591
591 } 592 }
@@ -603,10 +604,10 @@ public class InternalProblemLexer extends Lexer {
603 try { 604 try {
604 int _type = T__38; 605 int _type = T__38;
605 int _channel = DEFAULT_TOKEN_CHANNEL; 606 int _channel = DEFAULT_TOKEN_CHANNEL;
606 // InternalProblem.g:37:7: ( 'abstract' ) 607 // InternalProblem.g:37:7: ( '..' )
607 // InternalProblem.g:37:9: 'abstract' 608 // InternalProblem.g:37:9: '..'
608 { 609 {
609 match("abstract"); 610 match("..");
610 611
611 612
612 } 613 }
@@ -624,10 +625,10 @@ public class InternalProblemLexer extends Lexer {
624 try { 625 try {
625 int _type = T__39; 626 int _type = T__39;
626 int _channel = DEFAULT_TOKEN_CHANNEL; 627 int _channel = DEFAULT_TOKEN_CHANNEL;
627 // InternalProblem.g:38:7: ( 'contains' ) 628 // InternalProblem.g:38:7: ( 'abstract' )
628 // InternalProblem.g:38:9: 'contains' 629 // InternalProblem.g:38:9: 'abstract'
629 { 630 {
630 match("contains"); 631 match("abstract");
631 632
632 633
633 } 634 }
@@ -645,10 +646,10 @@ public class InternalProblemLexer extends Lexer {
645 try { 646 try {
646 int _type = T__40; 647 int _type = T__40;
647 int _channel = DEFAULT_TOKEN_CHANNEL; 648 int _channel = DEFAULT_TOKEN_CHANNEL;
648 // InternalProblem.g:39:7: ( 'error' ) 649 // InternalProblem.g:39:7: ( 'contains' )
649 // InternalProblem.g:39:9: 'error' 650 // InternalProblem.g:39:9: 'contains'
650 { 651 {
651 match("error"); 652 match("contains");
652 653
653 654
654 } 655 }
@@ -666,10 +667,11 @@ public class InternalProblemLexer extends Lexer {
666 try { 667 try {
667 int _type = T__41; 668 int _type = T__41;
668 int _channel = DEFAULT_TOKEN_CHANNEL; 669 int _channel = DEFAULT_TOKEN_CHANNEL;
669 // InternalProblem.g:40:7: ( '+' ) 670 // InternalProblem.g:40:7: ( 'error' )
670 // InternalProblem.g:40:9: '+' 671 // InternalProblem.g:40:9: 'error'
671 { 672 {
672 match('+'); 673 match("error");
674
673 675
674 } 676 }
675 677
@@ -686,8 +688,28 @@ public class InternalProblemLexer extends Lexer {
686 try { 688 try {
687 int _type = T__42; 689 int _type = T__42;
688 int _channel = DEFAULT_TOKEN_CHANNEL; 690 int _channel = DEFAULT_TOKEN_CHANNEL;
689 // InternalProblem.g:41:7: ( '+=' ) 691 // InternalProblem.g:41:7: ( '+' )
690 // InternalProblem.g:41:9: '+=' 692 // InternalProblem.g:41:9: '+'
693 {
694 match('+');
695
696 }
697
698 state.type = _type;
699 state.channel = _channel;
700 }
701 finally {
702 }
703 }
704 // $ANTLR end "T__42"
705
706 // $ANTLR start "T__43"
707 public final void mT__43() throws RecognitionException {
708 try {
709 int _type = T__43;
710 int _channel = DEFAULT_TOKEN_CHANNEL;
711 // InternalProblem.g:42:7: ( '+=' )
712 // InternalProblem.g:42:9: '+='
691 { 713 {
692 match("+="); 714 match("+=");
693 715
@@ -700,18 +722,18 @@ public class InternalProblemLexer extends Lexer {
700 finally { 722 finally {
701 } 723 }
702 } 724 }
703 // $ANTLR end "T__42" 725 // $ANTLR end "T__43"
704 726
705 // $ANTLR start "RULE_STRING" 727 // $ANTLR start "RULE_STRING"
706 public final void mRULE_STRING() throws RecognitionException { 728 public final void mRULE_STRING() throws RecognitionException {
707 try { 729 try {
708 int _type = RULE_STRING; 730 int _type = RULE_STRING;
709 int _channel = DEFAULT_TOKEN_CHANNEL; 731 int _channel = DEFAULT_TOKEN_CHANNEL;
710 // InternalProblem.g:4471:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' ) 732 // InternalProblem.g:5024:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' )
711 // InternalProblem.g:4471:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' 733 // InternalProblem.g:5024:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
712 { 734 {
713 match('\"'); 735 match('\"');
714 // InternalProblem.g:4471:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* 736 // InternalProblem.g:5024:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
715 loop1: 737 loop1:
716 do { 738 do {
717 int alt1=3; 739 int alt1=3;
@@ -727,7 +749,7 @@ public class InternalProblemLexer extends Lexer {
727 749
728 switch (alt1) { 750 switch (alt1) {
729 case 1 : 751 case 1 :
730 // InternalProblem.g:4471:20: '\\\\' . 752 // InternalProblem.g:5024:20: '\\\\' .
731 { 753 {
732 match('\\'); 754 match('\\');
733 matchAny(); 755 matchAny();
@@ -735,7 +757,7 @@ public class InternalProblemLexer extends Lexer {
735 } 757 }
736 break; 758 break;
737 case 2 : 759 case 2 :
738 // InternalProblem.g:4471:27: ~ ( ( '\\\\' | '\"' ) ) 760 // InternalProblem.g:5024:27: ~ ( ( '\\\\' | '\"' ) )
739 { 761 {
740 if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { 762 if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
741 input.consume(); 763 input.consume();
@@ -772,11 +794,11 @@ public class InternalProblemLexer extends Lexer {
772 try { 794 try {
773 int _type = RULE_QUOTED_ID; 795 int _type = RULE_QUOTED_ID;
774 int _channel = DEFAULT_TOKEN_CHANNEL; 796 int _channel = DEFAULT_TOKEN_CHANNEL;
775 // InternalProblem.g:4473:16: ( '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) 797 // InternalProblem.g:5026:16: ( '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
776 // InternalProblem.g:4473:18: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' 798 // InternalProblem.g:5026:18: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
777 { 799 {
778 match('\''); 800 match('\'');
779 // InternalProblem.g:4473:23: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* 801 // InternalProblem.g:5026:23: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
780 loop2: 802 loop2:
781 do { 803 do {
782 int alt2=3; 804 int alt2=3;
@@ -792,7 +814,7 @@ public class InternalProblemLexer extends Lexer {
792 814
793 switch (alt2) { 815 switch (alt2) {
794 case 1 : 816 case 1 :
795 // InternalProblem.g:4473:24: '\\\\' . 817 // InternalProblem.g:5026:24: '\\\\' .
796 { 818 {
797 match('\\'); 819 match('\\');
798 matchAny(); 820 matchAny();
@@ -800,7 +822,7 @@ public class InternalProblemLexer extends Lexer {
800 } 822 }
801 break; 823 break;
802 case 2 : 824 case 2 :
803 // InternalProblem.g:4473:31: ~ ( ( '\\\\' | '\\'' ) ) 825 // InternalProblem.g:5026:31: ~ ( ( '\\\\' | '\\'' ) )
804 { 826 {
805 if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { 827 if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
806 input.consume(); 828 input.consume();
@@ -837,10 +859,10 @@ public class InternalProblemLexer extends Lexer {
837 try { 859 try {
838 int _type = RULE_ID; 860 int _type = RULE_ID;
839 int _channel = DEFAULT_TOKEN_CHANNEL; 861 int _channel = DEFAULT_TOKEN_CHANNEL;
840 // InternalProblem.g:4475:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) 862 // InternalProblem.g:5028:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
841 // InternalProblem.g:4475:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* 863 // InternalProblem.g:5028:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
842 { 864 {
843 // InternalProblem.g:4475:11: ( '^' )? 865 // InternalProblem.g:5028:11: ( '^' )?
844 int alt3=2; 866 int alt3=2;
845 int LA3_0 = input.LA(1); 867 int LA3_0 = input.LA(1);
846 868
@@ -849,7 +871,7 @@ public class InternalProblemLexer extends Lexer {
849 } 871 }
850 switch (alt3) { 872 switch (alt3) {
851 case 1 : 873 case 1 :
852 // InternalProblem.g:4475:11: '^' 874 // InternalProblem.g:5028:11: '^'
853 { 875 {
854 match('^'); 876 match('^');
855 877
@@ -867,7 +889,7 @@ public class InternalProblemLexer extends Lexer {
867 recover(mse); 889 recover(mse);
868 throw mse;} 890 throw mse;}
869 891
870 // InternalProblem.g:4475:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* 892 // InternalProblem.g:5028:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
871 loop4: 893 loop4:
872 do { 894 do {
873 int alt4=2; 895 int alt4=2;
@@ -916,10 +938,10 @@ public class InternalProblemLexer extends Lexer {
916 try { 938 try {
917 int _type = RULE_INT; 939 int _type = RULE_INT;
918 int _channel = DEFAULT_TOKEN_CHANNEL; 940 int _channel = DEFAULT_TOKEN_CHANNEL;
919 // InternalProblem.g:4477:10: ( ( '0' .. '9' )+ ) 941 // InternalProblem.g:5030:10: ( ( '0' .. '9' )+ )
920 // InternalProblem.g:4477:12: ( '0' .. '9' )+ 942 // InternalProblem.g:5030:12: ( '0' .. '9' )+
921 { 943 {
922 // InternalProblem.g:4477:12: ( '0' .. '9' )+ 944 // InternalProblem.g:5030:12: ( '0' .. '9' )+
923 int cnt5=0; 945 int cnt5=0;
924 loop5: 946 loop5:
925 do { 947 do {
@@ -933,7 +955,7 @@ public class InternalProblemLexer extends Lexer {
933 955
934 switch (alt5) { 956 switch (alt5) {
935 case 1 : 957 case 1 :
936 // InternalProblem.g:4477:13: '0' .. '9' 958 // InternalProblem.g:5030:13: '0' .. '9'
937 { 959 {
938 matchRange('0','9'); 960 matchRange('0','9');
939 961
@@ -965,12 +987,12 @@ public class InternalProblemLexer extends Lexer {
965 try { 987 try {
966 int _type = RULE_ML_COMMENT; 988 int _type = RULE_ML_COMMENT;
967 int _channel = DEFAULT_TOKEN_CHANNEL; 989 int _channel = DEFAULT_TOKEN_CHANNEL;
968 // InternalProblem.g:4479:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) 990 // InternalProblem.g:5032:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
969 // InternalProblem.g:4479:19: '/*' ( options {greedy=false; } : . )* '*/' 991 // InternalProblem.g:5032:19: '/*' ( options {greedy=false; } : . )* '*/'
970 { 992 {
971 match("/*"); 993 match("/*");
972 994
973 // InternalProblem.g:4479:24: ( options {greedy=false; } : . )* 995 // InternalProblem.g:5032:24: ( options {greedy=false; } : . )*
974 loop6: 996 loop6:
975 do { 997 do {
976 int alt6=2; 998 int alt6=2;
@@ -995,7 +1017,7 @@ public class InternalProblemLexer extends Lexer {
995 1017
996 switch (alt6) { 1018 switch (alt6) {
997 case 1 : 1019 case 1 :
998 // InternalProblem.g:4479:52: . 1020 // InternalProblem.g:5032:52: .
999 { 1021 {
1000 matchAny(); 1022 matchAny();
1001 1023
@@ -1025,12 +1047,12 @@ public class InternalProblemLexer extends Lexer {
1025 try { 1047 try {
1026 int _type = RULE_SL_COMMENT; 1048 int _type = RULE_SL_COMMENT;
1027 int _channel = DEFAULT_TOKEN_CHANNEL; 1049 int _channel = DEFAULT_TOKEN_CHANNEL;
1028 // InternalProblem.g:4481:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) 1050 // InternalProblem.g:5034:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
1029 // InternalProblem.g:4481:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? 1051 // InternalProblem.g:5034:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
1030 { 1052 {
1031 match("//"); 1053 match("//");
1032 1054
1033 // InternalProblem.g:4481:24: (~ ( ( '\\n' | '\\r' ) ) )* 1055 // InternalProblem.g:5034:24: (~ ( ( '\\n' | '\\r' ) ) )*
1034 loop7: 1056 loop7:
1035 do { 1057 do {
1036 int alt7=2; 1058 int alt7=2;
@@ -1043,7 +1065,7 @@ public class InternalProblemLexer extends Lexer {
1043 1065
1044 switch (alt7) { 1066 switch (alt7) {
1045 case 1 : 1067 case 1 :
1046 // InternalProblem.g:4481:24: ~ ( ( '\\n' | '\\r' ) ) 1068 // InternalProblem.g:5034:24: ~ ( ( '\\n' | '\\r' ) )
1047 { 1069 {
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') ) { 1070 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') ) {
1049 input.consume(); 1071 input.consume();
@@ -1063,7 +1085,7 @@ public class InternalProblemLexer extends Lexer {
1063 } 1085 }
1064 } while (true); 1086 } while (true);
1065 1087
1066 // InternalProblem.g:4481:40: ( ( '\\r' )? '\\n' )? 1088 // InternalProblem.g:5034:40: ( ( '\\r' )? '\\n' )?
1067 int alt9=2; 1089 int alt9=2;
1068 int LA9_0 = input.LA(1); 1090 int LA9_0 = input.LA(1);
1069 1091
@@ -1072,9 +1094,9 @@ public class InternalProblemLexer extends Lexer {
1072 } 1094 }
1073 switch (alt9) { 1095 switch (alt9) {
1074 case 1 : 1096 case 1 :
1075 // InternalProblem.g:4481:41: ( '\\r' )? '\\n' 1097 // InternalProblem.g:5034:41: ( '\\r' )? '\\n'
1076 { 1098 {
1077 // InternalProblem.g:4481:41: ( '\\r' )? 1099 // InternalProblem.g:5034:41: ( '\\r' )?
1078 int alt8=2; 1100 int alt8=2;
1079 int LA8_0 = input.LA(1); 1101 int LA8_0 = input.LA(1);
1080 1102
@@ -1083,7 +1105,7 @@ public class InternalProblemLexer extends Lexer {
1083 } 1105 }
1084 switch (alt8) { 1106 switch (alt8) {
1085 case 1 : 1107 case 1 :
1086 // InternalProblem.g:4481:41: '\\r' 1108 // InternalProblem.g:5034:41: '\\r'
1087 { 1109 {
1088 match('\r'); 1110 match('\r');
1089 1111
@@ -1115,10 +1137,10 @@ public class InternalProblemLexer extends Lexer {
1115 try { 1137 try {
1116 int _type = RULE_WS; 1138 int _type = RULE_WS;
1117 int _channel = DEFAULT_TOKEN_CHANNEL; 1139 int _channel = DEFAULT_TOKEN_CHANNEL;
1118 // InternalProblem.g:4483:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) 1140 // InternalProblem.g:5036:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
1119 // InternalProblem.g:4483:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ 1141 // InternalProblem.g:5036:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
1120 { 1142 {
1121 // InternalProblem.g:4483:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ 1143 // InternalProblem.g:5036:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
1122 int cnt10=0; 1144 int cnt10=0;
1123 loop10: 1145 loop10:
1124 do { 1146 do {
@@ -1172,8 +1194,8 @@ public class InternalProblemLexer extends Lexer {
1172 try { 1194 try {
1173 int _type = RULE_ANY_OTHER; 1195 int _type = RULE_ANY_OTHER;
1174 int _channel = DEFAULT_TOKEN_CHANNEL; 1196 int _channel = DEFAULT_TOKEN_CHANNEL;
1175 // InternalProblem.g:4485:16: ( . ) 1197 // InternalProblem.g:5038:16: ( . )
1176 // InternalProblem.g:4485:18: . 1198 // InternalProblem.g:5038:18: .
1177 { 1199 {
1178 matchAny(); 1200 matchAny();
1179 1201
@@ -1188,8 +1210,8 @@ public class InternalProblemLexer extends Lexer {
1188 // $ANTLR end "RULE_ANY_OTHER" 1210 // $ANTLR end "RULE_ANY_OTHER"
1189 1211
1190 public void mTokens() throws RecognitionException { 1212 public void mTokens() throws RecognitionException {
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 ) 1213 // 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 | T__43 | RULE_STRING | RULE_QUOTED_ID | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
1192 int alt11=39; 1214 int alt11=40;
1193 alt11 = dfa11.predict(input); 1215 alt11 = dfa11.predict(input);
1194 switch (alt11) { 1216 switch (alt11) {
1195 case 1 : 1217 case 1 :
@@ -1410,56 +1432,63 @@ public class InternalProblemLexer extends Lexer {
1410 } 1432 }
1411 break; 1433 break;
1412 case 32 : 1434 case 32 :
1413 // InternalProblem.g:1:196: RULE_STRING 1435 // InternalProblem.g:1:196: T__43
1414 { 1436 {
1415 mRULE_STRING(); 1437 mT__43();
1416 1438
1417 } 1439 }
1418 break; 1440 break;
1419 case 33 : 1441 case 33 :
1420 // InternalProblem.g:1:208: RULE_QUOTED_ID 1442 // InternalProblem.g:1:202: RULE_STRING
1421 { 1443 {
1422 mRULE_QUOTED_ID(); 1444 mRULE_STRING();
1423 1445
1424 } 1446 }
1425 break; 1447 break;
1426 case 34 : 1448 case 34 :
1427 // InternalProblem.g:1:223: RULE_ID 1449 // InternalProblem.g:1:214: RULE_QUOTED_ID
1428 { 1450 {
1429 mRULE_ID(); 1451 mRULE_QUOTED_ID();
1430 1452
1431 } 1453 }
1432 break; 1454 break;
1433 case 35 : 1455 case 35 :
1434 // InternalProblem.g:1:231: RULE_INT 1456 // InternalProblem.g:1:229: RULE_ID
1435 { 1457 {
1436 mRULE_INT(); 1458 mRULE_ID();
1437 1459
1438 } 1460 }
1439 break; 1461 break;
1440 case 36 : 1462 case 36 :
1441 // InternalProblem.g:1:240: RULE_ML_COMMENT 1463 // InternalProblem.g:1:237: RULE_INT
1442 { 1464 {
1443 mRULE_ML_COMMENT(); 1465 mRULE_INT();
1444 1466
1445 } 1467 }
1446 break; 1468 break;
1447 case 37 : 1469 case 37 :
1448 // InternalProblem.g:1:256: RULE_SL_COMMENT 1470 // InternalProblem.g:1:246: RULE_ML_COMMENT
1449 { 1471 {
1450 mRULE_SL_COMMENT(); 1472 mRULE_ML_COMMENT();
1451 1473
1452 } 1474 }
1453 break; 1475 break;
1454 case 38 : 1476 case 38 :
1455 // InternalProblem.g:1:272: RULE_WS 1477 // InternalProblem.g:1:262: RULE_SL_COMMENT
1456 { 1478 {
1457 mRULE_WS(); 1479 mRULE_SL_COMMENT();
1458 1480
1459 } 1481 }
1460 break; 1482 break;
1461 case 39 : 1483 case 39 :
1462 // InternalProblem.g:1:280: RULE_ANY_OTHER 1484 // InternalProblem.g:1:278: RULE_WS
1485 {
1486 mRULE_WS();
1487
1488 }
1489 break;
1490 case 40 :
1491 // InternalProblem.g:1:286: RULE_ANY_OTHER
1463 { 1492 {
1464 mRULE_ANY_OTHER(); 1493 mRULE_ANY_OTHER();
1465 1494
@@ -1473,81 +1502,82 @@ public class InternalProblemLexer extends Lexer {
1473 1502
1474 protected DFA11 dfa11 = new DFA11(this); 1503 protected DFA11 dfa11 = new DFA11(this);
1475 static final String DFA11_eotS = 1504 static final String DFA11_eotS =
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"; 1505 "\1\uffff\1\43\2\uffff\2\47\2\uffff\3\47\2\uffff\2\47\4\uffff\1\47\2\uffff\1\75\2\47\1\101\3\41\2\uffff\1\41\6\uffff\1\47\1\uffff\1\47\2\uffff\3\47\2\uffff\5\47\4\uffff\1\47\4\uffff\2\47\10\uffff\17\47\1\145\1\47\1\147\5\47\1\155\5\47\1\uffff\1\47\1\uffff\1\164\1\47\1\166\2\47\1\uffff\1\171\1\47\1\173\1\47\1\175\1\47\1\uffff\1\47\1\uffff\2\47\1\uffff\1\47\1\uffff\1\47\1\uffff\1\u0084\1\u0085\1\47\1\u0087\2\47\2\uffff\1\u008a\1\uffff\1\u008b\1\u008c\3\uffff";
1477 static final String DFA11_eofS = 1506 static final String DFA11_eofS =
1478 "\u0089\uffff"; 1507 "\u008d\uffff";
1479 static final String DFA11_minS = 1508 static final String DFA11_minS =
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"; 1509 "\1\0\1\56\2\uffff\1\145\1\162\2\uffff\1\162\1\141\1\156\2\uffff\1\154\1\156\4\uffff\1\160\2\uffff\1\55\1\143\1\142\1\75\2\0\1\101\2\uffff\1\52\6\uffff\1\146\1\uffff\1\145\2\uffff\1\165\1\154\1\153\2\uffff\1\141\1\156\1\164\1\165\1\162\4\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\1\155\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\60\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\uffff\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";
1481 static final String DFA11_maxS = 1510 static final String DFA11_maxS =
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"; 1511 "\1\uffff\1\56\2\uffff\1\145\1\162\2\uffff\1\162\1\141\1\156\2\uffff\1\157\1\170\4\uffff\1\160\2\uffff\1\55\1\143\1\142\1\75\2\uffff\1\172\2\uffff\1\57\6\uffff\1\146\1\uffff\1\157\2\uffff\1\165\1\154\1\153\2\uffff\1\141\1\156\1\164\1\165\1\162\4\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\1\155\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\172\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\uffff\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";
1483 static final String DFA11_acceptS = 1512 static final String DFA11_acceptS =
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"; 1513 "\2\uffff\1\2\1\3\2\uffff\1\6\1\7\3\uffff\1\13\1\14\2\uffff\1\20\1\21\1\23\1\24\1\uffff\1\26\1\27\7\uffff\1\43\1\44\1\uffff\1\47\1\50\1\33\1\1\1\2\1\3\1\uffff\1\43\1\uffff\1\6\1\7\3\uffff\1\13\1\14\5\uffff\1\20\1\21\1\23\1\24\1\uffff\1\26\1\27\1\30\1\31\2\uffff\1\40\1\37\1\41\1\42\1\44\1\45\1\46\1\47\35\uffff\1\5\1\uffff\1\10\5\uffff\1\22\6\uffff\1\11\1\uffff\1\16\2\uffff\1\36\1\uffff\1\32\1\uffff\1\4\6\uffff\1\15\1\12\1\uffff\1\17\2\uffff\1\35\1\25\1\34";
1485 static final String DFA11_specialS = 1514 static final String DFA11_specialS =
1486 "\1\0\31\uffff\1\2\1\1\155\uffff}>"; 1515 "\1\2\31\uffff\1\1\1\0\161\uffff}>";
1487 static final String[] DFA11_transitionS = { 1516 static final String[] DFA11_transitionS = {
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", 1517 "\11\41\2\40\2\41\1\40\22\41\1\40\1\13\1\32\4\41\1\33\1\24\1\25\1\7\1\31\1\2\1\41\1\1\1\37\12\36\1\26\1\3\1\41\1\6\1\41\1\14\1\41\32\35\1\21\1\41\1\22\1\34\1\35\1\41\1\30\1\35\1\15\1\35\1\16\1\11\10\35\1\23\1\5\1\35\1\4\1\27\1\10\1\12\5\35\1\17\1\41\1\20\uff82\41",
1489 "\1\42", 1518 "\1\42",
1490 "\1\44",
1491 "\1\46",
1492 "", 1519 "",
1493 "", 1520 "",
1494 "\1\51", 1521 "\1\46",
1495 "\1\52", 1522 "\1\50",
1496 "\1\53",
1497 "", 1523 "",
1498 "", 1524 "",
1499 "\1\56\2\uffff\1\57", 1525 "\1\53",
1500 "\1\61\5\uffff\1\60", 1526 "\1\54",
1527 "\1\55",
1501 "", 1528 "",
1502 "", 1529 "",
1530 "\1\60\2\uffff\1\61",
1531 "\1\63\3\uffff\1\64\5\uffff\1\62",
1503 "", 1532 "",
1504 "", 1533 "",
1505 "", 1534 "",
1506 "", 1535 "",
1507 "\1\70", 1536 "\1\71",
1508 "", 1537 "",
1509 "", 1538 "",
1510 "\1\73", 1539 "\1\74",
1511 "\1\75",
1512 "\1\76", 1540 "\1\76",
1513 "\1\77", 1541 "\1\77",
1514 "\0\101", 1542 "\1\100",
1515 "\0\102", 1543 "\0\102",
1516 "\32\45\4\uffff\1\45\1\uffff\32\45", 1544 "\0\103",
1545 "\32\47\4\uffff\1\47\1\uffff\32\47",
1546 "",
1547 "",
1548 "\1\105\4\uffff\1\106",
1517 "", 1549 "",
1518 "", 1550 "",
1519 "\1\104\4\uffff\1\105",
1520 "", 1551 "",
1521 "", 1552 "",
1522 "", 1553 "",
1523 "", 1554 "",
1524 "\1\107", 1555 "\1\110",
1525 "", 1556 "",
1526 "\1\110\11\uffff\1\111", 1557 "\1\111\11\uffff\1\112",
1527 "", 1558 "",
1528 "", 1559 "",
1529 "\1\112",
1530 "\1\113", 1560 "\1\113",
1531 "\1\114", 1561 "\1\114",
1562 "\1\115",
1532 "", 1563 "",
1533 "", 1564 "",
1534 "\1\115",
1535 "\1\116", 1565 "\1\116",
1536 "\1\117", 1566 "\1\117",
1537 "\1\120", 1567 "\1\120",
1568 "\1\121",
1569 "\1\122",
1538 "", 1570 "",
1539 "", 1571 "",
1540 "", 1572 "",
1541 "", 1573 "",
1542 "", 1574 "\1\123",
1543 "",
1544 "\1\121",
1545 "", 1575 "",
1546 "", 1576 "",
1547 "", 1577 "",
1548 "", 1578 "",
1549 "\1\122", 1579 "\1\124",
1550 "\1\123", 1580 "\1\125",
1551 "", 1581 "",
1552 "", 1582 "",
1553 "", 1583 "",
@@ -1556,8 +1586,6 @@ public class InternalProblemLexer extends Lexer {
1556 "", 1586 "",
1557 "", 1587 "",
1558 "", 1588 "",
1559 "\1\124",
1560 "\1\125",
1561 "\1\126", 1589 "\1\126",
1562 "\1\127", 1590 "\1\127",
1563 "\1\130", 1591 "\1\130",
@@ -1570,55 +1598,60 @@ public class InternalProblemLexer extends Lexer {
1570 "\1\137", 1598 "\1\137",
1571 "\1\140", 1599 "\1\140",
1572 "\1\141", 1600 "\1\141",
1573 "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45", 1601 "\1\142",
1574 "\1\143", 1602 "\1\143",
1575 "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45", 1603 "\1\144",
1576 "\1\145", 1604 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
1577 "\1\146", 1605 "\1\146",
1578 "\1\147", 1606 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
1579 "\1\150", 1607 "\1\150",
1580 "\1\151", 1608 "\1\151",
1581 "\1\152", 1609 "\1\152",
1582 "\1\153", 1610 "\1\153",
1583 "\1\154", 1611 "\1\154",
1584 "\1\155", 1612 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
1585 "\1\156", 1613 "\1\156",
1586 "",
1587 "\1\157", 1614 "\1\157",
1588 "", 1615 "\1\160",
1589 "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
1590 "\1\161", 1616 "\1\161",
1591 "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45", 1617 "\1\162",
1618 "",
1592 "\1\163", 1619 "\1\163",
1593 "\1\164",
1594 "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
1595 "\1\166",
1596 "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
1597 "\1\170",
1598 "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
1599 "\1\172",
1600 "", 1620 "",
1601 "\1\173", 1621 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
1622 "\1\165",
1623 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
1624 "\1\167",
1625 "\1\170",
1602 "", 1626 "",
1627 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
1628 "\1\172",
1629 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
1603 "\1\174", 1630 "\1\174",
1604 "\1\175", 1631 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
1605 "",
1606 "\1\176", 1632 "\1\176",
1607 "", 1633 "",
1608 "\1\177", 1634 "\1\177",
1609 "", 1635 "",
1610 "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45", 1636 "\1\u0080",
1611 "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45", 1637 "\1\u0081",
1638 "",
1612 "\1\u0082", 1639 "\1\u0082",
1613 "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
1614 "\1\u0084",
1615 "\1\u0085",
1616 "", 1640 "",
1641 "\1\u0083",
1642 "",
1643 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
1644 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
1645 "\1\u0086",
1646 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
1647 "\1\u0088",
1648 "\1\u0089",
1617 "", 1649 "",
1618 "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
1619 "", 1650 "",
1620 "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45", 1651 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
1621 "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45", 1652 "",
1653 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
1654 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
1622 "", 1655 "",
1623 "", 1656 "",
1624 "" 1657 ""
@@ -1654,47 +1687,67 @@ public class InternalProblemLexer extends Lexer {
1654 this.transition = DFA11_transition; 1687 this.transition = DFA11_transition;
1655 } 1688 }
1656 public String getDescription() { 1689 public String getDescription() {
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 );"; 1690 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 | T__43 | RULE_STRING | RULE_QUOTED_ID | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
1658 } 1691 }
1659 public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { 1692 public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
1660 IntStream input = _input; 1693 IntStream input = _input;
1661 int _s = s; 1694 int _s = s;
1662 switch ( s ) { 1695 switch ( s ) {
1663 case 0 : 1696 case 0 :
1697 int LA11_27 = input.LA(1);
1698
1699 s = -1;
1700 if ( ((LA11_27>='\u0000' && LA11_27<='\uFFFF')) ) {s = 67;}
1701
1702 else s = 33;
1703
1704 if ( s>=0 ) return s;
1705 break;
1706 case 1 :
1707 int LA11_26 = input.LA(1);
1708
1709 s = -1;
1710 if ( ((LA11_26>='\u0000' && LA11_26<='\uFFFF')) ) {s = 66;}
1711
1712 else s = 33;
1713
1714 if ( s>=0 ) return s;
1715 break;
1716 case 2 :
1664 int LA11_0 = input.LA(1); 1717 int LA11_0 = input.LA(1);
1665 1718
1666 s = -1; 1719 s = -1;
1667 if ( (LA11_0=='.') ) {s = 1;} 1720 if ( (LA11_0=='.') ) {s = 1;}
1668 1721
1669 else if ( (LA11_0=='r') ) {s = 2;} 1722 else if ( (LA11_0==',') ) {s = 2;}
1670 1723
1671 else if ( (LA11_0=='p') ) {s = 3;} 1724 else if ( (LA11_0==';') ) {s = 3;}
1672 1725
1673 else if ( (LA11_0=='=') ) {s = 4;} 1726 else if ( (LA11_0=='r') ) {s = 4;}
1674 1727
1675 else if ( (LA11_0=='*') ) {s = 5;} 1728 else if ( (LA11_0=='p') ) {s = 5;}
1676 1729
1677 else if ( (LA11_0=='t') ) {s = 6;} 1730 else if ( (LA11_0=='=') ) {s = 6;}
1678 1731
1679 else if ( (LA11_0=='f') ) {s = 7;} 1732 else if ( (LA11_0=='*') ) {s = 7;}
1680 1733
1681 else if ( (LA11_0=='u') ) {s = 8;} 1734 else if ( (LA11_0=='t') ) {s = 8;}
1682 1735
1683 else if ( (LA11_0=='!') ) {s = 9;} 1736 else if ( (LA11_0=='f') ) {s = 9;}
1684 1737
1685 else if ( (LA11_0=='?') ) {s = 10;} 1738 else if ( (LA11_0=='u') ) {s = 10;}
1686 1739
1687 else if ( (LA11_0=='c') ) {s = 11;} 1740 else if ( (LA11_0=='!') ) {s = 11;}
1688 1741
1689 else if ( (LA11_0=='e') ) {s = 12;} 1742 else if ( (LA11_0=='?') ) {s = 12;}
1690 1743
1691 else if ( (LA11_0==',') ) {s = 13;} 1744 else if ( (LA11_0=='c') ) {s = 13;}
1692 1745
1693 else if ( (LA11_0=='{') ) {s = 14;} 1746 else if ( (LA11_0=='e') ) {s = 14;}
1694 1747
1695 else if ( (LA11_0=='}') ) {s = 15;} 1748 else if ( (LA11_0=='{') ) {s = 15;}
1696 1749
1697 else if ( (LA11_0==';') ) {s = 16;} 1750 else if ( (LA11_0=='}') ) {s = 16;}
1698 1751
1699 else if ( (LA11_0=='[') ) {s = 17;} 1752 else if ( (LA11_0=='[') ) {s = 17;}
1700 1753
@@ -1732,26 +1785,6 @@ public class InternalProblemLexer extends Lexer {
1732 1785
1733 if ( s>=0 ) return s; 1786 if ( s>=0 ) return s;
1734 break; 1787 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;}
1740
1741 else s = 33;
1742
1743 if ( s>=0 ) return s;
1744 break;
1745 case 2 :
1746 int LA11_26 = input.LA(1);
1747
1748 s = -1;
1749 if ( ((LA11_26>='\u0000' && LA11_26<='\uFFFF')) ) {s = 65;}
1750
1751 else s = 33;
1752
1753 if ( s>=0 ) return s;
1754 break;
1755 } 1788 }
1756 NoViableAltException nvae = 1789 NoViableAltException nvae =
1757 new NoViableAltException(getDescription(), 11, _s, input); 1790 new NoViableAltException(getDescription(), 11, _s, input);
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 5eb272e7..0f70a158 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,33 +22,18 @@ 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_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'", "'+'", "'+='" 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'", "'{'", "'}'", "'enum'", "'['", "']'", "'opposite'", "'('", "')'", "':-'", "':'", "'scope'", "'..'", "'abstract'", "'contains'", "'error'", "'+'", "'+='"
26 }; 26 };
27 public static final int RULE_STRING=7;
28 public static final int RULE_SL_COMMENT=9;
29 public static final int T__19=19; 27 public static final int T__19=19;
30 public static final int T__15=15; 28 public static final int T__15=15;
31 public static final int T__37=37;
32 public static final int T__16=16; 29 public static final int T__16=16;
33 public static final int T__38=38;
34 public static final int T__17=17; 30 public static final int T__17=17;
35 public static final int T__39=39;
36 public static final int T__18=18; 31 public static final int T__18=18;
37 public static final int T__33=33;
38 public static final int T__12=12; 32 public static final int T__12=12;
39 public static final int T__34=34;
40 public static final int T__13=13; 33 public static final int T__13=13;
41 public static final int T__35=35;
42 public static final int T__14=14; 34 public static final int T__14=14;
43 public static final int T__36=36;
44 public static final int EOF=-1;
45 public static final int T__30=30;
46 public static final int T__31=31;
47 public static final int T__32=32;
48 public static final int RULE_ID=6; 35 public static final int RULE_ID=6;
49 public static final int RULE_WS=10;
50 public static final int RULE_QUOTED_ID=5; 36 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; 37 public static final int T__26=26;
53 public static final int T__27=27; 38 public static final int T__27=27;
54 public static final int T__28=28; 39 public static final int T__28=28;
@@ -59,11 +44,27 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
59 public static final int T__23=23; 44 public static final int T__23=23;
60 public static final int T__24=24; 45 public static final int T__24=24;
61 public static final int T__25=25; 46 public static final int T__25=25;
47 public static final int T__20=20;
48 public static final int T__21=21;
49 public static final int RULE_STRING=7;
50 public static final int RULE_SL_COMMENT=9;
51 public static final int T__37=37;
52 public static final int T__38=38;
53 public static final int T__39=39;
54 public static final int T__33=33;
55 public static final int T__34=34;
56 public static final int T__35=35;
57 public static final int T__36=36;
58 public static final int EOF=-1;
59 public static final int T__30=30;
60 public static final int T__31=31;
61 public static final int T__32=32;
62 public static final int RULE_WS=10;
63 public static final int RULE_ANY_OTHER=11;
62 public static final int T__40=40; 64 public static final int T__40=40;
63 public static final int T__41=41; 65 public static final int T__41=41;
64 public static final int T__20=20;
65 public static final int T__42=42; 66 public static final int T__42=42;
66 public static final int T__21=21; 67 public static final int T__43=43;
67 68
68 // delegates 69 // delegates
69 // delegators 70 // delegators
@@ -331,12 +332,166 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
331 // $ANTLR end "ruleClassDeclaration" 332 // $ANTLR end "ruleClassDeclaration"
332 333
333 334
335 // $ANTLR start "entryRuleEnumDeclaration"
336 // InternalProblem.g:128:1: entryRuleEnumDeclaration : ruleEnumDeclaration EOF ;
337 public final void entryRuleEnumDeclaration() throws RecognitionException {
338 try {
339 // InternalProblem.g:129:1: ( ruleEnumDeclaration EOF )
340 // InternalProblem.g:130:1: ruleEnumDeclaration EOF
341 {
342 before(grammarAccess.getEnumDeclarationRule());
343 pushFollow(FOLLOW_1);
344 ruleEnumDeclaration();
345
346 state._fsp--;
347
348 after(grammarAccess.getEnumDeclarationRule());
349 match(input,EOF,FOLLOW_2);
350
351 }
352
353 }
354 catch (RecognitionException re) {
355 reportError(re);
356 recover(input,re);
357 }
358 finally {
359 }
360 return ;
361 }
362 // $ANTLR end "entryRuleEnumDeclaration"
363
364
365 // $ANTLR start "ruleEnumDeclaration"
366 // InternalProblem.g:137:1: ruleEnumDeclaration : ( ( rule__EnumDeclaration__Group__0 ) ) ;
367 public final void ruleEnumDeclaration() throws RecognitionException {
368
369 int stackSize = keepStackSize();
370
371 try {
372 // InternalProblem.g:141:2: ( ( ( rule__EnumDeclaration__Group__0 ) ) )
373 // InternalProblem.g:142:2: ( ( rule__EnumDeclaration__Group__0 ) )
374 {
375 // InternalProblem.g:142:2: ( ( rule__EnumDeclaration__Group__0 ) )
376 // InternalProblem.g:143:3: ( rule__EnumDeclaration__Group__0 )
377 {
378 before(grammarAccess.getEnumDeclarationAccess().getGroup());
379 // InternalProblem.g:144:3: ( rule__EnumDeclaration__Group__0 )
380 // InternalProblem.g:144:4: rule__EnumDeclaration__Group__0
381 {
382 pushFollow(FOLLOW_2);
383 rule__EnumDeclaration__Group__0();
384
385 state._fsp--;
386
387
388 }
389
390 after(grammarAccess.getEnumDeclarationAccess().getGroup());
391
392 }
393
394
395 }
396
397 }
398 catch (RecognitionException re) {
399 reportError(re);
400 recover(input,re);
401 }
402 finally {
403
404 restoreStackSize(stackSize);
405
406 }
407 return ;
408 }
409 // $ANTLR end "ruleEnumDeclaration"
410
411
412 // $ANTLR start "entryRuleEnumLiteral"
413 // InternalProblem.g:153:1: entryRuleEnumLiteral : ruleEnumLiteral EOF ;
414 public final void entryRuleEnumLiteral() throws RecognitionException {
415 try {
416 // InternalProblem.g:154:1: ( ruleEnumLiteral EOF )
417 // InternalProblem.g:155:1: ruleEnumLiteral EOF
418 {
419 before(grammarAccess.getEnumLiteralRule());
420 pushFollow(FOLLOW_1);
421 ruleEnumLiteral();
422
423 state._fsp--;
424
425 after(grammarAccess.getEnumLiteralRule());
426 match(input,EOF,FOLLOW_2);
427
428 }
429
430 }
431 catch (RecognitionException re) {
432 reportError(re);
433 recover(input,re);
434 }
435 finally {
436 }
437 return ;
438 }
439 // $ANTLR end "entryRuleEnumLiteral"
440
441
442 // $ANTLR start "ruleEnumLiteral"
443 // InternalProblem.g:162:1: ruleEnumLiteral : ( ( rule__EnumLiteral__NameAssignment ) ) ;
444 public final void ruleEnumLiteral() throws RecognitionException {
445
446 int stackSize = keepStackSize();
447
448 try {
449 // InternalProblem.g:166:2: ( ( ( rule__EnumLiteral__NameAssignment ) ) )
450 // InternalProblem.g:167:2: ( ( rule__EnumLiteral__NameAssignment ) )
451 {
452 // InternalProblem.g:167:2: ( ( rule__EnumLiteral__NameAssignment ) )
453 // InternalProblem.g:168:3: ( rule__EnumLiteral__NameAssignment )
454 {
455 before(grammarAccess.getEnumLiteralAccess().getNameAssignment());
456 // InternalProblem.g:169:3: ( rule__EnumLiteral__NameAssignment )
457 // InternalProblem.g:169:4: rule__EnumLiteral__NameAssignment
458 {
459 pushFollow(FOLLOW_2);
460 rule__EnumLiteral__NameAssignment();
461
462 state._fsp--;
463
464
465 }
466
467 after(grammarAccess.getEnumLiteralAccess().getNameAssignment());
468
469 }
470
471
472 }
473
474 }
475 catch (RecognitionException re) {
476 reportError(re);
477 recover(input,re);
478 }
479 finally {
480
481 restoreStackSize(stackSize);
482
483 }
484 return ;
485 }
486 // $ANTLR end "ruleEnumLiteral"
487
488
334 // $ANTLR start "entryRuleReferenceDeclaration" 489 // $ANTLR start "entryRuleReferenceDeclaration"
335 // InternalProblem.g:128:1: entryRuleReferenceDeclaration : ruleReferenceDeclaration EOF ; 490 // InternalProblem.g:178:1: entryRuleReferenceDeclaration : ruleReferenceDeclaration EOF ;
336 public final void entryRuleReferenceDeclaration() throws RecognitionException { 491 public final void entryRuleReferenceDeclaration() throws RecognitionException {
337 try { 492 try {
338 // InternalProblem.g:129:1: ( ruleReferenceDeclaration EOF ) 493 // InternalProblem.g:179:1: ( ruleReferenceDeclaration EOF )
339 // InternalProblem.g:130:1: ruleReferenceDeclaration EOF 494 // InternalProblem.g:180:1: ruleReferenceDeclaration EOF
340 { 495 {
341 before(grammarAccess.getReferenceDeclarationRule()); 496 before(grammarAccess.getReferenceDeclarationRule());
342 pushFollow(FOLLOW_1); 497 pushFollow(FOLLOW_1);
@@ -362,21 +517,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
362 517
363 518
364 // $ANTLR start "ruleReferenceDeclaration" 519 // $ANTLR start "ruleReferenceDeclaration"
365 // InternalProblem.g:137:1: ruleReferenceDeclaration : ( ( rule__ReferenceDeclaration__Group__0 ) ) ; 520 // InternalProblem.g:187:1: ruleReferenceDeclaration : ( ( rule__ReferenceDeclaration__Group__0 ) ) ;
366 public final void ruleReferenceDeclaration() throws RecognitionException { 521 public final void ruleReferenceDeclaration() throws RecognitionException {
367 522
368 int stackSize = keepStackSize(); 523 int stackSize = keepStackSize();
369 524
370 try { 525 try {
371 // InternalProblem.g:141:2: ( ( ( rule__ReferenceDeclaration__Group__0 ) ) ) 526 // InternalProblem.g:191:2: ( ( ( rule__ReferenceDeclaration__Group__0 ) ) )
372 // InternalProblem.g:142:2: ( ( rule__ReferenceDeclaration__Group__0 ) ) 527 // InternalProblem.g:192:2: ( ( rule__ReferenceDeclaration__Group__0 ) )
373 { 528 {
374 // InternalProblem.g:142:2: ( ( rule__ReferenceDeclaration__Group__0 ) ) 529 // InternalProblem.g:192:2: ( ( rule__ReferenceDeclaration__Group__0 ) )
375 // InternalProblem.g:143:3: ( rule__ReferenceDeclaration__Group__0 ) 530 // InternalProblem.g:193:3: ( rule__ReferenceDeclaration__Group__0 )
376 { 531 {
377 before(grammarAccess.getReferenceDeclarationAccess().getGroup()); 532 before(grammarAccess.getReferenceDeclarationAccess().getGroup());
378 // InternalProblem.g:144:3: ( rule__ReferenceDeclaration__Group__0 ) 533 // InternalProblem.g:194:3: ( rule__ReferenceDeclaration__Group__0 )
379 // InternalProblem.g:144:4: rule__ReferenceDeclaration__Group__0 534 // InternalProblem.g:194:4: rule__ReferenceDeclaration__Group__0
380 { 535 {
381 pushFollow(FOLLOW_2); 536 pushFollow(FOLLOW_2);
382 rule__ReferenceDeclaration__Group__0(); 537 rule__ReferenceDeclaration__Group__0();
@@ -409,11 +564,11 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
409 564
410 565
411 // $ANTLR start "entryRulePredicateDefinition" 566 // $ANTLR start "entryRulePredicateDefinition"
412 // InternalProblem.g:153:1: entryRulePredicateDefinition : rulePredicateDefinition EOF ; 567 // InternalProblem.g:203:1: entryRulePredicateDefinition : rulePredicateDefinition EOF ;
413 public final void entryRulePredicateDefinition() throws RecognitionException { 568 public final void entryRulePredicateDefinition() throws RecognitionException {
414 try { 569 try {
415 // InternalProblem.g:154:1: ( rulePredicateDefinition EOF ) 570 // InternalProblem.g:204:1: ( rulePredicateDefinition EOF )
416 // InternalProblem.g:155:1: rulePredicateDefinition EOF 571 // InternalProblem.g:205:1: rulePredicateDefinition EOF
417 { 572 {
418 before(grammarAccess.getPredicateDefinitionRule()); 573 before(grammarAccess.getPredicateDefinitionRule());
419 pushFollow(FOLLOW_1); 574 pushFollow(FOLLOW_1);
@@ -439,21 +594,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
439 594
440 595
441 // $ANTLR start "rulePredicateDefinition" 596 // $ANTLR start "rulePredicateDefinition"
442 // InternalProblem.g:162:1: rulePredicateDefinition : ( ( rule__PredicateDefinition__Group__0 ) ) ; 597 // InternalProblem.g:212:1: rulePredicateDefinition : ( ( rule__PredicateDefinition__Group__0 ) ) ;
443 public final void rulePredicateDefinition() throws RecognitionException { 598 public final void rulePredicateDefinition() throws RecognitionException {
444 599
445 int stackSize = keepStackSize(); 600 int stackSize = keepStackSize();
446 601
447 try { 602 try {
448 // InternalProblem.g:166:2: ( ( ( rule__PredicateDefinition__Group__0 ) ) ) 603 // InternalProblem.g:216:2: ( ( ( rule__PredicateDefinition__Group__0 ) ) )
449 // InternalProblem.g:167:2: ( ( rule__PredicateDefinition__Group__0 ) ) 604 // InternalProblem.g:217:2: ( ( rule__PredicateDefinition__Group__0 ) )
450 { 605 {
451 // InternalProblem.g:167:2: ( ( rule__PredicateDefinition__Group__0 ) ) 606 // InternalProblem.g:217:2: ( ( rule__PredicateDefinition__Group__0 ) )
452 // InternalProblem.g:168:3: ( rule__PredicateDefinition__Group__0 ) 607 // InternalProblem.g:218:3: ( rule__PredicateDefinition__Group__0 )
453 { 608 {
454 before(grammarAccess.getPredicateDefinitionAccess().getGroup()); 609 before(grammarAccess.getPredicateDefinitionAccess().getGroup());
455 // InternalProblem.g:169:3: ( rule__PredicateDefinition__Group__0 ) 610 // InternalProblem.g:219:3: ( rule__PredicateDefinition__Group__0 )
456 // InternalProblem.g:169:4: rule__PredicateDefinition__Group__0 611 // InternalProblem.g:219:4: rule__PredicateDefinition__Group__0
457 { 612 {
458 pushFollow(FOLLOW_2); 613 pushFollow(FOLLOW_2);
459 rule__PredicateDefinition__Group__0(); 614 rule__PredicateDefinition__Group__0();
@@ -486,11 +641,11 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
486 641
487 642
488 // $ANTLR start "entryRuleParameter" 643 // $ANTLR start "entryRuleParameter"
489 // InternalProblem.g:178:1: entryRuleParameter : ruleParameter EOF ; 644 // InternalProblem.g:228:1: entryRuleParameter : ruleParameter EOF ;
490 public final void entryRuleParameter() throws RecognitionException { 645 public final void entryRuleParameter() throws RecognitionException {
491 try { 646 try {
492 // InternalProblem.g:179:1: ( ruleParameter EOF ) 647 // InternalProblem.g:229:1: ( ruleParameter EOF )
493 // InternalProblem.g:180:1: ruleParameter EOF 648 // InternalProblem.g:230:1: ruleParameter EOF
494 { 649 {
495 before(grammarAccess.getParameterRule()); 650 before(grammarAccess.getParameterRule());
496 pushFollow(FOLLOW_1); 651 pushFollow(FOLLOW_1);
@@ -516,21 +671,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
516 671
517 672
518 // $ANTLR start "ruleParameter" 673 // $ANTLR start "ruleParameter"
519 // InternalProblem.g:187:1: ruleParameter : ( ( rule__Parameter__Group__0 ) ) ; 674 // InternalProblem.g:237:1: ruleParameter : ( ( rule__Parameter__Group__0 ) ) ;
520 public final void ruleParameter() throws RecognitionException { 675 public final void ruleParameter() throws RecognitionException {
521 676
522 int stackSize = keepStackSize(); 677 int stackSize = keepStackSize();
523 678
524 try { 679 try {
525 // InternalProblem.g:191:2: ( ( ( rule__Parameter__Group__0 ) ) ) 680 // InternalProblem.g:241:2: ( ( ( rule__Parameter__Group__0 ) ) )
526 // InternalProblem.g:192:2: ( ( rule__Parameter__Group__0 ) ) 681 // InternalProblem.g:242:2: ( ( rule__Parameter__Group__0 ) )
527 { 682 {
528 // InternalProblem.g:192:2: ( ( rule__Parameter__Group__0 ) ) 683 // InternalProblem.g:242:2: ( ( rule__Parameter__Group__0 ) )
529 // InternalProblem.g:193:3: ( rule__Parameter__Group__0 ) 684 // InternalProblem.g:243:3: ( rule__Parameter__Group__0 )
530 { 685 {
531 before(grammarAccess.getParameterAccess().getGroup()); 686 before(grammarAccess.getParameterAccess().getGroup());
532 // InternalProblem.g:194:3: ( rule__Parameter__Group__0 ) 687 // InternalProblem.g:244:3: ( rule__Parameter__Group__0 )
533 // InternalProblem.g:194:4: rule__Parameter__Group__0 688 // InternalProblem.g:244:4: rule__Parameter__Group__0
534 { 689 {
535 pushFollow(FOLLOW_2); 690 pushFollow(FOLLOW_2);
536 rule__Parameter__Group__0(); 691 rule__Parameter__Group__0();
@@ -563,11 +718,11 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
563 718
564 719
565 // $ANTLR start "entryRuleConjunction" 720 // $ANTLR start "entryRuleConjunction"
566 // InternalProblem.g:203:1: entryRuleConjunction : ruleConjunction EOF ; 721 // InternalProblem.g:253:1: entryRuleConjunction : ruleConjunction EOF ;
567 public final void entryRuleConjunction() throws RecognitionException { 722 public final void entryRuleConjunction() throws RecognitionException {
568 try { 723 try {
569 // InternalProblem.g:204:1: ( ruleConjunction EOF ) 724 // InternalProblem.g:254:1: ( ruleConjunction EOF )
570 // InternalProblem.g:205:1: ruleConjunction EOF 725 // InternalProblem.g:255:1: ruleConjunction EOF
571 { 726 {
572 before(grammarAccess.getConjunctionRule()); 727 before(grammarAccess.getConjunctionRule());
573 pushFollow(FOLLOW_1); 728 pushFollow(FOLLOW_1);
@@ -593,21 +748,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
593 748
594 749
595 // $ANTLR start "ruleConjunction" 750 // $ANTLR start "ruleConjunction"
596 // InternalProblem.g:212:1: ruleConjunction : ( ( rule__Conjunction__Group__0 ) ) ; 751 // InternalProblem.g:262:1: ruleConjunction : ( ( rule__Conjunction__Group__0 ) ) ;
597 public final void ruleConjunction() throws RecognitionException { 752 public final void ruleConjunction() throws RecognitionException {
598 753
599 int stackSize = keepStackSize(); 754 int stackSize = keepStackSize();
600 755
601 try { 756 try {
602 // InternalProblem.g:216:2: ( ( ( rule__Conjunction__Group__0 ) ) ) 757 // InternalProblem.g:266:2: ( ( ( rule__Conjunction__Group__0 ) ) )
603 // InternalProblem.g:217:2: ( ( rule__Conjunction__Group__0 ) ) 758 // InternalProblem.g:267:2: ( ( rule__Conjunction__Group__0 ) )
604 { 759 {
605 // InternalProblem.g:217:2: ( ( rule__Conjunction__Group__0 ) ) 760 // InternalProblem.g:267:2: ( ( rule__Conjunction__Group__0 ) )
606 // InternalProblem.g:218:3: ( rule__Conjunction__Group__0 ) 761 // InternalProblem.g:268:3: ( rule__Conjunction__Group__0 )
607 { 762 {
608 before(grammarAccess.getConjunctionAccess().getGroup()); 763 before(grammarAccess.getConjunctionAccess().getGroup());
609 // InternalProblem.g:219:3: ( rule__Conjunction__Group__0 ) 764 // InternalProblem.g:269:3: ( rule__Conjunction__Group__0 )
610 // InternalProblem.g:219:4: rule__Conjunction__Group__0 765 // InternalProblem.g:269:4: rule__Conjunction__Group__0
611 { 766 {
612 pushFollow(FOLLOW_2); 767 pushFollow(FOLLOW_2);
613 rule__Conjunction__Group__0(); 768 rule__Conjunction__Group__0();
@@ -640,11 +795,11 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
640 795
641 796
642 // $ANTLR start "entryRuleLiteral" 797 // $ANTLR start "entryRuleLiteral"
643 // InternalProblem.g:228:1: entryRuleLiteral : ruleLiteral EOF ; 798 // InternalProblem.g:278:1: entryRuleLiteral : ruleLiteral EOF ;
644 public final void entryRuleLiteral() throws RecognitionException { 799 public final void entryRuleLiteral() throws RecognitionException {
645 try { 800 try {
646 // InternalProblem.g:229:1: ( ruleLiteral EOF ) 801 // InternalProblem.g:279:1: ( ruleLiteral EOF )
647 // InternalProblem.g:230:1: ruleLiteral EOF 802 // InternalProblem.g:280:1: ruleLiteral EOF
648 { 803 {
649 before(grammarAccess.getLiteralRule()); 804 before(grammarAccess.getLiteralRule());
650 pushFollow(FOLLOW_1); 805 pushFollow(FOLLOW_1);
@@ -670,21 +825,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
670 825
671 826
672 // $ANTLR start "ruleLiteral" 827 // $ANTLR start "ruleLiteral"
673 // InternalProblem.g:237:1: ruleLiteral : ( ( rule__Literal__Alternatives ) ) ; 828 // InternalProblem.g:287:1: ruleLiteral : ( ( rule__Literal__Alternatives ) ) ;
674 public final void ruleLiteral() throws RecognitionException { 829 public final void ruleLiteral() throws RecognitionException {
675 830
676 int stackSize = keepStackSize(); 831 int stackSize = keepStackSize();
677 832
678 try { 833 try {
679 // InternalProblem.g:241:2: ( ( ( rule__Literal__Alternatives ) ) ) 834 // InternalProblem.g:291:2: ( ( ( rule__Literal__Alternatives ) ) )
680 // InternalProblem.g:242:2: ( ( rule__Literal__Alternatives ) ) 835 // InternalProblem.g:292:2: ( ( rule__Literal__Alternatives ) )
681 { 836 {
682 // InternalProblem.g:242:2: ( ( rule__Literal__Alternatives ) ) 837 // InternalProblem.g:292:2: ( ( rule__Literal__Alternatives ) )
683 // InternalProblem.g:243:3: ( rule__Literal__Alternatives ) 838 // InternalProblem.g:293:3: ( rule__Literal__Alternatives )
684 { 839 {
685 before(grammarAccess.getLiteralAccess().getAlternatives()); 840 before(grammarAccess.getLiteralAccess().getAlternatives());
686 // InternalProblem.g:244:3: ( rule__Literal__Alternatives ) 841 // InternalProblem.g:294:3: ( rule__Literal__Alternatives )
687 // InternalProblem.g:244:4: rule__Literal__Alternatives 842 // InternalProblem.g:294:4: rule__Literal__Alternatives
688 { 843 {
689 pushFollow(FOLLOW_2); 844 pushFollow(FOLLOW_2);
690 rule__Literal__Alternatives(); 845 rule__Literal__Alternatives();
@@ -717,11 +872,11 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
717 872
718 873
719 // $ANTLR start "entryRuleNegativeLiteral" 874 // $ANTLR start "entryRuleNegativeLiteral"
720 // InternalProblem.g:253:1: entryRuleNegativeLiteral : ruleNegativeLiteral EOF ; 875 // InternalProblem.g:303:1: entryRuleNegativeLiteral : ruleNegativeLiteral EOF ;
721 public final void entryRuleNegativeLiteral() throws RecognitionException { 876 public final void entryRuleNegativeLiteral() throws RecognitionException {
722 try { 877 try {
723 // InternalProblem.g:254:1: ( ruleNegativeLiteral EOF ) 878 // InternalProblem.g:304:1: ( ruleNegativeLiteral EOF )
724 // InternalProblem.g:255:1: ruleNegativeLiteral EOF 879 // InternalProblem.g:305:1: ruleNegativeLiteral EOF
725 { 880 {
726 before(grammarAccess.getNegativeLiteralRule()); 881 before(grammarAccess.getNegativeLiteralRule());
727 pushFollow(FOLLOW_1); 882 pushFollow(FOLLOW_1);
@@ -747,21 +902,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
747 902
748 903
749 // $ANTLR start "ruleNegativeLiteral" 904 // $ANTLR start "ruleNegativeLiteral"
750 // InternalProblem.g:262:1: ruleNegativeLiteral : ( ( rule__NegativeLiteral__Group__0 ) ) ; 905 // InternalProblem.g:312:1: ruleNegativeLiteral : ( ( rule__NegativeLiteral__Group__0 ) ) ;
751 public final void ruleNegativeLiteral() throws RecognitionException { 906 public final void ruleNegativeLiteral() throws RecognitionException {
752 907
753 int stackSize = keepStackSize(); 908 int stackSize = keepStackSize();
754 909
755 try { 910 try {
756 // InternalProblem.g:266:2: ( ( ( rule__NegativeLiteral__Group__0 ) ) ) 911 // InternalProblem.g:316:2: ( ( ( rule__NegativeLiteral__Group__0 ) ) )
757 // InternalProblem.g:267:2: ( ( rule__NegativeLiteral__Group__0 ) ) 912 // InternalProblem.g:317:2: ( ( rule__NegativeLiteral__Group__0 ) )
758 { 913 {
759 // InternalProblem.g:267:2: ( ( rule__NegativeLiteral__Group__0 ) ) 914 // InternalProblem.g:317:2: ( ( rule__NegativeLiteral__Group__0 ) )
760 // InternalProblem.g:268:3: ( rule__NegativeLiteral__Group__0 ) 915 // InternalProblem.g:318:3: ( rule__NegativeLiteral__Group__0 )
761 { 916 {
762 before(grammarAccess.getNegativeLiteralAccess().getGroup()); 917 before(grammarAccess.getNegativeLiteralAccess().getGroup());
763 // InternalProblem.g:269:3: ( rule__NegativeLiteral__Group__0 ) 918 // InternalProblem.g:319:3: ( rule__NegativeLiteral__Group__0 )
764 // InternalProblem.g:269:4: rule__NegativeLiteral__Group__0 919 // InternalProblem.g:319:4: rule__NegativeLiteral__Group__0
765 { 920 {
766 pushFollow(FOLLOW_2); 921 pushFollow(FOLLOW_2);
767 rule__NegativeLiteral__Group__0(); 922 rule__NegativeLiteral__Group__0();
@@ -794,11 +949,11 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
794 949
795 950
796 // $ANTLR start "entryRuleAtom" 951 // $ANTLR start "entryRuleAtom"
797 // InternalProblem.g:278:1: entryRuleAtom : ruleAtom EOF ; 952 // InternalProblem.g:328:1: entryRuleAtom : ruleAtom EOF ;
798 public final void entryRuleAtom() throws RecognitionException { 953 public final void entryRuleAtom() throws RecognitionException {
799 try { 954 try {
800 // InternalProblem.g:279:1: ( ruleAtom EOF ) 955 // InternalProblem.g:329:1: ( ruleAtom EOF )
801 // InternalProblem.g:280:1: ruleAtom EOF 956 // InternalProblem.g:330:1: ruleAtom EOF
802 { 957 {
803 before(grammarAccess.getAtomRule()); 958 before(grammarAccess.getAtomRule());
804 pushFollow(FOLLOW_1); 959 pushFollow(FOLLOW_1);
@@ -824,21 +979,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
824 979
825 980
826 // $ANTLR start "ruleAtom" 981 // $ANTLR start "ruleAtom"
827 // InternalProblem.g:287:1: ruleAtom : ( ( rule__Atom__Group__0 ) ) ; 982 // InternalProblem.g:337:1: ruleAtom : ( ( rule__Atom__Group__0 ) ) ;
828 public final void ruleAtom() throws RecognitionException { 983 public final void ruleAtom() throws RecognitionException {
829 984
830 int stackSize = keepStackSize(); 985 int stackSize = keepStackSize();
831 986
832 try { 987 try {
833 // InternalProblem.g:291:2: ( ( ( rule__Atom__Group__0 ) ) ) 988 // InternalProblem.g:341:2: ( ( ( rule__Atom__Group__0 ) ) )
834 // InternalProblem.g:292:2: ( ( rule__Atom__Group__0 ) ) 989 // InternalProblem.g:342:2: ( ( rule__Atom__Group__0 ) )
835 { 990 {
836 // InternalProblem.g:292:2: ( ( rule__Atom__Group__0 ) ) 991 // InternalProblem.g:342:2: ( ( rule__Atom__Group__0 ) )
837 // InternalProblem.g:293:3: ( rule__Atom__Group__0 ) 992 // InternalProblem.g:343:3: ( rule__Atom__Group__0 )
838 { 993 {
839 before(grammarAccess.getAtomAccess().getGroup()); 994 before(grammarAccess.getAtomAccess().getGroup());
840 // InternalProblem.g:294:3: ( rule__Atom__Group__0 ) 995 // InternalProblem.g:344:3: ( rule__Atom__Group__0 )
841 // InternalProblem.g:294:4: rule__Atom__Group__0 996 // InternalProblem.g:344:4: rule__Atom__Group__0
842 { 997 {
843 pushFollow(FOLLOW_2); 998 pushFollow(FOLLOW_2);
844 rule__Atom__Group__0(); 999 rule__Atom__Group__0();
@@ -871,11 +1026,11 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
871 1026
872 1027
873 // $ANTLR start "entryRuleArgument" 1028 // $ANTLR start "entryRuleArgument"
874 // InternalProblem.g:303:1: entryRuleArgument : ruleArgument EOF ; 1029 // InternalProblem.g:353:1: entryRuleArgument : ruleArgument EOF ;
875 public final void entryRuleArgument() throws RecognitionException { 1030 public final void entryRuleArgument() throws RecognitionException {
876 try { 1031 try {
877 // InternalProblem.g:304:1: ( ruleArgument EOF ) 1032 // InternalProblem.g:354:1: ( ruleArgument EOF )
878 // InternalProblem.g:305:1: ruleArgument EOF 1033 // InternalProblem.g:355:1: ruleArgument EOF
879 { 1034 {
880 before(grammarAccess.getArgumentRule()); 1035 before(grammarAccess.getArgumentRule());
881 pushFollow(FOLLOW_1); 1036 pushFollow(FOLLOW_1);
@@ -901,31 +1056,31 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
901 1056
902 1057
903 // $ANTLR start "ruleArgument" 1058 // $ANTLR start "ruleArgument"
904 // InternalProblem.g:312:1: ruleArgument : ( ( rule__Argument__VariableAssignment ) ) ; 1059 // InternalProblem.g:362:1: ruleArgument : ( ( rule__Argument__VariableOrNodeAssignment ) ) ;
905 public final void ruleArgument() throws RecognitionException { 1060 public final void ruleArgument() throws RecognitionException {
906 1061
907 int stackSize = keepStackSize(); 1062 int stackSize = keepStackSize();
908 1063
909 try { 1064 try {
910 // InternalProblem.g:316:2: ( ( ( rule__Argument__VariableAssignment ) ) ) 1065 // InternalProblem.g:366:2: ( ( ( rule__Argument__VariableOrNodeAssignment ) ) )
911 // InternalProblem.g:317:2: ( ( rule__Argument__VariableAssignment ) ) 1066 // InternalProblem.g:367:2: ( ( rule__Argument__VariableOrNodeAssignment ) )
912 { 1067 {
913 // InternalProblem.g:317:2: ( ( rule__Argument__VariableAssignment ) ) 1068 // InternalProblem.g:367:2: ( ( rule__Argument__VariableOrNodeAssignment ) )
914 // InternalProblem.g:318:3: ( rule__Argument__VariableAssignment ) 1069 // InternalProblem.g:368:3: ( rule__Argument__VariableOrNodeAssignment )
915 { 1070 {
916 before(grammarAccess.getArgumentAccess().getVariableAssignment()); 1071 before(grammarAccess.getArgumentAccess().getVariableOrNodeAssignment());
917 // InternalProblem.g:319:3: ( rule__Argument__VariableAssignment ) 1072 // InternalProblem.g:369:3: ( rule__Argument__VariableOrNodeAssignment )
918 // InternalProblem.g:319:4: rule__Argument__VariableAssignment 1073 // InternalProblem.g:369:4: rule__Argument__VariableOrNodeAssignment
919 { 1074 {
920 pushFollow(FOLLOW_2); 1075 pushFollow(FOLLOW_2);
921 rule__Argument__VariableAssignment(); 1076 rule__Argument__VariableOrNodeAssignment();
922 1077
923 state._fsp--; 1078 state._fsp--;
924 1079
925 1080
926 } 1081 }
927 1082
928 after(grammarAccess.getArgumentAccess().getVariableAssignment()); 1083 after(grammarAccess.getArgumentAccess().getVariableOrNodeAssignment());
929 1084
930 } 1085 }
931 1086
@@ -948,11 +1103,11 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
948 1103
949 1104
950 // $ANTLR start "entryRuleAssertion" 1105 // $ANTLR start "entryRuleAssertion"
951 // InternalProblem.g:328:1: entryRuleAssertion : ruleAssertion EOF ; 1106 // InternalProblem.g:378:1: entryRuleAssertion : ruleAssertion EOF ;
952 public final void entryRuleAssertion() throws RecognitionException { 1107 public final void entryRuleAssertion() throws RecognitionException {
953 try { 1108 try {
954 // InternalProblem.g:329:1: ( ruleAssertion EOF ) 1109 // InternalProblem.g:379:1: ( ruleAssertion EOF )
955 // InternalProblem.g:330:1: ruleAssertion EOF 1110 // InternalProblem.g:380:1: ruleAssertion EOF
956 { 1111 {
957 before(grammarAccess.getAssertionRule()); 1112 before(grammarAccess.getAssertionRule());
958 pushFollow(FOLLOW_1); 1113 pushFollow(FOLLOW_1);
@@ -978,21 +1133,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
978 1133
979 1134
980 // $ANTLR start "ruleAssertion" 1135 // $ANTLR start "ruleAssertion"
981 // InternalProblem.g:337:1: ruleAssertion : ( ( rule__Assertion__Group__0 ) ) ; 1136 // InternalProblem.g:387:1: ruleAssertion : ( ( rule__Assertion__Group__0 ) ) ;
982 public final void ruleAssertion() throws RecognitionException { 1137 public final void ruleAssertion() throws RecognitionException {
983 1138
984 int stackSize = keepStackSize(); 1139 int stackSize = keepStackSize();
985 1140
986 try { 1141 try {
987 // InternalProblem.g:341:2: ( ( ( rule__Assertion__Group__0 ) ) ) 1142 // InternalProblem.g:391:2: ( ( ( rule__Assertion__Group__0 ) ) )
988 // InternalProblem.g:342:2: ( ( rule__Assertion__Group__0 ) ) 1143 // InternalProblem.g:392:2: ( ( rule__Assertion__Group__0 ) )
989 { 1144 {
990 // InternalProblem.g:342:2: ( ( rule__Assertion__Group__0 ) ) 1145 // InternalProblem.g:392:2: ( ( rule__Assertion__Group__0 ) )
991 // InternalProblem.g:343:3: ( rule__Assertion__Group__0 ) 1146 // InternalProblem.g:393:3: ( rule__Assertion__Group__0 )
992 { 1147 {
993 before(grammarAccess.getAssertionAccess().getGroup()); 1148 before(grammarAccess.getAssertionAccess().getGroup());
994 // InternalProblem.g:344:3: ( rule__Assertion__Group__0 ) 1149 // InternalProblem.g:394:3: ( rule__Assertion__Group__0 )
995 // InternalProblem.g:344:4: rule__Assertion__Group__0 1150 // InternalProblem.g:394:4: rule__Assertion__Group__0
996 { 1151 {
997 pushFollow(FOLLOW_2); 1152 pushFollow(FOLLOW_2);
998 rule__Assertion__Group__0(); 1153 rule__Assertion__Group__0();
@@ -1025,11 +1180,11 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1025 1180
1026 1181
1027 // $ANTLR start "entryRuleScopeDeclaration" 1182 // $ANTLR start "entryRuleScopeDeclaration"
1028 // InternalProblem.g:353:1: entryRuleScopeDeclaration : ruleScopeDeclaration EOF ; 1183 // InternalProblem.g:403:1: entryRuleScopeDeclaration : ruleScopeDeclaration EOF ;
1029 public final void entryRuleScopeDeclaration() throws RecognitionException { 1184 public final void entryRuleScopeDeclaration() throws RecognitionException {
1030 try { 1185 try {
1031 // InternalProblem.g:354:1: ( ruleScopeDeclaration EOF ) 1186 // InternalProblem.g:404:1: ( ruleScopeDeclaration EOF )
1032 // InternalProblem.g:355:1: ruleScopeDeclaration EOF 1187 // InternalProblem.g:405:1: ruleScopeDeclaration EOF
1033 { 1188 {
1034 before(grammarAccess.getScopeDeclarationRule()); 1189 before(grammarAccess.getScopeDeclarationRule());
1035 pushFollow(FOLLOW_1); 1190 pushFollow(FOLLOW_1);
@@ -1055,21 +1210,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1055 1210
1056 1211
1057 // $ANTLR start "ruleScopeDeclaration" 1212 // $ANTLR start "ruleScopeDeclaration"
1058 // InternalProblem.g:362:1: ruleScopeDeclaration : ( ( rule__ScopeDeclaration__Group__0 ) ) ; 1213 // InternalProblem.g:412:1: ruleScopeDeclaration : ( ( rule__ScopeDeclaration__Group__0 ) ) ;
1059 public final void ruleScopeDeclaration() throws RecognitionException { 1214 public final void ruleScopeDeclaration() throws RecognitionException {
1060 1215
1061 int stackSize = keepStackSize(); 1216 int stackSize = keepStackSize();
1062 1217
1063 try { 1218 try {
1064 // InternalProblem.g:366:2: ( ( ( rule__ScopeDeclaration__Group__0 ) ) ) 1219 // InternalProblem.g:416:2: ( ( ( rule__ScopeDeclaration__Group__0 ) ) )
1065 // InternalProblem.g:367:2: ( ( rule__ScopeDeclaration__Group__0 ) ) 1220 // InternalProblem.g:417:2: ( ( rule__ScopeDeclaration__Group__0 ) )
1066 { 1221 {
1067 // InternalProblem.g:367:2: ( ( rule__ScopeDeclaration__Group__0 ) ) 1222 // InternalProblem.g:417:2: ( ( rule__ScopeDeclaration__Group__0 ) )
1068 // InternalProblem.g:368:3: ( rule__ScopeDeclaration__Group__0 ) 1223 // InternalProblem.g:418:3: ( rule__ScopeDeclaration__Group__0 )
1069 { 1224 {
1070 before(grammarAccess.getScopeDeclarationAccess().getGroup()); 1225 before(grammarAccess.getScopeDeclarationAccess().getGroup());
1071 // InternalProblem.g:369:3: ( rule__ScopeDeclaration__Group__0 ) 1226 // InternalProblem.g:419:3: ( rule__ScopeDeclaration__Group__0 )
1072 // InternalProblem.g:369:4: rule__ScopeDeclaration__Group__0 1227 // InternalProblem.g:419:4: rule__ScopeDeclaration__Group__0
1073 { 1228 {
1074 pushFollow(FOLLOW_2); 1229 pushFollow(FOLLOW_2);
1075 rule__ScopeDeclaration__Group__0(); 1230 rule__ScopeDeclaration__Group__0();
@@ -1102,11 +1257,11 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1102 1257
1103 1258
1104 // $ANTLR start "entryRuleTypeScope" 1259 // $ANTLR start "entryRuleTypeScope"
1105 // InternalProblem.g:378:1: entryRuleTypeScope : ruleTypeScope EOF ; 1260 // InternalProblem.g:428:1: entryRuleTypeScope : ruleTypeScope EOF ;
1106 public final void entryRuleTypeScope() throws RecognitionException { 1261 public final void entryRuleTypeScope() throws RecognitionException {
1107 try { 1262 try {
1108 // InternalProblem.g:379:1: ( ruleTypeScope EOF ) 1263 // InternalProblem.g:429:1: ( ruleTypeScope EOF )
1109 // InternalProblem.g:380:1: ruleTypeScope EOF 1264 // InternalProblem.g:430:1: ruleTypeScope EOF
1110 { 1265 {
1111 before(grammarAccess.getTypeScopeRule()); 1266 before(grammarAccess.getTypeScopeRule());
1112 pushFollow(FOLLOW_1); 1267 pushFollow(FOLLOW_1);
@@ -1132,21 +1287,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1132 1287
1133 1288
1134 // $ANTLR start "ruleTypeScope" 1289 // $ANTLR start "ruleTypeScope"
1135 // InternalProblem.g:387:1: ruleTypeScope : ( ( rule__TypeScope__Group__0 ) ) ; 1290 // InternalProblem.g:437:1: ruleTypeScope : ( ( rule__TypeScope__Group__0 ) ) ;
1136 public final void ruleTypeScope() throws RecognitionException { 1291 public final void ruleTypeScope() throws RecognitionException {
1137 1292
1138 int stackSize = keepStackSize(); 1293 int stackSize = keepStackSize();
1139 1294
1140 try { 1295 try {
1141 // InternalProblem.g:391:2: ( ( ( rule__TypeScope__Group__0 ) ) ) 1296 // InternalProblem.g:441:2: ( ( ( rule__TypeScope__Group__0 ) ) )
1142 // InternalProblem.g:392:2: ( ( rule__TypeScope__Group__0 ) ) 1297 // InternalProblem.g:442:2: ( ( rule__TypeScope__Group__0 ) )
1143 { 1298 {
1144 // InternalProblem.g:392:2: ( ( rule__TypeScope__Group__0 ) ) 1299 // InternalProblem.g:442:2: ( ( rule__TypeScope__Group__0 ) )
1145 // InternalProblem.g:393:3: ( rule__TypeScope__Group__0 ) 1300 // InternalProblem.g:443:3: ( rule__TypeScope__Group__0 )
1146 { 1301 {
1147 before(grammarAccess.getTypeScopeAccess().getGroup()); 1302 before(grammarAccess.getTypeScopeAccess().getGroup());
1148 // InternalProblem.g:394:3: ( rule__TypeScope__Group__0 ) 1303 // InternalProblem.g:444:3: ( rule__TypeScope__Group__0 )
1149 // InternalProblem.g:394:4: rule__TypeScope__Group__0 1304 // InternalProblem.g:444:4: rule__TypeScope__Group__0
1150 { 1305 {
1151 pushFollow(FOLLOW_2); 1306 pushFollow(FOLLOW_2);
1152 rule__TypeScope__Group__0(); 1307 rule__TypeScope__Group__0();
@@ -1179,11 +1334,11 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1179 1334
1180 1335
1181 // $ANTLR start "entryRuleMultiplicity" 1336 // $ANTLR start "entryRuleMultiplicity"
1182 // InternalProblem.g:403:1: entryRuleMultiplicity : ruleMultiplicity EOF ; 1337 // InternalProblem.g:453:1: entryRuleMultiplicity : ruleMultiplicity EOF ;
1183 public final void entryRuleMultiplicity() throws RecognitionException { 1338 public final void entryRuleMultiplicity() throws RecognitionException {
1184 try { 1339 try {
1185 // InternalProblem.g:404:1: ( ruleMultiplicity EOF ) 1340 // InternalProblem.g:454:1: ( ruleMultiplicity EOF )
1186 // InternalProblem.g:405:1: ruleMultiplicity EOF 1341 // InternalProblem.g:455:1: ruleMultiplicity EOF
1187 { 1342 {
1188 before(grammarAccess.getMultiplicityRule()); 1343 before(grammarAccess.getMultiplicityRule());
1189 pushFollow(FOLLOW_1); 1344 pushFollow(FOLLOW_1);
@@ -1209,21 +1364,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1209 1364
1210 1365
1211 // $ANTLR start "ruleMultiplicity" 1366 // $ANTLR start "ruleMultiplicity"
1212 // InternalProblem.g:412:1: ruleMultiplicity : ( ( rule__Multiplicity__Alternatives ) ) ; 1367 // InternalProblem.g:462:1: ruleMultiplicity : ( ( rule__Multiplicity__Alternatives ) ) ;
1213 public final void ruleMultiplicity() throws RecognitionException { 1368 public final void ruleMultiplicity() throws RecognitionException {
1214 1369
1215 int stackSize = keepStackSize(); 1370 int stackSize = keepStackSize();
1216 1371
1217 try { 1372 try {
1218 // InternalProblem.g:416:2: ( ( ( rule__Multiplicity__Alternatives ) ) ) 1373 // InternalProblem.g:466:2: ( ( ( rule__Multiplicity__Alternatives ) ) )
1219 // InternalProblem.g:417:2: ( ( rule__Multiplicity__Alternatives ) ) 1374 // InternalProblem.g:467:2: ( ( rule__Multiplicity__Alternatives ) )
1220 { 1375 {
1221 // InternalProblem.g:417:2: ( ( rule__Multiplicity__Alternatives ) ) 1376 // InternalProblem.g:467:2: ( ( rule__Multiplicity__Alternatives ) )
1222 // InternalProblem.g:418:3: ( rule__Multiplicity__Alternatives ) 1377 // InternalProblem.g:468:3: ( rule__Multiplicity__Alternatives )
1223 { 1378 {
1224 before(grammarAccess.getMultiplicityAccess().getAlternatives()); 1379 before(grammarAccess.getMultiplicityAccess().getAlternatives());
1225 // InternalProblem.g:419:3: ( rule__Multiplicity__Alternatives ) 1380 // InternalProblem.g:469:3: ( rule__Multiplicity__Alternatives )
1226 // InternalProblem.g:419:4: rule__Multiplicity__Alternatives 1381 // InternalProblem.g:469:4: rule__Multiplicity__Alternatives
1227 { 1382 {
1228 pushFollow(FOLLOW_2); 1383 pushFollow(FOLLOW_2);
1229 rule__Multiplicity__Alternatives(); 1384 rule__Multiplicity__Alternatives();
@@ -1256,11 +1411,11 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1256 1411
1257 1412
1258 // $ANTLR start "entryRuleDefiniteMultiplicity" 1413 // $ANTLR start "entryRuleDefiniteMultiplicity"
1259 // InternalProblem.g:428:1: entryRuleDefiniteMultiplicity : ruleDefiniteMultiplicity EOF ; 1414 // InternalProblem.g:478:1: entryRuleDefiniteMultiplicity : ruleDefiniteMultiplicity EOF ;
1260 public final void entryRuleDefiniteMultiplicity() throws RecognitionException { 1415 public final void entryRuleDefiniteMultiplicity() throws RecognitionException {
1261 try { 1416 try {
1262 // InternalProblem.g:429:1: ( ruleDefiniteMultiplicity EOF ) 1417 // InternalProblem.g:479:1: ( ruleDefiniteMultiplicity EOF )
1263 // InternalProblem.g:430:1: ruleDefiniteMultiplicity EOF 1418 // InternalProblem.g:480:1: ruleDefiniteMultiplicity EOF
1264 { 1419 {
1265 before(grammarAccess.getDefiniteMultiplicityRule()); 1420 before(grammarAccess.getDefiniteMultiplicityRule());
1266 pushFollow(FOLLOW_1); 1421 pushFollow(FOLLOW_1);
@@ -1286,21 +1441,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1286 1441
1287 1442
1288 // $ANTLR start "ruleDefiniteMultiplicity" 1443 // $ANTLR start "ruleDefiniteMultiplicity"
1289 // InternalProblem.g:437:1: ruleDefiniteMultiplicity : ( ( rule__DefiniteMultiplicity__Alternatives ) ) ; 1444 // InternalProblem.g:487:1: ruleDefiniteMultiplicity : ( ( rule__DefiniteMultiplicity__Alternatives ) ) ;
1290 public final void ruleDefiniteMultiplicity() throws RecognitionException { 1445 public final void ruleDefiniteMultiplicity() throws RecognitionException {
1291 1446
1292 int stackSize = keepStackSize(); 1447 int stackSize = keepStackSize();
1293 1448
1294 try { 1449 try {
1295 // InternalProblem.g:441:2: ( ( ( rule__DefiniteMultiplicity__Alternatives ) ) ) 1450 // InternalProblem.g:491:2: ( ( ( rule__DefiniteMultiplicity__Alternatives ) ) )
1296 // InternalProblem.g:442:2: ( ( rule__DefiniteMultiplicity__Alternatives ) ) 1451 // InternalProblem.g:492:2: ( ( rule__DefiniteMultiplicity__Alternatives ) )
1297 { 1452 {
1298 // InternalProblem.g:442:2: ( ( rule__DefiniteMultiplicity__Alternatives ) ) 1453 // InternalProblem.g:492:2: ( ( rule__DefiniteMultiplicity__Alternatives ) )
1299 // InternalProblem.g:443:3: ( rule__DefiniteMultiplicity__Alternatives ) 1454 // InternalProblem.g:493:3: ( rule__DefiniteMultiplicity__Alternatives )
1300 { 1455 {
1301 before(grammarAccess.getDefiniteMultiplicityAccess().getAlternatives()); 1456 before(grammarAccess.getDefiniteMultiplicityAccess().getAlternatives());
1302 // InternalProblem.g:444:3: ( rule__DefiniteMultiplicity__Alternatives ) 1457 // InternalProblem.g:494:3: ( rule__DefiniteMultiplicity__Alternatives )
1303 // InternalProblem.g:444:4: rule__DefiniteMultiplicity__Alternatives 1458 // InternalProblem.g:494:4: rule__DefiniteMultiplicity__Alternatives
1304 { 1459 {
1305 pushFollow(FOLLOW_2); 1460 pushFollow(FOLLOW_2);
1306 rule__DefiniteMultiplicity__Alternatives(); 1461 rule__DefiniteMultiplicity__Alternatives();
@@ -1333,11 +1488,11 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1333 1488
1334 1489
1335 // $ANTLR start "entryRuleUnboundedMultiplicity" 1490 // $ANTLR start "entryRuleUnboundedMultiplicity"
1336 // InternalProblem.g:453:1: entryRuleUnboundedMultiplicity : ruleUnboundedMultiplicity EOF ; 1491 // InternalProblem.g:503:1: entryRuleUnboundedMultiplicity : ruleUnboundedMultiplicity EOF ;
1337 public final void entryRuleUnboundedMultiplicity() throws RecognitionException { 1492 public final void entryRuleUnboundedMultiplicity() throws RecognitionException {
1338 try { 1493 try {
1339 // InternalProblem.g:454:1: ( ruleUnboundedMultiplicity EOF ) 1494 // InternalProblem.g:504:1: ( ruleUnboundedMultiplicity EOF )
1340 // InternalProblem.g:455:1: ruleUnboundedMultiplicity EOF 1495 // InternalProblem.g:505:1: ruleUnboundedMultiplicity EOF
1341 { 1496 {
1342 before(grammarAccess.getUnboundedMultiplicityRule()); 1497 before(grammarAccess.getUnboundedMultiplicityRule());
1343 pushFollow(FOLLOW_1); 1498 pushFollow(FOLLOW_1);
@@ -1363,21 +1518,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1363 1518
1364 1519
1365 // $ANTLR start "ruleUnboundedMultiplicity" 1520 // $ANTLR start "ruleUnboundedMultiplicity"
1366 // InternalProblem.g:462:1: ruleUnboundedMultiplicity : ( () ) ; 1521 // InternalProblem.g:512:1: ruleUnboundedMultiplicity : ( () ) ;
1367 public final void ruleUnboundedMultiplicity() throws RecognitionException { 1522 public final void ruleUnboundedMultiplicity() throws RecognitionException {
1368 1523
1369 int stackSize = keepStackSize(); 1524 int stackSize = keepStackSize();
1370 1525
1371 try { 1526 try {
1372 // InternalProblem.g:466:2: ( ( () ) ) 1527 // InternalProblem.g:516:2: ( ( () ) )
1373 // InternalProblem.g:467:2: ( () ) 1528 // InternalProblem.g:517:2: ( () )
1374 { 1529 {
1375 // InternalProblem.g:467:2: ( () ) 1530 // InternalProblem.g:517:2: ( () )
1376 // InternalProblem.g:468:3: () 1531 // InternalProblem.g:518:3: ()
1377 { 1532 {
1378 before(grammarAccess.getUnboundedMultiplicityAccess().getUnboundedMultiplicityAction()); 1533 before(grammarAccess.getUnboundedMultiplicityAccess().getUnboundedMultiplicityAction());
1379 // InternalProblem.g:469:3: () 1534 // InternalProblem.g:519:3: ()
1380 // InternalProblem.g:469:4: 1535 // InternalProblem.g:519:4:
1381 { 1536 {
1382 } 1537 }
1383 1538
@@ -1400,11 +1555,11 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1400 1555
1401 1556
1402 // $ANTLR start "entryRuleRangeMultiplicity" 1557 // $ANTLR start "entryRuleRangeMultiplicity"
1403 // InternalProblem.g:478:1: entryRuleRangeMultiplicity : ruleRangeMultiplicity EOF ; 1558 // InternalProblem.g:528:1: entryRuleRangeMultiplicity : ruleRangeMultiplicity EOF ;
1404 public final void entryRuleRangeMultiplicity() throws RecognitionException { 1559 public final void entryRuleRangeMultiplicity() throws RecognitionException {
1405 try { 1560 try {
1406 // InternalProblem.g:479:1: ( ruleRangeMultiplicity EOF ) 1561 // InternalProblem.g:529:1: ( ruleRangeMultiplicity EOF )
1407 // InternalProblem.g:480:1: ruleRangeMultiplicity EOF 1562 // InternalProblem.g:530:1: ruleRangeMultiplicity EOF
1408 { 1563 {
1409 before(grammarAccess.getRangeMultiplicityRule()); 1564 before(grammarAccess.getRangeMultiplicityRule());
1410 pushFollow(FOLLOW_1); 1565 pushFollow(FOLLOW_1);
@@ -1430,21 +1585,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1430 1585
1431 1586
1432 // $ANTLR start "ruleRangeMultiplicity" 1587 // $ANTLR start "ruleRangeMultiplicity"
1433 // InternalProblem.g:487:1: ruleRangeMultiplicity : ( ( rule__RangeMultiplicity__Group__0 ) ) ; 1588 // InternalProblem.g:537:1: ruleRangeMultiplicity : ( ( rule__RangeMultiplicity__Group__0 ) ) ;
1434 public final void ruleRangeMultiplicity() throws RecognitionException { 1589 public final void ruleRangeMultiplicity() throws RecognitionException {
1435 1590
1436 int stackSize = keepStackSize(); 1591 int stackSize = keepStackSize();
1437 1592
1438 try { 1593 try {
1439 // InternalProblem.g:491:2: ( ( ( rule__RangeMultiplicity__Group__0 ) ) ) 1594 // InternalProblem.g:541:2: ( ( ( rule__RangeMultiplicity__Group__0 ) ) )
1440 // InternalProblem.g:492:2: ( ( rule__RangeMultiplicity__Group__0 ) ) 1595 // InternalProblem.g:542:2: ( ( rule__RangeMultiplicity__Group__0 ) )
1441 { 1596 {
1442 // InternalProblem.g:492:2: ( ( rule__RangeMultiplicity__Group__0 ) ) 1597 // InternalProblem.g:542:2: ( ( rule__RangeMultiplicity__Group__0 ) )
1443 // InternalProblem.g:493:3: ( rule__RangeMultiplicity__Group__0 ) 1598 // InternalProblem.g:543:3: ( rule__RangeMultiplicity__Group__0 )
1444 { 1599 {
1445 before(grammarAccess.getRangeMultiplicityAccess().getGroup()); 1600 before(grammarAccess.getRangeMultiplicityAccess().getGroup());
1446 // InternalProblem.g:494:3: ( rule__RangeMultiplicity__Group__0 ) 1601 // InternalProblem.g:544:3: ( rule__RangeMultiplicity__Group__0 )
1447 // InternalProblem.g:494:4: rule__RangeMultiplicity__Group__0 1602 // InternalProblem.g:544:4: rule__RangeMultiplicity__Group__0
1448 { 1603 {
1449 pushFollow(FOLLOW_2); 1604 pushFollow(FOLLOW_2);
1450 rule__RangeMultiplicity__Group__0(); 1605 rule__RangeMultiplicity__Group__0();
@@ -1477,11 +1632,11 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1477 1632
1478 1633
1479 // $ANTLR start "entryRuleExactMultiplicity" 1634 // $ANTLR start "entryRuleExactMultiplicity"
1480 // InternalProblem.g:503:1: entryRuleExactMultiplicity : ruleExactMultiplicity EOF ; 1635 // InternalProblem.g:553:1: entryRuleExactMultiplicity : ruleExactMultiplicity EOF ;
1481 public final void entryRuleExactMultiplicity() throws RecognitionException { 1636 public final void entryRuleExactMultiplicity() throws RecognitionException {
1482 try { 1637 try {
1483 // InternalProblem.g:504:1: ( ruleExactMultiplicity EOF ) 1638 // InternalProblem.g:554:1: ( ruleExactMultiplicity EOF )
1484 // InternalProblem.g:505:1: ruleExactMultiplicity EOF 1639 // InternalProblem.g:555:1: ruleExactMultiplicity EOF
1485 { 1640 {
1486 before(grammarAccess.getExactMultiplicityRule()); 1641 before(grammarAccess.getExactMultiplicityRule());
1487 pushFollow(FOLLOW_1); 1642 pushFollow(FOLLOW_1);
@@ -1507,21 +1662,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1507 1662
1508 1663
1509 // $ANTLR start "ruleExactMultiplicity" 1664 // $ANTLR start "ruleExactMultiplicity"
1510 // InternalProblem.g:512:1: ruleExactMultiplicity : ( ( rule__ExactMultiplicity__ExactValueAssignment ) ) ; 1665 // InternalProblem.g:562:1: ruleExactMultiplicity : ( ( rule__ExactMultiplicity__ExactValueAssignment ) ) ;
1511 public final void ruleExactMultiplicity() throws RecognitionException { 1666 public final void ruleExactMultiplicity() throws RecognitionException {
1512 1667
1513 int stackSize = keepStackSize(); 1668 int stackSize = keepStackSize();
1514 1669
1515 try { 1670 try {
1516 // InternalProblem.g:516:2: ( ( ( rule__ExactMultiplicity__ExactValueAssignment ) ) ) 1671 // InternalProblem.g:566:2: ( ( ( rule__ExactMultiplicity__ExactValueAssignment ) ) )
1517 // InternalProblem.g:517:2: ( ( rule__ExactMultiplicity__ExactValueAssignment ) ) 1672 // InternalProblem.g:567:2: ( ( rule__ExactMultiplicity__ExactValueAssignment ) )
1518 { 1673 {
1519 // InternalProblem.g:517:2: ( ( rule__ExactMultiplicity__ExactValueAssignment ) ) 1674 // InternalProblem.g:567:2: ( ( rule__ExactMultiplicity__ExactValueAssignment ) )
1520 // InternalProblem.g:518:3: ( rule__ExactMultiplicity__ExactValueAssignment ) 1675 // InternalProblem.g:568:3: ( rule__ExactMultiplicity__ExactValueAssignment )
1521 { 1676 {
1522 before(grammarAccess.getExactMultiplicityAccess().getExactValueAssignment()); 1677 before(grammarAccess.getExactMultiplicityAccess().getExactValueAssignment());
1523 // InternalProblem.g:519:3: ( rule__ExactMultiplicity__ExactValueAssignment ) 1678 // InternalProblem.g:569:3: ( rule__ExactMultiplicity__ExactValueAssignment )
1524 // InternalProblem.g:519:4: rule__ExactMultiplicity__ExactValueAssignment 1679 // InternalProblem.g:569:4: rule__ExactMultiplicity__ExactValueAssignment
1525 { 1680 {
1526 pushFollow(FOLLOW_2); 1681 pushFollow(FOLLOW_2);
1527 rule__ExactMultiplicity__ExactValueAssignment(); 1682 rule__ExactMultiplicity__ExactValueAssignment();
@@ -1554,11 +1709,11 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1554 1709
1555 1710
1556 // $ANTLR start "entryRuleUpperBound" 1711 // $ANTLR start "entryRuleUpperBound"
1557 // InternalProblem.g:528:1: entryRuleUpperBound : ruleUpperBound EOF ; 1712 // InternalProblem.g:578:1: entryRuleUpperBound : ruleUpperBound EOF ;
1558 public final void entryRuleUpperBound() throws RecognitionException { 1713 public final void entryRuleUpperBound() throws RecognitionException {
1559 try { 1714 try {
1560 // InternalProblem.g:529:1: ( ruleUpperBound EOF ) 1715 // InternalProblem.g:579:1: ( ruleUpperBound EOF )
1561 // InternalProblem.g:530:1: ruleUpperBound EOF 1716 // InternalProblem.g:580:1: ruleUpperBound EOF
1562 { 1717 {
1563 before(grammarAccess.getUpperBoundRule()); 1718 before(grammarAccess.getUpperBoundRule());
1564 pushFollow(FOLLOW_1); 1719 pushFollow(FOLLOW_1);
@@ -1584,21 +1739,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1584 1739
1585 1740
1586 // $ANTLR start "ruleUpperBound" 1741 // $ANTLR start "ruleUpperBound"
1587 // InternalProblem.g:537:1: ruleUpperBound : ( ( rule__UpperBound__Alternatives ) ) ; 1742 // InternalProblem.g:587:1: ruleUpperBound : ( ( rule__UpperBound__Alternatives ) ) ;
1588 public final void ruleUpperBound() throws RecognitionException { 1743 public final void ruleUpperBound() throws RecognitionException {
1589 1744
1590 int stackSize = keepStackSize(); 1745 int stackSize = keepStackSize();
1591 1746
1592 try { 1747 try {
1593 // InternalProblem.g:541:2: ( ( ( rule__UpperBound__Alternatives ) ) ) 1748 // InternalProblem.g:591:2: ( ( ( rule__UpperBound__Alternatives ) ) )
1594 // InternalProblem.g:542:2: ( ( rule__UpperBound__Alternatives ) ) 1749 // InternalProblem.g:592:2: ( ( rule__UpperBound__Alternatives ) )
1595 { 1750 {
1596 // InternalProblem.g:542:2: ( ( rule__UpperBound__Alternatives ) ) 1751 // InternalProblem.g:592:2: ( ( rule__UpperBound__Alternatives ) )
1597 // InternalProblem.g:543:3: ( rule__UpperBound__Alternatives ) 1752 // InternalProblem.g:593:3: ( rule__UpperBound__Alternatives )
1598 { 1753 {
1599 before(grammarAccess.getUpperBoundAccess().getAlternatives()); 1754 before(grammarAccess.getUpperBoundAccess().getAlternatives());
1600 // InternalProblem.g:544:3: ( rule__UpperBound__Alternatives ) 1755 // InternalProblem.g:594:3: ( rule__UpperBound__Alternatives )
1601 // InternalProblem.g:544:4: rule__UpperBound__Alternatives 1756 // InternalProblem.g:594:4: rule__UpperBound__Alternatives
1602 { 1757 {
1603 pushFollow(FOLLOW_2); 1758 pushFollow(FOLLOW_2);
1604 rule__UpperBound__Alternatives(); 1759 rule__UpperBound__Alternatives();
@@ -1630,12 +1785,89 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1630 // $ANTLR end "ruleUpperBound" 1785 // $ANTLR end "ruleUpperBound"
1631 1786
1632 1787
1788 // $ANTLR start "entryRuleQuotedOrUnquotedId"
1789 // InternalProblem.g:603:1: entryRuleQuotedOrUnquotedId : ruleQuotedOrUnquotedId EOF ;
1790 public final void entryRuleQuotedOrUnquotedId() throws RecognitionException {
1791 try {
1792 // InternalProblem.g:604:1: ( ruleQuotedOrUnquotedId EOF )
1793 // InternalProblem.g:605:1: ruleQuotedOrUnquotedId EOF
1794 {
1795 before(grammarAccess.getQuotedOrUnquotedIdRule());
1796 pushFollow(FOLLOW_1);
1797 ruleQuotedOrUnquotedId();
1798
1799 state._fsp--;
1800
1801 after(grammarAccess.getQuotedOrUnquotedIdRule());
1802 match(input,EOF,FOLLOW_2);
1803
1804 }
1805
1806 }
1807 catch (RecognitionException re) {
1808 reportError(re);
1809 recover(input,re);
1810 }
1811 finally {
1812 }
1813 return ;
1814 }
1815 // $ANTLR end "entryRuleQuotedOrUnquotedId"
1816
1817
1818 // $ANTLR start "ruleQuotedOrUnquotedId"
1819 // InternalProblem.g:612:1: ruleQuotedOrUnquotedId : ( ( rule__QuotedOrUnquotedId__Alternatives ) ) ;
1820 public final void ruleQuotedOrUnquotedId() throws RecognitionException {
1821
1822 int stackSize = keepStackSize();
1823
1824 try {
1825 // InternalProblem.g:616:2: ( ( ( rule__QuotedOrUnquotedId__Alternatives ) ) )
1826 // InternalProblem.g:617:2: ( ( rule__QuotedOrUnquotedId__Alternatives ) )
1827 {
1828 // InternalProblem.g:617:2: ( ( rule__QuotedOrUnquotedId__Alternatives ) )
1829 // InternalProblem.g:618:3: ( rule__QuotedOrUnquotedId__Alternatives )
1830 {
1831 before(grammarAccess.getQuotedOrUnquotedIdAccess().getAlternatives());
1832 // InternalProblem.g:619:3: ( rule__QuotedOrUnquotedId__Alternatives )
1833 // InternalProblem.g:619:4: rule__QuotedOrUnquotedId__Alternatives
1834 {
1835 pushFollow(FOLLOW_2);
1836 rule__QuotedOrUnquotedId__Alternatives();
1837
1838 state._fsp--;
1839
1840
1841 }
1842
1843 after(grammarAccess.getQuotedOrUnquotedIdAccess().getAlternatives());
1844
1845 }
1846
1847
1848 }
1849
1850 }
1851 catch (RecognitionException re) {
1852 reportError(re);
1853 recover(input,re);
1854 }
1855 finally {
1856
1857 restoreStackSize(stackSize);
1858
1859 }
1860 return ;
1861 }
1862 // $ANTLR end "ruleQuotedOrUnquotedId"
1863
1864
1633 // $ANTLR start "entryRuleQualifiedName" 1865 // $ANTLR start "entryRuleQualifiedName"
1634 // InternalProblem.g:553:1: entryRuleQualifiedName : ruleQualifiedName EOF ; 1866 // InternalProblem.g:628:1: entryRuleQualifiedName : ruleQualifiedName EOF ;
1635 public final void entryRuleQualifiedName() throws RecognitionException { 1867 public final void entryRuleQualifiedName() throws RecognitionException {
1636 try { 1868 try {
1637 // InternalProblem.g:554:1: ( ruleQualifiedName EOF ) 1869 // InternalProblem.g:629:1: ( ruleQualifiedName EOF )
1638 // InternalProblem.g:555:1: ruleQualifiedName EOF 1870 // InternalProblem.g:630:1: ruleQualifiedName EOF
1639 { 1871 {
1640 before(grammarAccess.getQualifiedNameRule()); 1872 before(grammarAccess.getQualifiedNameRule());
1641 pushFollow(FOLLOW_1); 1873 pushFollow(FOLLOW_1);
@@ -1661,21 +1893,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1661 1893
1662 1894
1663 // $ANTLR start "ruleQualifiedName" 1895 // $ANTLR start "ruleQualifiedName"
1664 // InternalProblem.g:562:1: ruleQualifiedName : ( ( rule__QualifiedName__Alternatives ) ) ; 1896 // InternalProblem.g:637:1: ruleQualifiedName : ( ( rule__QualifiedName__Alternatives ) ) ;
1665 public final void ruleQualifiedName() throws RecognitionException { 1897 public final void ruleQualifiedName() throws RecognitionException {
1666 1898
1667 int stackSize = keepStackSize(); 1899 int stackSize = keepStackSize();
1668 1900
1669 try { 1901 try {
1670 // InternalProblem.g:566:2: ( ( ( rule__QualifiedName__Alternatives ) ) ) 1902 // InternalProblem.g:641:2: ( ( ( rule__QualifiedName__Alternatives ) ) )
1671 // InternalProblem.g:567:2: ( ( rule__QualifiedName__Alternatives ) ) 1903 // InternalProblem.g:642:2: ( ( rule__QualifiedName__Alternatives ) )
1672 { 1904 {
1673 // InternalProblem.g:567:2: ( ( rule__QualifiedName__Alternatives ) ) 1905 // InternalProblem.g:642:2: ( ( rule__QualifiedName__Alternatives ) )
1674 // InternalProblem.g:568:3: ( rule__QualifiedName__Alternatives ) 1906 // InternalProblem.g:643:3: ( rule__QualifiedName__Alternatives )
1675 { 1907 {
1676 before(grammarAccess.getQualifiedNameAccess().getAlternatives()); 1908 before(grammarAccess.getQualifiedNameAccess().getAlternatives());
1677 // InternalProblem.g:569:3: ( rule__QualifiedName__Alternatives ) 1909 // InternalProblem.g:644:3: ( rule__QualifiedName__Alternatives )
1678 // InternalProblem.g:569:4: rule__QualifiedName__Alternatives 1910 // InternalProblem.g:644:4: rule__QualifiedName__Alternatives
1679 { 1911 {
1680 pushFollow(FOLLOW_2); 1912 pushFollow(FOLLOW_2);
1681 rule__QualifiedName__Alternatives(); 1913 rule__QualifiedName__Alternatives();
@@ -1707,22 +1939,99 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1707 // $ANTLR end "ruleQualifiedName" 1939 // $ANTLR end "ruleQualifiedName"
1708 1940
1709 1941
1942 // $ANTLR start "entryRuleIdentifier"
1943 // InternalProblem.g:653:1: entryRuleIdentifier : ruleIdentifier EOF ;
1944 public final void entryRuleIdentifier() throws RecognitionException {
1945 try {
1946 // InternalProblem.g:654:1: ( ruleIdentifier EOF )
1947 // InternalProblem.g:655:1: ruleIdentifier EOF
1948 {
1949 before(grammarAccess.getIdentifierRule());
1950 pushFollow(FOLLOW_1);
1951 ruleIdentifier();
1952
1953 state._fsp--;
1954
1955 after(grammarAccess.getIdentifierRule());
1956 match(input,EOF,FOLLOW_2);
1957
1958 }
1959
1960 }
1961 catch (RecognitionException re) {
1962 reportError(re);
1963 recover(input,re);
1964 }
1965 finally {
1966 }
1967 return ;
1968 }
1969 // $ANTLR end "entryRuleIdentifier"
1970
1971
1972 // $ANTLR start "ruleIdentifier"
1973 // InternalProblem.g:662:1: ruleIdentifier : ( ( rule__Identifier__Alternatives ) ) ;
1974 public final void ruleIdentifier() throws RecognitionException {
1975
1976 int stackSize = keepStackSize();
1977
1978 try {
1979 // InternalProblem.g:666:2: ( ( ( rule__Identifier__Alternatives ) ) )
1980 // InternalProblem.g:667:2: ( ( rule__Identifier__Alternatives ) )
1981 {
1982 // InternalProblem.g:667:2: ( ( rule__Identifier__Alternatives ) )
1983 // InternalProblem.g:668:3: ( rule__Identifier__Alternatives )
1984 {
1985 before(grammarAccess.getIdentifierAccess().getAlternatives());
1986 // InternalProblem.g:669:3: ( rule__Identifier__Alternatives )
1987 // InternalProblem.g:669:4: rule__Identifier__Alternatives
1988 {
1989 pushFollow(FOLLOW_2);
1990 rule__Identifier__Alternatives();
1991
1992 state._fsp--;
1993
1994
1995 }
1996
1997 after(grammarAccess.getIdentifierAccess().getAlternatives());
1998
1999 }
2000
2001
2002 }
2003
2004 }
2005 catch (RecognitionException re) {
2006 reportError(re);
2007 recover(input,re);
2008 }
2009 finally {
2010
2011 restoreStackSize(stackSize);
2012
2013 }
2014 return ;
2015 }
2016 // $ANTLR end "ruleIdentifier"
2017
2018
1710 // $ANTLR start "ruleLogicValue" 2019 // $ANTLR start "ruleLogicValue"
1711 // InternalProblem.g:578:1: ruleLogicValue : ( ( rule__LogicValue__Alternatives ) ) ; 2020 // InternalProblem.g:678:1: ruleLogicValue : ( ( rule__LogicValue__Alternatives ) ) ;
1712 public final void ruleLogicValue() throws RecognitionException { 2021 public final void ruleLogicValue() throws RecognitionException {
1713 2022
1714 int stackSize = keepStackSize(); 2023 int stackSize = keepStackSize();
1715 2024
1716 try { 2025 try {
1717 // InternalProblem.g:582:1: ( ( ( rule__LogicValue__Alternatives ) ) ) 2026 // InternalProblem.g:682:1: ( ( ( rule__LogicValue__Alternatives ) ) )
1718 // InternalProblem.g:583:2: ( ( rule__LogicValue__Alternatives ) ) 2027 // InternalProblem.g:683:2: ( ( rule__LogicValue__Alternatives ) )
1719 { 2028 {
1720 // InternalProblem.g:583:2: ( ( rule__LogicValue__Alternatives ) ) 2029 // InternalProblem.g:683:2: ( ( rule__LogicValue__Alternatives ) )
1721 // InternalProblem.g:584:3: ( rule__LogicValue__Alternatives ) 2030 // InternalProblem.g:684:3: ( rule__LogicValue__Alternatives )
1722 { 2031 {
1723 before(grammarAccess.getLogicValueAccess().getAlternatives()); 2032 before(grammarAccess.getLogicValueAccess().getAlternatives());
1724 // InternalProblem.g:585:3: ( rule__LogicValue__Alternatives ) 2033 // InternalProblem.g:685:3: ( rule__LogicValue__Alternatives )
1725 // InternalProblem.g:585:4: rule__LogicValue__Alternatives 2034 // InternalProblem.g:685:4: rule__LogicValue__Alternatives
1726 { 2035 {
1727 pushFollow(FOLLOW_2); 2036 pushFollow(FOLLOW_2);
1728 rule__LogicValue__Alternatives(); 2037 rule__LogicValue__Alternatives();
@@ -1755,21 +2064,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1755 2064
1756 2065
1757 // $ANTLR start "ruleShortLogicValue" 2066 // $ANTLR start "ruleShortLogicValue"
1758 // InternalProblem.g:594:1: ruleShortLogicValue : ( ( rule__ShortLogicValue__Alternatives ) ) ; 2067 // InternalProblem.g:694:1: ruleShortLogicValue : ( ( rule__ShortLogicValue__Alternatives ) ) ;
1759 public final void ruleShortLogicValue() throws RecognitionException { 2068 public final void ruleShortLogicValue() throws RecognitionException {
1760 2069
1761 int stackSize = keepStackSize(); 2070 int stackSize = keepStackSize();
1762 2071
1763 try { 2072 try {
1764 // InternalProblem.g:598:1: ( ( ( rule__ShortLogicValue__Alternatives ) ) ) 2073 // InternalProblem.g:698:1: ( ( ( rule__ShortLogicValue__Alternatives ) ) )
1765 // InternalProblem.g:599:2: ( ( rule__ShortLogicValue__Alternatives ) ) 2074 // InternalProblem.g:699:2: ( ( rule__ShortLogicValue__Alternatives ) )
1766 { 2075 {
1767 // InternalProblem.g:599:2: ( ( rule__ShortLogicValue__Alternatives ) ) 2076 // InternalProblem.g:699:2: ( ( rule__ShortLogicValue__Alternatives ) )
1768 // InternalProblem.g:600:3: ( rule__ShortLogicValue__Alternatives ) 2077 // InternalProblem.g:700:3: ( rule__ShortLogicValue__Alternatives )
1769 { 2078 {
1770 before(grammarAccess.getShortLogicValueAccess().getAlternatives()); 2079 before(grammarAccess.getShortLogicValueAccess().getAlternatives());
1771 // InternalProblem.g:601:3: ( rule__ShortLogicValue__Alternatives ) 2080 // InternalProblem.g:701:3: ( rule__ShortLogicValue__Alternatives )
1772 // InternalProblem.g:601:4: rule__ShortLogicValue__Alternatives 2081 // InternalProblem.g:701:4: rule__ShortLogicValue__Alternatives
1773 { 2082 {
1774 pushFollow(FOLLOW_2); 2083 pushFollow(FOLLOW_2);
1775 rule__ShortLogicValue__Alternatives(); 2084 rule__ShortLogicValue__Alternatives();
@@ -1802,38 +2111,45 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1802 2111
1803 2112
1804 // $ANTLR start "rule__Statement__Alternatives" 2113 // $ANTLR start "rule__Statement__Alternatives"
1805 // InternalProblem.g:609:1: rule__Statement__Alternatives : ( ( ruleClassDeclaration ) | ( rulePredicateDefinition ) | ( ruleAssertion ) | ( ruleScopeDeclaration ) ); 2114 // InternalProblem.g:709:1: rule__Statement__Alternatives : ( ( ruleClassDeclaration ) | ( ruleEnumDeclaration ) | ( rulePredicateDefinition ) | ( ruleAssertion ) | ( ruleScopeDeclaration ) );
1806 public final void rule__Statement__Alternatives() throws RecognitionException { 2115 public final void rule__Statement__Alternatives() throws RecognitionException {
1807 2116
1808 int stackSize = keepStackSize(); 2117 int stackSize = keepStackSize();
1809 2118
1810 try { 2119 try {
1811 // InternalProblem.g:613:1: ( ( ruleClassDeclaration ) | ( rulePredicateDefinition ) | ( ruleAssertion ) | ( ruleScopeDeclaration ) ) 2120 // InternalProblem.g:713:1: ( ( ruleClassDeclaration ) | ( ruleEnumDeclaration ) | ( rulePredicateDefinition ) | ( ruleAssertion ) | ( ruleScopeDeclaration ) )
1812 int alt1=4; 2121 int alt1=5;
1813 switch ( input.LA(1) ) { 2122 switch ( input.LA(1) ) {
1814 case 23: 2123 case 25:
1815 case 38: 2124 case 39:
1816 { 2125 {
1817 alt1=1; 2126 alt1=1;
1818 } 2127 }
1819 break; 2128 break;
1820 case 14: 2129 case 29:
1821 case 40:
1822 { 2130 {
1823 alt1=2; 2131 alt1=2;
1824 } 2132 }
1825 break; 2133 break;
2134 case 16:
2135 case 41:
2136 {
2137 alt1=3;
2138 }
2139 break;
1826 case RULE_QUOTED_ID: 2140 case RULE_QUOTED_ID:
1827 case RULE_ID: 2141 case RULE_ID:
2142 case 19:
1828 case 20: 2143 case 20:
1829 case 21: 2144 case 22:
2145 case 23:
1830 { 2146 {
1831 alt1=3; 2147 alt1=4;
1832 } 2148 }
1833 break; 2149 break;
1834 case 36: 2150 case 37:
1835 { 2151 {
1836 alt1=4; 2152 alt1=5;
1837 } 2153 }
1838 break; 2154 break;
1839 default: 2155 default:
@@ -1845,10 +2161,10 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1845 2161
1846 switch (alt1) { 2162 switch (alt1) {
1847 case 1 : 2163 case 1 :
1848 // InternalProblem.g:614:2: ( ruleClassDeclaration ) 2164 // InternalProblem.g:714:2: ( ruleClassDeclaration )
1849 { 2165 {
1850 // InternalProblem.g:614:2: ( ruleClassDeclaration ) 2166 // InternalProblem.g:714:2: ( ruleClassDeclaration )
1851 // InternalProblem.g:615:3: ruleClassDeclaration 2167 // InternalProblem.g:715:3: ruleClassDeclaration
1852 { 2168 {
1853 before(grammarAccess.getStatementAccess().getClassDeclarationParserRuleCall_0()); 2169 before(grammarAccess.getStatementAccess().getClassDeclarationParserRuleCall_0());
1854 pushFollow(FOLLOW_2); 2170 pushFollow(FOLLOW_2);
@@ -1864,18 +2180,18 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1864 } 2180 }
1865 break; 2181 break;
1866 case 2 : 2182 case 2 :
1867 // InternalProblem.g:620:2: ( rulePredicateDefinition ) 2183 // InternalProblem.g:720:2: ( ruleEnumDeclaration )
1868 { 2184 {
1869 // InternalProblem.g:620:2: ( rulePredicateDefinition ) 2185 // InternalProblem.g:720:2: ( ruleEnumDeclaration )
1870 // InternalProblem.g:621:3: rulePredicateDefinition 2186 // InternalProblem.g:721:3: ruleEnumDeclaration
1871 { 2187 {
1872 before(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_1()); 2188 before(grammarAccess.getStatementAccess().getEnumDeclarationParserRuleCall_1());
1873 pushFollow(FOLLOW_2); 2189 pushFollow(FOLLOW_2);
1874 rulePredicateDefinition(); 2190 ruleEnumDeclaration();
1875 2191
1876 state._fsp--; 2192 state._fsp--;
1877 2193
1878 after(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_1()); 2194 after(grammarAccess.getStatementAccess().getEnumDeclarationParserRuleCall_1());
1879 2195
1880 } 2196 }
1881 2197
@@ -1883,18 +2199,18 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1883 } 2199 }
1884 break; 2200 break;
1885 case 3 : 2201 case 3 :
1886 // InternalProblem.g:626:2: ( ruleAssertion ) 2202 // InternalProblem.g:726:2: ( rulePredicateDefinition )
1887 { 2203 {
1888 // InternalProblem.g:626:2: ( ruleAssertion ) 2204 // InternalProblem.g:726:2: ( rulePredicateDefinition )
1889 // InternalProblem.g:627:3: ruleAssertion 2205 // InternalProblem.g:727:3: rulePredicateDefinition
1890 { 2206 {
1891 before(grammarAccess.getStatementAccess().getAssertionParserRuleCall_2()); 2207 before(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_2());
1892 pushFollow(FOLLOW_2); 2208 pushFollow(FOLLOW_2);
1893 ruleAssertion(); 2209 rulePredicateDefinition();
1894 2210
1895 state._fsp--; 2211 state._fsp--;
1896 2212
1897 after(grammarAccess.getStatementAccess().getAssertionParserRuleCall_2()); 2213 after(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_2());
1898 2214
1899 } 2215 }
1900 2216
@@ -1902,18 +2218,37 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1902 } 2218 }
1903 break; 2219 break;
1904 case 4 : 2220 case 4 :
1905 // InternalProblem.g:632:2: ( ruleScopeDeclaration ) 2221 // InternalProblem.g:732:2: ( ruleAssertion )
2222 {
2223 // InternalProblem.g:732:2: ( ruleAssertion )
2224 // InternalProblem.g:733:3: ruleAssertion
2225 {
2226 before(grammarAccess.getStatementAccess().getAssertionParserRuleCall_3());
2227 pushFollow(FOLLOW_2);
2228 ruleAssertion();
2229
2230 state._fsp--;
2231
2232 after(grammarAccess.getStatementAccess().getAssertionParserRuleCall_3());
2233
2234 }
2235
2236
2237 }
2238 break;
2239 case 5 :
2240 // InternalProblem.g:738:2: ( ruleScopeDeclaration )
1906 { 2241 {
1907 // InternalProblem.g:632:2: ( ruleScopeDeclaration ) 2242 // InternalProblem.g:738:2: ( ruleScopeDeclaration )
1908 // InternalProblem.g:633:3: ruleScopeDeclaration 2243 // InternalProblem.g:739:3: ruleScopeDeclaration
1909 { 2244 {
1910 before(grammarAccess.getStatementAccess().getScopeDeclarationParserRuleCall_3()); 2245 before(grammarAccess.getStatementAccess().getScopeDeclarationParserRuleCall_4());
1911 pushFollow(FOLLOW_2); 2246 pushFollow(FOLLOW_2);
1912 ruleScopeDeclaration(); 2247 ruleScopeDeclaration();
1913 2248
1914 state._fsp--; 2249 state._fsp--;
1915 2250
1916 after(grammarAccess.getStatementAccess().getScopeDeclarationParserRuleCall_3()); 2251 after(grammarAccess.getStatementAccess().getScopeDeclarationParserRuleCall_4());
1917 2252
1918 } 2253 }
1919 2254
@@ -1938,17 +2273,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1938 2273
1939 2274
1940 // $ANTLR start "rule__ClassDeclaration__Alternatives_4" 2275 // $ANTLR start "rule__ClassDeclaration__Alternatives_4"
1941 // InternalProblem.g:642:1: rule__ClassDeclaration__Alternatives_4 : ( ( ( rule__ClassDeclaration__Group_4_0__0 ) ) | ( '.' ) ); 2276 // InternalProblem.g:748:1: rule__ClassDeclaration__Alternatives_4 : ( ( ( rule__ClassDeclaration__Group_4_0__0 ) ) | ( '.' ) );
1942 public final void rule__ClassDeclaration__Alternatives_4() throws RecognitionException { 2277 public final void rule__ClassDeclaration__Alternatives_4() throws RecognitionException {
1943 2278
1944 int stackSize = keepStackSize(); 2279 int stackSize = keepStackSize();
1945 2280
1946 try { 2281 try {
1947 // InternalProblem.g:646:1: ( ( ( rule__ClassDeclaration__Group_4_0__0 ) ) | ( '.' ) ) 2282 // InternalProblem.g:752:1: ( ( ( rule__ClassDeclaration__Group_4_0__0 ) ) | ( '.' ) )
1948 int alt2=2; 2283 int alt2=2;
1949 int LA2_0 = input.LA(1); 2284 int LA2_0 = input.LA(1);
1950 2285
1951 if ( (LA2_0==26) ) { 2286 if ( (LA2_0==27) ) {
1952 alt2=1; 2287 alt2=1;
1953 } 2288 }
1954 else if ( (LA2_0==12) ) { 2289 else if ( (LA2_0==12) ) {
@@ -1962,14 +2297,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1962 } 2297 }
1963 switch (alt2) { 2298 switch (alt2) {
1964 case 1 : 2299 case 1 :
1965 // InternalProblem.g:647:2: ( ( rule__ClassDeclaration__Group_4_0__0 ) ) 2300 // InternalProblem.g:753:2: ( ( rule__ClassDeclaration__Group_4_0__0 ) )
1966 { 2301 {
1967 // InternalProblem.g:647:2: ( ( rule__ClassDeclaration__Group_4_0__0 ) ) 2302 // InternalProblem.g:753:2: ( ( rule__ClassDeclaration__Group_4_0__0 ) )
1968 // InternalProblem.g:648:3: ( rule__ClassDeclaration__Group_4_0__0 ) 2303 // InternalProblem.g:754:3: ( rule__ClassDeclaration__Group_4_0__0 )
1969 { 2304 {
1970 before(grammarAccess.getClassDeclarationAccess().getGroup_4_0()); 2305 before(grammarAccess.getClassDeclarationAccess().getGroup_4_0());
1971 // InternalProblem.g:649:3: ( rule__ClassDeclaration__Group_4_0__0 ) 2306 // InternalProblem.g:755:3: ( rule__ClassDeclaration__Group_4_0__0 )
1972 // InternalProblem.g:649:4: rule__ClassDeclaration__Group_4_0__0 2307 // InternalProblem.g:755:4: rule__ClassDeclaration__Group_4_0__0
1973 { 2308 {
1974 pushFollow(FOLLOW_2); 2309 pushFollow(FOLLOW_2);
1975 rule__ClassDeclaration__Group_4_0__0(); 2310 rule__ClassDeclaration__Group_4_0__0();
@@ -1987,10 +2322,10 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
1987 } 2322 }
1988 break; 2323 break;
1989 case 2 : 2324 case 2 :
1990 // InternalProblem.g:653:2: ( '.' ) 2325 // InternalProblem.g:759:2: ( '.' )
1991 { 2326 {
1992 // InternalProblem.g:653:2: ( '.' ) 2327 // InternalProblem.g:759:2: ( '.' )
1993 // InternalProblem.g:654:3: '.' 2328 // InternalProblem.g:760:3: '.'
1994 { 2329 {
1995 before(grammarAccess.getClassDeclarationAccess().getFullStopKeyword_4_1()); 2330 before(grammarAccess.getClassDeclarationAccess().getFullStopKeyword_4_1());
1996 match(input,12,FOLLOW_2); 2331 match(input,12,FOLLOW_2);
@@ -2018,21 +2353,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2018 // $ANTLR end "rule__ClassDeclaration__Alternatives_4" 2353 // $ANTLR end "rule__ClassDeclaration__Alternatives_4"
2019 2354
2020 2355
2021 // $ANTLR start "rule__ReferenceDeclaration__Alternatives_0" 2356 // $ANTLR start "rule__EnumDeclaration__Alternatives_2"
2022 // InternalProblem.g:663:1: rule__ReferenceDeclaration__Alternatives_0 : ( ( ( rule__ReferenceDeclaration__ContainmentAssignment_0_0 ) ) | ( 'refers' ) ); 2357 // InternalProblem.g:769:1: rule__EnumDeclaration__Alternatives_2 : ( ( ( rule__EnumDeclaration__Group_2_0__0 ) ) | ( '.' ) );
2023 public final void rule__ReferenceDeclaration__Alternatives_0() throws RecognitionException { 2358 public final void rule__EnumDeclaration__Alternatives_2() throws RecognitionException {
2024 2359
2025 int stackSize = keepStackSize(); 2360 int stackSize = keepStackSize();
2026 2361
2027 try { 2362 try {
2028 // InternalProblem.g:667:1: ( ( ( rule__ReferenceDeclaration__ContainmentAssignment_0_0 ) ) | ( 'refers' ) ) 2363 // InternalProblem.g:773:1: ( ( ( rule__EnumDeclaration__Group_2_0__0 ) ) | ( '.' ) )
2029 int alt3=2; 2364 int alt3=2;
2030 int LA3_0 = input.LA(1); 2365 int LA3_0 = input.LA(1);
2031 2366
2032 if ( (LA3_0==39) ) { 2367 if ( (LA3_0==27) ) {
2033 alt3=1; 2368 alt3=1;
2034 } 2369 }
2035 else if ( (LA3_0==13) ) { 2370 else if ( (LA3_0==12) ) {
2036 alt3=2; 2371 alt3=2;
2037 } 2372 }
2038 else { 2373 else {
@@ -2043,14 +2378,166 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2043 } 2378 }
2044 switch (alt3) { 2379 switch (alt3) {
2045 case 1 : 2380 case 1 :
2046 // InternalProblem.g:668:2: ( ( rule__ReferenceDeclaration__ContainmentAssignment_0_0 ) ) 2381 // InternalProblem.g:774:2: ( ( rule__EnumDeclaration__Group_2_0__0 ) )
2382 {
2383 // InternalProblem.g:774:2: ( ( rule__EnumDeclaration__Group_2_0__0 ) )
2384 // InternalProblem.g:775:3: ( rule__EnumDeclaration__Group_2_0__0 )
2385 {
2386 before(grammarAccess.getEnumDeclarationAccess().getGroup_2_0());
2387 // InternalProblem.g:776:3: ( rule__EnumDeclaration__Group_2_0__0 )
2388 // InternalProblem.g:776:4: rule__EnumDeclaration__Group_2_0__0
2389 {
2390 pushFollow(FOLLOW_2);
2391 rule__EnumDeclaration__Group_2_0__0();
2392
2393 state._fsp--;
2394
2395
2396 }
2397
2398 after(grammarAccess.getEnumDeclarationAccess().getGroup_2_0());
2399
2400 }
2401
2402
2403 }
2404 break;
2405 case 2 :
2406 // InternalProblem.g:780:2: ( '.' )
2407 {
2408 // InternalProblem.g:780:2: ( '.' )
2409 // InternalProblem.g:781:3: '.'
2410 {
2411 before(grammarAccess.getEnumDeclarationAccess().getFullStopKeyword_2_1());
2412 match(input,12,FOLLOW_2);
2413 after(grammarAccess.getEnumDeclarationAccess().getFullStopKeyword_2_1());
2414
2415 }
2416
2417
2418 }
2419 break;
2420
2421 }
2422 }
2423 catch (RecognitionException re) {
2424 reportError(re);
2425 recover(input,re);
2426 }
2427 finally {
2428
2429 restoreStackSize(stackSize);
2430
2431 }
2432 return ;
2433 }
2434 // $ANTLR end "rule__EnumDeclaration__Alternatives_2"
2435
2436
2437 // $ANTLR start "rule__EnumDeclaration__Alternatives_2_0_1_2"
2438 // InternalProblem.g:790:1: rule__EnumDeclaration__Alternatives_2_0_1_2 : ( ( ',' ) | ( ';' ) );
2439 public final void rule__EnumDeclaration__Alternatives_2_0_1_2() throws RecognitionException {
2440
2441 int stackSize = keepStackSize();
2442
2443 try {
2444 // InternalProblem.g:794:1: ( ( ',' ) | ( ';' ) )
2445 int alt4=2;
2446 int LA4_0 = input.LA(1);
2447
2448 if ( (LA4_0==13) ) {
2449 alt4=1;
2450 }
2451 else if ( (LA4_0==14) ) {
2452 alt4=2;
2453 }
2454 else {
2455 NoViableAltException nvae =
2456 new NoViableAltException("", 4, 0, input);
2457
2458 throw nvae;
2459 }
2460 switch (alt4) {
2461 case 1 :
2462 // InternalProblem.g:795:2: ( ',' )
2463 {
2464 // InternalProblem.g:795:2: ( ',' )
2465 // InternalProblem.g:796:3: ','
2466 {
2467 before(grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_2_0());
2468 match(input,13,FOLLOW_2);
2469 after(grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_2_0());
2470
2471 }
2472
2473
2474 }
2475 break;
2476 case 2 :
2477 // InternalProblem.g:801:2: ( ';' )
2478 {
2479 // InternalProblem.g:801:2: ( ';' )
2480 // InternalProblem.g:802:3: ';'
2481 {
2482 before(grammarAccess.getEnumDeclarationAccess().getSemicolonKeyword_2_0_1_2_1());
2483 match(input,14,FOLLOW_2);
2484 after(grammarAccess.getEnumDeclarationAccess().getSemicolonKeyword_2_0_1_2_1());
2485
2486 }
2487
2488
2489 }
2490 break;
2491
2492 }
2493 }
2494 catch (RecognitionException re) {
2495 reportError(re);
2496 recover(input,re);
2497 }
2498 finally {
2499
2500 restoreStackSize(stackSize);
2501
2502 }
2503 return ;
2504 }
2505 // $ANTLR end "rule__EnumDeclaration__Alternatives_2_0_1_2"
2506
2507
2508 // $ANTLR start "rule__ReferenceDeclaration__Alternatives_0"
2509 // InternalProblem.g:811:1: rule__ReferenceDeclaration__Alternatives_0 : ( ( ( rule__ReferenceDeclaration__ContainmentAssignment_0_0 ) ) | ( 'refers' ) );
2510 public final void rule__ReferenceDeclaration__Alternatives_0() throws RecognitionException {
2511
2512 int stackSize = keepStackSize();
2513
2514 try {
2515 // InternalProblem.g:815:1: ( ( ( rule__ReferenceDeclaration__ContainmentAssignment_0_0 ) ) | ( 'refers' ) )
2516 int alt5=2;
2517 int LA5_0 = input.LA(1);
2518
2519 if ( (LA5_0==40) ) {
2520 alt5=1;
2521 }
2522 else if ( (LA5_0==15) ) {
2523 alt5=2;
2524 }
2525 else {
2526 NoViableAltException nvae =
2527 new NoViableAltException("", 5, 0, input);
2528
2529 throw nvae;
2530 }
2531 switch (alt5) {
2532 case 1 :
2533 // InternalProblem.g:816:2: ( ( rule__ReferenceDeclaration__ContainmentAssignment_0_0 ) )
2047 { 2534 {
2048 // InternalProblem.g:668:2: ( ( rule__ReferenceDeclaration__ContainmentAssignment_0_0 ) ) 2535 // InternalProblem.g:816:2: ( ( rule__ReferenceDeclaration__ContainmentAssignment_0_0 ) )
2049 // InternalProblem.g:669:3: ( rule__ReferenceDeclaration__ContainmentAssignment_0_0 ) 2536 // InternalProblem.g:817:3: ( rule__ReferenceDeclaration__ContainmentAssignment_0_0 )
2050 { 2537 {
2051 before(grammarAccess.getReferenceDeclarationAccess().getContainmentAssignment_0_0()); 2538 before(grammarAccess.getReferenceDeclarationAccess().getContainmentAssignment_0_0());
2052 // InternalProblem.g:670:3: ( rule__ReferenceDeclaration__ContainmentAssignment_0_0 ) 2539 // InternalProblem.g:818:3: ( rule__ReferenceDeclaration__ContainmentAssignment_0_0 )
2053 // InternalProblem.g:670:4: rule__ReferenceDeclaration__ContainmentAssignment_0_0 2540 // InternalProblem.g:818:4: rule__ReferenceDeclaration__ContainmentAssignment_0_0
2054 { 2541 {
2055 pushFollow(FOLLOW_2); 2542 pushFollow(FOLLOW_2);
2056 rule__ReferenceDeclaration__ContainmentAssignment_0_0(); 2543 rule__ReferenceDeclaration__ContainmentAssignment_0_0();
@@ -2068,13 +2555,13 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2068 } 2555 }
2069 break; 2556 break;
2070 case 2 : 2557 case 2 :
2071 // InternalProblem.g:674:2: ( 'refers' ) 2558 // InternalProblem.g:822:2: ( 'refers' )
2072 { 2559 {
2073 // InternalProblem.g:674:2: ( 'refers' ) 2560 // InternalProblem.g:822:2: ( 'refers' )
2074 // InternalProblem.g:675:3: 'refers' 2561 // InternalProblem.g:823:3: 'refers'
2075 { 2562 {
2076 before(grammarAccess.getReferenceDeclarationAccess().getRefersKeyword_0_1()); 2563 before(grammarAccess.getReferenceDeclarationAccess().getRefersKeyword_0_1());
2077 match(input,13,FOLLOW_2); 2564 match(input,15,FOLLOW_2);
2078 after(grammarAccess.getReferenceDeclarationAccess().getRefersKeyword_0_1()); 2565 after(grammarAccess.getReferenceDeclarationAccess().getRefersKeyword_0_1());
2079 2566
2080 } 2567 }
@@ -2100,38 +2587,38 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2100 2587
2101 2588
2102 // $ANTLR start "rule__PredicateDefinition__Alternatives_0" 2589 // $ANTLR start "rule__PredicateDefinition__Alternatives_0"
2103 // InternalProblem.g:684:1: rule__PredicateDefinition__Alternatives_0 : ( ( ( rule__PredicateDefinition__Group_0_0__0 ) ) | ( 'pred' ) ); 2590 // InternalProblem.g:832:1: rule__PredicateDefinition__Alternatives_0 : ( ( ( rule__PredicateDefinition__Group_0_0__0 ) ) | ( 'pred' ) );
2104 public final void rule__PredicateDefinition__Alternatives_0() throws RecognitionException { 2591 public final void rule__PredicateDefinition__Alternatives_0() throws RecognitionException {
2105 2592
2106 int stackSize = keepStackSize(); 2593 int stackSize = keepStackSize();
2107 2594
2108 try { 2595 try {
2109 // InternalProblem.g:688:1: ( ( ( rule__PredicateDefinition__Group_0_0__0 ) ) | ( 'pred' ) ) 2596 // InternalProblem.g:836:1: ( ( ( rule__PredicateDefinition__Group_0_0__0 ) ) | ( 'pred' ) )
2110 int alt4=2; 2597 int alt6=2;
2111 int LA4_0 = input.LA(1); 2598 int LA6_0 = input.LA(1);
2112 2599
2113 if ( (LA4_0==40) ) { 2600 if ( (LA6_0==41) ) {
2114 alt4=1; 2601 alt6=1;
2115 } 2602 }
2116 else if ( (LA4_0==14) ) { 2603 else if ( (LA6_0==16) ) {
2117 alt4=2; 2604 alt6=2;
2118 } 2605 }
2119 else { 2606 else {
2120 NoViableAltException nvae = 2607 NoViableAltException nvae =
2121 new NoViableAltException("", 4, 0, input); 2608 new NoViableAltException("", 6, 0, input);
2122 2609
2123 throw nvae; 2610 throw nvae;
2124 } 2611 }
2125 switch (alt4) { 2612 switch (alt6) {
2126 case 1 : 2613 case 1 :
2127 // InternalProblem.g:689:2: ( ( rule__PredicateDefinition__Group_0_0__0 ) ) 2614 // InternalProblem.g:837:2: ( ( rule__PredicateDefinition__Group_0_0__0 ) )
2128 { 2615 {
2129 // InternalProblem.g:689:2: ( ( rule__PredicateDefinition__Group_0_0__0 ) ) 2616 // InternalProblem.g:837:2: ( ( rule__PredicateDefinition__Group_0_0__0 ) )
2130 // InternalProblem.g:690:3: ( rule__PredicateDefinition__Group_0_0__0 ) 2617 // InternalProblem.g:838:3: ( rule__PredicateDefinition__Group_0_0__0 )
2131 { 2618 {
2132 before(grammarAccess.getPredicateDefinitionAccess().getGroup_0_0()); 2619 before(grammarAccess.getPredicateDefinitionAccess().getGroup_0_0());
2133 // InternalProblem.g:691:3: ( rule__PredicateDefinition__Group_0_0__0 ) 2620 // InternalProblem.g:839:3: ( rule__PredicateDefinition__Group_0_0__0 )
2134 // InternalProblem.g:691:4: rule__PredicateDefinition__Group_0_0__0 2621 // InternalProblem.g:839:4: rule__PredicateDefinition__Group_0_0__0
2135 { 2622 {
2136 pushFollow(FOLLOW_2); 2623 pushFollow(FOLLOW_2);
2137 rule__PredicateDefinition__Group_0_0__0(); 2624 rule__PredicateDefinition__Group_0_0__0();
@@ -2149,13 +2636,13 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2149 } 2636 }
2150 break; 2637 break;
2151 case 2 : 2638 case 2 :
2152 // InternalProblem.g:695:2: ( 'pred' ) 2639 // InternalProblem.g:843:2: ( 'pred' )
2153 { 2640 {
2154 // InternalProblem.g:695:2: ( 'pred' ) 2641 // InternalProblem.g:843:2: ( 'pred' )
2155 // InternalProblem.g:696:3: 'pred' 2642 // InternalProblem.g:844:3: 'pred'
2156 { 2643 {
2157 before(grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_1()); 2644 before(grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_1());
2158 match(input,14,FOLLOW_2); 2645 match(input,16,FOLLOW_2);
2159 after(grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_1()); 2646 after(grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_1());
2160 2647
2161 } 2648 }
@@ -2181,34 +2668,34 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2181 2668
2182 2669
2183 // $ANTLR start "rule__Literal__Alternatives" 2670 // $ANTLR start "rule__Literal__Alternatives"
2184 // InternalProblem.g:705:1: rule__Literal__Alternatives : ( ( ruleAtom ) | ( ruleNegativeLiteral ) ); 2671 // InternalProblem.g:853:1: rule__Literal__Alternatives : ( ( ruleAtom ) | ( ruleNegativeLiteral ) );
2185 public final void rule__Literal__Alternatives() throws RecognitionException { 2672 public final void rule__Literal__Alternatives() throws RecognitionException {
2186 2673
2187 int stackSize = keepStackSize(); 2674 int stackSize = keepStackSize();
2188 2675
2189 try { 2676 try {
2190 // InternalProblem.g:709:1: ( ( ruleAtom ) | ( ruleNegativeLiteral ) ) 2677 // InternalProblem.g:857:1: ( ( ruleAtom ) | ( ruleNegativeLiteral ) )
2191 int alt5=2; 2678 int alt7=2;
2192 int LA5_0 = input.LA(1); 2679 int LA7_0 = input.LA(1);
2193 2680
2194 if ( ((LA5_0>=RULE_QUOTED_ID && LA5_0<=RULE_ID)) ) { 2681 if ( ((LA7_0>=RULE_QUOTED_ID && LA7_0<=RULE_ID)||(LA7_0>=19 && LA7_0<=20)) ) {
2195 alt5=1; 2682 alt7=1;
2196 } 2683 }
2197 else if ( (LA5_0==20) ) { 2684 else if ( (LA7_0==22) ) {
2198 alt5=2; 2685 alt7=2;
2199 } 2686 }
2200 else { 2687 else {
2201 NoViableAltException nvae = 2688 NoViableAltException nvae =
2202 new NoViableAltException("", 5, 0, input); 2689 new NoViableAltException("", 7, 0, input);
2203 2690
2204 throw nvae; 2691 throw nvae;
2205 } 2692 }
2206 switch (alt5) { 2693 switch (alt7) {
2207 case 1 : 2694 case 1 :
2208 // InternalProblem.g:710:2: ( ruleAtom ) 2695 // InternalProblem.g:858:2: ( ruleAtom )
2209 { 2696 {
2210 // InternalProblem.g:710:2: ( ruleAtom ) 2697 // InternalProblem.g:858:2: ( ruleAtom )
2211 // InternalProblem.g:711:3: ruleAtom 2698 // InternalProblem.g:859:3: ruleAtom
2212 { 2699 {
2213 before(grammarAccess.getLiteralAccess().getAtomParserRuleCall_0()); 2700 before(grammarAccess.getLiteralAccess().getAtomParserRuleCall_0());
2214 pushFollow(FOLLOW_2); 2701 pushFollow(FOLLOW_2);
@@ -2224,10 +2711,10 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2224 } 2711 }
2225 break; 2712 break;
2226 case 2 : 2713 case 2 :
2227 // InternalProblem.g:716:2: ( ruleNegativeLiteral ) 2714 // InternalProblem.g:864:2: ( ruleNegativeLiteral )
2228 { 2715 {
2229 // InternalProblem.g:716:2: ( ruleNegativeLiteral ) 2716 // InternalProblem.g:864:2: ( ruleNegativeLiteral )
2230 // InternalProblem.g:717:3: ruleNegativeLiteral 2717 // InternalProblem.g:865:3: ruleNegativeLiteral
2231 { 2718 {
2232 before(grammarAccess.getLiteralAccess().getNegativeLiteralParserRuleCall_1()); 2719 before(grammarAccess.getLiteralAccess().getNegativeLiteralParserRuleCall_1());
2233 pushFollow(FOLLOW_2); 2720 pushFollow(FOLLOW_2);
@@ -2260,25 +2747,25 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2260 2747
2261 2748
2262 // $ANTLR start "rule__Assertion__Alternatives_0" 2749 // $ANTLR start "rule__Assertion__Alternatives_0"
2263 // InternalProblem.g:726:1: rule__Assertion__Alternatives_0 : ( ( ( rule__Assertion__Group_0_0__0 ) ) | ( ( rule__Assertion__Group_0_1__0 ) ) ); 2750 // InternalProblem.g:874:1: rule__Assertion__Alternatives_0 : ( ( ( rule__Assertion__Group_0_0__0 ) ) | ( ( rule__Assertion__Group_0_1__0 ) ) );
2264 public final void rule__Assertion__Alternatives_0() throws RecognitionException { 2751 public final void rule__Assertion__Alternatives_0() throws RecognitionException {
2265 2752
2266 int stackSize = keepStackSize(); 2753 int stackSize = keepStackSize();
2267 2754
2268 try { 2755 try {
2269 // InternalProblem.g:730:1: ( ( ( rule__Assertion__Group_0_0__0 ) ) | ( ( rule__Assertion__Group_0_1__0 ) ) ) 2756 // InternalProblem.g:878:1: ( ( ( rule__Assertion__Group_0_0__0 ) ) | ( ( rule__Assertion__Group_0_1__0 ) ) )
2270 int alt6=2; 2757 int alt8=2;
2271 alt6 = dfa6.predict(input); 2758 alt8 = dfa8.predict(input);
2272 switch (alt6) { 2759 switch (alt8) {
2273 case 1 : 2760 case 1 :
2274 // InternalProblem.g:731:2: ( ( rule__Assertion__Group_0_0__0 ) ) 2761 // InternalProblem.g:879:2: ( ( rule__Assertion__Group_0_0__0 ) )
2275 { 2762 {
2276 // InternalProblem.g:731:2: ( ( rule__Assertion__Group_0_0__0 ) ) 2763 // InternalProblem.g:879:2: ( ( rule__Assertion__Group_0_0__0 ) )
2277 // InternalProblem.g:732:3: ( rule__Assertion__Group_0_0__0 ) 2764 // InternalProblem.g:880:3: ( rule__Assertion__Group_0_0__0 )
2278 { 2765 {
2279 before(grammarAccess.getAssertionAccess().getGroup_0_0()); 2766 before(grammarAccess.getAssertionAccess().getGroup_0_0());
2280 // InternalProblem.g:733:3: ( rule__Assertion__Group_0_0__0 ) 2767 // InternalProblem.g:881:3: ( rule__Assertion__Group_0_0__0 )
2281 // InternalProblem.g:733:4: rule__Assertion__Group_0_0__0 2768 // InternalProblem.g:881:4: rule__Assertion__Group_0_0__0
2282 { 2769 {
2283 pushFollow(FOLLOW_2); 2770 pushFollow(FOLLOW_2);
2284 rule__Assertion__Group_0_0__0(); 2771 rule__Assertion__Group_0_0__0();
@@ -2296,14 +2783,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2296 } 2783 }
2297 break; 2784 break;
2298 case 2 : 2785 case 2 :
2299 // InternalProblem.g:737:2: ( ( rule__Assertion__Group_0_1__0 ) ) 2786 // InternalProblem.g:885:2: ( ( rule__Assertion__Group_0_1__0 ) )
2300 { 2787 {
2301 // InternalProblem.g:737:2: ( ( rule__Assertion__Group_0_1__0 ) ) 2788 // InternalProblem.g:885:2: ( ( rule__Assertion__Group_0_1__0 ) )
2302 // InternalProblem.g:738:3: ( rule__Assertion__Group_0_1__0 ) 2789 // InternalProblem.g:886:3: ( rule__Assertion__Group_0_1__0 )
2303 { 2790 {
2304 before(grammarAccess.getAssertionAccess().getGroup_0_1()); 2791 before(grammarAccess.getAssertionAccess().getGroup_0_1());
2305 // InternalProblem.g:739:3: ( rule__Assertion__Group_0_1__0 ) 2792 // InternalProblem.g:887:3: ( rule__Assertion__Group_0_1__0 )
2306 // InternalProblem.g:739:4: rule__Assertion__Group_0_1__0 2793 // InternalProblem.g:887:4: rule__Assertion__Group_0_1__0
2307 { 2794 {
2308 pushFollow(FOLLOW_2); 2795 pushFollow(FOLLOW_2);
2309 rule__Assertion__Group_0_1__0(); 2796 rule__Assertion__Group_0_1__0();
@@ -2338,38 +2825,38 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2338 2825
2339 2826
2340 // $ANTLR start "rule__TypeScope__Alternatives_1" 2827 // $ANTLR start "rule__TypeScope__Alternatives_1"
2341 // InternalProblem.g:747:1: rule__TypeScope__Alternatives_1 : ( ( ( rule__TypeScope__IncrementAssignment_1_0 ) ) | ( '=' ) ); 2828 // InternalProblem.g:895:1: rule__TypeScope__Alternatives_1 : ( ( ( rule__TypeScope__IncrementAssignment_1_0 ) ) | ( '=' ) );
2342 public final void rule__TypeScope__Alternatives_1() throws RecognitionException { 2829 public final void rule__TypeScope__Alternatives_1() throws RecognitionException {
2343 2830
2344 int stackSize = keepStackSize(); 2831 int stackSize = keepStackSize();
2345 2832
2346 try { 2833 try {
2347 // InternalProblem.g:751:1: ( ( ( rule__TypeScope__IncrementAssignment_1_0 ) ) | ( '=' ) ) 2834 // InternalProblem.g:899:1: ( ( ( rule__TypeScope__IncrementAssignment_1_0 ) ) | ( '=' ) )
2348 int alt7=2; 2835 int alt9=2;
2349 int LA7_0 = input.LA(1); 2836 int LA9_0 = input.LA(1);
2350 2837
2351 if ( (LA7_0==42) ) { 2838 if ( (LA9_0==43) ) {
2352 alt7=1; 2839 alt9=1;
2353 } 2840 }
2354 else if ( (LA7_0==15) ) { 2841 else if ( (LA9_0==17) ) {
2355 alt7=2; 2842 alt9=2;
2356 } 2843 }
2357 else { 2844 else {
2358 NoViableAltException nvae = 2845 NoViableAltException nvae =
2359 new NoViableAltException("", 7, 0, input); 2846 new NoViableAltException("", 9, 0, input);
2360 2847
2361 throw nvae; 2848 throw nvae;
2362 } 2849 }
2363 switch (alt7) { 2850 switch (alt9) {
2364 case 1 : 2851 case 1 :
2365 // InternalProblem.g:752:2: ( ( rule__TypeScope__IncrementAssignment_1_0 ) ) 2852 // InternalProblem.g:900:2: ( ( rule__TypeScope__IncrementAssignment_1_0 ) )
2366 { 2853 {
2367 // InternalProblem.g:752:2: ( ( rule__TypeScope__IncrementAssignment_1_0 ) ) 2854 // InternalProblem.g:900:2: ( ( rule__TypeScope__IncrementAssignment_1_0 ) )
2368 // InternalProblem.g:753:3: ( rule__TypeScope__IncrementAssignment_1_0 ) 2855 // InternalProblem.g:901:3: ( rule__TypeScope__IncrementAssignment_1_0 )
2369 { 2856 {
2370 before(grammarAccess.getTypeScopeAccess().getIncrementAssignment_1_0()); 2857 before(grammarAccess.getTypeScopeAccess().getIncrementAssignment_1_0());
2371 // InternalProblem.g:754:3: ( rule__TypeScope__IncrementAssignment_1_0 ) 2858 // InternalProblem.g:902:3: ( rule__TypeScope__IncrementAssignment_1_0 )
2372 // InternalProblem.g:754:4: rule__TypeScope__IncrementAssignment_1_0 2859 // InternalProblem.g:902:4: rule__TypeScope__IncrementAssignment_1_0
2373 { 2860 {
2374 pushFollow(FOLLOW_2); 2861 pushFollow(FOLLOW_2);
2375 rule__TypeScope__IncrementAssignment_1_0(); 2862 rule__TypeScope__IncrementAssignment_1_0();
@@ -2387,13 +2874,13 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2387 } 2874 }
2388 break; 2875 break;
2389 case 2 : 2876 case 2 :
2390 // InternalProblem.g:758:2: ( '=' ) 2877 // InternalProblem.g:906:2: ( '=' )
2391 { 2878 {
2392 // InternalProblem.g:758:2: ( '=' ) 2879 // InternalProblem.g:906:2: ( '=' )
2393 // InternalProblem.g:759:3: '=' 2880 // InternalProblem.g:907:3: '='
2394 { 2881 {
2395 before(grammarAccess.getTypeScopeAccess().getEqualsSignKeyword_1_1()); 2882 before(grammarAccess.getTypeScopeAccess().getEqualsSignKeyword_1_1());
2396 match(input,15,FOLLOW_2); 2883 match(input,17,FOLLOW_2);
2397 after(grammarAccess.getTypeScopeAccess().getEqualsSignKeyword_1_1()); 2884 after(grammarAccess.getTypeScopeAccess().getEqualsSignKeyword_1_1());
2398 2885
2399 } 2886 }
@@ -2419,34 +2906,34 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2419 2906
2420 2907
2421 // $ANTLR start "rule__Multiplicity__Alternatives" 2908 // $ANTLR start "rule__Multiplicity__Alternatives"
2422 // InternalProblem.g:768:1: rule__Multiplicity__Alternatives : ( ( ruleUnboundedMultiplicity ) | ( ruleDefiniteMultiplicity ) ); 2909 // InternalProblem.g:916:1: rule__Multiplicity__Alternatives : ( ( ruleUnboundedMultiplicity ) | ( ruleDefiniteMultiplicity ) );
2423 public final void rule__Multiplicity__Alternatives() throws RecognitionException { 2910 public final void rule__Multiplicity__Alternatives() throws RecognitionException {
2424 2911
2425 int stackSize = keepStackSize(); 2912 int stackSize = keepStackSize();
2426 2913
2427 try { 2914 try {
2428 // InternalProblem.g:772:1: ( ( ruleUnboundedMultiplicity ) | ( ruleDefiniteMultiplicity ) ) 2915 // InternalProblem.g:920:1: ( ( ruleUnboundedMultiplicity ) | ( ruleDefiniteMultiplicity ) )
2429 int alt8=2; 2916 int alt10=2;
2430 int LA8_0 = input.LA(1); 2917 int LA10_0 = input.LA(1);
2431 2918
2432 if ( (LA8_0==EOF||LA8_0==30) ) { 2919 if ( (LA10_0==EOF||LA10_0==31) ) {
2433 alt8=1; 2920 alt10=1;
2434 } 2921 }
2435 else if ( (LA8_0==RULE_INT) ) { 2922 else if ( (LA10_0==RULE_INT) ) {
2436 alt8=2; 2923 alt10=2;
2437 } 2924 }
2438 else { 2925 else {
2439 NoViableAltException nvae = 2926 NoViableAltException nvae =
2440 new NoViableAltException("", 8, 0, input); 2927 new NoViableAltException("", 10, 0, input);
2441 2928
2442 throw nvae; 2929 throw nvae;
2443 } 2930 }
2444 switch (alt8) { 2931 switch (alt10) {
2445 case 1 : 2932 case 1 :
2446 // InternalProblem.g:773:2: ( ruleUnboundedMultiplicity ) 2933 // InternalProblem.g:921:2: ( ruleUnboundedMultiplicity )
2447 { 2934 {
2448 // InternalProblem.g:773:2: ( ruleUnboundedMultiplicity ) 2935 // InternalProblem.g:921:2: ( ruleUnboundedMultiplicity )
2449 // InternalProblem.g:774:3: ruleUnboundedMultiplicity 2936 // InternalProblem.g:922:3: ruleUnboundedMultiplicity
2450 { 2937 {
2451 before(grammarAccess.getMultiplicityAccess().getUnboundedMultiplicityParserRuleCall_0()); 2938 before(grammarAccess.getMultiplicityAccess().getUnboundedMultiplicityParserRuleCall_0());
2452 pushFollow(FOLLOW_2); 2939 pushFollow(FOLLOW_2);
@@ -2462,10 +2949,10 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2462 } 2949 }
2463 break; 2950 break;
2464 case 2 : 2951 case 2 :
2465 // InternalProblem.g:779:2: ( ruleDefiniteMultiplicity ) 2952 // InternalProblem.g:927:2: ( ruleDefiniteMultiplicity )
2466 { 2953 {
2467 // InternalProblem.g:779:2: ( ruleDefiniteMultiplicity ) 2954 // InternalProblem.g:927:2: ( ruleDefiniteMultiplicity )
2468 // InternalProblem.g:780:3: ruleDefiniteMultiplicity 2955 // InternalProblem.g:928:3: ruleDefiniteMultiplicity
2469 { 2956 {
2470 before(grammarAccess.getMultiplicityAccess().getDefiniteMultiplicityParserRuleCall_1()); 2957 before(grammarAccess.getMultiplicityAccess().getDefiniteMultiplicityParserRuleCall_1());
2471 pushFollow(FOLLOW_2); 2958 pushFollow(FOLLOW_2);
@@ -2498,44 +2985,44 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2498 2985
2499 2986
2500 // $ANTLR start "rule__DefiniteMultiplicity__Alternatives" 2987 // $ANTLR start "rule__DefiniteMultiplicity__Alternatives"
2501 // InternalProblem.g:789:1: rule__DefiniteMultiplicity__Alternatives : ( ( ruleRangeMultiplicity ) | ( ruleExactMultiplicity ) ); 2988 // InternalProblem.g:937:1: rule__DefiniteMultiplicity__Alternatives : ( ( ruleRangeMultiplicity ) | ( ruleExactMultiplicity ) );
2502 public final void rule__DefiniteMultiplicity__Alternatives() throws RecognitionException { 2989 public final void rule__DefiniteMultiplicity__Alternatives() throws RecognitionException {
2503 2990
2504 int stackSize = keepStackSize(); 2991 int stackSize = keepStackSize();
2505 2992
2506 try { 2993 try {
2507 // InternalProblem.g:793:1: ( ( ruleRangeMultiplicity ) | ( ruleExactMultiplicity ) ) 2994 // InternalProblem.g:941:1: ( ( ruleRangeMultiplicity ) | ( ruleExactMultiplicity ) )
2508 int alt9=2; 2995 int alt11=2;
2509 int LA9_0 = input.LA(1); 2996 int LA11_0 = input.LA(1);
2510 2997
2511 if ( (LA9_0==RULE_INT) ) { 2998 if ( (LA11_0==RULE_INT) ) {
2512 int LA9_1 = input.LA(2); 2999 int LA11_1 = input.LA(2);
2513 3000
2514 if ( (LA9_1==37) ) { 3001 if ( (LA11_1==38) ) {
2515 alt9=1; 3002 alt11=1;
2516 } 3003 }
2517 else if ( (LA9_1==EOF||LA9_1==12||LA9_1==25||LA9_1==30) ) { 3004 else if ( (LA11_1==EOF||(LA11_1>=12 && LA11_1<=13)||LA11_1==31) ) {
2518 alt9=2; 3005 alt11=2;
2519 } 3006 }
2520 else { 3007 else {
2521 NoViableAltException nvae = 3008 NoViableAltException nvae =
2522 new NoViableAltException("", 9, 1, input); 3009 new NoViableAltException("", 11, 1, input);
2523 3010
2524 throw nvae; 3011 throw nvae;
2525 } 3012 }
2526 } 3013 }
2527 else { 3014 else {
2528 NoViableAltException nvae = 3015 NoViableAltException nvae =
2529 new NoViableAltException("", 9, 0, input); 3016 new NoViableAltException("", 11, 0, input);
2530 3017
2531 throw nvae; 3018 throw nvae;
2532 } 3019 }
2533 switch (alt9) { 3020 switch (alt11) {
2534 case 1 : 3021 case 1 :
2535 // InternalProblem.g:794:2: ( ruleRangeMultiplicity ) 3022 // InternalProblem.g:942:2: ( ruleRangeMultiplicity )
2536 { 3023 {
2537 // InternalProblem.g:794:2: ( ruleRangeMultiplicity ) 3024 // InternalProblem.g:942:2: ( ruleRangeMultiplicity )
2538 // InternalProblem.g:795:3: ruleRangeMultiplicity 3025 // InternalProblem.g:943:3: ruleRangeMultiplicity
2539 { 3026 {
2540 before(grammarAccess.getDefiniteMultiplicityAccess().getRangeMultiplicityParserRuleCall_0()); 3027 before(grammarAccess.getDefiniteMultiplicityAccess().getRangeMultiplicityParserRuleCall_0());
2541 pushFollow(FOLLOW_2); 3028 pushFollow(FOLLOW_2);
@@ -2551,10 +3038,10 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2551 } 3038 }
2552 break; 3039 break;
2553 case 2 : 3040 case 2 :
2554 // InternalProblem.g:800:2: ( ruleExactMultiplicity ) 3041 // InternalProblem.g:948:2: ( ruleExactMultiplicity )
2555 { 3042 {
2556 // InternalProblem.g:800:2: ( ruleExactMultiplicity ) 3043 // InternalProblem.g:948:2: ( ruleExactMultiplicity )
2557 // InternalProblem.g:801:3: ruleExactMultiplicity 3044 // InternalProblem.g:949:3: ruleExactMultiplicity
2558 { 3045 {
2559 before(grammarAccess.getDefiniteMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); 3046 before(grammarAccess.getDefiniteMultiplicityAccess().getExactMultiplicityParserRuleCall_1());
2560 pushFollow(FOLLOW_2); 3047 pushFollow(FOLLOW_2);
@@ -2587,34 +3074,34 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2587 3074
2588 3075
2589 // $ANTLR start "rule__UpperBound__Alternatives" 3076 // $ANTLR start "rule__UpperBound__Alternatives"
2590 // InternalProblem.g:810:1: rule__UpperBound__Alternatives : ( ( RULE_INT ) | ( '*' ) ); 3077 // InternalProblem.g:958:1: rule__UpperBound__Alternatives : ( ( RULE_INT ) | ( '*' ) );
2591 public final void rule__UpperBound__Alternatives() throws RecognitionException { 3078 public final void rule__UpperBound__Alternatives() throws RecognitionException {
2592 3079
2593 int stackSize = keepStackSize(); 3080 int stackSize = keepStackSize();
2594 3081
2595 try { 3082 try {
2596 // InternalProblem.g:814:1: ( ( RULE_INT ) | ( '*' ) ) 3083 // InternalProblem.g:962:1: ( ( RULE_INT ) | ( '*' ) )
2597 int alt10=2; 3084 int alt12=2;
2598 int LA10_0 = input.LA(1); 3085 int LA12_0 = input.LA(1);
2599 3086
2600 if ( (LA10_0==RULE_INT) ) { 3087 if ( (LA12_0==RULE_INT) ) {
2601 alt10=1; 3088 alt12=1;
2602 } 3089 }
2603 else if ( (LA10_0==16) ) { 3090 else if ( (LA12_0==18) ) {
2604 alt10=2; 3091 alt12=2;
2605 } 3092 }
2606 else { 3093 else {
2607 NoViableAltException nvae = 3094 NoViableAltException nvae =
2608 new NoViableAltException("", 10, 0, input); 3095 new NoViableAltException("", 12, 0, input);
2609 3096
2610 throw nvae; 3097 throw nvae;
2611 } 3098 }
2612 switch (alt10) { 3099 switch (alt12) {
2613 case 1 : 3100 case 1 :
2614 // InternalProblem.g:815:2: ( RULE_INT ) 3101 // InternalProblem.g:963:2: ( RULE_INT )
2615 { 3102 {
2616 // InternalProblem.g:815:2: ( RULE_INT ) 3103 // InternalProblem.g:963:2: ( RULE_INT )
2617 // InternalProblem.g:816:3: RULE_INT 3104 // InternalProblem.g:964:3: RULE_INT
2618 { 3105 {
2619 before(grammarAccess.getUpperBoundAccess().getINTTerminalRuleCall_0()); 3106 before(grammarAccess.getUpperBoundAccess().getINTTerminalRuleCall_0());
2620 match(input,RULE_INT,FOLLOW_2); 3107 match(input,RULE_INT,FOLLOW_2);
@@ -2626,13 +3113,13 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2626 } 3113 }
2627 break; 3114 break;
2628 case 2 : 3115 case 2 :
2629 // InternalProblem.g:821:2: ( '*' ) 3116 // InternalProblem.g:969:2: ( '*' )
2630 { 3117 {
2631 // InternalProblem.g:821:2: ( '*' ) 3118 // InternalProblem.g:969:2: ( '*' )
2632 // InternalProblem.g:822:3: '*' 3119 // InternalProblem.g:970:3: '*'
2633 { 3120 {
2634 before(grammarAccess.getUpperBoundAccess().getAsteriskKeyword_1()); 3121 before(grammarAccess.getUpperBoundAccess().getAsteriskKeyword_1());
2635 match(input,16,FOLLOW_2); 3122 match(input,18,FOLLOW_2);
2636 after(grammarAccess.getUpperBoundAccess().getAsteriskKeyword_1()); 3123 after(grammarAccess.getUpperBoundAccess().getAsteriskKeyword_1());
2637 3124
2638 } 3125 }
@@ -2657,35 +3144,110 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2657 // $ANTLR end "rule__UpperBound__Alternatives" 3144 // $ANTLR end "rule__UpperBound__Alternatives"
2658 3145
2659 3146
3147 // $ANTLR start "rule__QuotedOrUnquotedId__Alternatives"
3148 // InternalProblem.g:979:1: rule__QuotedOrUnquotedId__Alternatives : ( ( RULE_QUOTED_ID ) | ( ruleIdentifier ) );
3149 public final void rule__QuotedOrUnquotedId__Alternatives() throws RecognitionException {
3150
3151 int stackSize = keepStackSize();
3152
3153 try {
3154 // InternalProblem.g:983:1: ( ( RULE_QUOTED_ID ) | ( ruleIdentifier ) )
3155 int alt13=2;
3156 int LA13_0 = input.LA(1);
3157
3158 if ( (LA13_0==RULE_QUOTED_ID) ) {
3159 alt13=1;
3160 }
3161 else if ( (LA13_0==RULE_ID||(LA13_0>=19 && LA13_0<=20)) ) {
3162 alt13=2;
3163 }
3164 else {
3165 NoViableAltException nvae =
3166 new NoViableAltException("", 13, 0, input);
3167
3168 throw nvae;
3169 }
3170 switch (alt13) {
3171 case 1 :
3172 // InternalProblem.g:984:2: ( RULE_QUOTED_ID )
3173 {
3174 // InternalProblem.g:984:2: ( RULE_QUOTED_ID )
3175 // InternalProblem.g:985:3: RULE_QUOTED_ID
3176 {
3177 before(grammarAccess.getQuotedOrUnquotedIdAccess().getQUOTED_IDTerminalRuleCall_0());
3178 match(input,RULE_QUOTED_ID,FOLLOW_2);
3179 after(grammarAccess.getQuotedOrUnquotedIdAccess().getQUOTED_IDTerminalRuleCall_0());
3180
3181 }
3182
3183
3184 }
3185 break;
3186 case 2 :
3187 // InternalProblem.g:990:2: ( ruleIdentifier )
3188 {
3189 // InternalProblem.g:990:2: ( ruleIdentifier )
3190 // InternalProblem.g:991:3: ruleIdentifier
3191 {
3192 before(grammarAccess.getQuotedOrUnquotedIdAccess().getIdentifierParserRuleCall_1());
3193 pushFollow(FOLLOW_2);
3194 ruleIdentifier();
3195
3196 state._fsp--;
3197
3198 after(grammarAccess.getQuotedOrUnquotedIdAccess().getIdentifierParserRuleCall_1());
3199
3200 }
3201
3202
3203 }
3204 break;
3205
3206 }
3207 }
3208 catch (RecognitionException re) {
3209 reportError(re);
3210 recover(input,re);
3211 }
3212 finally {
3213
3214 restoreStackSize(stackSize);
3215
3216 }
3217 return ;
3218 }
3219 // $ANTLR end "rule__QuotedOrUnquotedId__Alternatives"
3220
3221
2660 // $ANTLR start "rule__QualifiedName__Alternatives" 3222 // $ANTLR start "rule__QualifiedName__Alternatives"
2661 // InternalProblem.g:831:1: rule__QualifiedName__Alternatives : ( ( RULE_QUOTED_ID ) | ( ( rule__QualifiedName__Group_1__0 ) ) ); 3223 // InternalProblem.g:1000:1: rule__QualifiedName__Alternatives : ( ( RULE_QUOTED_ID ) | ( ( rule__QualifiedName__Group_1__0 ) ) );
2662 public final void rule__QualifiedName__Alternatives() throws RecognitionException { 3224 public final void rule__QualifiedName__Alternatives() throws RecognitionException {
2663 3225
2664 int stackSize = keepStackSize(); 3226 int stackSize = keepStackSize();
2665 3227
2666 try { 3228 try {
2667 // InternalProblem.g:835:1: ( ( RULE_QUOTED_ID ) | ( ( rule__QualifiedName__Group_1__0 ) ) ) 3229 // InternalProblem.g:1004:1: ( ( RULE_QUOTED_ID ) | ( ( rule__QualifiedName__Group_1__0 ) ) )
2668 int alt11=2; 3230 int alt14=2;
2669 int LA11_0 = input.LA(1); 3231 int LA14_0 = input.LA(1);
2670 3232
2671 if ( (LA11_0==RULE_QUOTED_ID) ) { 3233 if ( (LA14_0==RULE_QUOTED_ID) ) {
2672 alt11=1; 3234 alt14=1;
2673 } 3235 }
2674 else if ( (LA11_0==RULE_ID) ) { 3236 else if ( (LA14_0==RULE_ID||(LA14_0>=19 && LA14_0<=20)) ) {
2675 alt11=2; 3237 alt14=2;
2676 } 3238 }
2677 else { 3239 else {
2678 NoViableAltException nvae = 3240 NoViableAltException nvae =
2679 new NoViableAltException("", 11, 0, input); 3241 new NoViableAltException("", 14, 0, input);
2680 3242
2681 throw nvae; 3243 throw nvae;
2682 } 3244 }
2683 switch (alt11) { 3245 switch (alt14) {
2684 case 1 : 3246 case 1 :
2685 // InternalProblem.g:836:2: ( RULE_QUOTED_ID ) 3247 // InternalProblem.g:1005:2: ( RULE_QUOTED_ID )
2686 { 3248 {
2687 // InternalProblem.g:836:2: ( RULE_QUOTED_ID ) 3249 // InternalProblem.g:1005:2: ( RULE_QUOTED_ID )
2688 // InternalProblem.g:837:3: RULE_QUOTED_ID 3250 // InternalProblem.g:1006:3: RULE_QUOTED_ID
2689 { 3251 {
2690 before(grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_0()); 3252 before(grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_0());
2691 match(input,RULE_QUOTED_ID,FOLLOW_2); 3253 match(input,RULE_QUOTED_ID,FOLLOW_2);
@@ -2697,14 +3259,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2697 } 3259 }
2698 break; 3260 break;
2699 case 2 : 3261 case 2 :
2700 // InternalProblem.g:842:2: ( ( rule__QualifiedName__Group_1__0 ) ) 3262 // InternalProblem.g:1011:2: ( ( rule__QualifiedName__Group_1__0 ) )
2701 { 3263 {
2702 // InternalProblem.g:842:2: ( ( rule__QualifiedName__Group_1__0 ) ) 3264 // InternalProblem.g:1011:2: ( ( rule__QualifiedName__Group_1__0 ) )
2703 // InternalProblem.g:843:3: ( rule__QualifiedName__Group_1__0 ) 3265 // InternalProblem.g:1012:3: ( rule__QualifiedName__Group_1__0 )
2704 { 3266 {
2705 before(grammarAccess.getQualifiedNameAccess().getGroup_1()); 3267 before(grammarAccess.getQualifiedNameAccess().getGroup_1());
2706 // InternalProblem.g:844:3: ( rule__QualifiedName__Group_1__0 ) 3268 // InternalProblem.g:1013:3: ( rule__QualifiedName__Group_1__0 )
2707 // InternalProblem.g:844:4: rule__QualifiedName__Group_1__0 3269 // InternalProblem.g:1013:4: rule__QualifiedName__Group_1__0
2708 { 3270 {
2709 pushFollow(FOLLOW_2); 3271 pushFollow(FOLLOW_2);
2710 rule__QualifiedName__Group_1__0(); 3272 rule__QualifiedName__Group_1__0();
@@ -2738,50 +3300,145 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2738 // $ANTLR end "rule__QualifiedName__Alternatives" 3300 // $ANTLR end "rule__QualifiedName__Alternatives"
2739 3301
2740 3302
3303 // $ANTLR start "rule__Identifier__Alternatives"
3304 // InternalProblem.g:1021:1: rule__Identifier__Alternatives : ( ( RULE_ID ) | ( 'true' ) | ( 'false' ) );
3305 public final void rule__Identifier__Alternatives() throws RecognitionException {
3306
3307 int stackSize = keepStackSize();
3308
3309 try {
3310 // InternalProblem.g:1025:1: ( ( RULE_ID ) | ( 'true' ) | ( 'false' ) )
3311 int alt15=3;
3312 switch ( input.LA(1) ) {
3313 case RULE_ID:
3314 {
3315 alt15=1;
3316 }
3317 break;
3318 case 19:
3319 {
3320 alt15=2;
3321 }
3322 break;
3323 case 20:
3324 {
3325 alt15=3;
3326 }
3327 break;
3328 default:
3329 NoViableAltException nvae =
3330 new NoViableAltException("", 15, 0, input);
3331
3332 throw nvae;
3333 }
3334
3335 switch (alt15) {
3336 case 1 :
3337 // InternalProblem.g:1026:2: ( RULE_ID )
3338 {
3339 // InternalProblem.g:1026:2: ( RULE_ID )
3340 // InternalProblem.g:1027:3: RULE_ID
3341 {
3342 before(grammarAccess.getIdentifierAccess().getIDTerminalRuleCall_0());
3343 match(input,RULE_ID,FOLLOW_2);
3344 after(grammarAccess.getIdentifierAccess().getIDTerminalRuleCall_0());
3345
3346 }
3347
3348
3349 }
3350 break;
3351 case 2 :
3352 // InternalProblem.g:1032:2: ( 'true' )
3353 {
3354 // InternalProblem.g:1032:2: ( 'true' )
3355 // InternalProblem.g:1033:3: 'true'
3356 {
3357 before(grammarAccess.getIdentifierAccess().getTrueKeyword_1());
3358 match(input,19,FOLLOW_2);
3359 after(grammarAccess.getIdentifierAccess().getTrueKeyword_1());
3360
3361 }
3362
3363
3364 }
3365 break;
3366 case 3 :
3367 // InternalProblem.g:1038:2: ( 'false' )
3368 {
3369 // InternalProblem.g:1038:2: ( 'false' )
3370 // InternalProblem.g:1039:3: 'false'
3371 {
3372 before(grammarAccess.getIdentifierAccess().getFalseKeyword_2());
3373 match(input,20,FOLLOW_2);
3374 after(grammarAccess.getIdentifierAccess().getFalseKeyword_2());
3375
3376 }
3377
3378
3379 }
3380 break;
3381
3382 }
3383 }
3384 catch (RecognitionException re) {
3385 reportError(re);
3386 recover(input,re);
3387 }
3388 finally {
3389
3390 restoreStackSize(stackSize);
3391
3392 }
3393 return ;
3394 }
3395 // $ANTLR end "rule__Identifier__Alternatives"
3396
3397
2741 // $ANTLR start "rule__LogicValue__Alternatives" 3398 // $ANTLR start "rule__LogicValue__Alternatives"
2742 // InternalProblem.g:852:1: rule__LogicValue__Alternatives : ( ( ( 'true' ) ) | ( ( 'false' ) ) | ( ( 'unknown' ) ) ); 3399 // InternalProblem.g:1048:1: rule__LogicValue__Alternatives : ( ( ( 'true' ) ) | ( ( 'false' ) ) | ( ( 'unknown' ) ) );
2743 public final void rule__LogicValue__Alternatives() throws RecognitionException { 3400 public final void rule__LogicValue__Alternatives() throws RecognitionException {
2744 3401
2745 int stackSize = keepStackSize(); 3402 int stackSize = keepStackSize();
2746 3403
2747 try { 3404 try {
2748 // InternalProblem.g:856:1: ( ( ( 'true' ) ) | ( ( 'false' ) ) | ( ( 'unknown' ) ) ) 3405 // InternalProblem.g:1052:1: ( ( ( 'true' ) ) | ( ( 'false' ) ) | ( ( 'unknown' ) ) )
2749 int alt12=3; 3406 int alt16=3;
2750 switch ( input.LA(1) ) { 3407 switch ( input.LA(1) ) {
2751 case 17: 3408 case 19:
2752 { 3409 {
2753 alt12=1; 3410 alt16=1;
2754 } 3411 }
2755 break; 3412 break;
2756 case 18: 3413 case 20:
2757 { 3414 {
2758 alt12=2; 3415 alt16=2;
2759 } 3416 }
2760 break; 3417 break;
2761 case 19: 3418 case 21:
2762 { 3419 {
2763 alt12=3; 3420 alt16=3;
2764 } 3421 }
2765 break; 3422 break;
2766 default: 3423 default:
2767 NoViableAltException nvae = 3424 NoViableAltException nvae =
2768 new NoViableAltException("", 12, 0, input); 3425 new NoViableAltException("", 16, 0, input);
2769 3426
2770 throw nvae; 3427 throw nvae;
2771 } 3428 }
2772 3429
2773 switch (alt12) { 3430 switch (alt16) {
2774 case 1 : 3431 case 1 :
2775 // InternalProblem.g:857:2: ( ( 'true' ) ) 3432 // InternalProblem.g:1053:2: ( ( 'true' ) )
2776 { 3433 {
2777 // InternalProblem.g:857:2: ( ( 'true' ) ) 3434 // InternalProblem.g:1053:2: ( ( 'true' ) )
2778 // InternalProblem.g:858:3: ( 'true' ) 3435 // InternalProblem.g:1054:3: ( 'true' )
2779 { 3436 {
2780 before(grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0()); 3437 before(grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0());
2781 // InternalProblem.g:859:3: ( 'true' ) 3438 // InternalProblem.g:1055:3: ( 'true' )
2782 // InternalProblem.g:859:4: 'true' 3439 // InternalProblem.g:1055:4: 'true'
2783 { 3440 {
2784 match(input,17,FOLLOW_2); 3441 match(input,19,FOLLOW_2);
2785 3442
2786 } 3443 }
2787 3444
@@ -2793,16 +3450,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2793 } 3450 }
2794 break; 3451 break;
2795 case 2 : 3452 case 2 :
2796 // InternalProblem.g:863:2: ( ( 'false' ) ) 3453 // InternalProblem.g:1059:2: ( ( 'false' ) )
2797 { 3454 {
2798 // InternalProblem.g:863:2: ( ( 'false' ) ) 3455 // InternalProblem.g:1059:2: ( ( 'false' ) )
2799 // InternalProblem.g:864:3: ( 'false' ) 3456 // InternalProblem.g:1060:3: ( 'false' )
2800 { 3457 {
2801 before(grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1()); 3458 before(grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1());
2802 // InternalProblem.g:865:3: ( 'false' ) 3459 // InternalProblem.g:1061:3: ( 'false' )
2803 // InternalProblem.g:865:4: 'false' 3460 // InternalProblem.g:1061:4: 'false'
2804 { 3461 {
2805 match(input,18,FOLLOW_2); 3462 match(input,20,FOLLOW_2);
2806 3463
2807 } 3464 }
2808 3465
@@ -2814,16 +3471,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2814 } 3471 }
2815 break; 3472 break;
2816 case 3 : 3473 case 3 :
2817 // InternalProblem.g:869:2: ( ( 'unknown' ) ) 3474 // InternalProblem.g:1065:2: ( ( 'unknown' ) )
2818 { 3475 {
2819 // InternalProblem.g:869:2: ( ( 'unknown' ) ) 3476 // InternalProblem.g:1065:2: ( ( 'unknown' ) )
2820 // InternalProblem.g:870:3: ( 'unknown' ) 3477 // InternalProblem.g:1066:3: ( 'unknown' )
2821 { 3478 {
2822 before(grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2()); 3479 before(grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2());
2823 // InternalProblem.g:871:3: ( 'unknown' ) 3480 // InternalProblem.g:1067:3: ( 'unknown' )
2824 // InternalProblem.g:871:4: 'unknown' 3481 // InternalProblem.g:1067:4: 'unknown'
2825 { 3482 {
2826 match(input,19,FOLLOW_2); 3483 match(input,21,FOLLOW_2);
2827 3484
2828 } 3485 }
2829 3486
@@ -2852,40 +3509,40 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2852 3509
2853 3510
2854 // $ANTLR start "rule__ShortLogicValue__Alternatives" 3511 // $ANTLR start "rule__ShortLogicValue__Alternatives"
2855 // InternalProblem.g:879:1: rule__ShortLogicValue__Alternatives : ( ( ( '!' ) ) | ( ( '?' ) ) ); 3512 // InternalProblem.g:1075:1: rule__ShortLogicValue__Alternatives : ( ( ( '!' ) ) | ( ( '?' ) ) );
2856 public final void rule__ShortLogicValue__Alternatives() throws RecognitionException { 3513 public final void rule__ShortLogicValue__Alternatives() throws RecognitionException {
2857 3514
2858 int stackSize = keepStackSize(); 3515 int stackSize = keepStackSize();
2859 3516
2860 try { 3517 try {
2861 // InternalProblem.g:883:1: ( ( ( '!' ) ) | ( ( '?' ) ) ) 3518 // InternalProblem.g:1079:1: ( ( ( '!' ) ) | ( ( '?' ) ) )
2862 int alt13=2; 3519 int alt17=2;
2863 int LA13_0 = input.LA(1); 3520 int LA17_0 = input.LA(1);
2864 3521
2865 if ( (LA13_0==20) ) { 3522 if ( (LA17_0==22) ) {
2866 alt13=1; 3523 alt17=1;
2867 } 3524 }
2868 else if ( (LA13_0==21) ) { 3525 else if ( (LA17_0==23) ) {
2869 alt13=2; 3526 alt17=2;
2870 } 3527 }
2871 else { 3528 else {
2872 NoViableAltException nvae = 3529 NoViableAltException nvae =
2873 new NoViableAltException("", 13, 0, input); 3530 new NoViableAltException("", 17, 0, input);
2874 3531
2875 throw nvae; 3532 throw nvae;
2876 } 3533 }
2877 switch (alt13) { 3534 switch (alt17) {
2878 case 1 : 3535 case 1 :
2879 // InternalProblem.g:884:2: ( ( '!' ) ) 3536 // InternalProblem.g:1080:2: ( ( '!' ) )
2880 { 3537 {
2881 // InternalProblem.g:884:2: ( ( '!' ) ) 3538 // InternalProblem.g:1080:2: ( ( '!' ) )
2882 // InternalProblem.g:885:3: ( '!' ) 3539 // InternalProblem.g:1081:3: ( '!' )
2883 { 3540 {
2884 before(grammarAccess.getShortLogicValueAccess().getFALSEEnumLiteralDeclaration_0()); 3541 before(grammarAccess.getShortLogicValueAccess().getFALSEEnumLiteralDeclaration_0());
2885 // InternalProblem.g:886:3: ( '!' ) 3542 // InternalProblem.g:1082:3: ( '!' )
2886 // InternalProblem.g:886:4: '!' 3543 // InternalProblem.g:1082:4: '!'
2887 { 3544 {
2888 match(input,20,FOLLOW_2); 3545 match(input,22,FOLLOW_2);
2889 3546
2890 } 3547 }
2891 3548
@@ -2897,16 +3554,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2897 } 3554 }
2898 break; 3555 break;
2899 case 2 : 3556 case 2 :
2900 // InternalProblem.g:890:2: ( ( '?' ) ) 3557 // InternalProblem.g:1086:2: ( ( '?' ) )
2901 { 3558 {
2902 // InternalProblem.g:890:2: ( ( '?' ) ) 3559 // InternalProblem.g:1086:2: ( ( '?' ) )
2903 // InternalProblem.g:891:3: ( '?' ) 3560 // InternalProblem.g:1087:3: ( '?' )
2904 { 3561 {
2905 before(grammarAccess.getShortLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_1()); 3562 before(grammarAccess.getShortLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_1());
2906 // InternalProblem.g:892:3: ( '?' ) 3563 // InternalProblem.g:1088:3: ( '?' )
2907 // InternalProblem.g:892:4: '?' 3564 // InternalProblem.g:1088:4: '?'
2908 { 3565 {
2909 match(input,21,FOLLOW_2); 3566 match(input,23,FOLLOW_2);
2910 3567
2911 } 3568 }
2912 3569
@@ -2935,14 +3592,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2935 3592
2936 3593
2937 // $ANTLR start "rule__Problem__Group__0" 3594 // $ANTLR start "rule__Problem__Group__0"
2938 // InternalProblem.g:900:1: rule__Problem__Group__0 : rule__Problem__Group__0__Impl rule__Problem__Group__1 ; 3595 // InternalProblem.g:1096:1: rule__Problem__Group__0 : rule__Problem__Group__0__Impl rule__Problem__Group__1 ;
2939 public final void rule__Problem__Group__0() throws RecognitionException { 3596 public final void rule__Problem__Group__0() throws RecognitionException {
2940 3597
2941 int stackSize = keepStackSize(); 3598 int stackSize = keepStackSize();
2942 3599
2943 try { 3600 try {
2944 // InternalProblem.g:904:1: ( rule__Problem__Group__0__Impl rule__Problem__Group__1 ) 3601 // InternalProblem.g:1100:1: ( rule__Problem__Group__0__Impl rule__Problem__Group__1 )
2945 // InternalProblem.g:905:2: rule__Problem__Group__0__Impl rule__Problem__Group__1 3602 // InternalProblem.g:1101:2: rule__Problem__Group__0__Impl rule__Problem__Group__1
2946 { 3603 {
2947 pushFollow(FOLLOW_3); 3604 pushFollow(FOLLOW_3);
2948 rule__Problem__Group__0__Impl(); 3605 rule__Problem__Group__0__Impl();
@@ -2973,29 +3630,29 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
2973 3630
2974 3631
2975 // $ANTLR start "rule__Problem__Group__0__Impl" 3632 // $ANTLR start "rule__Problem__Group__0__Impl"
2976 // InternalProblem.g:912:1: rule__Problem__Group__0__Impl : ( ( rule__Problem__Group_0__0 )? ) ; 3633 // InternalProblem.g:1108:1: rule__Problem__Group__0__Impl : ( ( rule__Problem__Group_0__0 )? ) ;
2977 public final void rule__Problem__Group__0__Impl() throws RecognitionException { 3634 public final void rule__Problem__Group__0__Impl() throws RecognitionException {
2978 3635
2979 int stackSize = keepStackSize(); 3636 int stackSize = keepStackSize();
2980 3637
2981 try { 3638 try {
2982 // InternalProblem.g:916:1: ( ( ( rule__Problem__Group_0__0 )? ) ) 3639 // InternalProblem.g:1112:1: ( ( ( rule__Problem__Group_0__0 )? ) )
2983 // InternalProblem.g:917:1: ( ( rule__Problem__Group_0__0 )? ) 3640 // InternalProblem.g:1113:1: ( ( rule__Problem__Group_0__0 )? )
2984 { 3641 {
2985 // InternalProblem.g:917:1: ( ( rule__Problem__Group_0__0 )? ) 3642 // InternalProblem.g:1113:1: ( ( rule__Problem__Group_0__0 )? )
2986 // InternalProblem.g:918:2: ( rule__Problem__Group_0__0 )? 3643 // InternalProblem.g:1114:2: ( rule__Problem__Group_0__0 )?
2987 { 3644 {
2988 before(grammarAccess.getProblemAccess().getGroup_0()); 3645 before(grammarAccess.getProblemAccess().getGroup_0());
2989 // InternalProblem.g:919:2: ( rule__Problem__Group_0__0 )? 3646 // InternalProblem.g:1115:2: ( rule__Problem__Group_0__0 )?
2990 int alt14=2; 3647 int alt18=2;
2991 int LA14_0 = input.LA(1); 3648 int LA18_0 = input.LA(1);
2992 3649
2993 if ( (LA14_0==22) ) { 3650 if ( (LA18_0==24) ) {
2994 alt14=1; 3651 alt18=1;
2995 } 3652 }
2996 switch (alt14) { 3653 switch (alt18) {
2997 case 1 : 3654 case 1 :
2998 // InternalProblem.g:919:3: rule__Problem__Group_0__0 3655 // InternalProblem.g:1115:3: rule__Problem__Group_0__0
2999 { 3656 {
3000 pushFollow(FOLLOW_2); 3657 pushFollow(FOLLOW_2);
3001 rule__Problem__Group_0__0(); 3658 rule__Problem__Group_0__0();
@@ -3031,14 +3688,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3031 3688
3032 3689
3033 // $ANTLR start "rule__Problem__Group__1" 3690 // $ANTLR start "rule__Problem__Group__1"
3034 // InternalProblem.g:927:1: rule__Problem__Group__1 : rule__Problem__Group__1__Impl ; 3691 // InternalProblem.g:1123:1: rule__Problem__Group__1 : rule__Problem__Group__1__Impl ;
3035 public final void rule__Problem__Group__1() throws RecognitionException { 3692 public final void rule__Problem__Group__1() throws RecognitionException {
3036 3693
3037 int stackSize = keepStackSize(); 3694 int stackSize = keepStackSize();
3038 3695
3039 try { 3696 try {
3040 // InternalProblem.g:931:1: ( rule__Problem__Group__1__Impl ) 3697 // InternalProblem.g:1127:1: ( rule__Problem__Group__1__Impl )
3041 // InternalProblem.g:932:2: rule__Problem__Group__1__Impl 3698 // InternalProblem.g:1128:2: rule__Problem__Group__1__Impl
3042 { 3699 {
3043 pushFollow(FOLLOW_2); 3700 pushFollow(FOLLOW_2);
3044 rule__Problem__Group__1__Impl(); 3701 rule__Problem__Group__1__Impl();
@@ -3064,33 +3721,33 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3064 3721
3065 3722
3066 // $ANTLR start "rule__Problem__Group__1__Impl" 3723 // $ANTLR start "rule__Problem__Group__1__Impl"
3067 // InternalProblem.g:938:1: rule__Problem__Group__1__Impl : ( ( rule__Problem__StatementsAssignment_1 )* ) ; 3724 // InternalProblem.g:1134:1: rule__Problem__Group__1__Impl : ( ( rule__Problem__StatementsAssignment_1 )* ) ;
3068 public final void rule__Problem__Group__1__Impl() throws RecognitionException { 3725 public final void rule__Problem__Group__1__Impl() throws RecognitionException {
3069 3726
3070 int stackSize = keepStackSize(); 3727 int stackSize = keepStackSize();
3071 3728
3072 try { 3729 try {
3073 // InternalProblem.g:942:1: ( ( ( rule__Problem__StatementsAssignment_1 )* ) ) 3730 // InternalProblem.g:1138:1: ( ( ( rule__Problem__StatementsAssignment_1 )* ) )
3074 // InternalProblem.g:943:1: ( ( rule__Problem__StatementsAssignment_1 )* ) 3731 // InternalProblem.g:1139:1: ( ( rule__Problem__StatementsAssignment_1 )* )
3075 { 3732 {
3076 // InternalProblem.g:943:1: ( ( rule__Problem__StatementsAssignment_1 )* ) 3733 // InternalProblem.g:1139:1: ( ( rule__Problem__StatementsAssignment_1 )* )
3077 // InternalProblem.g:944:2: ( rule__Problem__StatementsAssignment_1 )* 3734 // InternalProblem.g:1140:2: ( rule__Problem__StatementsAssignment_1 )*
3078 { 3735 {
3079 before(grammarAccess.getProblemAccess().getStatementsAssignment_1()); 3736 before(grammarAccess.getProblemAccess().getStatementsAssignment_1());
3080 // InternalProblem.g:945:2: ( rule__Problem__StatementsAssignment_1 )* 3737 // InternalProblem.g:1141:2: ( rule__Problem__StatementsAssignment_1 )*
3081 loop15: 3738 loop19:
3082 do { 3739 do {
3083 int alt15=2; 3740 int alt19=2;
3084 int LA15_0 = input.LA(1); 3741 int LA19_0 = input.LA(1);
3085 3742
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) ) { 3743 if ( ((LA19_0>=RULE_QUOTED_ID && LA19_0<=RULE_ID)||LA19_0==16||(LA19_0>=19 && LA19_0<=20)||(LA19_0>=22 && LA19_0<=23)||LA19_0==25||LA19_0==29||LA19_0==37||LA19_0==39||LA19_0==41) ) {
3087 alt15=1; 3744 alt19=1;
3088 } 3745 }
3089 3746
3090 3747
3091 switch (alt15) { 3748 switch (alt19) {
3092 case 1 : 3749 case 1 :
3093 // InternalProblem.g:945:3: rule__Problem__StatementsAssignment_1 3750 // InternalProblem.g:1141:3: rule__Problem__StatementsAssignment_1
3094 { 3751 {
3095 pushFollow(FOLLOW_4); 3752 pushFollow(FOLLOW_4);
3096 rule__Problem__StatementsAssignment_1(); 3753 rule__Problem__StatementsAssignment_1();
@@ -3102,7 +3759,7 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3102 break; 3759 break;
3103 3760
3104 default : 3761 default :
3105 break loop15; 3762 break loop19;
3106 } 3763 }
3107 } while (true); 3764 } while (true);
3108 3765
@@ -3129,14 +3786,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3129 3786
3130 3787
3131 // $ANTLR start "rule__Problem__Group_0__0" 3788 // $ANTLR start "rule__Problem__Group_0__0"
3132 // InternalProblem.g:954:1: rule__Problem__Group_0__0 : rule__Problem__Group_0__0__Impl rule__Problem__Group_0__1 ; 3789 // InternalProblem.g:1150:1: rule__Problem__Group_0__0 : rule__Problem__Group_0__0__Impl rule__Problem__Group_0__1 ;
3133 public final void rule__Problem__Group_0__0() throws RecognitionException { 3790 public final void rule__Problem__Group_0__0() throws RecognitionException {
3134 3791
3135 int stackSize = keepStackSize(); 3792 int stackSize = keepStackSize();
3136 3793
3137 try { 3794 try {
3138 // InternalProblem.g:958:1: ( rule__Problem__Group_0__0__Impl rule__Problem__Group_0__1 ) 3795 // InternalProblem.g:1154:1: ( rule__Problem__Group_0__0__Impl rule__Problem__Group_0__1 )
3139 // InternalProblem.g:959:2: rule__Problem__Group_0__0__Impl rule__Problem__Group_0__1 3796 // InternalProblem.g:1155:2: rule__Problem__Group_0__0__Impl rule__Problem__Group_0__1
3140 { 3797 {
3141 pushFollow(FOLLOW_5); 3798 pushFollow(FOLLOW_5);
3142 rule__Problem__Group_0__0__Impl(); 3799 rule__Problem__Group_0__0__Impl();
@@ -3167,20 +3824,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3167 3824
3168 3825
3169 // $ANTLR start "rule__Problem__Group_0__0__Impl" 3826 // $ANTLR start "rule__Problem__Group_0__0__Impl"
3170 // InternalProblem.g:966:1: rule__Problem__Group_0__0__Impl : ( 'problem' ) ; 3827 // InternalProblem.g:1162:1: rule__Problem__Group_0__0__Impl : ( 'problem' ) ;
3171 public final void rule__Problem__Group_0__0__Impl() throws RecognitionException { 3828 public final void rule__Problem__Group_0__0__Impl() throws RecognitionException {
3172 3829
3173 int stackSize = keepStackSize(); 3830 int stackSize = keepStackSize();
3174 3831
3175 try { 3832 try {
3176 // InternalProblem.g:970:1: ( ( 'problem' ) ) 3833 // InternalProblem.g:1166:1: ( ( 'problem' ) )
3177 // InternalProblem.g:971:1: ( 'problem' ) 3834 // InternalProblem.g:1167:1: ( 'problem' )
3178 { 3835 {
3179 // InternalProblem.g:971:1: ( 'problem' ) 3836 // InternalProblem.g:1167:1: ( 'problem' )
3180 // InternalProblem.g:972:2: 'problem' 3837 // InternalProblem.g:1168:2: 'problem'
3181 { 3838 {
3182 before(grammarAccess.getProblemAccess().getProblemKeyword_0_0()); 3839 before(grammarAccess.getProblemAccess().getProblemKeyword_0_0());
3183 match(input,22,FOLLOW_2); 3840 match(input,24,FOLLOW_2);
3184 after(grammarAccess.getProblemAccess().getProblemKeyword_0_0()); 3841 after(grammarAccess.getProblemAccess().getProblemKeyword_0_0());
3185 3842
3186 } 3843 }
@@ -3204,14 +3861,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3204 3861
3205 3862
3206 // $ANTLR start "rule__Problem__Group_0__1" 3863 // $ANTLR start "rule__Problem__Group_0__1"
3207 // InternalProblem.g:981:1: rule__Problem__Group_0__1 : rule__Problem__Group_0__1__Impl rule__Problem__Group_0__2 ; 3864 // InternalProblem.g:1177:1: rule__Problem__Group_0__1 : rule__Problem__Group_0__1__Impl rule__Problem__Group_0__2 ;
3208 public final void rule__Problem__Group_0__1() throws RecognitionException { 3865 public final void rule__Problem__Group_0__1() throws RecognitionException {
3209 3866
3210 int stackSize = keepStackSize(); 3867 int stackSize = keepStackSize();
3211 3868
3212 try { 3869 try {
3213 // InternalProblem.g:985:1: ( rule__Problem__Group_0__1__Impl rule__Problem__Group_0__2 ) 3870 // InternalProblem.g:1181:1: ( rule__Problem__Group_0__1__Impl rule__Problem__Group_0__2 )
3214 // InternalProblem.g:986:2: rule__Problem__Group_0__1__Impl rule__Problem__Group_0__2 3871 // InternalProblem.g:1182:2: rule__Problem__Group_0__1__Impl rule__Problem__Group_0__2
3215 { 3872 {
3216 pushFollow(FOLLOW_6); 3873 pushFollow(FOLLOW_6);
3217 rule__Problem__Group_0__1__Impl(); 3874 rule__Problem__Group_0__1__Impl();
@@ -3242,21 +3899,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3242 3899
3243 3900
3244 // $ANTLR start "rule__Problem__Group_0__1__Impl" 3901 // $ANTLR start "rule__Problem__Group_0__1__Impl"
3245 // InternalProblem.g:993:1: rule__Problem__Group_0__1__Impl : ( ( rule__Problem__NameAssignment_0_1 ) ) ; 3902 // InternalProblem.g:1189:1: rule__Problem__Group_0__1__Impl : ( ( rule__Problem__NameAssignment_0_1 ) ) ;
3246 public final void rule__Problem__Group_0__1__Impl() throws RecognitionException { 3903 public final void rule__Problem__Group_0__1__Impl() throws RecognitionException {
3247 3904
3248 int stackSize = keepStackSize(); 3905 int stackSize = keepStackSize();
3249 3906
3250 try { 3907 try {
3251 // InternalProblem.g:997:1: ( ( ( rule__Problem__NameAssignment_0_1 ) ) ) 3908 // InternalProblem.g:1193:1: ( ( ( rule__Problem__NameAssignment_0_1 ) ) )
3252 // InternalProblem.g:998:1: ( ( rule__Problem__NameAssignment_0_1 ) ) 3909 // InternalProblem.g:1194:1: ( ( rule__Problem__NameAssignment_0_1 ) )
3253 { 3910 {
3254 // InternalProblem.g:998:1: ( ( rule__Problem__NameAssignment_0_1 ) ) 3911 // InternalProblem.g:1194:1: ( ( rule__Problem__NameAssignment_0_1 ) )
3255 // InternalProblem.g:999:2: ( rule__Problem__NameAssignment_0_1 ) 3912 // InternalProblem.g:1195:2: ( rule__Problem__NameAssignment_0_1 )
3256 { 3913 {
3257 before(grammarAccess.getProblemAccess().getNameAssignment_0_1()); 3914 before(grammarAccess.getProblemAccess().getNameAssignment_0_1());
3258 // InternalProblem.g:1000:2: ( rule__Problem__NameAssignment_0_1 ) 3915 // InternalProblem.g:1196:2: ( rule__Problem__NameAssignment_0_1 )
3259 // InternalProblem.g:1000:3: rule__Problem__NameAssignment_0_1 3916 // InternalProblem.g:1196:3: rule__Problem__NameAssignment_0_1
3260 { 3917 {
3261 pushFollow(FOLLOW_2); 3918 pushFollow(FOLLOW_2);
3262 rule__Problem__NameAssignment_0_1(); 3919 rule__Problem__NameAssignment_0_1();
@@ -3289,14 +3946,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3289 3946
3290 3947
3291 // $ANTLR start "rule__Problem__Group_0__2" 3948 // $ANTLR start "rule__Problem__Group_0__2"
3292 // InternalProblem.g:1008:1: rule__Problem__Group_0__2 : rule__Problem__Group_0__2__Impl ; 3949 // InternalProblem.g:1204:1: rule__Problem__Group_0__2 : rule__Problem__Group_0__2__Impl ;
3293 public final void rule__Problem__Group_0__2() throws RecognitionException { 3950 public final void rule__Problem__Group_0__2() throws RecognitionException {
3294 3951
3295 int stackSize = keepStackSize(); 3952 int stackSize = keepStackSize();
3296 3953
3297 try { 3954 try {
3298 // InternalProblem.g:1012:1: ( rule__Problem__Group_0__2__Impl ) 3955 // InternalProblem.g:1208:1: ( rule__Problem__Group_0__2__Impl )
3299 // InternalProblem.g:1013:2: rule__Problem__Group_0__2__Impl 3956 // InternalProblem.g:1209:2: rule__Problem__Group_0__2__Impl
3300 { 3957 {
3301 pushFollow(FOLLOW_2); 3958 pushFollow(FOLLOW_2);
3302 rule__Problem__Group_0__2__Impl(); 3959 rule__Problem__Group_0__2__Impl();
@@ -3322,17 +3979,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3322 3979
3323 3980
3324 // $ANTLR start "rule__Problem__Group_0__2__Impl" 3981 // $ANTLR start "rule__Problem__Group_0__2__Impl"
3325 // InternalProblem.g:1019:1: rule__Problem__Group_0__2__Impl : ( '.' ) ; 3982 // InternalProblem.g:1215:1: rule__Problem__Group_0__2__Impl : ( '.' ) ;
3326 public final void rule__Problem__Group_0__2__Impl() throws RecognitionException { 3983 public final void rule__Problem__Group_0__2__Impl() throws RecognitionException {
3327 3984
3328 int stackSize = keepStackSize(); 3985 int stackSize = keepStackSize();
3329 3986
3330 try { 3987 try {
3331 // InternalProblem.g:1023:1: ( ( '.' ) ) 3988 // InternalProblem.g:1219:1: ( ( '.' ) )
3332 // InternalProblem.g:1024:1: ( '.' ) 3989 // InternalProblem.g:1220:1: ( '.' )
3333 { 3990 {
3334 // InternalProblem.g:1024:1: ( '.' ) 3991 // InternalProblem.g:1220:1: ( '.' )
3335 // InternalProblem.g:1025:2: '.' 3992 // InternalProblem.g:1221:2: '.'
3336 { 3993 {
3337 before(grammarAccess.getProblemAccess().getFullStopKeyword_0_2()); 3994 before(grammarAccess.getProblemAccess().getFullStopKeyword_0_2());
3338 match(input,12,FOLLOW_2); 3995 match(input,12,FOLLOW_2);
@@ -3359,14 +4016,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3359 4016
3360 4017
3361 // $ANTLR start "rule__ClassDeclaration__Group__0" 4018 // $ANTLR start "rule__ClassDeclaration__Group__0"
3362 // InternalProblem.g:1035:1: rule__ClassDeclaration__Group__0 : rule__ClassDeclaration__Group__0__Impl rule__ClassDeclaration__Group__1 ; 4019 // InternalProblem.g:1231:1: rule__ClassDeclaration__Group__0 : rule__ClassDeclaration__Group__0__Impl rule__ClassDeclaration__Group__1 ;
3363 public final void rule__ClassDeclaration__Group__0() throws RecognitionException { 4020 public final void rule__ClassDeclaration__Group__0() throws RecognitionException {
3364 4021
3365 int stackSize = keepStackSize(); 4022 int stackSize = keepStackSize();
3366 4023
3367 try { 4024 try {
3368 // InternalProblem.g:1039:1: ( rule__ClassDeclaration__Group__0__Impl rule__ClassDeclaration__Group__1 ) 4025 // InternalProblem.g:1235:1: ( rule__ClassDeclaration__Group__0__Impl rule__ClassDeclaration__Group__1 )
3369 // InternalProblem.g:1040:2: rule__ClassDeclaration__Group__0__Impl rule__ClassDeclaration__Group__1 4026 // InternalProblem.g:1236:2: rule__ClassDeclaration__Group__0__Impl rule__ClassDeclaration__Group__1
3370 { 4027 {
3371 pushFollow(FOLLOW_7); 4028 pushFollow(FOLLOW_7);
3372 rule__ClassDeclaration__Group__0__Impl(); 4029 rule__ClassDeclaration__Group__0__Impl();
@@ -3397,29 +4054,29 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3397 4054
3398 4055
3399 // $ANTLR start "rule__ClassDeclaration__Group__0__Impl" 4056 // $ANTLR start "rule__ClassDeclaration__Group__0__Impl"
3400 // InternalProblem.g:1047:1: rule__ClassDeclaration__Group__0__Impl : ( ( rule__ClassDeclaration__AbstractAssignment_0 )? ) ; 4057 // InternalProblem.g:1243:1: rule__ClassDeclaration__Group__0__Impl : ( ( rule__ClassDeclaration__AbstractAssignment_0 )? ) ;
3401 public final void rule__ClassDeclaration__Group__0__Impl() throws RecognitionException { 4058 public final void rule__ClassDeclaration__Group__0__Impl() throws RecognitionException {
3402 4059
3403 int stackSize = keepStackSize(); 4060 int stackSize = keepStackSize();
3404 4061
3405 try { 4062 try {
3406 // InternalProblem.g:1051:1: ( ( ( rule__ClassDeclaration__AbstractAssignment_0 )? ) ) 4063 // InternalProblem.g:1247:1: ( ( ( rule__ClassDeclaration__AbstractAssignment_0 )? ) )
3407 // InternalProblem.g:1052:1: ( ( rule__ClassDeclaration__AbstractAssignment_0 )? ) 4064 // InternalProblem.g:1248:1: ( ( rule__ClassDeclaration__AbstractAssignment_0 )? )
3408 { 4065 {
3409 // InternalProblem.g:1052:1: ( ( rule__ClassDeclaration__AbstractAssignment_0 )? ) 4066 // InternalProblem.g:1248:1: ( ( rule__ClassDeclaration__AbstractAssignment_0 )? )
3410 // InternalProblem.g:1053:2: ( rule__ClassDeclaration__AbstractAssignment_0 )? 4067 // InternalProblem.g:1249:2: ( rule__ClassDeclaration__AbstractAssignment_0 )?
3411 { 4068 {
3412 before(grammarAccess.getClassDeclarationAccess().getAbstractAssignment_0()); 4069 before(grammarAccess.getClassDeclarationAccess().getAbstractAssignment_0());
3413 // InternalProblem.g:1054:2: ( rule__ClassDeclaration__AbstractAssignment_0 )? 4070 // InternalProblem.g:1250:2: ( rule__ClassDeclaration__AbstractAssignment_0 )?
3414 int alt16=2; 4071 int alt20=2;
3415 int LA16_0 = input.LA(1); 4072 int LA20_0 = input.LA(1);
3416 4073
3417 if ( (LA16_0==38) ) { 4074 if ( (LA20_0==39) ) {
3418 alt16=1; 4075 alt20=1;
3419 } 4076 }
3420 switch (alt16) { 4077 switch (alt20) {
3421 case 1 : 4078 case 1 :
3422 // InternalProblem.g:1054:3: rule__ClassDeclaration__AbstractAssignment_0 4079 // InternalProblem.g:1250:3: rule__ClassDeclaration__AbstractAssignment_0
3423 { 4080 {
3424 pushFollow(FOLLOW_2); 4081 pushFollow(FOLLOW_2);
3425 rule__ClassDeclaration__AbstractAssignment_0(); 4082 rule__ClassDeclaration__AbstractAssignment_0();
@@ -3455,14 +4112,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3455 4112
3456 4113
3457 // $ANTLR start "rule__ClassDeclaration__Group__1" 4114 // $ANTLR start "rule__ClassDeclaration__Group__1"
3458 // InternalProblem.g:1062:1: rule__ClassDeclaration__Group__1 : rule__ClassDeclaration__Group__1__Impl rule__ClassDeclaration__Group__2 ; 4115 // InternalProblem.g:1258:1: rule__ClassDeclaration__Group__1 : rule__ClassDeclaration__Group__1__Impl rule__ClassDeclaration__Group__2 ;
3459 public final void rule__ClassDeclaration__Group__1() throws RecognitionException { 4116 public final void rule__ClassDeclaration__Group__1() throws RecognitionException {
3460 4117
3461 int stackSize = keepStackSize(); 4118 int stackSize = keepStackSize();
3462 4119
3463 try { 4120 try {
3464 // InternalProblem.g:1066:1: ( rule__ClassDeclaration__Group__1__Impl rule__ClassDeclaration__Group__2 ) 4121 // InternalProblem.g:1262:1: ( rule__ClassDeclaration__Group__1__Impl rule__ClassDeclaration__Group__2 )
3465 // InternalProblem.g:1067:2: rule__ClassDeclaration__Group__1__Impl rule__ClassDeclaration__Group__2 4122 // InternalProblem.g:1263:2: rule__ClassDeclaration__Group__1__Impl rule__ClassDeclaration__Group__2
3466 { 4123 {
3467 pushFollow(FOLLOW_5); 4124 pushFollow(FOLLOW_5);
3468 rule__ClassDeclaration__Group__1__Impl(); 4125 rule__ClassDeclaration__Group__1__Impl();
@@ -3493,20 +4150,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3493 4150
3494 4151
3495 // $ANTLR start "rule__ClassDeclaration__Group__1__Impl" 4152 // $ANTLR start "rule__ClassDeclaration__Group__1__Impl"
3496 // InternalProblem.g:1074:1: rule__ClassDeclaration__Group__1__Impl : ( 'class' ) ; 4153 // InternalProblem.g:1270:1: rule__ClassDeclaration__Group__1__Impl : ( 'class' ) ;
3497 public final void rule__ClassDeclaration__Group__1__Impl() throws RecognitionException { 4154 public final void rule__ClassDeclaration__Group__1__Impl() throws RecognitionException {
3498 4155
3499 int stackSize = keepStackSize(); 4156 int stackSize = keepStackSize();
3500 4157
3501 try { 4158 try {
3502 // InternalProblem.g:1078:1: ( ( 'class' ) ) 4159 // InternalProblem.g:1274:1: ( ( 'class' ) )
3503 // InternalProblem.g:1079:1: ( 'class' ) 4160 // InternalProblem.g:1275:1: ( 'class' )
3504 { 4161 {
3505 // InternalProblem.g:1079:1: ( 'class' ) 4162 // InternalProblem.g:1275:1: ( 'class' )
3506 // InternalProblem.g:1080:2: 'class' 4163 // InternalProblem.g:1276:2: 'class'
3507 { 4164 {
3508 before(grammarAccess.getClassDeclarationAccess().getClassKeyword_1()); 4165 before(grammarAccess.getClassDeclarationAccess().getClassKeyword_1());
3509 match(input,23,FOLLOW_2); 4166 match(input,25,FOLLOW_2);
3510 after(grammarAccess.getClassDeclarationAccess().getClassKeyword_1()); 4167 after(grammarAccess.getClassDeclarationAccess().getClassKeyword_1());
3511 4168
3512 } 4169 }
@@ -3530,14 +4187,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3530 4187
3531 4188
3532 // $ANTLR start "rule__ClassDeclaration__Group__2" 4189 // $ANTLR start "rule__ClassDeclaration__Group__2"
3533 // InternalProblem.g:1089:1: rule__ClassDeclaration__Group__2 : rule__ClassDeclaration__Group__2__Impl rule__ClassDeclaration__Group__3 ; 4190 // InternalProblem.g:1285:1: rule__ClassDeclaration__Group__2 : rule__ClassDeclaration__Group__2__Impl rule__ClassDeclaration__Group__3 ;
3534 public final void rule__ClassDeclaration__Group__2() throws RecognitionException { 4191 public final void rule__ClassDeclaration__Group__2() throws RecognitionException {
3535 4192
3536 int stackSize = keepStackSize(); 4193 int stackSize = keepStackSize();
3537 4194
3538 try { 4195 try {
3539 // InternalProblem.g:1093:1: ( rule__ClassDeclaration__Group__2__Impl rule__ClassDeclaration__Group__3 ) 4196 // InternalProblem.g:1289:1: ( rule__ClassDeclaration__Group__2__Impl rule__ClassDeclaration__Group__3 )
3540 // InternalProblem.g:1094:2: rule__ClassDeclaration__Group__2__Impl rule__ClassDeclaration__Group__3 4197 // InternalProblem.g:1290:2: rule__ClassDeclaration__Group__2__Impl rule__ClassDeclaration__Group__3
3541 { 4198 {
3542 pushFollow(FOLLOW_8); 4199 pushFollow(FOLLOW_8);
3543 rule__ClassDeclaration__Group__2__Impl(); 4200 rule__ClassDeclaration__Group__2__Impl();
@@ -3568,21 +4225,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3568 4225
3569 4226
3570 // $ANTLR start "rule__ClassDeclaration__Group__2__Impl" 4227 // $ANTLR start "rule__ClassDeclaration__Group__2__Impl"
3571 // InternalProblem.g:1101:1: rule__ClassDeclaration__Group__2__Impl : ( ( rule__ClassDeclaration__NameAssignment_2 ) ) ; 4228 // InternalProblem.g:1297:1: rule__ClassDeclaration__Group__2__Impl : ( ( rule__ClassDeclaration__NameAssignment_2 ) ) ;
3572 public final void rule__ClassDeclaration__Group__2__Impl() throws RecognitionException { 4229 public final void rule__ClassDeclaration__Group__2__Impl() throws RecognitionException {
3573 4230
3574 int stackSize = keepStackSize(); 4231 int stackSize = keepStackSize();
3575 4232
3576 try { 4233 try {
3577 // InternalProblem.g:1105:1: ( ( ( rule__ClassDeclaration__NameAssignment_2 ) ) ) 4234 // InternalProblem.g:1301:1: ( ( ( rule__ClassDeclaration__NameAssignment_2 ) ) )
3578 // InternalProblem.g:1106:1: ( ( rule__ClassDeclaration__NameAssignment_2 ) ) 4235 // InternalProblem.g:1302:1: ( ( rule__ClassDeclaration__NameAssignment_2 ) )
3579 { 4236 {
3580 // InternalProblem.g:1106:1: ( ( rule__ClassDeclaration__NameAssignment_2 ) ) 4237 // InternalProblem.g:1302:1: ( ( rule__ClassDeclaration__NameAssignment_2 ) )
3581 // InternalProblem.g:1107:2: ( rule__ClassDeclaration__NameAssignment_2 ) 4238 // InternalProblem.g:1303:2: ( rule__ClassDeclaration__NameAssignment_2 )
3582 { 4239 {
3583 before(grammarAccess.getClassDeclarationAccess().getNameAssignment_2()); 4240 before(grammarAccess.getClassDeclarationAccess().getNameAssignment_2());
3584 // InternalProblem.g:1108:2: ( rule__ClassDeclaration__NameAssignment_2 ) 4241 // InternalProblem.g:1304:2: ( rule__ClassDeclaration__NameAssignment_2 )
3585 // InternalProblem.g:1108:3: rule__ClassDeclaration__NameAssignment_2 4242 // InternalProblem.g:1304:3: rule__ClassDeclaration__NameAssignment_2
3586 { 4243 {
3587 pushFollow(FOLLOW_2); 4244 pushFollow(FOLLOW_2);
3588 rule__ClassDeclaration__NameAssignment_2(); 4245 rule__ClassDeclaration__NameAssignment_2();
@@ -3615,14 +4272,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3615 4272
3616 4273
3617 // $ANTLR start "rule__ClassDeclaration__Group__3" 4274 // $ANTLR start "rule__ClassDeclaration__Group__3"
3618 // InternalProblem.g:1116:1: rule__ClassDeclaration__Group__3 : rule__ClassDeclaration__Group__3__Impl rule__ClassDeclaration__Group__4 ; 4275 // InternalProblem.g:1312:1: rule__ClassDeclaration__Group__3 : rule__ClassDeclaration__Group__3__Impl rule__ClassDeclaration__Group__4 ;
3619 public final void rule__ClassDeclaration__Group__3() throws RecognitionException { 4276 public final void rule__ClassDeclaration__Group__3() throws RecognitionException {
3620 4277
3621 int stackSize = keepStackSize(); 4278 int stackSize = keepStackSize();
3622 4279
3623 try { 4280 try {
3624 // InternalProblem.g:1120:1: ( rule__ClassDeclaration__Group__3__Impl rule__ClassDeclaration__Group__4 ) 4281 // InternalProblem.g:1316:1: ( rule__ClassDeclaration__Group__3__Impl rule__ClassDeclaration__Group__4 )
3625 // InternalProblem.g:1121:2: rule__ClassDeclaration__Group__3__Impl rule__ClassDeclaration__Group__4 4282 // InternalProblem.g:1317:2: rule__ClassDeclaration__Group__3__Impl rule__ClassDeclaration__Group__4
3626 { 4283 {
3627 pushFollow(FOLLOW_8); 4284 pushFollow(FOLLOW_8);
3628 rule__ClassDeclaration__Group__3__Impl(); 4285 rule__ClassDeclaration__Group__3__Impl();
@@ -3653,29 +4310,29 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3653 4310
3654 4311
3655 // $ANTLR start "rule__ClassDeclaration__Group__3__Impl" 4312 // $ANTLR start "rule__ClassDeclaration__Group__3__Impl"
3656 // InternalProblem.g:1128:1: rule__ClassDeclaration__Group__3__Impl : ( ( rule__ClassDeclaration__Group_3__0 )? ) ; 4313 // InternalProblem.g:1324:1: rule__ClassDeclaration__Group__3__Impl : ( ( rule__ClassDeclaration__Group_3__0 )? ) ;
3657 public final void rule__ClassDeclaration__Group__3__Impl() throws RecognitionException { 4314 public final void rule__ClassDeclaration__Group__3__Impl() throws RecognitionException {
3658 4315
3659 int stackSize = keepStackSize(); 4316 int stackSize = keepStackSize();
3660 4317
3661 try { 4318 try {
3662 // InternalProblem.g:1132:1: ( ( ( rule__ClassDeclaration__Group_3__0 )? ) ) 4319 // InternalProblem.g:1328:1: ( ( ( rule__ClassDeclaration__Group_3__0 )? ) )
3663 // InternalProblem.g:1133:1: ( ( rule__ClassDeclaration__Group_3__0 )? ) 4320 // InternalProblem.g:1329:1: ( ( rule__ClassDeclaration__Group_3__0 )? )
3664 { 4321 {
3665 // InternalProblem.g:1133:1: ( ( rule__ClassDeclaration__Group_3__0 )? ) 4322 // InternalProblem.g:1329:1: ( ( rule__ClassDeclaration__Group_3__0 )? )
3666 // InternalProblem.g:1134:2: ( rule__ClassDeclaration__Group_3__0 )? 4323 // InternalProblem.g:1330:2: ( rule__ClassDeclaration__Group_3__0 )?
3667 { 4324 {
3668 before(grammarAccess.getClassDeclarationAccess().getGroup_3()); 4325 before(grammarAccess.getClassDeclarationAccess().getGroup_3());
3669 // InternalProblem.g:1135:2: ( rule__ClassDeclaration__Group_3__0 )? 4326 // InternalProblem.g:1331:2: ( rule__ClassDeclaration__Group_3__0 )?
3670 int alt17=2; 4327 int alt21=2;
3671 int LA17_0 = input.LA(1); 4328 int LA21_0 = input.LA(1);
3672 4329
3673 if ( (LA17_0==24) ) { 4330 if ( (LA21_0==26) ) {
3674 alt17=1; 4331 alt21=1;
3675 } 4332 }
3676 switch (alt17) { 4333 switch (alt21) {
3677 case 1 : 4334 case 1 :
3678 // InternalProblem.g:1135:3: rule__ClassDeclaration__Group_3__0 4335 // InternalProblem.g:1331:3: rule__ClassDeclaration__Group_3__0
3679 { 4336 {
3680 pushFollow(FOLLOW_2); 4337 pushFollow(FOLLOW_2);
3681 rule__ClassDeclaration__Group_3__0(); 4338 rule__ClassDeclaration__Group_3__0();
@@ -3711,14 +4368,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3711 4368
3712 4369
3713 // $ANTLR start "rule__ClassDeclaration__Group__4" 4370 // $ANTLR start "rule__ClassDeclaration__Group__4"
3714 // InternalProblem.g:1143:1: rule__ClassDeclaration__Group__4 : rule__ClassDeclaration__Group__4__Impl ; 4371 // InternalProblem.g:1339:1: rule__ClassDeclaration__Group__4 : rule__ClassDeclaration__Group__4__Impl ;
3715 public final void rule__ClassDeclaration__Group__4() throws RecognitionException { 4372 public final void rule__ClassDeclaration__Group__4() throws RecognitionException {
3716 4373
3717 int stackSize = keepStackSize(); 4374 int stackSize = keepStackSize();
3718 4375
3719 try { 4376 try {
3720 // InternalProblem.g:1147:1: ( rule__ClassDeclaration__Group__4__Impl ) 4377 // InternalProblem.g:1343:1: ( rule__ClassDeclaration__Group__4__Impl )
3721 // InternalProblem.g:1148:2: rule__ClassDeclaration__Group__4__Impl 4378 // InternalProblem.g:1344:2: rule__ClassDeclaration__Group__4__Impl
3722 { 4379 {
3723 pushFollow(FOLLOW_2); 4380 pushFollow(FOLLOW_2);
3724 rule__ClassDeclaration__Group__4__Impl(); 4381 rule__ClassDeclaration__Group__4__Impl();
@@ -3744,21 +4401,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3744 4401
3745 4402
3746 // $ANTLR start "rule__ClassDeclaration__Group__4__Impl" 4403 // $ANTLR start "rule__ClassDeclaration__Group__4__Impl"
3747 // InternalProblem.g:1154:1: rule__ClassDeclaration__Group__4__Impl : ( ( rule__ClassDeclaration__Alternatives_4 ) ) ; 4404 // InternalProblem.g:1350:1: rule__ClassDeclaration__Group__4__Impl : ( ( rule__ClassDeclaration__Alternatives_4 ) ) ;
3748 public final void rule__ClassDeclaration__Group__4__Impl() throws RecognitionException { 4405 public final void rule__ClassDeclaration__Group__4__Impl() throws RecognitionException {
3749 4406
3750 int stackSize = keepStackSize(); 4407 int stackSize = keepStackSize();
3751 4408
3752 try { 4409 try {
3753 // InternalProblem.g:1158:1: ( ( ( rule__ClassDeclaration__Alternatives_4 ) ) ) 4410 // InternalProblem.g:1354:1: ( ( ( rule__ClassDeclaration__Alternatives_4 ) ) )
3754 // InternalProblem.g:1159:1: ( ( rule__ClassDeclaration__Alternatives_4 ) ) 4411 // InternalProblem.g:1355:1: ( ( rule__ClassDeclaration__Alternatives_4 ) )
3755 { 4412 {
3756 // InternalProblem.g:1159:1: ( ( rule__ClassDeclaration__Alternatives_4 ) ) 4413 // InternalProblem.g:1355:1: ( ( rule__ClassDeclaration__Alternatives_4 ) )
3757 // InternalProblem.g:1160:2: ( rule__ClassDeclaration__Alternatives_4 ) 4414 // InternalProblem.g:1356:2: ( rule__ClassDeclaration__Alternatives_4 )
3758 { 4415 {
3759 before(grammarAccess.getClassDeclarationAccess().getAlternatives_4()); 4416 before(grammarAccess.getClassDeclarationAccess().getAlternatives_4());
3760 // InternalProblem.g:1161:2: ( rule__ClassDeclaration__Alternatives_4 ) 4417 // InternalProblem.g:1357:2: ( rule__ClassDeclaration__Alternatives_4 )
3761 // InternalProblem.g:1161:3: rule__ClassDeclaration__Alternatives_4 4418 // InternalProblem.g:1357:3: rule__ClassDeclaration__Alternatives_4
3762 { 4419 {
3763 pushFollow(FOLLOW_2); 4420 pushFollow(FOLLOW_2);
3764 rule__ClassDeclaration__Alternatives_4(); 4421 rule__ClassDeclaration__Alternatives_4();
@@ -3791,16 +4448,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3791 4448
3792 4449
3793 // $ANTLR start "rule__ClassDeclaration__Group_3__0" 4450 // $ANTLR start "rule__ClassDeclaration__Group_3__0"
3794 // InternalProblem.g:1170:1: rule__ClassDeclaration__Group_3__0 : rule__ClassDeclaration__Group_3__0__Impl rule__ClassDeclaration__Group_3__1 ; 4451 // InternalProblem.g:1366:1: rule__ClassDeclaration__Group_3__0 : rule__ClassDeclaration__Group_3__0__Impl rule__ClassDeclaration__Group_3__1 ;
3795 public final void rule__ClassDeclaration__Group_3__0() throws RecognitionException { 4452 public final void rule__ClassDeclaration__Group_3__0() throws RecognitionException {
3796 4453
3797 int stackSize = keepStackSize(); 4454 int stackSize = keepStackSize();
3798 4455
3799 try { 4456 try {
3800 // InternalProblem.g:1174:1: ( rule__ClassDeclaration__Group_3__0__Impl rule__ClassDeclaration__Group_3__1 ) 4457 // InternalProblem.g:1370:1: ( rule__ClassDeclaration__Group_3__0__Impl rule__ClassDeclaration__Group_3__1 )
3801 // InternalProblem.g:1175:2: rule__ClassDeclaration__Group_3__0__Impl rule__ClassDeclaration__Group_3__1 4458 // InternalProblem.g:1371:2: rule__ClassDeclaration__Group_3__0__Impl rule__ClassDeclaration__Group_3__1
3802 { 4459 {
3803 pushFollow(FOLLOW_9); 4460 pushFollow(FOLLOW_5);
3804 rule__ClassDeclaration__Group_3__0__Impl(); 4461 rule__ClassDeclaration__Group_3__0__Impl();
3805 4462
3806 state._fsp--; 4463 state._fsp--;
@@ -3829,20 +4486,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3829 4486
3830 4487
3831 // $ANTLR start "rule__ClassDeclaration__Group_3__0__Impl" 4488 // $ANTLR start "rule__ClassDeclaration__Group_3__0__Impl"
3832 // InternalProblem.g:1182:1: rule__ClassDeclaration__Group_3__0__Impl : ( 'extends' ) ; 4489 // InternalProblem.g:1378:1: rule__ClassDeclaration__Group_3__0__Impl : ( 'extends' ) ;
3833 public final void rule__ClassDeclaration__Group_3__0__Impl() throws RecognitionException { 4490 public final void rule__ClassDeclaration__Group_3__0__Impl() throws RecognitionException {
3834 4491
3835 int stackSize = keepStackSize(); 4492 int stackSize = keepStackSize();
3836 4493
3837 try { 4494 try {
3838 // InternalProblem.g:1186:1: ( ( 'extends' ) ) 4495 // InternalProblem.g:1382:1: ( ( 'extends' ) )
3839 // InternalProblem.g:1187:1: ( 'extends' ) 4496 // InternalProblem.g:1383:1: ( 'extends' )
3840 { 4497 {
3841 // InternalProblem.g:1187:1: ( 'extends' ) 4498 // InternalProblem.g:1383:1: ( 'extends' )
3842 // InternalProblem.g:1188:2: 'extends' 4499 // InternalProblem.g:1384:2: 'extends'
3843 { 4500 {
3844 before(grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0()); 4501 before(grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0());
3845 match(input,24,FOLLOW_2); 4502 match(input,26,FOLLOW_2);
3846 after(grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0()); 4503 after(grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0());
3847 4504
3848 } 4505 }
@@ -3866,16 +4523,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3866 4523
3867 4524
3868 // $ANTLR start "rule__ClassDeclaration__Group_3__1" 4525 // $ANTLR start "rule__ClassDeclaration__Group_3__1"
3869 // InternalProblem.g:1197:1: rule__ClassDeclaration__Group_3__1 : rule__ClassDeclaration__Group_3__1__Impl rule__ClassDeclaration__Group_3__2 ; 4526 // InternalProblem.g:1393:1: rule__ClassDeclaration__Group_3__1 : rule__ClassDeclaration__Group_3__1__Impl rule__ClassDeclaration__Group_3__2 ;
3870 public final void rule__ClassDeclaration__Group_3__1() throws RecognitionException { 4527 public final void rule__ClassDeclaration__Group_3__1() throws RecognitionException {
3871 4528
3872 int stackSize = keepStackSize(); 4529 int stackSize = keepStackSize();
3873 4530
3874 try { 4531 try {
3875 // InternalProblem.g:1201:1: ( rule__ClassDeclaration__Group_3__1__Impl rule__ClassDeclaration__Group_3__2 ) 4532 // InternalProblem.g:1397:1: ( rule__ClassDeclaration__Group_3__1__Impl rule__ClassDeclaration__Group_3__2 )
3876 // InternalProblem.g:1202:2: rule__ClassDeclaration__Group_3__1__Impl rule__ClassDeclaration__Group_3__2 4533 // InternalProblem.g:1398:2: rule__ClassDeclaration__Group_3__1__Impl rule__ClassDeclaration__Group_3__2
3877 { 4534 {
3878 pushFollow(FOLLOW_10); 4535 pushFollow(FOLLOW_9);
3879 rule__ClassDeclaration__Group_3__1__Impl(); 4536 rule__ClassDeclaration__Group_3__1__Impl();
3880 4537
3881 state._fsp--; 4538 state._fsp--;
@@ -3904,21 +4561,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3904 4561
3905 4562
3906 // $ANTLR start "rule__ClassDeclaration__Group_3__1__Impl" 4563 // $ANTLR start "rule__ClassDeclaration__Group_3__1__Impl"
3907 // InternalProblem.g:1209:1: rule__ClassDeclaration__Group_3__1__Impl : ( ( rule__ClassDeclaration__SuperTypesAssignment_3_1 ) ) ; 4564 // InternalProblem.g:1405:1: rule__ClassDeclaration__Group_3__1__Impl : ( ( rule__ClassDeclaration__SuperTypesAssignment_3_1 ) ) ;
3908 public final void rule__ClassDeclaration__Group_3__1__Impl() throws RecognitionException { 4565 public final void rule__ClassDeclaration__Group_3__1__Impl() throws RecognitionException {
3909 4566
3910 int stackSize = keepStackSize(); 4567 int stackSize = keepStackSize();
3911 4568
3912 try { 4569 try {
3913 // InternalProblem.g:1213:1: ( ( ( rule__ClassDeclaration__SuperTypesAssignment_3_1 ) ) ) 4570 // InternalProblem.g:1409:1: ( ( ( rule__ClassDeclaration__SuperTypesAssignment_3_1 ) ) )
3914 // InternalProblem.g:1214:1: ( ( rule__ClassDeclaration__SuperTypesAssignment_3_1 ) ) 4571 // InternalProblem.g:1410:1: ( ( rule__ClassDeclaration__SuperTypesAssignment_3_1 ) )
3915 { 4572 {
3916 // InternalProblem.g:1214:1: ( ( rule__ClassDeclaration__SuperTypesAssignment_3_1 ) ) 4573 // InternalProblem.g:1410:1: ( ( rule__ClassDeclaration__SuperTypesAssignment_3_1 ) )
3917 // InternalProblem.g:1215:2: ( rule__ClassDeclaration__SuperTypesAssignment_3_1 ) 4574 // InternalProblem.g:1411:2: ( rule__ClassDeclaration__SuperTypesAssignment_3_1 )
3918 { 4575 {
3919 before(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_1()); 4576 before(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_1());
3920 // InternalProblem.g:1216:2: ( rule__ClassDeclaration__SuperTypesAssignment_3_1 ) 4577 // InternalProblem.g:1412:2: ( rule__ClassDeclaration__SuperTypesAssignment_3_1 )
3921 // InternalProblem.g:1216:3: rule__ClassDeclaration__SuperTypesAssignment_3_1 4578 // InternalProblem.g:1412:3: rule__ClassDeclaration__SuperTypesAssignment_3_1
3922 { 4579 {
3923 pushFollow(FOLLOW_2); 4580 pushFollow(FOLLOW_2);
3924 rule__ClassDeclaration__SuperTypesAssignment_3_1(); 4581 rule__ClassDeclaration__SuperTypesAssignment_3_1();
@@ -3951,14 +4608,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3951 4608
3952 4609
3953 // $ANTLR start "rule__ClassDeclaration__Group_3__2" 4610 // $ANTLR start "rule__ClassDeclaration__Group_3__2"
3954 // InternalProblem.g:1224:1: rule__ClassDeclaration__Group_3__2 : rule__ClassDeclaration__Group_3__2__Impl ; 4611 // InternalProblem.g:1420:1: rule__ClassDeclaration__Group_3__2 : rule__ClassDeclaration__Group_3__2__Impl ;
3955 public final void rule__ClassDeclaration__Group_3__2() throws RecognitionException { 4612 public final void rule__ClassDeclaration__Group_3__2() throws RecognitionException {
3956 4613
3957 int stackSize = keepStackSize(); 4614 int stackSize = keepStackSize();
3958 4615
3959 try { 4616 try {
3960 // InternalProblem.g:1228:1: ( rule__ClassDeclaration__Group_3__2__Impl ) 4617 // InternalProblem.g:1424:1: ( rule__ClassDeclaration__Group_3__2__Impl )
3961 // InternalProblem.g:1229:2: rule__ClassDeclaration__Group_3__2__Impl 4618 // InternalProblem.g:1425:2: rule__ClassDeclaration__Group_3__2__Impl
3962 { 4619 {
3963 pushFollow(FOLLOW_2); 4620 pushFollow(FOLLOW_2);
3964 rule__ClassDeclaration__Group_3__2__Impl(); 4621 rule__ClassDeclaration__Group_3__2__Impl();
@@ -3984,35 +4641,35 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
3984 4641
3985 4642
3986 // $ANTLR start "rule__ClassDeclaration__Group_3__2__Impl" 4643 // $ANTLR start "rule__ClassDeclaration__Group_3__2__Impl"
3987 // InternalProblem.g:1235:1: rule__ClassDeclaration__Group_3__2__Impl : ( ( rule__ClassDeclaration__Group_3_2__0 )* ) ; 4644 // InternalProblem.g:1431:1: rule__ClassDeclaration__Group_3__2__Impl : ( ( rule__ClassDeclaration__Group_3_2__0 )* ) ;
3988 public final void rule__ClassDeclaration__Group_3__2__Impl() throws RecognitionException { 4645 public final void rule__ClassDeclaration__Group_3__2__Impl() throws RecognitionException {
3989 4646
3990 int stackSize = keepStackSize(); 4647 int stackSize = keepStackSize();
3991 4648
3992 try { 4649 try {
3993 // InternalProblem.g:1239:1: ( ( ( rule__ClassDeclaration__Group_3_2__0 )* ) ) 4650 // InternalProblem.g:1435:1: ( ( ( rule__ClassDeclaration__Group_3_2__0 )* ) )
3994 // InternalProblem.g:1240:1: ( ( rule__ClassDeclaration__Group_3_2__0 )* ) 4651 // InternalProblem.g:1436:1: ( ( rule__ClassDeclaration__Group_3_2__0 )* )
3995 { 4652 {
3996 // InternalProblem.g:1240:1: ( ( rule__ClassDeclaration__Group_3_2__0 )* ) 4653 // InternalProblem.g:1436:1: ( ( rule__ClassDeclaration__Group_3_2__0 )* )
3997 // InternalProblem.g:1241:2: ( rule__ClassDeclaration__Group_3_2__0 )* 4654 // InternalProblem.g:1437:2: ( rule__ClassDeclaration__Group_3_2__0 )*
3998 { 4655 {
3999 before(grammarAccess.getClassDeclarationAccess().getGroup_3_2()); 4656 before(grammarAccess.getClassDeclarationAccess().getGroup_3_2());
4000 // InternalProblem.g:1242:2: ( rule__ClassDeclaration__Group_3_2__0 )* 4657 // InternalProblem.g:1438:2: ( rule__ClassDeclaration__Group_3_2__0 )*
4001 loop18: 4658 loop22:
4002 do { 4659 do {
4003 int alt18=2; 4660 int alt22=2;
4004 int LA18_0 = input.LA(1); 4661 int LA22_0 = input.LA(1);
4005 4662
4006 if ( (LA18_0==25) ) { 4663 if ( (LA22_0==13) ) {
4007 alt18=1; 4664 alt22=1;
4008 } 4665 }
4009 4666
4010 4667
4011 switch (alt18) { 4668 switch (alt22) {
4012 case 1 : 4669 case 1 :
4013 // InternalProblem.g:1242:3: rule__ClassDeclaration__Group_3_2__0 4670 // InternalProblem.g:1438:3: rule__ClassDeclaration__Group_3_2__0
4014 { 4671 {
4015 pushFollow(FOLLOW_11); 4672 pushFollow(FOLLOW_10);
4016 rule__ClassDeclaration__Group_3_2__0(); 4673 rule__ClassDeclaration__Group_3_2__0();
4017 4674
4018 state._fsp--; 4675 state._fsp--;
@@ -4022,7 +4679,7 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4022 break; 4679 break;
4023 4680
4024 default : 4681 default :
4025 break loop18; 4682 break loop22;
4026 } 4683 }
4027 } while (true); 4684 } while (true);
4028 4685
@@ -4049,16 +4706,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4049 4706
4050 4707
4051 // $ANTLR start "rule__ClassDeclaration__Group_3_2__0" 4708 // $ANTLR start "rule__ClassDeclaration__Group_3_2__0"
4052 // InternalProblem.g:1251:1: rule__ClassDeclaration__Group_3_2__0 : rule__ClassDeclaration__Group_3_2__0__Impl rule__ClassDeclaration__Group_3_2__1 ; 4709 // InternalProblem.g:1447:1: rule__ClassDeclaration__Group_3_2__0 : rule__ClassDeclaration__Group_3_2__0__Impl rule__ClassDeclaration__Group_3_2__1 ;
4053 public final void rule__ClassDeclaration__Group_3_2__0() throws RecognitionException { 4710 public final void rule__ClassDeclaration__Group_3_2__0() throws RecognitionException {
4054 4711
4055 int stackSize = keepStackSize(); 4712 int stackSize = keepStackSize();
4056 4713
4057 try { 4714 try {
4058 // InternalProblem.g:1255:1: ( rule__ClassDeclaration__Group_3_2__0__Impl rule__ClassDeclaration__Group_3_2__1 ) 4715 // InternalProblem.g:1451:1: ( rule__ClassDeclaration__Group_3_2__0__Impl rule__ClassDeclaration__Group_3_2__1 )
4059 // InternalProblem.g:1256:2: rule__ClassDeclaration__Group_3_2__0__Impl rule__ClassDeclaration__Group_3_2__1 4716 // InternalProblem.g:1452:2: rule__ClassDeclaration__Group_3_2__0__Impl rule__ClassDeclaration__Group_3_2__1
4060 { 4717 {
4061 pushFollow(FOLLOW_9); 4718 pushFollow(FOLLOW_5);
4062 rule__ClassDeclaration__Group_3_2__0__Impl(); 4719 rule__ClassDeclaration__Group_3_2__0__Impl();
4063 4720
4064 state._fsp--; 4721 state._fsp--;
@@ -4087,20 +4744,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4087 4744
4088 4745
4089 // $ANTLR start "rule__ClassDeclaration__Group_3_2__0__Impl" 4746 // $ANTLR start "rule__ClassDeclaration__Group_3_2__0__Impl"
4090 // InternalProblem.g:1263:1: rule__ClassDeclaration__Group_3_2__0__Impl : ( ',' ) ; 4747 // InternalProblem.g:1459:1: rule__ClassDeclaration__Group_3_2__0__Impl : ( ',' ) ;
4091 public final void rule__ClassDeclaration__Group_3_2__0__Impl() throws RecognitionException { 4748 public final void rule__ClassDeclaration__Group_3_2__0__Impl() throws RecognitionException {
4092 4749
4093 int stackSize = keepStackSize(); 4750 int stackSize = keepStackSize();
4094 4751
4095 try { 4752 try {
4096 // InternalProblem.g:1267:1: ( ( ',' ) ) 4753 // InternalProblem.g:1463:1: ( ( ',' ) )
4097 // InternalProblem.g:1268:1: ( ',' ) 4754 // InternalProblem.g:1464:1: ( ',' )
4098 { 4755 {
4099 // InternalProblem.g:1268:1: ( ',' ) 4756 // InternalProblem.g:1464:1: ( ',' )
4100 // InternalProblem.g:1269:2: ',' 4757 // InternalProblem.g:1465:2: ','
4101 { 4758 {
4102 before(grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_2_0()); 4759 before(grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_2_0());
4103 match(input,25,FOLLOW_2); 4760 match(input,13,FOLLOW_2);
4104 after(grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_2_0()); 4761 after(grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_2_0());
4105 4762
4106 } 4763 }
@@ -4124,14 +4781,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4124 4781
4125 4782
4126 // $ANTLR start "rule__ClassDeclaration__Group_3_2__1" 4783 // $ANTLR start "rule__ClassDeclaration__Group_3_2__1"
4127 // InternalProblem.g:1278:1: rule__ClassDeclaration__Group_3_2__1 : rule__ClassDeclaration__Group_3_2__1__Impl ; 4784 // InternalProblem.g:1474:1: rule__ClassDeclaration__Group_3_2__1 : rule__ClassDeclaration__Group_3_2__1__Impl ;
4128 public final void rule__ClassDeclaration__Group_3_2__1() throws RecognitionException { 4785 public final void rule__ClassDeclaration__Group_3_2__1() throws RecognitionException {
4129 4786
4130 int stackSize = keepStackSize(); 4787 int stackSize = keepStackSize();
4131 4788
4132 try { 4789 try {
4133 // InternalProblem.g:1282:1: ( rule__ClassDeclaration__Group_3_2__1__Impl ) 4790 // InternalProblem.g:1478:1: ( rule__ClassDeclaration__Group_3_2__1__Impl )
4134 // InternalProblem.g:1283:2: rule__ClassDeclaration__Group_3_2__1__Impl 4791 // InternalProblem.g:1479:2: rule__ClassDeclaration__Group_3_2__1__Impl
4135 { 4792 {
4136 pushFollow(FOLLOW_2); 4793 pushFollow(FOLLOW_2);
4137 rule__ClassDeclaration__Group_3_2__1__Impl(); 4794 rule__ClassDeclaration__Group_3_2__1__Impl();
@@ -4157,21 +4814,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4157 4814
4158 4815
4159 // $ANTLR start "rule__ClassDeclaration__Group_3_2__1__Impl" 4816 // $ANTLR start "rule__ClassDeclaration__Group_3_2__1__Impl"
4160 // InternalProblem.g:1289:1: rule__ClassDeclaration__Group_3_2__1__Impl : ( ( rule__ClassDeclaration__SuperTypesAssignment_3_2_1 ) ) ; 4817 // InternalProblem.g:1485:1: rule__ClassDeclaration__Group_3_2__1__Impl : ( ( rule__ClassDeclaration__SuperTypesAssignment_3_2_1 ) ) ;
4161 public final void rule__ClassDeclaration__Group_3_2__1__Impl() throws RecognitionException { 4818 public final void rule__ClassDeclaration__Group_3_2__1__Impl() throws RecognitionException {
4162 4819
4163 int stackSize = keepStackSize(); 4820 int stackSize = keepStackSize();
4164 4821
4165 try { 4822 try {
4166 // InternalProblem.g:1293:1: ( ( ( rule__ClassDeclaration__SuperTypesAssignment_3_2_1 ) ) ) 4823 // InternalProblem.g:1489:1: ( ( ( rule__ClassDeclaration__SuperTypesAssignment_3_2_1 ) ) )
4167 // InternalProblem.g:1294:1: ( ( rule__ClassDeclaration__SuperTypesAssignment_3_2_1 ) ) 4824 // InternalProblem.g:1490:1: ( ( rule__ClassDeclaration__SuperTypesAssignment_3_2_1 ) )
4168 { 4825 {
4169 // InternalProblem.g:1294:1: ( ( rule__ClassDeclaration__SuperTypesAssignment_3_2_1 ) ) 4826 // InternalProblem.g:1490:1: ( ( rule__ClassDeclaration__SuperTypesAssignment_3_2_1 ) )
4170 // InternalProblem.g:1295:2: ( rule__ClassDeclaration__SuperTypesAssignment_3_2_1 ) 4827 // InternalProblem.g:1491:2: ( rule__ClassDeclaration__SuperTypesAssignment_3_2_1 )
4171 { 4828 {
4172 before(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_2_1()); 4829 before(grammarAccess.getClassDeclarationAccess().getSuperTypesAssignment_3_2_1());
4173 // InternalProblem.g:1296:2: ( rule__ClassDeclaration__SuperTypesAssignment_3_2_1 ) 4830 // InternalProblem.g:1492:2: ( rule__ClassDeclaration__SuperTypesAssignment_3_2_1 )
4174 // InternalProblem.g:1296:3: rule__ClassDeclaration__SuperTypesAssignment_3_2_1 4831 // InternalProblem.g:1492:3: rule__ClassDeclaration__SuperTypesAssignment_3_2_1
4175 { 4832 {
4176 pushFollow(FOLLOW_2); 4833 pushFollow(FOLLOW_2);
4177 rule__ClassDeclaration__SuperTypesAssignment_3_2_1(); 4834 rule__ClassDeclaration__SuperTypesAssignment_3_2_1();
@@ -4204,16 +4861,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4204 4861
4205 4862
4206 // $ANTLR start "rule__ClassDeclaration__Group_4_0__0" 4863 // $ANTLR start "rule__ClassDeclaration__Group_4_0__0"
4207 // InternalProblem.g:1305:1: rule__ClassDeclaration__Group_4_0__0 : rule__ClassDeclaration__Group_4_0__0__Impl rule__ClassDeclaration__Group_4_0__1 ; 4864 // InternalProblem.g:1501:1: rule__ClassDeclaration__Group_4_0__0 : rule__ClassDeclaration__Group_4_0__0__Impl rule__ClassDeclaration__Group_4_0__1 ;
4208 public final void rule__ClassDeclaration__Group_4_0__0() throws RecognitionException { 4865 public final void rule__ClassDeclaration__Group_4_0__0() throws RecognitionException {
4209 4866
4210 int stackSize = keepStackSize(); 4867 int stackSize = keepStackSize();
4211 4868
4212 try { 4869 try {
4213 // InternalProblem.g:1309:1: ( rule__ClassDeclaration__Group_4_0__0__Impl rule__ClassDeclaration__Group_4_0__1 ) 4870 // InternalProblem.g:1505:1: ( rule__ClassDeclaration__Group_4_0__0__Impl rule__ClassDeclaration__Group_4_0__1 )
4214 // InternalProblem.g:1310:2: rule__ClassDeclaration__Group_4_0__0__Impl rule__ClassDeclaration__Group_4_0__1 4871 // InternalProblem.g:1506:2: rule__ClassDeclaration__Group_4_0__0__Impl rule__ClassDeclaration__Group_4_0__1
4215 { 4872 {
4216 pushFollow(FOLLOW_12); 4873 pushFollow(FOLLOW_11);
4217 rule__ClassDeclaration__Group_4_0__0__Impl(); 4874 rule__ClassDeclaration__Group_4_0__0__Impl();
4218 4875
4219 state._fsp--; 4876 state._fsp--;
@@ -4242,20 +4899,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4242 4899
4243 4900
4244 // $ANTLR start "rule__ClassDeclaration__Group_4_0__0__Impl" 4901 // $ANTLR start "rule__ClassDeclaration__Group_4_0__0__Impl"
4245 // InternalProblem.g:1317:1: rule__ClassDeclaration__Group_4_0__0__Impl : ( '{' ) ; 4902 // InternalProblem.g:1513:1: rule__ClassDeclaration__Group_4_0__0__Impl : ( '{' ) ;
4246 public final void rule__ClassDeclaration__Group_4_0__0__Impl() throws RecognitionException { 4903 public final void rule__ClassDeclaration__Group_4_0__0__Impl() throws RecognitionException {
4247 4904
4248 int stackSize = keepStackSize(); 4905 int stackSize = keepStackSize();
4249 4906
4250 try { 4907 try {
4251 // InternalProblem.g:1321:1: ( ( '{' ) ) 4908 // InternalProblem.g:1517:1: ( ( '{' ) )
4252 // InternalProblem.g:1322:1: ( '{' ) 4909 // InternalProblem.g:1518:1: ( '{' )
4253 { 4910 {
4254 // InternalProblem.g:1322:1: ( '{' ) 4911 // InternalProblem.g:1518:1: ( '{' )
4255 // InternalProblem.g:1323:2: '{' 4912 // InternalProblem.g:1519:2: '{'
4256 { 4913 {
4257 before(grammarAccess.getClassDeclarationAccess().getLeftCurlyBracketKeyword_4_0_0()); 4914 before(grammarAccess.getClassDeclarationAccess().getLeftCurlyBracketKeyword_4_0_0());
4258 match(input,26,FOLLOW_2); 4915 match(input,27,FOLLOW_2);
4259 after(grammarAccess.getClassDeclarationAccess().getLeftCurlyBracketKeyword_4_0_0()); 4916 after(grammarAccess.getClassDeclarationAccess().getLeftCurlyBracketKeyword_4_0_0());
4260 4917
4261 } 4918 }
@@ -4279,16 +4936,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4279 4936
4280 4937
4281 // $ANTLR start "rule__ClassDeclaration__Group_4_0__1" 4938 // $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 ; 4939 // InternalProblem.g:1528: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 { 4940 public final void rule__ClassDeclaration__Group_4_0__1() throws RecognitionException {
4284 4941
4285 int stackSize = keepStackSize(); 4942 int stackSize = keepStackSize();
4286 4943
4287 try { 4944 try {
4288 // InternalProblem.g:1336:1: ( rule__ClassDeclaration__Group_4_0__1__Impl rule__ClassDeclaration__Group_4_0__2 ) 4945 // InternalProblem.g:1532: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 4946 // InternalProblem.g:1533:2: rule__ClassDeclaration__Group_4_0__1__Impl rule__ClassDeclaration__Group_4_0__2
4290 { 4947 {
4291 pushFollow(FOLLOW_12); 4948 pushFollow(FOLLOW_11);
4292 rule__ClassDeclaration__Group_4_0__1__Impl(); 4949 rule__ClassDeclaration__Group_4_0__1__Impl();
4293 4950
4294 state._fsp--; 4951 state._fsp--;
@@ -4317,35 +4974,35 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4317 4974
4318 4975
4319 // $ANTLR start "rule__ClassDeclaration__Group_4_0__1__Impl" 4976 // $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 )* ) ; 4977 // InternalProblem.g:1540: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 { 4978 public final void rule__ClassDeclaration__Group_4_0__1__Impl() throws RecognitionException {
4322 4979
4323 int stackSize = keepStackSize(); 4980 int stackSize = keepStackSize();
4324 4981
4325 try { 4982 try {
4326 // InternalProblem.g:1348:1: ( ( ( rule__ClassDeclaration__Group_4_0_1__0 )* ) ) 4983 // InternalProblem.g:1544:1: ( ( ( rule__ClassDeclaration__Group_4_0_1__0 )* ) )
4327 // InternalProblem.g:1349:1: ( ( rule__ClassDeclaration__Group_4_0_1__0 )* ) 4984 // InternalProblem.g:1545:1: ( ( rule__ClassDeclaration__Group_4_0_1__0 )* )
4328 { 4985 {
4329 // InternalProblem.g:1349:1: ( ( rule__ClassDeclaration__Group_4_0_1__0 )* ) 4986 // InternalProblem.g:1545:1: ( ( rule__ClassDeclaration__Group_4_0_1__0 )* )
4330 // InternalProblem.g:1350:2: ( rule__ClassDeclaration__Group_4_0_1__0 )* 4987 // InternalProblem.g:1546:2: ( rule__ClassDeclaration__Group_4_0_1__0 )*
4331 { 4988 {
4332 before(grammarAccess.getClassDeclarationAccess().getGroup_4_0_1()); 4989 before(grammarAccess.getClassDeclarationAccess().getGroup_4_0_1());
4333 // InternalProblem.g:1351:2: ( rule__ClassDeclaration__Group_4_0_1__0 )* 4990 // InternalProblem.g:1547:2: ( rule__ClassDeclaration__Group_4_0_1__0 )*
4334 loop19: 4991 loop23:
4335 do { 4992 do {
4336 int alt19=2; 4993 int alt23=2;
4337 int LA19_0 = input.LA(1); 4994 int LA23_0 = input.LA(1);
4338 4995
4339 if ( (LA19_0==13||LA19_0==39) ) { 4996 if ( ((LA23_0>=RULE_QUOTED_ID && LA23_0<=RULE_ID)||LA23_0==15||(LA23_0>=19 && LA23_0<=20)||LA23_0==40) ) {
4340 alt19=1; 4997 alt23=1;
4341 } 4998 }
4342 4999
4343 5000
4344 switch (alt19) { 5001 switch (alt23) {
4345 case 1 : 5002 case 1 :
4346 // InternalProblem.g:1351:3: rule__ClassDeclaration__Group_4_0_1__0 5003 // InternalProblem.g:1547:3: rule__ClassDeclaration__Group_4_0_1__0
4347 { 5004 {
4348 pushFollow(FOLLOW_13); 5005 pushFollow(FOLLOW_12);
4349 rule__ClassDeclaration__Group_4_0_1__0(); 5006 rule__ClassDeclaration__Group_4_0_1__0();
4350 5007
4351 state._fsp--; 5008 state._fsp--;
@@ -4355,7 +5012,7 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4355 break; 5012 break;
4356 5013
4357 default : 5014 default :
4358 break loop19; 5015 break loop23;
4359 } 5016 }
4360 } while (true); 5017 } while (true);
4361 5018
@@ -4382,14 +5039,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4382 5039
4383 5040
4384 // $ANTLR start "rule__ClassDeclaration__Group_4_0__2" 5041 // $ANTLR start "rule__ClassDeclaration__Group_4_0__2"
4385 // InternalProblem.g:1359:1: rule__ClassDeclaration__Group_4_0__2 : rule__ClassDeclaration__Group_4_0__2__Impl ; 5042 // InternalProblem.g:1555:1: rule__ClassDeclaration__Group_4_0__2 : rule__ClassDeclaration__Group_4_0__2__Impl ;
4386 public final void rule__ClassDeclaration__Group_4_0__2() throws RecognitionException { 5043 public final void rule__ClassDeclaration__Group_4_0__2() throws RecognitionException {
4387 5044
4388 int stackSize = keepStackSize(); 5045 int stackSize = keepStackSize();
4389 5046
4390 try { 5047 try {
4391 // InternalProblem.g:1363:1: ( rule__ClassDeclaration__Group_4_0__2__Impl ) 5048 // InternalProblem.g:1559:1: ( rule__ClassDeclaration__Group_4_0__2__Impl )
4392 // InternalProblem.g:1364:2: rule__ClassDeclaration__Group_4_0__2__Impl 5049 // InternalProblem.g:1560:2: rule__ClassDeclaration__Group_4_0__2__Impl
4393 { 5050 {
4394 pushFollow(FOLLOW_2); 5051 pushFollow(FOLLOW_2);
4395 rule__ClassDeclaration__Group_4_0__2__Impl(); 5052 rule__ClassDeclaration__Group_4_0__2__Impl();
@@ -4415,20 +5072,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4415 5072
4416 5073
4417 // $ANTLR start "rule__ClassDeclaration__Group_4_0__2__Impl" 5074 // $ANTLR start "rule__ClassDeclaration__Group_4_0__2__Impl"
4418 // InternalProblem.g:1370:1: rule__ClassDeclaration__Group_4_0__2__Impl : ( '}' ) ; 5075 // InternalProblem.g:1566:1: rule__ClassDeclaration__Group_4_0__2__Impl : ( '}' ) ;
4419 public final void rule__ClassDeclaration__Group_4_0__2__Impl() throws RecognitionException { 5076 public final void rule__ClassDeclaration__Group_4_0__2__Impl() throws RecognitionException {
4420 5077
4421 int stackSize = keepStackSize(); 5078 int stackSize = keepStackSize();
4422 5079
4423 try { 5080 try {
4424 // InternalProblem.g:1374:1: ( ( '}' ) ) 5081 // InternalProblem.g:1570:1: ( ( '}' ) )
4425 // InternalProblem.g:1375:1: ( '}' ) 5082 // InternalProblem.g:1571:1: ( '}' )
4426 { 5083 {
4427 // InternalProblem.g:1375:1: ( '}' ) 5084 // InternalProblem.g:1571:1: ( '}' )
4428 // InternalProblem.g:1376:2: '}' 5085 // InternalProblem.g:1572:2: '}'
4429 { 5086 {
4430 before(grammarAccess.getClassDeclarationAccess().getRightCurlyBracketKeyword_4_0_2()); 5087 before(grammarAccess.getClassDeclarationAccess().getRightCurlyBracketKeyword_4_0_2());
4431 match(input,27,FOLLOW_2); 5088 match(input,28,FOLLOW_2);
4432 after(grammarAccess.getClassDeclarationAccess().getRightCurlyBracketKeyword_4_0_2()); 5089 after(grammarAccess.getClassDeclarationAccess().getRightCurlyBracketKeyword_4_0_2());
4433 5090
4434 } 5091 }
@@ -4452,16 +5109,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4452 5109
4453 5110
4454 // $ANTLR start "rule__ClassDeclaration__Group_4_0_1__0" 5111 // $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 ; 5112 // InternalProblem.g:1582: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 { 5113 public final void rule__ClassDeclaration__Group_4_0_1__0() throws RecognitionException {
4457 5114
4458 int stackSize = keepStackSize(); 5115 int stackSize = keepStackSize();
4459 5116
4460 try { 5117 try {
4461 // InternalProblem.g:1390:1: ( rule__ClassDeclaration__Group_4_0_1__0__Impl rule__ClassDeclaration__Group_4_0_1__1 ) 5118 // InternalProblem.g:1586: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 5119 // InternalProblem.g:1587:2: rule__ClassDeclaration__Group_4_0_1__0__Impl rule__ClassDeclaration__Group_4_0_1__1
4463 { 5120 {
4464 pushFollow(FOLLOW_14); 5121 pushFollow(FOLLOW_13);
4465 rule__ClassDeclaration__Group_4_0_1__0__Impl(); 5122 rule__ClassDeclaration__Group_4_0_1__0__Impl();
4466 5123
4467 state._fsp--; 5124 state._fsp--;
@@ -4490,21 +5147,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4490 5147
4491 5148
4492 // $ANTLR start "rule__ClassDeclaration__Group_4_0_1__0__Impl" 5149 // $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 ) ) ; 5150 // InternalProblem.g:1594: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 { 5151 public final void rule__ClassDeclaration__Group_4_0_1__0__Impl() throws RecognitionException {
4495 5152
4496 int stackSize = keepStackSize(); 5153 int stackSize = keepStackSize();
4497 5154
4498 try { 5155 try {
4499 // InternalProblem.g:1402:1: ( ( ( rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0 ) ) ) 5156 // InternalProblem.g:1598:1: ( ( ( rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0 ) ) )
4500 // InternalProblem.g:1403:1: ( ( rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0 ) ) 5157 // InternalProblem.g:1599:1: ( ( rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0 ) )
4501 { 5158 {
4502 // InternalProblem.g:1403:1: ( ( rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0 ) ) 5159 // InternalProblem.g:1599:1: ( ( rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0 ) )
4503 // InternalProblem.g:1404:2: ( rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0 ) 5160 // InternalProblem.g:1600:2: ( rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0 )
4504 { 5161 {
4505 before(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsAssignment_4_0_1_0()); 5162 before(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsAssignment_4_0_1_0());
4506 // InternalProblem.g:1405:2: ( rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0 ) 5163 // InternalProblem.g:1601:2: ( rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0 )
4507 // InternalProblem.g:1405:3: rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0 5164 // InternalProblem.g:1601:3: rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0
4508 { 5165 {
4509 pushFollow(FOLLOW_2); 5166 pushFollow(FOLLOW_2);
4510 rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0(); 5167 rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0();
@@ -4537,14 +5194,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4537 5194
4538 5195
4539 // $ANTLR start "rule__ClassDeclaration__Group_4_0_1__1" 5196 // $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 ; 5197 // InternalProblem.g:1609: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 { 5198 public final void rule__ClassDeclaration__Group_4_0_1__1() throws RecognitionException {
4542 5199
4543 int stackSize = keepStackSize(); 5200 int stackSize = keepStackSize();
4544 5201
4545 try { 5202 try {
4546 // InternalProblem.g:1417:1: ( rule__ClassDeclaration__Group_4_0_1__1__Impl ) 5203 // InternalProblem.g:1613:1: ( rule__ClassDeclaration__Group_4_0_1__1__Impl )
4547 // InternalProblem.g:1418:2: rule__ClassDeclaration__Group_4_0_1__1__Impl 5204 // InternalProblem.g:1614:2: rule__ClassDeclaration__Group_4_0_1__1__Impl
4548 { 5205 {
4549 pushFollow(FOLLOW_2); 5206 pushFollow(FOLLOW_2);
4550 rule__ClassDeclaration__Group_4_0_1__1__Impl(); 5207 rule__ClassDeclaration__Group_4_0_1__1__Impl();
@@ -4570,31 +5227,31 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4570 5227
4571 5228
4572 // $ANTLR start "rule__ClassDeclaration__Group_4_0_1__1__Impl" 5229 // $ANTLR start "rule__ClassDeclaration__Group_4_0_1__1__Impl"
4573 // InternalProblem.g:1424:1: rule__ClassDeclaration__Group_4_0_1__1__Impl : ( ( ';' )? ) ; 5230 // InternalProblem.g:1620:1: rule__ClassDeclaration__Group_4_0_1__1__Impl : ( ( ';' )? ) ;
4574 public final void rule__ClassDeclaration__Group_4_0_1__1__Impl() throws RecognitionException { 5231 public final void rule__ClassDeclaration__Group_4_0_1__1__Impl() throws RecognitionException {
4575 5232
4576 int stackSize = keepStackSize(); 5233 int stackSize = keepStackSize();
4577 5234
4578 try { 5235 try {
4579 // InternalProblem.g:1428:1: ( ( ( ';' )? ) ) 5236 // InternalProblem.g:1624:1: ( ( ( ';' )? ) )
4580 // InternalProblem.g:1429:1: ( ( ';' )? ) 5237 // InternalProblem.g:1625:1: ( ( ';' )? )
4581 { 5238 {
4582 // InternalProblem.g:1429:1: ( ( ';' )? ) 5239 // InternalProblem.g:1625:1: ( ( ';' )? )
4583 // InternalProblem.g:1430:2: ( ';' )? 5240 // InternalProblem.g:1626:2: ( ';' )?
4584 { 5241 {
4585 before(grammarAccess.getClassDeclarationAccess().getSemicolonKeyword_4_0_1_1()); 5242 before(grammarAccess.getClassDeclarationAccess().getSemicolonKeyword_4_0_1_1());
4586 // InternalProblem.g:1431:2: ( ';' )? 5243 // InternalProblem.g:1627:2: ( ';' )?
4587 int alt20=2; 5244 int alt24=2;
4588 int LA20_0 = input.LA(1); 5245 int LA24_0 = input.LA(1);
4589 5246
4590 if ( (LA20_0==28) ) { 5247 if ( (LA24_0==14) ) {
4591 alt20=1; 5248 alt24=1;
4592 } 5249 }
4593 switch (alt20) { 5250 switch (alt24) {
4594 case 1 : 5251 case 1 :
4595 // InternalProblem.g:1431:3: ';' 5252 // InternalProblem.g:1627:3: ';'
4596 { 5253 {
4597 match(input,28,FOLLOW_2); 5254 match(input,14,FOLLOW_2);
4598 5255
4599 } 5256 }
4600 break; 5257 break;
@@ -4623,17 +5280,938 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4623 // $ANTLR end "rule__ClassDeclaration__Group_4_0_1__1__Impl" 5280 // $ANTLR end "rule__ClassDeclaration__Group_4_0_1__1__Impl"
4624 5281
4625 5282
5283 // $ANTLR start "rule__EnumDeclaration__Group__0"
5284 // InternalProblem.g:1636:1: rule__EnumDeclaration__Group__0 : rule__EnumDeclaration__Group__0__Impl rule__EnumDeclaration__Group__1 ;
5285 public final void rule__EnumDeclaration__Group__0() throws RecognitionException {
5286
5287 int stackSize = keepStackSize();
5288
5289 try {
5290 // InternalProblem.g:1640:1: ( rule__EnumDeclaration__Group__0__Impl rule__EnumDeclaration__Group__1 )
5291 // InternalProblem.g:1641:2: rule__EnumDeclaration__Group__0__Impl rule__EnumDeclaration__Group__1
5292 {
5293 pushFollow(FOLLOW_5);
5294 rule__EnumDeclaration__Group__0__Impl();
5295
5296 state._fsp--;
5297
5298 pushFollow(FOLLOW_2);
5299 rule__EnumDeclaration__Group__1();
5300
5301 state._fsp--;
5302
5303
5304 }
5305
5306 }
5307 catch (RecognitionException re) {
5308 reportError(re);
5309 recover(input,re);
5310 }
5311 finally {
5312
5313 restoreStackSize(stackSize);
5314
5315 }
5316 return ;
5317 }
5318 // $ANTLR end "rule__EnumDeclaration__Group__0"
5319
5320
5321 // $ANTLR start "rule__EnumDeclaration__Group__0__Impl"
5322 // InternalProblem.g:1648:1: rule__EnumDeclaration__Group__0__Impl : ( 'enum' ) ;
5323 public final void rule__EnumDeclaration__Group__0__Impl() throws RecognitionException {
5324
5325 int stackSize = keepStackSize();
5326
5327 try {
5328 // InternalProblem.g:1652:1: ( ( 'enum' ) )
5329 // InternalProblem.g:1653:1: ( 'enum' )
5330 {
5331 // InternalProblem.g:1653:1: ( 'enum' )
5332 // InternalProblem.g:1654:2: 'enum'
5333 {
5334 before(grammarAccess.getEnumDeclarationAccess().getEnumKeyword_0());
5335 match(input,29,FOLLOW_2);
5336 after(grammarAccess.getEnumDeclarationAccess().getEnumKeyword_0());
5337
5338 }
5339
5340
5341 }
5342
5343 }
5344 catch (RecognitionException re) {
5345 reportError(re);
5346 recover(input,re);
5347 }
5348 finally {
5349
5350 restoreStackSize(stackSize);
5351
5352 }
5353 return ;
5354 }
5355 // $ANTLR end "rule__EnumDeclaration__Group__0__Impl"
5356
5357
5358 // $ANTLR start "rule__EnumDeclaration__Group__1"
5359 // InternalProblem.g:1663:1: rule__EnumDeclaration__Group__1 : rule__EnumDeclaration__Group__1__Impl rule__EnumDeclaration__Group__2 ;
5360 public final void rule__EnumDeclaration__Group__1() throws RecognitionException {
5361
5362 int stackSize = keepStackSize();
5363
5364 try {
5365 // InternalProblem.g:1667:1: ( rule__EnumDeclaration__Group__1__Impl rule__EnumDeclaration__Group__2 )
5366 // InternalProblem.g:1668:2: rule__EnumDeclaration__Group__1__Impl rule__EnumDeclaration__Group__2
5367 {
5368 pushFollow(FOLLOW_14);
5369 rule__EnumDeclaration__Group__1__Impl();
5370
5371 state._fsp--;
5372
5373 pushFollow(FOLLOW_2);
5374 rule__EnumDeclaration__Group__2();
5375
5376 state._fsp--;
5377
5378
5379 }
5380
5381 }
5382 catch (RecognitionException re) {
5383 reportError(re);
5384 recover(input,re);
5385 }
5386 finally {
5387
5388 restoreStackSize(stackSize);
5389
5390 }
5391 return ;
5392 }
5393 // $ANTLR end "rule__EnumDeclaration__Group__1"
5394
5395
5396 // $ANTLR start "rule__EnumDeclaration__Group__1__Impl"
5397 // InternalProblem.g:1675:1: rule__EnumDeclaration__Group__1__Impl : ( ( rule__EnumDeclaration__NameAssignment_1 ) ) ;
5398 public final void rule__EnumDeclaration__Group__1__Impl() throws RecognitionException {
5399
5400 int stackSize = keepStackSize();
5401
5402 try {
5403 // InternalProblem.g:1679:1: ( ( ( rule__EnumDeclaration__NameAssignment_1 ) ) )
5404 // InternalProblem.g:1680:1: ( ( rule__EnumDeclaration__NameAssignment_1 ) )
5405 {
5406 // InternalProblem.g:1680:1: ( ( rule__EnumDeclaration__NameAssignment_1 ) )
5407 // InternalProblem.g:1681:2: ( rule__EnumDeclaration__NameAssignment_1 )
5408 {
5409 before(grammarAccess.getEnumDeclarationAccess().getNameAssignment_1());
5410 // InternalProblem.g:1682:2: ( rule__EnumDeclaration__NameAssignment_1 )
5411 // InternalProblem.g:1682:3: rule__EnumDeclaration__NameAssignment_1
5412 {
5413 pushFollow(FOLLOW_2);
5414 rule__EnumDeclaration__NameAssignment_1();
5415
5416 state._fsp--;
5417
5418
5419 }
5420
5421 after(grammarAccess.getEnumDeclarationAccess().getNameAssignment_1());
5422
5423 }
5424
5425
5426 }
5427
5428 }
5429 catch (RecognitionException re) {
5430 reportError(re);
5431 recover(input,re);
5432 }
5433 finally {
5434
5435 restoreStackSize(stackSize);
5436
5437 }
5438 return ;
5439 }
5440 // $ANTLR end "rule__EnumDeclaration__Group__1__Impl"
5441
5442
5443 // $ANTLR start "rule__EnumDeclaration__Group__2"
5444 // InternalProblem.g:1690:1: rule__EnumDeclaration__Group__2 : rule__EnumDeclaration__Group__2__Impl ;
5445 public final void rule__EnumDeclaration__Group__2() throws RecognitionException {
5446
5447 int stackSize = keepStackSize();
5448
5449 try {
5450 // InternalProblem.g:1694:1: ( rule__EnumDeclaration__Group__2__Impl )
5451 // InternalProblem.g:1695:2: rule__EnumDeclaration__Group__2__Impl
5452 {
5453 pushFollow(FOLLOW_2);
5454 rule__EnumDeclaration__Group__2__Impl();
5455
5456 state._fsp--;
5457
5458
5459 }
5460
5461 }
5462 catch (RecognitionException re) {
5463 reportError(re);
5464 recover(input,re);
5465 }
5466 finally {
5467
5468 restoreStackSize(stackSize);
5469
5470 }
5471 return ;
5472 }
5473 // $ANTLR end "rule__EnumDeclaration__Group__2"
5474
5475
5476 // $ANTLR start "rule__EnumDeclaration__Group__2__Impl"
5477 // InternalProblem.g:1701:1: rule__EnumDeclaration__Group__2__Impl : ( ( rule__EnumDeclaration__Alternatives_2 ) ) ;
5478 public final void rule__EnumDeclaration__Group__2__Impl() throws RecognitionException {
5479
5480 int stackSize = keepStackSize();
5481
5482 try {
5483 // InternalProblem.g:1705:1: ( ( ( rule__EnumDeclaration__Alternatives_2 ) ) )
5484 // InternalProblem.g:1706:1: ( ( rule__EnumDeclaration__Alternatives_2 ) )
5485 {
5486 // InternalProblem.g:1706:1: ( ( rule__EnumDeclaration__Alternatives_2 ) )
5487 // InternalProblem.g:1707:2: ( rule__EnumDeclaration__Alternatives_2 )
5488 {
5489 before(grammarAccess.getEnumDeclarationAccess().getAlternatives_2());
5490 // InternalProblem.g:1708:2: ( rule__EnumDeclaration__Alternatives_2 )
5491 // InternalProblem.g:1708:3: rule__EnumDeclaration__Alternatives_2
5492 {
5493 pushFollow(FOLLOW_2);
5494 rule__EnumDeclaration__Alternatives_2();
5495
5496 state._fsp--;
5497
5498
5499 }
5500
5501 after(grammarAccess.getEnumDeclarationAccess().getAlternatives_2());
5502
5503 }
5504
5505
5506 }
5507
5508 }
5509 catch (RecognitionException re) {
5510 reportError(re);
5511 recover(input,re);
5512 }
5513 finally {
5514
5515 restoreStackSize(stackSize);
5516
5517 }
5518 return ;
5519 }
5520 // $ANTLR end "rule__EnumDeclaration__Group__2__Impl"
5521
5522
5523 // $ANTLR start "rule__EnumDeclaration__Group_2_0__0"
5524 // InternalProblem.g:1717:1: rule__EnumDeclaration__Group_2_0__0 : rule__EnumDeclaration__Group_2_0__0__Impl rule__EnumDeclaration__Group_2_0__1 ;
5525 public final void rule__EnumDeclaration__Group_2_0__0() throws RecognitionException {
5526
5527 int stackSize = keepStackSize();
5528
5529 try {
5530 // InternalProblem.g:1721:1: ( rule__EnumDeclaration__Group_2_0__0__Impl rule__EnumDeclaration__Group_2_0__1 )
5531 // InternalProblem.g:1722:2: rule__EnumDeclaration__Group_2_0__0__Impl rule__EnumDeclaration__Group_2_0__1
5532 {
5533 pushFollow(FOLLOW_15);
5534 rule__EnumDeclaration__Group_2_0__0__Impl();
5535
5536 state._fsp--;
5537
5538 pushFollow(FOLLOW_2);
5539 rule__EnumDeclaration__Group_2_0__1();
5540
5541 state._fsp--;
5542
5543
5544 }
5545
5546 }
5547 catch (RecognitionException re) {
5548 reportError(re);
5549 recover(input,re);
5550 }
5551 finally {
5552
5553 restoreStackSize(stackSize);
5554
5555 }
5556 return ;
5557 }
5558 // $ANTLR end "rule__EnumDeclaration__Group_2_0__0"
5559
5560
5561 // $ANTLR start "rule__EnumDeclaration__Group_2_0__0__Impl"
5562 // InternalProblem.g:1729:1: rule__EnumDeclaration__Group_2_0__0__Impl : ( '{' ) ;
5563 public final void rule__EnumDeclaration__Group_2_0__0__Impl() throws RecognitionException {
5564
5565 int stackSize = keepStackSize();
5566
5567 try {
5568 // InternalProblem.g:1733:1: ( ( '{' ) )
5569 // InternalProblem.g:1734:1: ( '{' )
5570 {
5571 // InternalProblem.g:1734:1: ( '{' )
5572 // InternalProblem.g:1735:2: '{'
5573 {
5574 before(grammarAccess.getEnumDeclarationAccess().getLeftCurlyBracketKeyword_2_0_0());
5575 match(input,27,FOLLOW_2);
5576 after(grammarAccess.getEnumDeclarationAccess().getLeftCurlyBracketKeyword_2_0_0());
5577
5578 }
5579
5580
5581 }
5582
5583 }
5584 catch (RecognitionException re) {
5585 reportError(re);
5586 recover(input,re);
5587 }
5588 finally {
5589
5590 restoreStackSize(stackSize);
5591
5592 }
5593 return ;
5594 }
5595 // $ANTLR end "rule__EnumDeclaration__Group_2_0__0__Impl"
5596
5597
5598 // $ANTLR start "rule__EnumDeclaration__Group_2_0__1"
5599 // InternalProblem.g:1744:1: rule__EnumDeclaration__Group_2_0__1 : rule__EnumDeclaration__Group_2_0__1__Impl rule__EnumDeclaration__Group_2_0__2 ;
5600 public final void rule__EnumDeclaration__Group_2_0__1() throws RecognitionException {
5601
5602 int stackSize = keepStackSize();
5603
5604 try {
5605 // InternalProblem.g:1748:1: ( rule__EnumDeclaration__Group_2_0__1__Impl rule__EnumDeclaration__Group_2_0__2 )
5606 // InternalProblem.g:1749:2: rule__EnumDeclaration__Group_2_0__1__Impl rule__EnumDeclaration__Group_2_0__2
5607 {
5608 pushFollow(FOLLOW_15);
5609 rule__EnumDeclaration__Group_2_0__1__Impl();
5610
5611 state._fsp--;
5612
5613 pushFollow(FOLLOW_2);
5614 rule__EnumDeclaration__Group_2_0__2();
5615
5616 state._fsp--;
5617
5618
5619 }
5620
5621 }
5622 catch (RecognitionException re) {
5623 reportError(re);
5624 recover(input,re);
5625 }
5626 finally {
5627
5628 restoreStackSize(stackSize);
5629
5630 }
5631 return ;
5632 }
5633 // $ANTLR end "rule__EnumDeclaration__Group_2_0__1"
5634
5635
5636 // $ANTLR start "rule__EnumDeclaration__Group_2_0__1__Impl"
5637 // InternalProblem.g:1756:1: rule__EnumDeclaration__Group_2_0__1__Impl : ( ( rule__EnumDeclaration__Group_2_0_1__0 )? ) ;
5638 public final void rule__EnumDeclaration__Group_2_0__1__Impl() throws RecognitionException {
5639
5640 int stackSize = keepStackSize();
5641
5642 try {
5643 // InternalProblem.g:1760:1: ( ( ( rule__EnumDeclaration__Group_2_0_1__0 )? ) )
5644 // InternalProblem.g:1761:1: ( ( rule__EnumDeclaration__Group_2_0_1__0 )? )
5645 {
5646 // InternalProblem.g:1761:1: ( ( rule__EnumDeclaration__Group_2_0_1__0 )? )
5647 // InternalProblem.g:1762:2: ( rule__EnumDeclaration__Group_2_0_1__0 )?
5648 {
5649 before(grammarAccess.getEnumDeclarationAccess().getGroup_2_0_1());
5650 // InternalProblem.g:1763:2: ( rule__EnumDeclaration__Group_2_0_1__0 )?
5651 int alt25=2;
5652 int LA25_0 = input.LA(1);
5653
5654 if ( ((LA25_0>=RULE_QUOTED_ID && LA25_0<=RULE_ID)||(LA25_0>=19 && LA25_0<=20)) ) {
5655 alt25=1;
5656 }
5657 switch (alt25) {
5658 case 1 :
5659 // InternalProblem.g:1763:3: rule__EnumDeclaration__Group_2_0_1__0
5660 {
5661 pushFollow(FOLLOW_2);
5662 rule__EnumDeclaration__Group_2_0_1__0();
5663
5664 state._fsp--;
5665
5666
5667 }
5668 break;
5669
5670 }
5671
5672 after(grammarAccess.getEnumDeclarationAccess().getGroup_2_0_1());
5673
5674 }
5675
5676
5677 }
5678
5679 }
5680 catch (RecognitionException re) {
5681 reportError(re);
5682 recover(input,re);
5683 }
5684 finally {
5685
5686 restoreStackSize(stackSize);
5687
5688 }
5689 return ;
5690 }
5691 // $ANTLR end "rule__EnumDeclaration__Group_2_0__1__Impl"
5692
5693
5694 // $ANTLR start "rule__EnumDeclaration__Group_2_0__2"
5695 // InternalProblem.g:1771:1: rule__EnumDeclaration__Group_2_0__2 : rule__EnumDeclaration__Group_2_0__2__Impl ;
5696 public final void rule__EnumDeclaration__Group_2_0__2() throws RecognitionException {
5697
5698 int stackSize = keepStackSize();
5699
5700 try {
5701 // InternalProblem.g:1775:1: ( rule__EnumDeclaration__Group_2_0__2__Impl )
5702 // InternalProblem.g:1776:2: rule__EnumDeclaration__Group_2_0__2__Impl
5703 {
5704 pushFollow(FOLLOW_2);
5705 rule__EnumDeclaration__Group_2_0__2__Impl();
5706
5707 state._fsp--;
5708
5709
5710 }
5711
5712 }
5713 catch (RecognitionException re) {
5714 reportError(re);
5715 recover(input,re);
5716 }
5717 finally {
5718
5719 restoreStackSize(stackSize);
5720
5721 }
5722 return ;
5723 }
5724 // $ANTLR end "rule__EnumDeclaration__Group_2_0__2"
5725
5726
5727 // $ANTLR start "rule__EnumDeclaration__Group_2_0__2__Impl"
5728 // InternalProblem.g:1782:1: rule__EnumDeclaration__Group_2_0__2__Impl : ( '}' ) ;
5729 public final void rule__EnumDeclaration__Group_2_0__2__Impl() throws RecognitionException {
5730
5731 int stackSize = keepStackSize();
5732
5733 try {
5734 // InternalProblem.g:1786:1: ( ( '}' ) )
5735 // InternalProblem.g:1787:1: ( '}' )
5736 {
5737 // InternalProblem.g:1787:1: ( '}' )
5738 // InternalProblem.g:1788:2: '}'
5739 {
5740 before(grammarAccess.getEnumDeclarationAccess().getRightCurlyBracketKeyword_2_0_2());
5741 match(input,28,FOLLOW_2);
5742 after(grammarAccess.getEnumDeclarationAccess().getRightCurlyBracketKeyword_2_0_2());
5743
5744 }
5745
5746
5747 }
5748
5749 }
5750 catch (RecognitionException re) {
5751 reportError(re);
5752 recover(input,re);
5753 }
5754 finally {
5755
5756 restoreStackSize(stackSize);
5757
5758 }
5759 return ;
5760 }
5761 // $ANTLR end "rule__EnumDeclaration__Group_2_0__2__Impl"
5762
5763
5764 // $ANTLR start "rule__EnumDeclaration__Group_2_0_1__0"
5765 // InternalProblem.g:1798:1: rule__EnumDeclaration__Group_2_0_1__0 : rule__EnumDeclaration__Group_2_0_1__0__Impl rule__EnumDeclaration__Group_2_0_1__1 ;
5766 public final void rule__EnumDeclaration__Group_2_0_1__0() throws RecognitionException {
5767
5768 int stackSize = keepStackSize();
5769
5770 try {
5771 // InternalProblem.g:1802:1: ( rule__EnumDeclaration__Group_2_0_1__0__Impl rule__EnumDeclaration__Group_2_0_1__1 )
5772 // InternalProblem.g:1803:2: rule__EnumDeclaration__Group_2_0_1__0__Impl rule__EnumDeclaration__Group_2_0_1__1
5773 {
5774 pushFollow(FOLLOW_16);
5775 rule__EnumDeclaration__Group_2_0_1__0__Impl();
5776
5777 state._fsp--;
5778
5779 pushFollow(FOLLOW_2);
5780 rule__EnumDeclaration__Group_2_0_1__1();
5781
5782 state._fsp--;
5783
5784
5785 }
5786
5787 }
5788 catch (RecognitionException re) {
5789 reportError(re);
5790 recover(input,re);
5791 }
5792 finally {
5793
5794 restoreStackSize(stackSize);
5795
5796 }
5797 return ;
5798 }
5799 // $ANTLR end "rule__EnumDeclaration__Group_2_0_1__0"
5800
5801
5802 // $ANTLR start "rule__EnumDeclaration__Group_2_0_1__0__Impl"
5803 // InternalProblem.g:1810:1: rule__EnumDeclaration__Group_2_0_1__0__Impl : ( ( rule__EnumDeclaration__LiteralsAssignment_2_0_1_0 ) ) ;
5804 public final void rule__EnumDeclaration__Group_2_0_1__0__Impl() throws RecognitionException {
5805
5806 int stackSize = keepStackSize();
5807
5808 try {
5809 // InternalProblem.g:1814:1: ( ( ( rule__EnumDeclaration__LiteralsAssignment_2_0_1_0 ) ) )
5810 // InternalProblem.g:1815:1: ( ( rule__EnumDeclaration__LiteralsAssignment_2_0_1_0 ) )
5811 {
5812 // InternalProblem.g:1815:1: ( ( rule__EnumDeclaration__LiteralsAssignment_2_0_1_0 ) )
5813 // InternalProblem.g:1816:2: ( rule__EnumDeclaration__LiteralsAssignment_2_0_1_0 )
5814 {
5815 before(grammarAccess.getEnumDeclarationAccess().getLiteralsAssignment_2_0_1_0());
5816 // InternalProblem.g:1817:2: ( rule__EnumDeclaration__LiteralsAssignment_2_0_1_0 )
5817 // InternalProblem.g:1817:3: rule__EnumDeclaration__LiteralsAssignment_2_0_1_0
5818 {
5819 pushFollow(FOLLOW_2);
5820 rule__EnumDeclaration__LiteralsAssignment_2_0_1_0();
5821
5822 state._fsp--;
5823
5824
5825 }
5826
5827 after(grammarAccess.getEnumDeclarationAccess().getLiteralsAssignment_2_0_1_0());
5828
5829 }
5830
5831
5832 }
5833
5834 }
5835 catch (RecognitionException re) {
5836 reportError(re);
5837 recover(input,re);
5838 }
5839 finally {
5840
5841 restoreStackSize(stackSize);
5842
5843 }
5844 return ;
5845 }
5846 // $ANTLR end "rule__EnumDeclaration__Group_2_0_1__0__Impl"
5847
5848
5849 // $ANTLR start "rule__EnumDeclaration__Group_2_0_1__1"
5850 // InternalProblem.g:1825:1: rule__EnumDeclaration__Group_2_0_1__1 : rule__EnumDeclaration__Group_2_0_1__1__Impl rule__EnumDeclaration__Group_2_0_1__2 ;
5851 public final void rule__EnumDeclaration__Group_2_0_1__1() throws RecognitionException {
5852
5853 int stackSize = keepStackSize();
5854
5855 try {
5856 // InternalProblem.g:1829:1: ( rule__EnumDeclaration__Group_2_0_1__1__Impl rule__EnumDeclaration__Group_2_0_1__2 )
5857 // InternalProblem.g:1830:2: rule__EnumDeclaration__Group_2_0_1__1__Impl rule__EnumDeclaration__Group_2_0_1__2
5858 {
5859 pushFollow(FOLLOW_16);
5860 rule__EnumDeclaration__Group_2_0_1__1__Impl();
5861
5862 state._fsp--;
5863
5864 pushFollow(FOLLOW_2);
5865 rule__EnumDeclaration__Group_2_0_1__2();
5866
5867 state._fsp--;
5868
5869
5870 }
5871
5872 }
5873 catch (RecognitionException re) {
5874 reportError(re);
5875 recover(input,re);
5876 }
5877 finally {
5878
5879 restoreStackSize(stackSize);
5880
5881 }
5882 return ;
5883 }
5884 // $ANTLR end "rule__EnumDeclaration__Group_2_0_1__1"
5885
5886
5887 // $ANTLR start "rule__EnumDeclaration__Group_2_0_1__1__Impl"
5888 // InternalProblem.g:1837:1: rule__EnumDeclaration__Group_2_0_1__1__Impl : ( ( rule__EnumDeclaration__Group_2_0_1_1__0 )* ) ;
5889 public final void rule__EnumDeclaration__Group_2_0_1__1__Impl() throws RecognitionException {
5890
5891 int stackSize = keepStackSize();
5892
5893 try {
5894 // InternalProblem.g:1841:1: ( ( ( rule__EnumDeclaration__Group_2_0_1_1__0 )* ) )
5895 // InternalProblem.g:1842:1: ( ( rule__EnumDeclaration__Group_2_0_1_1__0 )* )
5896 {
5897 // InternalProblem.g:1842:1: ( ( rule__EnumDeclaration__Group_2_0_1_1__0 )* )
5898 // InternalProblem.g:1843:2: ( rule__EnumDeclaration__Group_2_0_1_1__0 )*
5899 {
5900 before(grammarAccess.getEnumDeclarationAccess().getGroup_2_0_1_1());
5901 // InternalProblem.g:1844:2: ( rule__EnumDeclaration__Group_2_0_1_1__0 )*
5902 loop26:
5903 do {
5904 int alt26=2;
5905 int LA26_0 = input.LA(1);
5906
5907 if ( (LA26_0==13) ) {
5908 int LA26_1 = input.LA(2);
5909
5910 if ( ((LA26_1>=RULE_QUOTED_ID && LA26_1<=RULE_ID)||(LA26_1>=19 && LA26_1<=20)) ) {
5911 alt26=1;
5912 }
5913
5914
5915 }
5916
5917
5918 switch (alt26) {
5919 case 1 :
5920 // InternalProblem.g:1844:3: rule__EnumDeclaration__Group_2_0_1_1__0
5921 {
5922 pushFollow(FOLLOW_10);
5923 rule__EnumDeclaration__Group_2_0_1_1__0();
5924
5925 state._fsp--;
5926
5927
5928 }
5929 break;
5930
5931 default :
5932 break loop26;
5933 }
5934 } while (true);
5935
5936 after(grammarAccess.getEnumDeclarationAccess().getGroup_2_0_1_1());
5937
5938 }
5939
5940
5941 }
5942
5943 }
5944 catch (RecognitionException re) {
5945 reportError(re);
5946 recover(input,re);
5947 }
5948 finally {
5949
5950 restoreStackSize(stackSize);
5951
5952 }
5953 return ;
5954 }
5955 // $ANTLR end "rule__EnumDeclaration__Group_2_0_1__1__Impl"
5956
5957
5958 // $ANTLR start "rule__EnumDeclaration__Group_2_0_1__2"
5959 // InternalProblem.g:1852:1: rule__EnumDeclaration__Group_2_0_1__2 : rule__EnumDeclaration__Group_2_0_1__2__Impl ;
5960 public final void rule__EnumDeclaration__Group_2_0_1__2() throws RecognitionException {
5961
5962 int stackSize = keepStackSize();
5963
5964 try {
5965 // InternalProblem.g:1856:1: ( rule__EnumDeclaration__Group_2_0_1__2__Impl )
5966 // InternalProblem.g:1857:2: rule__EnumDeclaration__Group_2_0_1__2__Impl
5967 {
5968 pushFollow(FOLLOW_2);
5969 rule__EnumDeclaration__Group_2_0_1__2__Impl();
5970
5971 state._fsp--;
5972
5973
5974 }
5975
5976 }
5977 catch (RecognitionException re) {
5978 reportError(re);
5979 recover(input,re);
5980 }
5981 finally {
5982
5983 restoreStackSize(stackSize);
5984
5985 }
5986 return ;
5987 }
5988 // $ANTLR end "rule__EnumDeclaration__Group_2_0_1__2"
5989
5990
5991 // $ANTLR start "rule__EnumDeclaration__Group_2_0_1__2__Impl"
5992 // InternalProblem.g:1863:1: rule__EnumDeclaration__Group_2_0_1__2__Impl : ( ( rule__EnumDeclaration__Alternatives_2_0_1_2 )? ) ;
5993 public final void rule__EnumDeclaration__Group_2_0_1__2__Impl() throws RecognitionException {
5994
5995 int stackSize = keepStackSize();
5996
5997 try {
5998 // InternalProblem.g:1867:1: ( ( ( rule__EnumDeclaration__Alternatives_2_0_1_2 )? ) )
5999 // InternalProblem.g:1868:1: ( ( rule__EnumDeclaration__Alternatives_2_0_1_2 )? )
6000 {
6001 // InternalProblem.g:1868:1: ( ( rule__EnumDeclaration__Alternatives_2_0_1_2 )? )
6002 // InternalProblem.g:1869:2: ( rule__EnumDeclaration__Alternatives_2_0_1_2 )?
6003 {
6004 before(grammarAccess.getEnumDeclarationAccess().getAlternatives_2_0_1_2());
6005 // InternalProblem.g:1870:2: ( rule__EnumDeclaration__Alternatives_2_0_1_2 )?
6006 int alt27=2;
6007 int LA27_0 = input.LA(1);
6008
6009 if ( ((LA27_0>=13 && LA27_0<=14)) ) {
6010 alt27=1;
6011 }
6012 switch (alt27) {
6013 case 1 :
6014 // InternalProblem.g:1870:3: rule__EnumDeclaration__Alternatives_2_0_1_2
6015 {
6016 pushFollow(FOLLOW_2);
6017 rule__EnumDeclaration__Alternatives_2_0_1_2();
6018
6019 state._fsp--;
6020
6021
6022 }
6023 break;
6024
6025 }
6026
6027 after(grammarAccess.getEnumDeclarationAccess().getAlternatives_2_0_1_2());
6028
6029 }
6030
6031
6032 }
6033
6034 }
6035 catch (RecognitionException re) {
6036 reportError(re);
6037 recover(input,re);
6038 }
6039 finally {
6040
6041 restoreStackSize(stackSize);
6042
6043 }
6044 return ;
6045 }
6046 // $ANTLR end "rule__EnumDeclaration__Group_2_0_1__2__Impl"
6047
6048
6049 // $ANTLR start "rule__EnumDeclaration__Group_2_0_1_1__0"
6050 // InternalProblem.g:1879:1: rule__EnumDeclaration__Group_2_0_1_1__0 : rule__EnumDeclaration__Group_2_0_1_1__0__Impl rule__EnumDeclaration__Group_2_0_1_1__1 ;
6051 public final void rule__EnumDeclaration__Group_2_0_1_1__0() throws RecognitionException {
6052
6053 int stackSize = keepStackSize();
6054
6055 try {
6056 // InternalProblem.g:1883:1: ( rule__EnumDeclaration__Group_2_0_1_1__0__Impl rule__EnumDeclaration__Group_2_0_1_1__1 )
6057 // InternalProblem.g:1884:2: rule__EnumDeclaration__Group_2_0_1_1__0__Impl rule__EnumDeclaration__Group_2_0_1_1__1
6058 {
6059 pushFollow(FOLLOW_5);
6060 rule__EnumDeclaration__Group_2_0_1_1__0__Impl();
6061
6062 state._fsp--;
6063
6064 pushFollow(FOLLOW_2);
6065 rule__EnumDeclaration__Group_2_0_1_1__1();
6066
6067 state._fsp--;
6068
6069
6070 }
6071
6072 }
6073 catch (RecognitionException re) {
6074 reportError(re);
6075 recover(input,re);
6076 }
6077 finally {
6078
6079 restoreStackSize(stackSize);
6080
6081 }
6082 return ;
6083 }
6084 // $ANTLR end "rule__EnumDeclaration__Group_2_0_1_1__0"
6085
6086
6087 // $ANTLR start "rule__EnumDeclaration__Group_2_0_1_1__0__Impl"
6088 // InternalProblem.g:1891:1: rule__EnumDeclaration__Group_2_0_1_1__0__Impl : ( ',' ) ;
6089 public final void rule__EnumDeclaration__Group_2_0_1_1__0__Impl() throws RecognitionException {
6090
6091 int stackSize = keepStackSize();
6092
6093 try {
6094 // InternalProblem.g:1895:1: ( ( ',' ) )
6095 // InternalProblem.g:1896:1: ( ',' )
6096 {
6097 // InternalProblem.g:1896:1: ( ',' )
6098 // InternalProblem.g:1897:2: ','
6099 {
6100 before(grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_1_0());
6101 match(input,13,FOLLOW_2);
6102 after(grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_1_0());
6103
6104 }
6105
6106
6107 }
6108
6109 }
6110 catch (RecognitionException re) {
6111 reportError(re);
6112 recover(input,re);
6113 }
6114 finally {
6115
6116 restoreStackSize(stackSize);
6117
6118 }
6119 return ;
6120 }
6121 // $ANTLR end "rule__EnumDeclaration__Group_2_0_1_1__0__Impl"
6122
6123
6124 // $ANTLR start "rule__EnumDeclaration__Group_2_0_1_1__1"
6125 // InternalProblem.g:1906:1: rule__EnumDeclaration__Group_2_0_1_1__1 : rule__EnumDeclaration__Group_2_0_1_1__1__Impl ;
6126 public final void rule__EnumDeclaration__Group_2_0_1_1__1() throws RecognitionException {
6127
6128 int stackSize = keepStackSize();
6129
6130 try {
6131 // InternalProblem.g:1910:1: ( rule__EnumDeclaration__Group_2_0_1_1__1__Impl )
6132 // InternalProblem.g:1911:2: rule__EnumDeclaration__Group_2_0_1_1__1__Impl
6133 {
6134 pushFollow(FOLLOW_2);
6135 rule__EnumDeclaration__Group_2_0_1_1__1__Impl();
6136
6137 state._fsp--;
6138
6139
6140 }
6141
6142 }
6143 catch (RecognitionException re) {
6144 reportError(re);
6145 recover(input,re);
6146 }
6147 finally {
6148
6149 restoreStackSize(stackSize);
6150
6151 }
6152 return ;
6153 }
6154 // $ANTLR end "rule__EnumDeclaration__Group_2_0_1_1__1"
6155
6156
6157 // $ANTLR start "rule__EnumDeclaration__Group_2_0_1_1__1__Impl"
6158 // InternalProblem.g:1917:1: rule__EnumDeclaration__Group_2_0_1_1__1__Impl : ( ( rule__EnumDeclaration__LiteralsAssignment_2_0_1_1_1 ) ) ;
6159 public final void rule__EnumDeclaration__Group_2_0_1_1__1__Impl() throws RecognitionException {
6160
6161 int stackSize = keepStackSize();
6162
6163 try {
6164 // InternalProblem.g:1921:1: ( ( ( rule__EnumDeclaration__LiteralsAssignment_2_0_1_1_1 ) ) )
6165 // InternalProblem.g:1922:1: ( ( rule__EnumDeclaration__LiteralsAssignment_2_0_1_1_1 ) )
6166 {
6167 // InternalProblem.g:1922:1: ( ( rule__EnumDeclaration__LiteralsAssignment_2_0_1_1_1 ) )
6168 // InternalProblem.g:1923:2: ( rule__EnumDeclaration__LiteralsAssignment_2_0_1_1_1 )
6169 {
6170 before(grammarAccess.getEnumDeclarationAccess().getLiteralsAssignment_2_0_1_1_1());
6171 // InternalProblem.g:1924:2: ( rule__EnumDeclaration__LiteralsAssignment_2_0_1_1_1 )
6172 // InternalProblem.g:1924:3: rule__EnumDeclaration__LiteralsAssignment_2_0_1_1_1
6173 {
6174 pushFollow(FOLLOW_2);
6175 rule__EnumDeclaration__LiteralsAssignment_2_0_1_1_1();
6176
6177 state._fsp--;
6178
6179
6180 }
6181
6182 after(grammarAccess.getEnumDeclarationAccess().getLiteralsAssignment_2_0_1_1_1());
6183
6184 }
6185
6186
6187 }
6188
6189 }
6190 catch (RecognitionException re) {
6191 reportError(re);
6192 recover(input,re);
6193 }
6194 finally {
6195
6196 restoreStackSize(stackSize);
6197
6198 }
6199 return ;
6200 }
6201 // $ANTLR end "rule__EnumDeclaration__Group_2_0_1_1__1__Impl"
6202
6203
4626 // $ANTLR start "rule__ReferenceDeclaration__Group__0" 6204 // $ANTLR start "rule__ReferenceDeclaration__Group__0"
4627 // InternalProblem.g:1440:1: rule__ReferenceDeclaration__Group__0 : rule__ReferenceDeclaration__Group__0__Impl rule__ReferenceDeclaration__Group__1 ; 6205 // InternalProblem.g:1933:1: rule__ReferenceDeclaration__Group__0 : rule__ReferenceDeclaration__Group__0__Impl rule__ReferenceDeclaration__Group__1 ;
4628 public final void rule__ReferenceDeclaration__Group__0() throws RecognitionException { 6206 public final void rule__ReferenceDeclaration__Group__0() throws RecognitionException {
4629 6207
4630 int stackSize = keepStackSize(); 6208 int stackSize = keepStackSize();
4631 6209
4632 try { 6210 try {
4633 // InternalProblem.g:1444:1: ( rule__ReferenceDeclaration__Group__0__Impl rule__ReferenceDeclaration__Group__1 ) 6211 // InternalProblem.g:1937:1: ( rule__ReferenceDeclaration__Group__0__Impl rule__ReferenceDeclaration__Group__1 )
4634 // InternalProblem.g:1445:2: rule__ReferenceDeclaration__Group__0__Impl rule__ReferenceDeclaration__Group__1 6212 // InternalProblem.g:1938:2: rule__ReferenceDeclaration__Group__0__Impl rule__ReferenceDeclaration__Group__1
4635 { 6213 {
4636 pushFollow(FOLLOW_9); 6214 pushFollow(FOLLOW_17);
4637 rule__ReferenceDeclaration__Group__0__Impl(); 6215 rule__ReferenceDeclaration__Group__0__Impl();
4638 6216
4639 state._fsp--; 6217 state._fsp--;
@@ -4662,27 +6240,38 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4662 6240
4663 6241
4664 // $ANTLR start "rule__ReferenceDeclaration__Group__0__Impl" 6242 // $ANTLR start "rule__ReferenceDeclaration__Group__0__Impl"
4665 // InternalProblem.g:1452:1: rule__ReferenceDeclaration__Group__0__Impl : ( ( rule__ReferenceDeclaration__Alternatives_0 ) ) ; 6243 // InternalProblem.g:1945:1: rule__ReferenceDeclaration__Group__0__Impl : ( ( rule__ReferenceDeclaration__Alternatives_0 )? ) ;
4666 public final void rule__ReferenceDeclaration__Group__0__Impl() throws RecognitionException { 6244 public final void rule__ReferenceDeclaration__Group__0__Impl() throws RecognitionException {
4667 6245
4668 int stackSize = keepStackSize(); 6246 int stackSize = keepStackSize();
4669 6247
4670 try { 6248 try {
4671 // InternalProblem.g:1456:1: ( ( ( rule__ReferenceDeclaration__Alternatives_0 ) ) ) 6249 // InternalProblem.g:1949:1: ( ( ( rule__ReferenceDeclaration__Alternatives_0 )? ) )
4672 // InternalProblem.g:1457:1: ( ( rule__ReferenceDeclaration__Alternatives_0 ) ) 6250 // InternalProblem.g:1950:1: ( ( rule__ReferenceDeclaration__Alternatives_0 )? )
4673 { 6251 {
4674 // InternalProblem.g:1457:1: ( ( rule__ReferenceDeclaration__Alternatives_0 ) ) 6252 // InternalProblem.g:1950:1: ( ( rule__ReferenceDeclaration__Alternatives_0 )? )
4675 // InternalProblem.g:1458:2: ( rule__ReferenceDeclaration__Alternatives_0 ) 6253 // InternalProblem.g:1951:2: ( rule__ReferenceDeclaration__Alternatives_0 )?
4676 { 6254 {
4677 before(grammarAccess.getReferenceDeclarationAccess().getAlternatives_0()); 6255 before(grammarAccess.getReferenceDeclarationAccess().getAlternatives_0());
4678 // InternalProblem.g:1459:2: ( rule__ReferenceDeclaration__Alternatives_0 ) 6256 // InternalProblem.g:1952:2: ( rule__ReferenceDeclaration__Alternatives_0 )?
4679 // InternalProblem.g:1459:3: rule__ReferenceDeclaration__Alternatives_0 6257 int alt28=2;
4680 { 6258 int LA28_0 = input.LA(1);
4681 pushFollow(FOLLOW_2); 6259
4682 rule__ReferenceDeclaration__Alternatives_0(); 6260 if ( (LA28_0==15||LA28_0==40) ) {
6261 alt28=1;
6262 }
6263 switch (alt28) {
6264 case 1 :
6265 // InternalProblem.g:1952:3: rule__ReferenceDeclaration__Alternatives_0
6266 {
6267 pushFollow(FOLLOW_2);
6268 rule__ReferenceDeclaration__Alternatives_0();
6269
6270 state._fsp--;
4683 6271
4684 state._fsp--;
4685 6272
6273 }
6274 break;
4686 6275
4687 } 6276 }
4688 6277
@@ -4709,16 +6298,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4709 6298
4710 6299
4711 // $ANTLR start "rule__ReferenceDeclaration__Group__1" 6300 // $ANTLR start "rule__ReferenceDeclaration__Group__1"
4712 // InternalProblem.g:1467:1: rule__ReferenceDeclaration__Group__1 : rule__ReferenceDeclaration__Group__1__Impl rule__ReferenceDeclaration__Group__2 ; 6301 // InternalProblem.g:1960:1: rule__ReferenceDeclaration__Group__1 : rule__ReferenceDeclaration__Group__1__Impl rule__ReferenceDeclaration__Group__2 ;
4713 public final void rule__ReferenceDeclaration__Group__1() throws RecognitionException { 6302 public final void rule__ReferenceDeclaration__Group__1() throws RecognitionException {
4714 6303
4715 int stackSize = keepStackSize(); 6304 int stackSize = keepStackSize();
4716 6305
4717 try { 6306 try {
4718 // InternalProblem.g:1471:1: ( rule__ReferenceDeclaration__Group__1__Impl rule__ReferenceDeclaration__Group__2 ) 6307 // InternalProblem.g:1964:1: ( rule__ReferenceDeclaration__Group__1__Impl rule__ReferenceDeclaration__Group__2 )
4719 // InternalProblem.g:1472:2: rule__ReferenceDeclaration__Group__1__Impl rule__ReferenceDeclaration__Group__2 6308 // InternalProblem.g:1965:2: rule__ReferenceDeclaration__Group__1__Impl rule__ReferenceDeclaration__Group__2
4720 { 6309 {
4721 pushFollow(FOLLOW_15); 6310 pushFollow(FOLLOW_18);
4722 rule__ReferenceDeclaration__Group__1__Impl(); 6311 rule__ReferenceDeclaration__Group__1__Impl();
4723 6312
4724 state._fsp--; 6313 state._fsp--;
@@ -4747,21 +6336,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4747 6336
4748 6337
4749 // $ANTLR start "rule__ReferenceDeclaration__Group__1__Impl" 6338 // $ANTLR start "rule__ReferenceDeclaration__Group__1__Impl"
4750 // InternalProblem.g:1479:1: rule__ReferenceDeclaration__Group__1__Impl : ( ( rule__ReferenceDeclaration__ReferenceTypeAssignment_1 ) ) ; 6339 // InternalProblem.g:1972:1: rule__ReferenceDeclaration__Group__1__Impl : ( ( rule__ReferenceDeclaration__ReferenceTypeAssignment_1 ) ) ;
4751 public final void rule__ReferenceDeclaration__Group__1__Impl() throws RecognitionException { 6340 public final void rule__ReferenceDeclaration__Group__1__Impl() throws RecognitionException {
4752 6341
4753 int stackSize = keepStackSize(); 6342 int stackSize = keepStackSize();
4754 6343
4755 try { 6344 try {
4756 // InternalProblem.g:1483:1: ( ( ( rule__ReferenceDeclaration__ReferenceTypeAssignment_1 ) ) ) 6345 // InternalProblem.g:1976:1: ( ( ( rule__ReferenceDeclaration__ReferenceTypeAssignment_1 ) ) )
4757 // InternalProblem.g:1484:1: ( ( rule__ReferenceDeclaration__ReferenceTypeAssignment_1 ) ) 6346 // InternalProblem.g:1977:1: ( ( rule__ReferenceDeclaration__ReferenceTypeAssignment_1 ) )
4758 { 6347 {
4759 // InternalProblem.g:1484:1: ( ( rule__ReferenceDeclaration__ReferenceTypeAssignment_1 ) ) 6348 // InternalProblem.g:1977:1: ( ( rule__ReferenceDeclaration__ReferenceTypeAssignment_1 ) )
4760 // InternalProblem.g:1485:2: ( rule__ReferenceDeclaration__ReferenceTypeAssignment_1 ) 6349 // InternalProblem.g:1978:2: ( rule__ReferenceDeclaration__ReferenceTypeAssignment_1 )
4761 { 6350 {
4762 before(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeAssignment_1()); 6351 before(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeAssignment_1());
4763 // InternalProblem.g:1486:2: ( rule__ReferenceDeclaration__ReferenceTypeAssignment_1 ) 6352 // InternalProblem.g:1979:2: ( rule__ReferenceDeclaration__ReferenceTypeAssignment_1 )
4764 // InternalProblem.g:1486:3: rule__ReferenceDeclaration__ReferenceTypeAssignment_1 6353 // InternalProblem.g:1979:3: rule__ReferenceDeclaration__ReferenceTypeAssignment_1
4765 { 6354 {
4766 pushFollow(FOLLOW_2); 6355 pushFollow(FOLLOW_2);
4767 rule__ReferenceDeclaration__ReferenceTypeAssignment_1(); 6356 rule__ReferenceDeclaration__ReferenceTypeAssignment_1();
@@ -4794,16 +6383,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4794 6383
4795 6384
4796 // $ANTLR start "rule__ReferenceDeclaration__Group__2" 6385 // $ANTLR start "rule__ReferenceDeclaration__Group__2"
4797 // InternalProblem.g:1494:1: rule__ReferenceDeclaration__Group__2 : rule__ReferenceDeclaration__Group__2__Impl rule__ReferenceDeclaration__Group__3 ; 6386 // InternalProblem.g:1987:1: rule__ReferenceDeclaration__Group__2 : rule__ReferenceDeclaration__Group__2__Impl rule__ReferenceDeclaration__Group__3 ;
4798 public final void rule__ReferenceDeclaration__Group__2() throws RecognitionException { 6387 public final void rule__ReferenceDeclaration__Group__2() throws RecognitionException {
4799 6388
4800 int stackSize = keepStackSize(); 6389 int stackSize = keepStackSize();
4801 6390
4802 try { 6391 try {
4803 // InternalProblem.g:1498:1: ( rule__ReferenceDeclaration__Group__2__Impl rule__ReferenceDeclaration__Group__3 ) 6392 // InternalProblem.g:1991:1: ( rule__ReferenceDeclaration__Group__2__Impl rule__ReferenceDeclaration__Group__3 )
4804 // InternalProblem.g:1499:2: rule__ReferenceDeclaration__Group__2__Impl rule__ReferenceDeclaration__Group__3 6393 // InternalProblem.g:1992:2: rule__ReferenceDeclaration__Group__2__Impl rule__ReferenceDeclaration__Group__3
4805 { 6394 {
4806 pushFollow(FOLLOW_15); 6395 pushFollow(FOLLOW_18);
4807 rule__ReferenceDeclaration__Group__2__Impl(); 6396 rule__ReferenceDeclaration__Group__2__Impl();
4808 6397
4809 state._fsp--; 6398 state._fsp--;
@@ -4832,29 +6421,29 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4832 6421
4833 6422
4834 // $ANTLR start "rule__ReferenceDeclaration__Group__2__Impl" 6423 // $ANTLR start "rule__ReferenceDeclaration__Group__2__Impl"
4835 // InternalProblem.g:1506:1: rule__ReferenceDeclaration__Group__2__Impl : ( ( rule__ReferenceDeclaration__Group_2__0 )? ) ; 6424 // InternalProblem.g:1999:1: rule__ReferenceDeclaration__Group__2__Impl : ( ( rule__ReferenceDeclaration__Group_2__0 )? ) ;
4836 public final void rule__ReferenceDeclaration__Group__2__Impl() throws RecognitionException { 6425 public final void rule__ReferenceDeclaration__Group__2__Impl() throws RecognitionException {
4837 6426
4838 int stackSize = keepStackSize(); 6427 int stackSize = keepStackSize();
4839 6428
4840 try { 6429 try {
4841 // InternalProblem.g:1510:1: ( ( ( rule__ReferenceDeclaration__Group_2__0 )? ) ) 6430 // InternalProblem.g:2003:1: ( ( ( rule__ReferenceDeclaration__Group_2__0 )? ) )
4842 // InternalProblem.g:1511:1: ( ( rule__ReferenceDeclaration__Group_2__0 )? ) 6431 // InternalProblem.g:2004:1: ( ( rule__ReferenceDeclaration__Group_2__0 )? )
4843 { 6432 {
4844 // InternalProblem.g:1511:1: ( ( rule__ReferenceDeclaration__Group_2__0 )? ) 6433 // InternalProblem.g:2004:1: ( ( rule__ReferenceDeclaration__Group_2__0 )? )
4845 // InternalProblem.g:1512:2: ( rule__ReferenceDeclaration__Group_2__0 )? 6434 // InternalProblem.g:2005:2: ( rule__ReferenceDeclaration__Group_2__0 )?
4846 { 6435 {
4847 before(grammarAccess.getReferenceDeclarationAccess().getGroup_2()); 6436 before(grammarAccess.getReferenceDeclarationAccess().getGroup_2());
4848 // InternalProblem.g:1513:2: ( rule__ReferenceDeclaration__Group_2__0 )? 6437 // InternalProblem.g:2006:2: ( rule__ReferenceDeclaration__Group_2__0 )?
4849 int alt21=2; 6438 int alt29=2;
4850 int LA21_0 = input.LA(1); 6439 int LA29_0 = input.LA(1);
4851 6440
4852 if ( (LA21_0==29) ) { 6441 if ( (LA29_0==30) ) {
4853 alt21=1; 6442 alt29=1;
4854 } 6443 }
4855 switch (alt21) { 6444 switch (alt29) {
4856 case 1 : 6445 case 1 :
4857 // InternalProblem.g:1513:3: rule__ReferenceDeclaration__Group_2__0 6446 // InternalProblem.g:2006:3: rule__ReferenceDeclaration__Group_2__0
4858 { 6447 {
4859 pushFollow(FOLLOW_2); 6448 pushFollow(FOLLOW_2);
4860 rule__ReferenceDeclaration__Group_2__0(); 6449 rule__ReferenceDeclaration__Group_2__0();
@@ -4890,16 +6479,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4890 6479
4891 6480
4892 // $ANTLR start "rule__ReferenceDeclaration__Group__3" 6481 // $ANTLR start "rule__ReferenceDeclaration__Group__3"
4893 // InternalProblem.g:1521:1: rule__ReferenceDeclaration__Group__3 : rule__ReferenceDeclaration__Group__3__Impl rule__ReferenceDeclaration__Group__4 ; 6482 // InternalProblem.g:2014:1: rule__ReferenceDeclaration__Group__3 : rule__ReferenceDeclaration__Group__3__Impl rule__ReferenceDeclaration__Group__4 ;
4894 public final void rule__ReferenceDeclaration__Group__3() throws RecognitionException { 6483 public final void rule__ReferenceDeclaration__Group__3() throws RecognitionException {
4895 6484
4896 int stackSize = keepStackSize(); 6485 int stackSize = keepStackSize();
4897 6486
4898 try { 6487 try {
4899 // InternalProblem.g:1525:1: ( rule__ReferenceDeclaration__Group__3__Impl rule__ReferenceDeclaration__Group__4 ) 6488 // InternalProblem.g:2018:1: ( rule__ReferenceDeclaration__Group__3__Impl rule__ReferenceDeclaration__Group__4 )
4900 // InternalProblem.g:1526:2: rule__ReferenceDeclaration__Group__3__Impl rule__ReferenceDeclaration__Group__4 6489 // InternalProblem.g:2019:2: rule__ReferenceDeclaration__Group__3__Impl rule__ReferenceDeclaration__Group__4
4901 { 6490 {
4902 pushFollow(FOLLOW_16); 6491 pushFollow(FOLLOW_19);
4903 rule__ReferenceDeclaration__Group__3__Impl(); 6492 rule__ReferenceDeclaration__Group__3__Impl();
4904 6493
4905 state._fsp--; 6494 state._fsp--;
@@ -4928,21 +6517,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4928 6517
4929 6518
4930 // $ANTLR start "rule__ReferenceDeclaration__Group__3__Impl" 6519 // $ANTLR start "rule__ReferenceDeclaration__Group__3__Impl"
4931 // InternalProblem.g:1533:1: rule__ReferenceDeclaration__Group__3__Impl : ( ( rule__ReferenceDeclaration__NameAssignment_3 ) ) ; 6520 // InternalProblem.g:2026:1: rule__ReferenceDeclaration__Group__3__Impl : ( ( rule__ReferenceDeclaration__NameAssignment_3 ) ) ;
4932 public final void rule__ReferenceDeclaration__Group__3__Impl() throws RecognitionException { 6521 public final void rule__ReferenceDeclaration__Group__3__Impl() throws RecognitionException {
4933 6522
4934 int stackSize = keepStackSize(); 6523 int stackSize = keepStackSize();
4935 6524
4936 try { 6525 try {
4937 // InternalProblem.g:1537:1: ( ( ( rule__ReferenceDeclaration__NameAssignment_3 ) ) ) 6526 // InternalProblem.g:2030:1: ( ( ( rule__ReferenceDeclaration__NameAssignment_3 ) ) )
4938 // InternalProblem.g:1538:1: ( ( rule__ReferenceDeclaration__NameAssignment_3 ) ) 6527 // InternalProblem.g:2031:1: ( ( rule__ReferenceDeclaration__NameAssignment_3 ) )
4939 { 6528 {
4940 // InternalProblem.g:1538:1: ( ( rule__ReferenceDeclaration__NameAssignment_3 ) ) 6529 // InternalProblem.g:2031:1: ( ( rule__ReferenceDeclaration__NameAssignment_3 ) )
4941 // InternalProblem.g:1539:2: ( rule__ReferenceDeclaration__NameAssignment_3 ) 6530 // InternalProblem.g:2032:2: ( rule__ReferenceDeclaration__NameAssignment_3 )
4942 { 6531 {
4943 before(grammarAccess.getReferenceDeclarationAccess().getNameAssignment_3()); 6532 before(grammarAccess.getReferenceDeclarationAccess().getNameAssignment_3());
4944 // InternalProblem.g:1540:2: ( rule__ReferenceDeclaration__NameAssignment_3 ) 6533 // InternalProblem.g:2033:2: ( rule__ReferenceDeclaration__NameAssignment_3 )
4945 // InternalProblem.g:1540:3: rule__ReferenceDeclaration__NameAssignment_3 6534 // InternalProblem.g:2033:3: rule__ReferenceDeclaration__NameAssignment_3
4946 { 6535 {
4947 pushFollow(FOLLOW_2); 6536 pushFollow(FOLLOW_2);
4948 rule__ReferenceDeclaration__NameAssignment_3(); 6537 rule__ReferenceDeclaration__NameAssignment_3();
@@ -4975,14 +6564,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
4975 6564
4976 6565
4977 // $ANTLR start "rule__ReferenceDeclaration__Group__4" 6566 // $ANTLR start "rule__ReferenceDeclaration__Group__4"
4978 // InternalProblem.g:1548:1: rule__ReferenceDeclaration__Group__4 : rule__ReferenceDeclaration__Group__4__Impl ; 6567 // InternalProblem.g:2041:1: rule__ReferenceDeclaration__Group__4 : rule__ReferenceDeclaration__Group__4__Impl ;
4979 public final void rule__ReferenceDeclaration__Group__4() throws RecognitionException { 6568 public final void rule__ReferenceDeclaration__Group__4() throws RecognitionException {
4980 6569
4981 int stackSize = keepStackSize(); 6570 int stackSize = keepStackSize();
4982 6571
4983 try { 6572 try {
4984 // InternalProblem.g:1552:1: ( rule__ReferenceDeclaration__Group__4__Impl ) 6573 // InternalProblem.g:2045:1: ( rule__ReferenceDeclaration__Group__4__Impl )
4985 // InternalProblem.g:1553:2: rule__ReferenceDeclaration__Group__4__Impl 6574 // InternalProblem.g:2046:2: rule__ReferenceDeclaration__Group__4__Impl
4986 { 6575 {
4987 pushFollow(FOLLOW_2); 6576 pushFollow(FOLLOW_2);
4988 rule__ReferenceDeclaration__Group__4__Impl(); 6577 rule__ReferenceDeclaration__Group__4__Impl();
@@ -5008,29 +6597,29 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5008 6597
5009 6598
5010 // $ANTLR start "rule__ReferenceDeclaration__Group__4__Impl" 6599 // $ANTLR start "rule__ReferenceDeclaration__Group__4__Impl"
5011 // InternalProblem.g:1559:1: rule__ReferenceDeclaration__Group__4__Impl : ( ( rule__ReferenceDeclaration__Group_4__0 )? ) ; 6600 // InternalProblem.g:2052:1: rule__ReferenceDeclaration__Group__4__Impl : ( ( rule__ReferenceDeclaration__Group_4__0 )? ) ;
5012 public final void rule__ReferenceDeclaration__Group__4__Impl() throws RecognitionException { 6601 public final void rule__ReferenceDeclaration__Group__4__Impl() throws RecognitionException {
5013 6602
5014 int stackSize = keepStackSize(); 6603 int stackSize = keepStackSize();
5015 6604
5016 try { 6605 try {
5017 // InternalProblem.g:1563:1: ( ( ( rule__ReferenceDeclaration__Group_4__0 )? ) ) 6606 // InternalProblem.g:2056:1: ( ( ( rule__ReferenceDeclaration__Group_4__0 )? ) )
5018 // InternalProblem.g:1564:1: ( ( rule__ReferenceDeclaration__Group_4__0 )? ) 6607 // InternalProblem.g:2057:1: ( ( rule__ReferenceDeclaration__Group_4__0 )? )
5019 { 6608 {
5020 // InternalProblem.g:1564:1: ( ( rule__ReferenceDeclaration__Group_4__0 )? ) 6609 // InternalProblem.g:2057:1: ( ( rule__ReferenceDeclaration__Group_4__0 )? )
5021 // InternalProblem.g:1565:2: ( rule__ReferenceDeclaration__Group_4__0 )? 6610 // InternalProblem.g:2058:2: ( rule__ReferenceDeclaration__Group_4__0 )?
5022 { 6611 {
5023 before(grammarAccess.getReferenceDeclarationAccess().getGroup_4()); 6612 before(grammarAccess.getReferenceDeclarationAccess().getGroup_4());
5024 // InternalProblem.g:1566:2: ( rule__ReferenceDeclaration__Group_4__0 )? 6613 // InternalProblem.g:2059:2: ( rule__ReferenceDeclaration__Group_4__0 )?
5025 int alt22=2; 6614 int alt30=2;
5026 int LA22_0 = input.LA(1); 6615 int LA30_0 = input.LA(1);
5027 6616
5028 if ( (LA22_0==31) ) { 6617 if ( (LA30_0==32) ) {
5029 alt22=1; 6618 alt30=1;
5030 } 6619 }
5031 switch (alt22) { 6620 switch (alt30) {
5032 case 1 : 6621 case 1 :
5033 // InternalProblem.g:1566:3: rule__ReferenceDeclaration__Group_4__0 6622 // InternalProblem.g:2059:3: rule__ReferenceDeclaration__Group_4__0
5034 { 6623 {
5035 pushFollow(FOLLOW_2); 6624 pushFollow(FOLLOW_2);
5036 rule__ReferenceDeclaration__Group_4__0(); 6625 rule__ReferenceDeclaration__Group_4__0();
@@ -5066,16 +6655,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5066 6655
5067 6656
5068 // $ANTLR start "rule__ReferenceDeclaration__Group_2__0" 6657 // $ANTLR start "rule__ReferenceDeclaration__Group_2__0"
5069 // InternalProblem.g:1575:1: rule__ReferenceDeclaration__Group_2__0 : rule__ReferenceDeclaration__Group_2__0__Impl rule__ReferenceDeclaration__Group_2__1 ; 6658 // InternalProblem.g:2068:1: rule__ReferenceDeclaration__Group_2__0 : rule__ReferenceDeclaration__Group_2__0__Impl rule__ReferenceDeclaration__Group_2__1 ;
5070 public final void rule__ReferenceDeclaration__Group_2__0() throws RecognitionException { 6659 public final void rule__ReferenceDeclaration__Group_2__0() throws RecognitionException {
5071 6660
5072 int stackSize = keepStackSize(); 6661 int stackSize = keepStackSize();
5073 6662
5074 try { 6663 try {
5075 // InternalProblem.g:1579:1: ( rule__ReferenceDeclaration__Group_2__0__Impl rule__ReferenceDeclaration__Group_2__1 ) 6664 // InternalProblem.g:2072:1: ( rule__ReferenceDeclaration__Group_2__0__Impl rule__ReferenceDeclaration__Group_2__1 )
5076 // InternalProblem.g:1580:2: rule__ReferenceDeclaration__Group_2__0__Impl rule__ReferenceDeclaration__Group_2__1 6665 // InternalProblem.g:2073:2: rule__ReferenceDeclaration__Group_2__0__Impl rule__ReferenceDeclaration__Group_2__1
5077 { 6666 {
5078 pushFollow(FOLLOW_17); 6667 pushFollow(FOLLOW_20);
5079 rule__ReferenceDeclaration__Group_2__0__Impl(); 6668 rule__ReferenceDeclaration__Group_2__0__Impl();
5080 6669
5081 state._fsp--; 6670 state._fsp--;
@@ -5104,20 +6693,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5104 6693
5105 6694
5106 // $ANTLR start "rule__ReferenceDeclaration__Group_2__0__Impl" 6695 // $ANTLR start "rule__ReferenceDeclaration__Group_2__0__Impl"
5107 // InternalProblem.g:1587:1: rule__ReferenceDeclaration__Group_2__0__Impl : ( '[' ) ; 6696 // InternalProblem.g:2080:1: rule__ReferenceDeclaration__Group_2__0__Impl : ( '[' ) ;
5108 public final void rule__ReferenceDeclaration__Group_2__0__Impl() throws RecognitionException { 6697 public final void rule__ReferenceDeclaration__Group_2__0__Impl() throws RecognitionException {
5109 6698
5110 int stackSize = keepStackSize(); 6699 int stackSize = keepStackSize();
5111 6700
5112 try { 6701 try {
5113 // InternalProblem.g:1591:1: ( ( '[' ) ) 6702 // InternalProblem.g:2084:1: ( ( '[' ) )
5114 // InternalProblem.g:1592:1: ( '[' ) 6703 // InternalProblem.g:2085:1: ( '[' )
5115 { 6704 {
5116 // InternalProblem.g:1592:1: ( '[' ) 6705 // InternalProblem.g:2085:1: ( '[' )
5117 // InternalProblem.g:1593:2: '[' 6706 // InternalProblem.g:2086:2: '['
5118 { 6707 {
5119 before(grammarAccess.getReferenceDeclarationAccess().getLeftSquareBracketKeyword_2_0()); 6708 before(grammarAccess.getReferenceDeclarationAccess().getLeftSquareBracketKeyword_2_0());
5120 match(input,29,FOLLOW_2); 6709 match(input,30,FOLLOW_2);
5121 after(grammarAccess.getReferenceDeclarationAccess().getLeftSquareBracketKeyword_2_0()); 6710 after(grammarAccess.getReferenceDeclarationAccess().getLeftSquareBracketKeyword_2_0());
5122 6711
5123 } 6712 }
@@ -5141,16 +6730,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5141 6730
5142 6731
5143 // $ANTLR start "rule__ReferenceDeclaration__Group_2__1" 6732 // $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 ; 6733 // InternalProblem.g:2095: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 { 6734 public final void rule__ReferenceDeclaration__Group_2__1() throws RecognitionException {
5146 6735
5147 int stackSize = keepStackSize(); 6736 int stackSize = keepStackSize();
5148 6737
5149 try { 6738 try {
5150 // InternalProblem.g:1606:1: ( rule__ReferenceDeclaration__Group_2__1__Impl rule__ReferenceDeclaration__Group_2__2 ) 6739 // InternalProblem.g:2099: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 6740 // InternalProblem.g:2100:2: rule__ReferenceDeclaration__Group_2__1__Impl rule__ReferenceDeclaration__Group_2__2
5152 { 6741 {
5153 pushFollow(FOLLOW_18); 6742 pushFollow(FOLLOW_21);
5154 rule__ReferenceDeclaration__Group_2__1__Impl(); 6743 rule__ReferenceDeclaration__Group_2__1__Impl();
5155 6744
5156 state._fsp--; 6745 state._fsp--;
@@ -5179,21 +6768,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5179 6768
5180 6769
5181 // $ANTLR start "rule__ReferenceDeclaration__Group_2__1__Impl" 6770 // $ANTLR start "rule__ReferenceDeclaration__Group_2__1__Impl"
5182 // InternalProblem.g:1614:1: rule__ReferenceDeclaration__Group_2__1__Impl : ( ( rule__ReferenceDeclaration__MultiplicityAssignment_2_1 ) ) ; 6771 // InternalProblem.g:2107:1: rule__ReferenceDeclaration__Group_2__1__Impl : ( ( rule__ReferenceDeclaration__MultiplicityAssignment_2_1 ) ) ;
5183 public final void rule__ReferenceDeclaration__Group_2__1__Impl() throws RecognitionException { 6772 public final void rule__ReferenceDeclaration__Group_2__1__Impl() throws RecognitionException {
5184 6773
5185 int stackSize = keepStackSize(); 6774 int stackSize = keepStackSize();
5186 6775
5187 try { 6776 try {
5188 // InternalProblem.g:1618:1: ( ( ( rule__ReferenceDeclaration__MultiplicityAssignment_2_1 ) ) ) 6777 // InternalProblem.g:2111:1: ( ( ( rule__ReferenceDeclaration__MultiplicityAssignment_2_1 ) ) )
5189 // InternalProblem.g:1619:1: ( ( rule__ReferenceDeclaration__MultiplicityAssignment_2_1 ) ) 6778 // InternalProblem.g:2112:1: ( ( rule__ReferenceDeclaration__MultiplicityAssignment_2_1 ) )
5190 { 6779 {
5191 // InternalProblem.g:1619:1: ( ( rule__ReferenceDeclaration__MultiplicityAssignment_2_1 ) ) 6780 // InternalProblem.g:2112:1: ( ( rule__ReferenceDeclaration__MultiplicityAssignment_2_1 ) )
5192 // InternalProblem.g:1620:2: ( rule__ReferenceDeclaration__MultiplicityAssignment_2_1 ) 6781 // InternalProblem.g:2113:2: ( rule__ReferenceDeclaration__MultiplicityAssignment_2_1 )
5193 { 6782 {
5194 before(grammarAccess.getReferenceDeclarationAccess().getMultiplicityAssignment_2_1()); 6783 before(grammarAccess.getReferenceDeclarationAccess().getMultiplicityAssignment_2_1());
5195 // InternalProblem.g:1621:2: ( rule__ReferenceDeclaration__MultiplicityAssignment_2_1 ) 6784 // InternalProblem.g:2114:2: ( rule__ReferenceDeclaration__MultiplicityAssignment_2_1 )
5196 // InternalProblem.g:1621:3: rule__ReferenceDeclaration__MultiplicityAssignment_2_1 6785 // InternalProblem.g:2114:3: rule__ReferenceDeclaration__MultiplicityAssignment_2_1
5197 { 6786 {
5198 pushFollow(FOLLOW_2); 6787 pushFollow(FOLLOW_2);
5199 rule__ReferenceDeclaration__MultiplicityAssignment_2_1(); 6788 rule__ReferenceDeclaration__MultiplicityAssignment_2_1();
@@ -5226,14 +6815,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5226 6815
5227 6816
5228 // $ANTLR start "rule__ReferenceDeclaration__Group_2__2" 6817 // $ANTLR start "rule__ReferenceDeclaration__Group_2__2"
5229 // InternalProblem.g:1629:1: rule__ReferenceDeclaration__Group_2__2 : rule__ReferenceDeclaration__Group_2__2__Impl ; 6818 // InternalProblem.g:2122:1: rule__ReferenceDeclaration__Group_2__2 : rule__ReferenceDeclaration__Group_2__2__Impl ;
5230 public final void rule__ReferenceDeclaration__Group_2__2() throws RecognitionException { 6819 public final void rule__ReferenceDeclaration__Group_2__2() throws RecognitionException {
5231 6820
5232 int stackSize = keepStackSize(); 6821 int stackSize = keepStackSize();
5233 6822
5234 try { 6823 try {
5235 // InternalProblem.g:1633:1: ( rule__ReferenceDeclaration__Group_2__2__Impl ) 6824 // InternalProblem.g:2126:1: ( rule__ReferenceDeclaration__Group_2__2__Impl )
5236 // InternalProblem.g:1634:2: rule__ReferenceDeclaration__Group_2__2__Impl 6825 // InternalProblem.g:2127:2: rule__ReferenceDeclaration__Group_2__2__Impl
5237 { 6826 {
5238 pushFollow(FOLLOW_2); 6827 pushFollow(FOLLOW_2);
5239 rule__ReferenceDeclaration__Group_2__2__Impl(); 6828 rule__ReferenceDeclaration__Group_2__2__Impl();
@@ -5259,20 +6848,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5259 6848
5260 6849
5261 // $ANTLR start "rule__ReferenceDeclaration__Group_2__2__Impl" 6850 // $ANTLR start "rule__ReferenceDeclaration__Group_2__2__Impl"
5262 // InternalProblem.g:1640:1: rule__ReferenceDeclaration__Group_2__2__Impl : ( ']' ) ; 6851 // InternalProblem.g:2133:1: rule__ReferenceDeclaration__Group_2__2__Impl : ( ']' ) ;
5263 public final void rule__ReferenceDeclaration__Group_2__2__Impl() throws RecognitionException { 6852 public final void rule__ReferenceDeclaration__Group_2__2__Impl() throws RecognitionException {
5264 6853
5265 int stackSize = keepStackSize(); 6854 int stackSize = keepStackSize();
5266 6855
5267 try { 6856 try {
5268 // InternalProblem.g:1644:1: ( ( ']' ) ) 6857 // InternalProblem.g:2137:1: ( ( ']' ) )
5269 // InternalProblem.g:1645:1: ( ']' ) 6858 // InternalProblem.g:2138:1: ( ']' )
5270 { 6859 {
5271 // InternalProblem.g:1645:1: ( ']' ) 6860 // InternalProblem.g:2138:1: ( ']' )
5272 // InternalProblem.g:1646:2: ']' 6861 // InternalProblem.g:2139:2: ']'
5273 { 6862 {
5274 before(grammarAccess.getReferenceDeclarationAccess().getRightSquareBracketKeyword_2_2()); 6863 before(grammarAccess.getReferenceDeclarationAccess().getRightSquareBracketKeyword_2_2());
5275 match(input,30,FOLLOW_2); 6864 match(input,31,FOLLOW_2);
5276 after(grammarAccess.getReferenceDeclarationAccess().getRightSquareBracketKeyword_2_2()); 6865 after(grammarAccess.getReferenceDeclarationAccess().getRightSquareBracketKeyword_2_2());
5277 6866
5278 } 6867 }
@@ -5296,16 +6885,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5296 6885
5297 6886
5298 // $ANTLR start "rule__ReferenceDeclaration__Group_4__0" 6887 // $ANTLR start "rule__ReferenceDeclaration__Group_4__0"
5299 // InternalProblem.g:1656:1: rule__ReferenceDeclaration__Group_4__0 : rule__ReferenceDeclaration__Group_4__0__Impl rule__ReferenceDeclaration__Group_4__1 ; 6888 // InternalProblem.g:2149:1: rule__ReferenceDeclaration__Group_4__0 : rule__ReferenceDeclaration__Group_4__0__Impl rule__ReferenceDeclaration__Group_4__1 ;
5300 public final void rule__ReferenceDeclaration__Group_4__0() throws RecognitionException { 6889 public final void rule__ReferenceDeclaration__Group_4__0() throws RecognitionException {
5301 6890
5302 int stackSize = keepStackSize(); 6891 int stackSize = keepStackSize();
5303 6892
5304 try { 6893 try {
5305 // InternalProblem.g:1660:1: ( rule__ReferenceDeclaration__Group_4__0__Impl rule__ReferenceDeclaration__Group_4__1 ) 6894 // InternalProblem.g:2153:1: ( rule__ReferenceDeclaration__Group_4__0__Impl rule__ReferenceDeclaration__Group_4__1 )
5306 // InternalProblem.g:1661:2: rule__ReferenceDeclaration__Group_4__0__Impl rule__ReferenceDeclaration__Group_4__1 6895 // InternalProblem.g:2154:2: rule__ReferenceDeclaration__Group_4__0__Impl rule__ReferenceDeclaration__Group_4__1
5307 { 6896 {
5308 pushFollow(FOLLOW_9); 6897 pushFollow(FOLLOW_5);
5309 rule__ReferenceDeclaration__Group_4__0__Impl(); 6898 rule__ReferenceDeclaration__Group_4__0__Impl();
5310 6899
5311 state._fsp--; 6900 state._fsp--;
@@ -5334,20 +6923,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5334 6923
5335 6924
5336 // $ANTLR start "rule__ReferenceDeclaration__Group_4__0__Impl" 6925 // $ANTLR start "rule__ReferenceDeclaration__Group_4__0__Impl"
5337 // InternalProblem.g:1668:1: rule__ReferenceDeclaration__Group_4__0__Impl : ( 'opposite' ) ; 6926 // InternalProblem.g:2161:1: rule__ReferenceDeclaration__Group_4__0__Impl : ( 'opposite' ) ;
5338 public final void rule__ReferenceDeclaration__Group_4__0__Impl() throws RecognitionException { 6927 public final void rule__ReferenceDeclaration__Group_4__0__Impl() throws RecognitionException {
5339 6928
5340 int stackSize = keepStackSize(); 6929 int stackSize = keepStackSize();
5341 6930
5342 try { 6931 try {
5343 // InternalProblem.g:1672:1: ( ( 'opposite' ) ) 6932 // InternalProblem.g:2165:1: ( ( 'opposite' ) )
5344 // InternalProblem.g:1673:1: ( 'opposite' ) 6933 // InternalProblem.g:2166:1: ( 'opposite' )
5345 { 6934 {
5346 // InternalProblem.g:1673:1: ( 'opposite' ) 6935 // InternalProblem.g:2166:1: ( 'opposite' )
5347 // InternalProblem.g:1674:2: 'opposite' 6936 // InternalProblem.g:2167:2: 'opposite'
5348 { 6937 {
5349 before(grammarAccess.getReferenceDeclarationAccess().getOppositeKeyword_4_0()); 6938 before(grammarAccess.getReferenceDeclarationAccess().getOppositeKeyword_4_0());
5350 match(input,31,FOLLOW_2); 6939 match(input,32,FOLLOW_2);
5351 after(grammarAccess.getReferenceDeclarationAccess().getOppositeKeyword_4_0()); 6940 after(grammarAccess.getReferenceDeclarationAccess().getOppositeKeyword_4_0());
5352 6941
5353 } 6942 }
@@ -5371,14 +6960,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5371 6960
5372 6961
5373 // $ANTLR start "rule__ReferenceDeclaration__Group_4__1" 6962 // $ANTLR start "rule__ReferenceDeclaration__Group_4__1"
5374 // InternalProblem.g:1683:1: rule__ReferenceDeclaration__Group_4__1 : rule__ReferenceDeclaration__Group_4__1__Impl ; 6963 // InternalProblem.g:2176:1: rule__ReferenceDeclaration__Group_4__1 : rule__ReferenceDeclaration__Group_4__1__Impl ;
5375 public final void rule__ReferenceDeclaration__Group_4__1() throws RecognitionException { 6964 public final void rule__ReferenceDeclaration__Group_4__1() throws RecognitionException {
5376 6965
5377 int stackSize = keepStackSize(); 6966 int stackSize = keepStackSize();
5378 6967
5379 try { 6968 try {
5380 // InternalProblem.g:1687:1: ( rule__ReferenceDeclaration__Group_4__1__Impl ) 6969 // InternalProblem.g:2180:1: ( rule__ReferenceDeclaration__Group_4__1__Impl )
5381 // InternalProblem.g:1688:2: rule__ReferenceDeclaration__Group_4__1__Impl 6970 // InternalProblem.g:2181:2: rule__ReferenceDeclaration__Group_4__1__Impl
5382 { 6971 {
5383 pushFollow(FOLLOW_2); 6972 pushFollow(FOLLOW_2);
5384 rule__ReferenceDeclaration__Group_4__1__Impl(); 6973 rule__ReferenceDeclaration__Group_4__1__Impl();
@@ -5404,21 +6993,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5404 6993
5405 6994
5406 // $ANTLR start "rule__ReferenceDeclaration__Group_4__1__Impl" 6995 // $ANTLR start "rule__ReferenceDeclaration__Group_4__1__Impl"
5407 // InternalProblem.g:1694:1: rule__ReferenceDeclaration__Group_4__1__Impl : ( ( rule__ReferenceDeclaration__OppositeAssignment_4_1 ) ) ; 6996 // InternalProblem.g:2187:1: rule__ReferenceDeclaration__Group_4__1__Impl : ( ( rule__ReferenceDeclaration__OppositeAssignment_4_1 ) ) ;
5408 public final void rule__ReferenceDeclaration__Group_4__1__Impl() throws RecognitionException { 6997 public final void rule__ReferenceDeclaration__Group_4__1__Impl() throws RecognitionException {
5409 6998
5410 int stackSize = keepStackSize(); 6999 int stackSize = keepStackSize();
5411 7000
5412 try { 7001 try {
5413 // InternalProblem.g:1698:1: ( ( ( rule__ReferenceDeclaration__OppositeAssignment_4_1 ) ) ) 7002 // InternalProblem.g:2191:1: ( ( ( rule__ReferenceDeclaration__OppositeAssignment_4_1 ) ) )
5414 // InternalProblem.g:1699:1: ( ( rule__ReferenceDeclaration__OppositeAssignment_4_1 ) ) 7003 // InternalProblem.g:2192:1: ( ( rule__ReferenceDeclaration__OppositeAssignment_4_1 ) )
5415 { 7004 {
5416 // InternalProblem.g:1699:1: ( ( rule__ReferenceDeclaration__OppositeAssignment_4_1 ) ) 7005 // InternalProblem.g:2192:1: ( ( rule__ReferenceDeclaration__OppositeAssignment_4_1 ) )
5417 // InternalProblem.g:1700:2: ( rule__ReferenceDeclaration__OppositeAssignment_4_1 ) 7006 // InternalProblem.g:2193:2: ( rule__ReferenceDeclaration__OppositeAssignment_4_1 )
5418 { 7007 {
5419 before(grammarAccess.getReferenceDeclarationAccess().getOppositeAssignment_4_1()); 7008 before(grammarAccess.getReferenceDeclarationAccess().getOppositeAssignment_4_1());
5420 // InternalProblem.g:1701:2: ( rule__ReferenceDeclaration__OppositeAssignment_4_1 ) 7009 // InternalProblem.g:2194:2: ( rule__ReferenceDeclaration__OppositeAssignment_4_1 )
5421 // InternalProblem.g:1701:3: rule__ReferenceDeclaration__OppositeAssignment_4_1 7010 // InternalProblem.g:2194:3: rule__ReferenceDeclaration__OppositeAssignment_4_1
5422 { 7011 {
5423 pushFollow(FOLLOW_2); 7012 pushFollow(FOLLOW_2);
5424 rule__ReferenceDeclaration__OppositeAssignment_4_1(); 7013 rule__ReferenceDeclaration__OppositeAssignment_4_1();
@@ -5451,14 +7040,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5451 7040
5452 7041
5453 // $ANTLR start "rule__PredicateDefinition__Group__0" 7042 // $ANTLR start "rule__PredicateDefinition__Group__0"
5454 // InternalProblem.g:1710:1: rule__PredicateDefinition__Group__0 : rule__PredicateDefinition__Group__0__Impl rule__PredicateDefinition__Group__1 ; 7043 // InternalProblem.g:2203:1: rule__PredicateDefinition__Group__0 : rule__PredicateDefinition__Group__0__Impl rule__PredicateDefinition__Group__1 ;
5455 public final void rule__PredicateDefinition__Group__0() throws RecognitionException { 7044 public final void rule__PredicateDefinition__Group__0() throws RecognitionException {
5456 7045
5457 int stackSize = keepStackSize(); 7046 int stackSize = keepStackSize();
5458 7047
5459 try { 7048 try {
5460 // InternalProblem.g:1714:1: ( rule__PredicateDefinition__Group__0__Impl rule__PredicateDefinition__Group__1 ) 7049 // InternalProblem.g:2207:1: ( rule__PredicateDefinition__Group__0__Impl rule__PredicateDefinition__Group__1 )
5461 // InternalProblem.g:1715:2: rule__PredicateDefinition__Group__0__Impl rule__PredicateDefinition__Group__1 7050 // InternalProblem.g:2208:2: rule__PredicateDefinition__Group__0__Impl rule__PredicateDefinition__Group__1
5462 { 7051 {
5463 pushFollow(FOLLOW_5); 7052 pushFollow(FOLLOW_5);
5464 rule__PredicateDefinition__Group__0__Impl(); 7053 rule__PredicateDefinition__Group__0__Impl();
@@ -5489,21 +7078,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5489 7078
5490 7079
5491 // $ANTLR start "rule__PredicateDefinition__Group__0__Impl" 7080 // $ANTLR start "rule__PredicateDefinition__Group__0__Impl"
5492 // InternalProblem.g:1722:1: rule__PredicateDefinition__Group__0__Impl : ( ( rule__PredicateDefinition__Alternatives_0 ) ) ; 7081 // InternalProblem.g:2215:1: rule__PredicateDefinition__Group__0__Impl : ( ( rule__PredicateDefinition__Alternatives_0 ) ) ;
5493 public final void rule__PredicateDefinition__Group__0__Impl() throws RecognitionException { 7082 public final void rule__PredicateDefinition__Group__0__Impl() throws RecognitionException {
5494 7083
5495 int stackSize = keepStackSize(); 7084 int stackSize = keepStackSize();
5496 7085
5497 try { 7086 try {
5498 // InternalProblem.g:1726:1: ( ( ( rule__PredicateDefinition__Alternatives_0 ) ) ) 7087 // InternalProblem.g:2219:1: ( ( ( rule__PredicateDefinition__Alternatives_0 ) ) )
5499 // InternalProblem.g:1727:1: ( ( rule__PredicateDefinition__Alternatives_0 ) ) 7088 // InternalProblem.g:2220:1: ( ( rule__PredicateDefinition__Alternatives_0 ) )
5500 { 7089 {
5501 // InternalProblem.g:1727:1: ( ( rule__PredicateDefinition__Alternatives_0 ) ) 7090 // InternalProblem.g:2220:1: ( ( rule__PredicateDefinition__Alternatives_0 ) )
5502 // InternalProblem.g:1728:2: ( rule__PredicateDefinition__Alternatives_0 ) 7091 // InternalProblem.g:2221:2: ( rule__PredicateDefinition__Alternatives_0 )
5503 { 7092 {
5504 before(grammarAccess.getPredicateDefinitionAccess().getAlternatives_0()); 7093 before(grammarAccess.getPredicateDefinitionAccess().getAlternatives_0());
5505 // InternalProblem.g:1729:2: ( rule__PredicateDefinition__Alternatives_0 ) 7094 // InternalProblem.g:2222:2: ( rule__PredicateDefinition__Alternatives_0 )
5506 // InternalProblem.g:1729:3: rule__PredicateDefinition__Alternatives_0 7095 // InternalProblem.g:2222:3: rule__PredicateDefinition__Alternatives_0
5507 { 7096 {
5508 pushFollow(FOLLOW_2); 7097 pushFollow(FOLLOW_2);
5509 rule__PredicateDefinition__Alternatives_0(); 7098 rule__PredicateDefinition__Alternatives_0();
@@ -5536,16 +7125,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5536 7125
5537 7126
5538 // $ANTLR start "rule__PredicateDefinition__Group__1" 7127 // $ANTLR start "rule__PredicateDefinition__Group__1"
5539 // InternalProblem.g:1737:1: rule__PredicateDefinition__Group__1 : rule__PredicateDefinition__Group__1__Impl rule__PredicateDefinition__Group__2 ; 7128 // InternalProblem.g:2230:1: rule__PredicateDefinition__Group__1 : rule__PredicateDefinition__Group__1__Impl rule__PredicateDefinition__Group__2 ;
5540 public final void rule__PredicateDefinition__Group__1() throws RecognitionException { 7129 public final void rule__PredicateDefinition__Group__1() throws RecognitionException {
5541 7130
5542 int stackSize = keepStackSize(); 7131 int stackSize = keepStackSize();
5543 7132
5544 try { 7133 try {
5545 // InternalProblem.g:1741:1: ( rule__PredicateDefinition__Group__1__Impl rule__PredicateDefinition__Group__2 ) 7134 // InternalProblem.g:2234:1: ( rule__PredicateDefinition__Group__1__Impl rule__PredicateDefinition__Group__2 )
5546 // InternalProblem.g:1742:2: rule__PredicateDefinition__Group__1__Impl rule__PredicateDefinition__Group__2 7135 // InternalProblem.g:2235:2: rule__PredicateDefinition__Group__1__Impl rule__PredicateDefinition__Group__2
5547 { 7136 {
5548 pushFollow(FOLLOW_19); 7137 pushFollow(FOLLOW_22);
5549 rule__PredicateDefinition__Group__1__Impl(); 7138 rule__PredicateDefinition__Group__1__Impl();
5550 7139
5551 state._fsp--; 7140 state._fsp--;
@@ -5574,21 +7163,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5574 7163
5575 7164
5576 // $ANTLR start "rule__PredicateDefinition__Group__1__Impl" 7165 // $ANTLR start "rule__PredicateDefinition__Group__1__Impl"
5577 // InternalProblem.g:1749:1: rule__PredicateDefinition__Group__1__Impl : ( ( rule__PredicateDefinition__NameAssignment_1 ) ) ; 7166 // InternalProblem.g:2242:1: rule__PredicateDefinition__Group__1__Impl : ( ( rule__PredicateDefinition__NameAssignment_1 ) ) ;
5578 public final void rule__PredicateDefinition__Group__1__Impl() throws RecognitionException { 7167 public final void rule__PredicateDefinition__Group__1__Impl() throws RecognitionException {
5579 7168
5580 int stackSize = keepStackSize(); 7169 int stackSize = keepStackSize();
5581 7170
5582 try { 7171 try {
5583 // InternalProblem.g:1753:1: ( ( ( rule__PredicateDefinition__NameAssignment_1 ) ) ) 7172 // InternalProblem.g:2246:1: ( ( ( rule__PredicateDefinition__NameAssignment_1 ) ) )
5584 // InternalProblem.g:1754:1: ( ( rule__PredicateDefinition__NameAssignment_1 ) ) 7173 // InternalProblem.g:2247:1: ( ( rule__PredicateDefinition__NameAssignment_1 ) )
5585 { 7174 {
5586 // InternalProblem.g:1754:1: ( ( rule__PredicateDefinition__NameAssignment_1 ) ) 7175 // InternalProblem.g:2247:1: ( ( rule__PredicateDefinition__NameAssignment_1 ) )
5587 // InternalProblem.g:1755:2: ( rule__PredicateDefinition__NameAssignment_1 ) 7176 // InternalProblem.g:2248:2: ( rule__PredicateDefinition__NameAssignment_1 )
5588 { 7177 {
5589 before(grammarAccess.getPredicateDefinitionAccess().getNameAssignment_1()); 7178 before(grammarAccess.getPredicateDefinitionAccess().getNameAssignment_1());
5590 // InternalProblem.g:1756:2: ( rule__PredicateDefinition__NameAssignment_1 ) 7179 // InternalProblem.g:2249:2: ( rule__PredicateDefinition__NameAssignment_1 )
5591 // InternalProblem.g:1756:3: rule__PredicateDefinition__NameAssignment_1 7180 // InternalProblem.g:2249:3: rule__PredicateDefinition__NameAssignment_1
5592 { 7181 {
5593 pushFollow(FOLLOW_2); 7182 pushFollow(FOLLOW_2);
5594 rule__PredicateDefinition__NameAssignment_1(); 7183 rule__PredicateDefinition__NameAssignment_1();
@@ -5621,16 +7210,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5621 7210
5622 7211
5623 // $ANTLR start "rule__PredicateDefinition__Group__2" 7212 // $ANTLR start "rule__PredicateDefinition__Group__2"
5624 // InternalProblem.g:1764:1: rule__PredicateDefinition__Group__2 : rule__PredicateDefinition__Group__2__Impl rule__PredicateDefinition__Group__3 ; 7213 // InternalProblem.g:2257:1: rule__PredicateDefinition__Group__2 : rule__PredicateDefinition__Group__2__Impl rule__PredicateDefinition__Group__3 ;
5625 public final void rule__PredicateDefinition__Group__2() throws RecognitionException { 7214 public final void rule__PredicateDefinition__Group__2() throws RecognitionException {
5626 7215
5627 int stackSize = keepStackSize(); 7216 int stackSize = keepStackSize();
5628 7217
5629 try { 7218 try {
5630 // InternalProblem.g:1768:1: ( rule__PredicateDefinition__Group__2__Impl rule__PredicateDefinition__Group__3 ) 7219 // InternalProblem.g:2261:1: ( rule__PredicateDefinition__Group__2__Impl rule__PredicateDefinition__Group__3 )
5631 // InternalProblem.g:1769:2: rule__PredicateDefinition__Group__2__Impl rule__PredicateDefinition__Group__3 7220 // InternalProblem.g:2262:2: rule__PredicateDefinition__Group__2__Impl rule__PredicateDefinition__Group__3
5632 { 7221 {
5633 pushFollow(FOLLOW_20); 7222 pushFollow(FOLLOW_23);
5634 rule__PredicateDefinition__Group__2__Impl(); 7223 rule__PredicateDefinition__Group__2__Impl();
5635 7224
5636 state._fsp--; 7225 state._fsp--;
@@ -5659,20 +7248,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5659 7248
5660 7249
5661 // $ANTLR start "rule__PredicateDefinition__Group__2__Impl" 7250 // $ANTLR start "rule__PredicateDefinition__Group__2__Impl"
5662 // InternalProblem.g:1776:1: rule__PredicateDefinition__Group__2__Impl : ( '(' ) ; 7251 // InternalProblem.g:2269:1: rule__PredicateDefinition__Group__2__Impl : ( '(' ) ;
5663 public final void rule__PredicateDefinition__Group__2__Impl() throws RecognitionException { 7252 public final void rule__PredicateDefinition__Group__2__Impl() throws RecognitionException {
5664 7253
5665 int stackSize = keepStackSize(); 7254 int stackSize = keepStackSize();
5666 7255
5667 try { 7256 try {
5668 // InternalProblem.g:1780:1: ( ( '(' ) ) 7257 // InternalProblem.g:2273:1: ( ( '(' ) )
5669 // InternalProblem.g:1781:1: ( '(' ) 7258 // InternalProblem.g:2274:1: ( '(' )
5670 { 7259 {
5671 // InternalProblem.g:1781:1: ( '(' ) 7260 // InternalProblem.g:2274:1: ( '(' )
5672 // InternalProblem.g:1782:2: '(' 7261 // InternalProblem.g:2275:2: '('
5673 { 7262 {
5674 before(grammarAccess.getPredicateDefinitionAccess().getLeftParenthesisKeyword_2()); 7263 before(grammarAccess.getPredicateDefinitionAccess().getLeftParenthesisKeyword_2());
5675 match(input,32,FOLLOW_2); 7264 match(input,33,FOLLOW_2);
5676 after(grammarAccess.getPredicateDefinitionAccess().getLeftParenthesisKeyword_2()); 7265 after(grammarAccess.getPredicateDefinitionAccess().getLeftParenthesisKeyword_2());
5677 7266
5678 } 7267 }
@@ -5696,16 +7285,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5696 7285
5697 7286
5698 // $ANTLR start "rule__PredicateDefinition__Group__3" 7287 // $ANTLR start "rule__PredicateDefinition__Group__3"
5699 // InternalProblem.g:1791:1: rule__PredicateDefinition__Group__3 : rule__PredicateDefinition__Group__3__Impl rule__PredicateDefinition__Group__4 ; 7288 // InternalProblem.g:2284:1: rule__PredicateDefinition__Group__3 : rule__PredicateDefinition__Group__3__Impl rule__PredicateDefinition__Group__4 ;
5700 public final void rule__PredicateDefinition__Group__3() throws RecognitionException { 7289 public final void rule__PredicateDefinition__Group__3() throws RecognitionException {
5701 7290
5702 int stackSize = keepStackSize(); 7291 int stackSize = keepStackSize();
5703 7292
5704 try { 7293 try {
5705 // InternalProblem.g:1795:1: ( rule__PredicateDefinition__Group__3__Impl rule__PredicateDefinition__Group__4 ) 7294 // InternalProblem.g:2288:1: ( rule__PredicateDefinition__Group__3__Impl rule__PredicateDefinition__Group__4 )
5706 // InternalProblem.g:1796:2: rule__PredicateDefinition__Group__3__Impl rule__PredicateDefinition__Group__4 7295 // InternalProblem.g:2289:2: rule__PredicateDefinition__Group__3__Impl rule__PredicateDefinition__Group__4
5707 { 7296 {
5708 pushFollow(FOLLOW_20); 7297 pushFollow(FOLLOW_23);
5709 rule__PredicateDefinition__Group__3__Impl(); 7298 rule__PredicateDefinition__Group__3__Impl();
5710 7299
5711 state._fsp--; 7300 state._fsp--;
@@ -5734,29 +7323,29 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5734 7323
5735 7324
5736 // $ANTLR start "rule__PredicateDefinition__Group__3__Impl" 7325 // $ANTLR start "rule__PredicateDefinition__Group__3__Impl"
5737 // InternalProblem.g:1803:1: rule__PredicateDefinition__Group__3__Impl : ( ( rule__PredicateDefinition__Group_3__0 )? ) ; 7326 // InternalProblem.g:2296:1: rule__PredicateDefinition__Group__3__Impl : ( ( rule__PredicateDefinition__Group_3__0 )? ) ;
5738 public final void rule__PredicateDefinition__Group__3__Impl() throws RecognitionException { 7327 public final void rule__PredicateDefinition__Group__3__Impl() throws RecognitionException {
5739 7328
5740 int stackSize = keepStackSize(); 7329 int stackSize = keepStackSize();
5741 7330
5742 try { 7331 try {
5743 // InternalProblem.g:1807:1: ( ( ( rule__PredicateDefinition__Group_3__0 )? ) ) 7332 // InternalProblem.g:2300:1: ( ( ( rule__PredicateDefinition__Group_3__0 )? ) )
5744 // InternalProblem.g:1808:1: ( ( rule__PredicateDefinition__Group_3__0 )? ) 7333 // InternalProblem.g:2301:1: ( ( rule__PredicateDefinition__Group_3__0 )? )
5745 { 7334 {
5746 // InternalProblem.g:1808:1: ( ( rule__PredicateDefinition__Group_3__0 )? ) 7335 // InternalProblem.g:2301:1: ( ( rule__PredicateDefinition__Group_3__0 )? )
5747 // InternalProblem.g:1809:2: ( rule__PredicateDefinition__Group_3__0 )? 7336 // InternalProblem.g:2302:2: ( rule__PredicateDefinition__Group_3__0 )?
5748 { 7337 {
5749 before(grammarAccess.getPredicateDefinitionAccess().getGroup_3()); 7338 before(grammarAccess.getPredicateDefinitionAccess().getGroup_3());
5750 // InternalProblem.g:1810:2: ( rule__PredicateDefinition__Group_3__0 )? 7339 // InternalProblem.g:2303:2: ( rule__PredicateDefinition__Group_3__0 )?
5751 int alt23=2; 7340 int alt31=2;
5752 int LA23_0 = input.LA(1); 7341 int LA31_0 = input.LA(1);
5753 7342
5754 if ( (LA23_0==RULE_ID) ) { 7343 if ( ((LA31_0>=RULE_QUOTED_ID && LA31_0<=RULE_ID)||(LA31_0>=19 && LA31_0<=20)) ) {
5755 alt23=1; 7344 alt31=1;
5756 } 7345 }
5757 switch (alt23) { 7346 switch (alt31) {
5758 case 1 : 7347 case 1 :
5759 // InternalProblem.g:1810:3: rule__PredicateDefinition__Group_3__0 7348 // InternalProblem.g:2303:3: rule__PredicateDefinition__Group_3__0
5760 { 7349 {
5761 pushFollow(FOLLOW_2); 7350 pushFollow(FOLLOW_2);
5762 rule__PredicateDefinition__Group_3__0(); 7351 rule__PredicateDefinition__Group_3__0();
@@ -5792,16 +7381,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5792 7381
5793 7382
5794 // $ANTLR start "rule__PredicateDefinition__Group__4" 7383 // $ANTLR start "rule__PredicateDefinition__Group__4"
5795 // InternalProblem.g:1818:1: rule__PredicateDefinition__Group__4 : rule__PredicateDefinition__Group__4__Impl rule__PredicateDefinition__Group__5 ; 7384 // InternalProblem.g:2311:1: rule__PredicateDefinition__Group__4 : rule__PredicateDefinition__Group__4__Impl rule__PredicateDefinition__Group__5 ;
5796 public final void rule__PredicateDefinition__Group__4() throws RecognitionException { 7385 public final void rule__PredicateDefinition__Group__4() throws RecognitionException {
5797 7386
5798 int stackSize = keepStackSize(); 7387 int stackSize = keepStackSize();
5799 7388
5800 try { 7389 try {
5801 // InternalProblem.g:1822:1: ( rule__PredicateDefinition__Group__4__Impl rule__PredicateDefinition__Group__5 ) 7390 // InternalProblem.g:2315:1: ( rule__PredicateDefinition__Group__4__Impl rule__PredicateDefinition__Group__5 )
5802 // InternalProblem.g:1823:2: rule__PredicateDefinition__Group__4__Impl rule__PredicateDefinition__Group__5 7391 // InternalProblem.g:2316:2: rule__PredicateDefinition__Group__4__Impl rule__PredicateDefinition__Group__5
5803 { 7392 {
5804 pushFollow(FOLLOW_21); 7393 pushFollow(FOLLOW_24);
5805 rule__PredicateDefinition__Group__4__Impl(); 7394 rule__PredicateDefinition__Group__4__Impl();
5806 7395
5807 state._fsp--; 7396 state._fsp--;
@@ -5830,20 +7419,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5830 7419
5831 7420
5832 // $ANTLR start "rule__PredicateDefinition__Group__4__Impl" 7421 // $ANTLR start "rule__PredicateDefinition__Group__4__Impl"
5833 // InternalProblem.g:1830:1: rule__PredicateDefinition__Group__4__Impl : ( ')' ) ; 7422 // InternalProblem.g:2323:1: rule__PredicateDefinition__Group__4__Impl : ( ')' ) ;
5834 public final void rule__PredicateDefinition__Group__4__Impl() throws RecognitionException { 7423 public final void rule__PredicateDefinition__Group__4__Impl() throws RecognitionException {
5835 7424
5836 int stackSize = keepStackSize(); 7425 int stackSize = keepStackSize();
5837 7426
5838 try { 7427 try {
5839 // InternalProblem.g:1834:1: ( ( ')' ) ) 7428 // InternalProblem.g:2327:1: ( ( ')' ) )
5840 // InternalProblem.g:1835:1: ( ')' ) 7429 // InternalProblem.g:2328:1: ( ')' )
5841 { 7430 {
5842 // InternalProblem.g:1835:1: ( ')' ) 7431 // InternalProblem.g:2328:1: ( ')' )
5843 // InternalProblem.g:1836:2: ')' 7432 // InternalProblem.g:2329:2: ')'
5844 { 7433 {
5845 before(grammarAccess.getPredicateDefinitionAccess().getRightParenthesisKeyword_4()); 7434 before(grammarAccess.getPredicateDefinitionAccess().getRightParenthesisKeyword_4());
5846 match(input,33,FOLLOW_2); 7435 match(input,34,FOLLOW_2);
5847 after(grammarAccess.getPredicateDefinitionAccess().getRightParenthesisKeyword_4()); 7436 after(grammarAccess.getPredicateDefinitionAccess().getRightParenthesisKeyword_4());
5848 7437
5849 } 7438 }
@@ -5867,16 +7456,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5867 7456
5868 7457
5869 // $ANTLR start "rule__PredicateDefinition__Group__5" 7458 // $ANTLR start "rule__PredicateDefinition__Group__5"
5870 // InternalProblem.g:1845:1: rule__PredicateDefinition__Group__5 : rule__PredicateDefinition__Group__5__Impl rule__PredicateDefinition__Group__6 ; 7459 // InternalProblem.g:2338:1: rule__PredicateDefinition__Group__5 : rule__PredicateDefinition__Group__5__Impl rule__PredicateDefinition__Group__6 ;
5871 public final void rule__PredicateDefinition__Group__5() throws RecognitionException { 7460 public final void rule__PredicateDefinition__Group__5() throws RecognitionException {
5872 7461
5873 int stackSize = keepStackSize(); 7462 int stackSize = keepStackSize();
5874 7463
5875 try { 7464 try {
5876 // InternalProblem.g:1849:1: ( rule__PredicateDefinition__Group__5__Impl rule__PredicateDefinition__Group__6 ) 7465 // InternalProblem.g:2342:1: ( rule__PredicateDefinition__Group__5__Impl rule__PredicateDefinition__Group__6 )
5877 // InternalProblem.g:1850:2: rule__PredicateDefinition__Group__5__Impl rule__PredicateDefinition__Group__6 7466 // InternalProblem.g:2343:2: rule__PredicateDefinition__Group__5__Impl rule__PredicateDefinition__Group__6
5878 { 7467 {
5879 pushFollow(FOLLOW_21); 7468 pushFollow(FOLLOW_24);
5880 rule__PredicateDefinition__Group__5__Impl(); 7469 rule__PredicateDefinition__Group__5__Impl();
5881 7470
5882 state._fsp--; 7471 state._fsp--;
@@ -5905,29 +7494,29 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5905 7494
5906 7495
5907 // $ANTLR start "rule__PredicateDefinition__Group__5__Impl" 7496 // $ANTLR start "rule__PredicateDefinition__Group__5__Impl"
5908 // InternalProblem.g:1857:1: rule__PredicateDefinition__Group__5__Impl : ( ( rule__PredicateDefinition__Group_5__0 )? ) ; 7497 // InternalProblem.g:2350:1: rule__PredicateDefinition__Group__5__Impl : ( ( rule__PredicateDefinition__Group_5__0 )? ) ;
5909 public final void rule__PredicateDefinition__Group__5__Impl() throws RecognitionException { 7498 public final void rule__PredicateDefinition__Group__5__Impl() throws RecognitionException {
5910 7499
5911 int stackSize = keepStackSize(); 7500 int stackSize = keepStackSize();
5912 7501
5913 try { 7502 try {
5914 // InternalProblem.g:1861:1: ( ( ( rule__PredicateDefinition__Group_5__0 )? ) ) 7503 // InternalProblem.g:2354:1: ( ( ( rule__PredicateDefinition__Group_5__0 )? ) )
5915 // InternalProblem.g:1862:1: ( ( rule__PredicateDefinition__Group_5__0 )? ) 7504 // InternalProblem.g:2355:1: ( ( rule__PredicateDefinition__Group_5__0 )? )
5916 { 7505 {
5917 // InternalProblem.g:1862:1: ( ( rule__PredicateDefinition__Group_5__0 )? ) 7506 // InternalProblem.g:2355:1: ( ( rule__PredicateDefinition__Group_5__0 )? )
5918 // InternalProblem.g:1863:2: ( rule__PredicateDefinition__Group_5__0 )? 7507 // InternalProblem.g:2356:2: ( rule__PredicateDefinition__Group_5__0 )?
5919 { 7508 {
5920 before(grammarAccess.getPredicateDefinitionAccess().getGroup_5()); 7509 before(grammarAccess.getPredicateDefinitionAccess().getGroup_5());
5921 // InternalProblem.g:1864:2: ( rule__PredicateDefinition__Group_5__0 )? 7510 // InternalProblem.g:2357:2: ( rule__PredicateDefinition__Group_5__0 )?
5922 int alt24=2; 7511 int alt32=2;
5923 int LA24_0 = input.LA(1); 7512 int LA32_0 = input.LA(1);
5924 7513
5925 if ( (LA24_0==34) ) { 7514 if ( (LA32_0==35) ) {
5926 alt24=1; 7515 alt32=1;
5927 } 7516 }
5928 switch (alt24) { 7517 switch (alt32) {
5929 case 1 : 7518 case 1 :
5930 // InternalProblem.g:1864:3: rule__PredicateDefinition__Group_5__0 7519 // InternalProblem.g:2357:3: rule__PredicateDefinition__Group_5__0
5931 { 7520 {
5932 pushFollow(FOLLOW_2); 7521 pushFollow(FOLLOW_2);
5933 rule__PredicateDefinition__Group_5__0(); 7522 rule__PredicateDefinition__Group_5__0();
@@ -5963,14 +7552,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5963 7552
5964 7553
5965 // $ANTLR start "rule__PredicateDefinition__Group__6" 7554 // $ANTLR start "rule__PredicateDefinition__Group__6"
5966 // InternalProblem.g:1872:1: rule__PredicateDefinition__Group__6 : rule__PredicateDefinition__Group__6__Impl ; 7555 // InternalProblem.g:2365:1: rule__PredicateDefinition__Group__6 : rule__PredicateDefinition__Group__6__Impl ;
5967 public final void rule__PredicateDefinition__Group__6() throws RecognitionException { 7556 public final void rule__PredicateDefinition__Group__6() throws RecognitionException {
5968 7557
5969 int stackSize = keepStackSize(); 7558 int stackSize = keepStackSize();
5970 7559
5971 try { 7560 try {
5972 // InternalProblem.g:1876:1: ( rule__PredicateDefinition__Group__6__Impl ) 7561 // InternalProblem.g:2369:1: ( rule__PredicateDefinition__Group__6__Impl )
5973 // InternalProblem.g:1877:2: rule__PredicateDefinition__Group__6__Impl 7562 // InternalProblem.g:2370:2: rule__PredicateDefinition__Group__6__Impl
5974 { 7563 {
5975 pushFollow(FOLLOW_2); 7564 pushFollow(FOLLOW_2);
5976 rule__PredicateDefinition__Group__6__Impl(); 7565 rule__PredicateDefinition__Group__6__Impl();
@@ -5996,17 +7585,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
5996 7585
5997 7586
5998 // $ANTLR start "rule__PredicateDefinition__Group__6__Impl" 7587 // $ANTLR start "rule__PredicateDefinition__Group__6__Impl"
5999 // InternalProblem.g:1883:1: rule__PredicateDefinition__Group__6__Impl : ( '.' ) ; 7588 // InternalProblem.g:2376:1: rule__PredicateDefinition__Group__6__Impl : ( '.' ) ;
6000 public final void rule__PredicateDefinition__Group__6__Impl() throws RecognitionException { 7589 public final void rule__PredicateDefinition__Group__6__Impl() throws RecognitionException {
6001 7590
6002 int stackSize = keepStackSize(); 7591 int stackSize = keepStackSize();
6003 7592
6004 try { 7593 try {
6005 // InternalProblem.g:1887:1: ( ( '.' ) ) 7594 // InternalProblem.g:2380:1: ( ( '.' ) )
6006 // InternalProblem.g:1888:1: ( '.' ) 7595 // InternalProblem.g:2381:1: ( '.' )
6007 { 7596 {
6008 // InternalProblem.g:1888:1: ( '.' ) 7597 // InternalProblem.g:2381:1: ( '.' )
6009 // InternalProblem.g:1889:2: '.' 7598 // InternalProblem.g:2382:2: '.'
6010 { 7599 {
6011 before(grammarAccess.getPredicateDefinitionAccess().getFullStopKeyword_6()); 7600 before(grammarAccess.getPredicateDefinitionAccess().getFullStopKeyword_6());
6012 match(input,12,FOLLOW_2); 7601 match(input,12,FOLLOW_2);
@@ -6033,16 +7622,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6033 7622
6034 7623
6035 // $ANTLR start "rule__PredicateDefinition__Group_0_0__0" 7624 // $ANTLR start "rule__PredicateDefinition__Group_0_0__0"
6036 // InternalProblem.g:1899:1: rule__PredicateDefinition__Group_0_0__0 : rule__PredicateDefinition__Group_0_0__0__Impl rule__PredicateDefinition__Group_0_0__1 ; 7625 // InternalProblem.g:2392:1: rule__PredicateDefinition__Group_0_0__0 : rule__PredicateDefinition__Group_0_0__0__Impl rule__PredicateDefinition__Group_0_0__1 ;
6037 public final void rule__PredicateDefinition__Group_0_0__0() throws RecognitionException { 7626 public final void rule__PredicateDefinition__Group_0_0__0() throws RecognitionException {
6038 7627
6039 int stackSize = keepStackSize(); 7628 int stackSize = keepStackSize();
6040 7629
6041 try { 7630 try {
6042 // InternalProblem.g:1903:1: ( rule__PredicateDefinition__Group_0_0__0__Impl rule__PredicateDefinition__Group_0_0__1 ) 7631 // InternalProblem.g:2396:1: ( 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 7632 // InternalProblem.g:2397:2: rule__PredicateDefinition__Group_0_0__0__Impl rule__PredicateDefinition__Group_0_0__1
6044 { 7633 {
6045 pushFollow(FOLLOW_22); 7634 pushFollow(FOLLOW_25);
6046 rule__PredicateDefinition__Group_0_0__0__Impl(); 7635 rule__PredicateDefinition__Group_0_0__0__Impl();
6047 7636
6048 state._fsp--; 7637 state._fsp--;
@@ -6071,21 +7660,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6071 7660
6072 7661
6073 // $ANTLR start "rule__PredicateDefinition__Group_0_0__0__Impl" 7662 // $ANTLR start "rule__PredicateDefinition__Group_0_0__0__Impl"
6074 // InternalProblem.g:1911:1: rule__PredicateDefinition__Group_0_0__0__Impl : ( ( rule__PredicateDefinition__ErrorAssignment_0_0_0 ) ) ; 7663 // InternalProblem.g:2404:1: rule__PredicateDefinition__Group_0_0__0__Impl : ( ( rule__PredicateDefinition__ErrorAssignment_0_0_0 ) ) ;
6075 public final void rule__PredicateDefinition__Group_0_0__0__Impl() throws RecognitionException { 7664 public final void rule__PredicateDefinition__Group_0_0__0__Impl() throws RecognitionException {
6076 7665
6077 int stackSize = keepStackSize(); 7666 int stackSize = keepStackSize();
6078 7667
6079 try { 7668 try {
6080 // InternalProblem.g:1915:1: ( ( ( rule__PredicateDefinition__ErrorAssignment_0_0_0 ) ) ) 7669 // InternalProblem.g:2408:1: ( ( ( rule__PredicateDefinition__ErrorAssignment_0_0_0 ) ) )
6081 // InternalProblem.g:1916:1: ( ( rule__PredicateDefinition__ErrorAssignment_0_0_0 ) ) 7670 // InternalProblem.g:2409:1: ( ( rule__PredicateDefinition__ErrorAssignment_0_0_0 ) )
6082 { 7671 {
6083 // InternalProblem.g:1916:1: ( ( rule__PredicateDefinition__ErrorAssignment_0_0_0 ) ) 7672 // InternalProblem.g:2409:1: ( ( rule__PredicateDefinition__ErrorAssignment_0_0_0 ) )
6084 // InternalProblem.g:1917:2: ( rule__PredicateDefinition__ErrorAssignment_0_0_0 ) 7673 // InternalProblem.g:2410:2: ( rule__PredicateDefinition__ErrorAssignment_0_0_0 )
6085 { 7674 {
6086 before(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_0_0()); 7675 before(grammarAccess.getPredicateDefinitionAccess().getErrorAssignment_0_0_0());
6087 // InternalProblem.g:1918:2: ( rule__PredicateDefinition__ErrorAssignment_0_0_0 ) 7676 // InternalProblem.g:2411:2: ( rule__PredicateDefinition__ErrorAssignment_0_0_0 )
6088 // InternalProblem.g:1918:3: rule__PredicateDefinition__ErrorAssignment_0_0_0 7677 // InternalProblem.g:2411:3: rule__PredicateDefinition__ErrorAssignment_0_0_0
6089 { 7678 {
6090 pushFollow(FOLLOW_2); 7679 pushFollow(FOLLOW_2);
6091 rule__PredicateDefinition__ErrorAssignment_0_0_0(); 7680 rule__PredicateDefinition__ErrorAssignment_0_0_0();
@@ -6118,14 +7707,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6118 7707
6119 7708
6120 // $ANTLR start "rule__PredicateDefinition__Group_0_0__1" 7709 // $ANTLR start "rule__PredicateDefinition__Group_0_0__1"
6121 // InternalProblem.g:1926:1: rule__PredicateDefinition__Group_0_0__1 : rule__PredicateDefinition__Group_0_0__1__Impl ; 7710 // InternalProblem.g:2419:1: rule__PredicateDefinition__Group_0_0__1 : rule__PredicateDefinition__Group_0_0__1__Impl ;
6122 public final void rule__PredicateDefinition__Group_0_0__1() throws RecognitionException { 7711 public final void rule__PredicateDefinition__Group_0_0__1() throws RecognitionException {
6123 7712
6124 int stackSize = keepStackSize(); 7713 int stackSize = keepStackSize();
6125 7714
6126 try { 7715 try {
6127 // InternalProblem.g:1930:1: ( rule__PredicateDefinition__Group_0_0__1__Impl ) 7716 // InternalProblem.g:2423:1: ( rule__PredicateDefinition__Group_0_0__1__Impl )
6128 // InternalProblem.g:1931:2: rule__PredicateDefinition__Group_0_0__1__Impl 7717 // InternalProblem.g:2424:2: rule__PredicateDefinition__Group_0_0__1__Impl
6129 { 7718 {
6130 pushFollow(FOLLOW_2); 7719 pushFollow(FOLLOW_2);
6131 rule__PredicateDefinition__Group_0_0__1__Impl(); 7720 rule__PredicateDefinition__Group_0_0__1__Impl();
@@ -6151,31 +7740,31 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6151 7740
6152 7741
6153 // $ANTLR start "rule__PredicateDefinition__Group_0_0__1__Impl" 7742 // $ANTLR start "rule__PredicateDefinition__Group_0_0__1__Impl"
6154 // InternalProblem.g:1937:1: rule__PredicateDefinition__Group_0_0__1__Impl : ( ( 'pred' )? ) ; 7743 // InternalProblem.g:2430:1: rule__PredicateDefinition__Group_0_0__1__Impl : ( ( 'pred' )? ) ;
6155 public final void rule__PredicateDefinition__Group_0_0__1__Impl() throws RecognitionException { 7744 public final void rule__PredicateDefinition__Group_0_0__1__Impl() throws RecognitionException {
6156 7745
6157 int stackSize = keepStackSize(); 7746 int stackSize = keepStackSize();
6158 7747
6159 try { 7748 try {
6160 // InternalProblem.g:1941:1: ( ( ( 'pred' )? ) ) 7749 // InternalProblem.g:2434:1: ( ( ( 'pred' )? ) )
6161 // InternalProblem.g:1942:1: ( ( 'pred' )? ) 7750 // InternalProblem.g:2435:1: ( ( 'pred' )? )
6162 { 7751 {
6163 // InternalProblem.g:1942:1: ( ( 'pred' )? ) 7752 // InternalProblem.g:2435:1: ( ( 'pred' )? )
6164 // InternalProblem.g:1943:2: ( 'pred' )? 7753 // InternalProblem.g:2436:2: ( 'pred' )?
6165 { 7754 {
6166 before(grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_0_1()); 7755 before(grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_0_1());
6167 // InternalProblem.g:1944:2: ( 'pred' )? 7756 // InternalProblem.g:2437:2: ( 'pred' )?
6168 int alt25=2; 7757 int alt33=2;
6169 int LA25_0 = input.LA(1); 7758 int LA33_0 = input.LA(1);
6170 7759
6171 if ( (LA25_0==14) ) { 7760 if ( (LA33_0==16) ) {
6172 alt25=1; 7761 alt33=1;
6173 } 7762 }
6174 switch (alt25) { 7763 switch (alt33) {
6175 case 1 : 7764 case 1 :
6176 // InternalProblem.g:1944:3: 'pred' 7765 // InternalProblem.g:2437:3: 'pred'
6177 { 7766 {
6178 match(input,14,FOLLOW_2); 7767 match(input,16,FOLLOW_2);
6179 7768
6180 } 7769 }
6181 break; 7770 break;
@@ -6205,16 +7794,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6205 7794
6206 7795
6207 // $ANTLR start "rule__PredicateDefinition__Group_3__0" 7796 // $ANTLR start "rule__PredicateDefinition__Group_3__0"
6208 // InternalProblem.g:1953:1: rule__PredicateDefinition__Group_3__0 : rule__PredicateDefinition__Group_3__0__Impl rule__PredicateDefinition__Group_3__1 ; 7797 // InternalProblem.g:2446:1: rule__PredicateDefinition__Group_3__0 : rule__PredicateDefinition__Group_3__0__Impl rule__PredicateDefinition__Group_3__1 ;
6209 public final void rule__PredicateDefinition__Group_3__0() throws RecognitionException { 7798 public final void rule__PredicateDefinition__Group_3__0() throws RecognitionException {
6210 7799
6211 int stackSize = keepStackSize(); 7800 int stackSize = keepStackSize();
6212 7801
6213 try { 7802 try {
6214 // InternalProblem.g:1957:1: ( rule__PredicateDefinition__Group_3__0__Impl rule__PredicateDefinition__Group_3__1 ) 7803 // InternalProblem.g:2450:1: ( 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 7804 // InternalProblem.g:2451:2: rule__PredicateDefinition__Group_3__0__Impl rule__PredicateDefinition__Group_3__1
6216 { 7805 {
6217 pushFollow(FOLLOW_10); 7806 pushFollow(FOLLOW_9);
6218 rule__PredicateDefinition__Group_3__0__Impl(); 7807 rule__PredicateDefinition__Group_3__0__Impl();
6219 7808
6220 state._fsp--; 7809 state._fsp--;
@@ -6243,21 +7832,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6243 7832
6244 7833
6245 // $ANTLR start "rule__PredicateDefinition__Group_3__0__Impl" 7834 // $ANTLR start "rule__PredicateDefinition__Group_3__0__Impl"
6246 // InternalProblem.g:1965:1: rule__PredicateDefinition__Group_3__0__Impl : ( ( rule__PredicateDefinition__ParametersAssignment_3_0 ) ) ; 7835 // InternalProblem.g:2458:1: rule__PredicateDefinition__Group_3__0__Impl : ( ( rule__PredicateDefinition__ParametersAssignment_3_0 ) ) ;
6247 public final void rule__PredicateDefinition__Group_3__0__Impl() throws RecognitionException { 7836 public final void rule__PredicateDefinition__Group_3__0__Impl() throws RecognitionException {
6248 7837
6249 int stackSize = keepStackSize(); 7838 int stackSize = keepStackSize();
6250 7839
6251 try { 7840 try {
6252 // InternalProblem.g:1969:1: ( ( ( rule__PredicateDefinition__ParametersAssignment_3_0 ) ) ) 7841 // InternalProblem.g:2462:1: ( ( ( rule__PredicateDefinition__ParametersAssignment_3_0 ) ) )
6253 // InternalProblem.g:1970:1: ( ( rule__PredicateDefinition__ParametersAssignment_3_0 ) ) 7842 // InternalProblem.g:2463:1: ( ( rule__PredicateDefinition__ParametersAssignment_3_0 ) )
6254 { 7843 {
6255 // InternalProblem.g:1970:1: ( ( rule__PredicateDefinition__ParametersAssignment_3_0 ) ) 7844 // InternalProblem.g:2463:1: ( ( rule__PredicateDefinition__ParametersAssignment_3_0 ) )
6256 // InternalProblem.g:1971:2: ( rule__PredicateDefinition__ParametersAssignment_3_0 ) 7845 // InternalProblem.g:2464:2: ( rule__PredicateDefinition__ParametersAssignment_3_0 )
6257 { 7846 {
6258 before(grammarAccess.getPredicateDefinitionAccess().getParametersAssignment_3_0()); 7847 before(grammarAccess.getPredicateDefinitionAccess().getParametersAssignment_3_0());
6259 // InternalProblem.g:1972:2: ( rule__PredicateDefinition__ParametersAssignment_3_0 ) 7848 // InternalProblem.g:2465:2: ( rule__PredicateDefinition__ParametersAssignment_3_0 )
6260 // InternalProblem.g:1972:3: rule__PredicateDefinition__ParametersAssignment_3_0 7849 // InternalProblem.g:2465:3: rule__PredicateDefinition__ParametersAssignment_3_0
6261 { 7850 {
6262 pushFollow(FOLLOW_2); 7851 pushFollow(FOLLOW_2);
6263 rule__PredicateDefinition__ParametersAssignment_3_0(); 7852 rule__PredicateDefinition__ParametersAssignment_3_0();
@@ -6290,14 +7879,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6290 7879
6291 7880
6292 // $ANTLR start "rule__PredicateDefinition__Group_3__1" 7881 // $ANTLR start "rule__PredicateDefinition__Group_3__1"
6293 // InternalProblem.g:1980:1: rule__PredicateDefinition__Group_3__1 : rule__PredicateDefinition__Group_3__1__Impl ; 7882 // InternalProblem.g:2473:1: rule__PredicateDefinition__Group_3__1 : rule__PredicateDefinition__Group_3__1__Impl ;
6294 public final void rule__PredicateDefinition__Group_3__1() throws RecognitionException { 7883 public final void rule__PredicateDefinition__Group_3__1() throws RecognitionException {
6295 7884
6296 int stackSize = keepStackSize(); 7885 int stackSize = keepStackSize();
6297 7886
6298 try { 7887 try {
6299 // InternalProblem.g:1984:1: ( rule__PredicateDefinition__Group_3__1__Impl ) 7888 // InternalProblem.g:2477:1: ( rule__PredicateDefinition__Group_3__1__Impl )
6300 // InternalProblem.g:1985:2: rule__PredicateDefinition__Group_3__1__Impl 7889 // InternalProblem.g:2478:2: rule__PredicateDefinition__Group_3__1__Impl
6301 { 7890 {
6302 pushFollow(FOLLOW_2); 7891 pushFollow(FOLLOW_2);
6303 rule__PredicateDefinition__Group_3__1__Impl(); 7892 rule__PredicateDefinition__Group_3__1__Impl();
@@ -6323,35 +7912,35 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6323 7912
6324 7913
6325 // $ANTLR start "rule__PredicateDefinition__Group_3__1__Impl" 7914 // $ANTLR start "rule__PredicateDefinition__Group_3__1__Impl"
6326 // InternalProblem.g:1991:1: rule__PredicateDefinition__Group_3__1__Impl : ( ( rule__PredicateDefinition__Group_3_1__0 )* ) ; 7915 // InternalProblem.g:2484:1: rule__PredicateDefinition__Group_3__1__Impl : ( ( rule__PredicateDefinition__Group_3_1__0 )* ) ;
6327 public final void rule__PredicateDefinition__Group_3__1__Impl() throws RecognitionException { 7916 public final void rule__PredicateDefinition__Group_3__1__Impl() throws RecognitionException {
6328 7917
6329 int stackSize = keepStackSize(); 7918 int stackSize = keepStackSize();
6330 7919
6331 try { 7920 try {
6332 // InternalProblem.g:1995:1: ( ( ( rule__PredicateDefinition__Group_3_1__0 )* ) ) 7921 // InternalProblem.g:2488:1: ( ( ( rule__PredicateDefinition__Group_3_1__0 )* ) )
6333 // InternalProblem.g:1996:1: ( ( rule__PredicateDefinition__Group_3_1__0 )* ) 7922 // InternalProblem.g:2489:1: ( ( rule__PredicateDefinition__Group_3_1__0 )* )
6334 { 7923 {
6335 // InternalProblem.g:1996:1: ( ( rule__PredicateDefinition__Group_3_1__0 )* ) 7924 // InternalProblem.g:2489:1: ( ( rule__PredicateDefinition__Group_3_1__0 )* )
6336 // InternalProblem.g:1997:2: ( rule__PredicateDefinition__Group_3_1__0 )* 7925 // InternalProblem.g:2490:2: ( rule__PredicateDefinition__Group_3_1__0 )*
6337 { 7926 {
6338 before(grammarAccess.getPredicateDefinitionAccess().getGroup_3_1()); 7927 before(grammarAccess.getPredicateDefinitionAccess().getGroup_3_1());
6339 // InternalProblem.g:1998:2: ( rule__PredicateDefinition__Group_3_1__0 )* 7928 // InternalProblem.g:2491:2: ( rule__PredicateDefinition__Group_3_1__0 )*
6340 loop26: 7929 loop34:
6341 do { 7930 do {
6342 int alt26=2; 7931 int alt34=2;
6343 int LA26_0 = input.LA(1); 7932 int LA34_0 = input.LA(1);
6344 7933
6345 if ( (LA26_0==25) ) { 7934 if ( (LA34_0==13) ) {
6346 alt26=1; 7935 alt34=1;
6347 } 7936 }
6348 7937
6349 7938
6350 switch (alt26) { 7939 switch (alt34) {
6351 case 1 : 7940 case 1 :
6352 // InternalProblem.g:1998:3: rule__PredicateDefinition__Group_3_1__0 7941 // InternalProblem.g:2491:3: rule__PredicateDefinition__Group_3_1__0
6353 { 7942 {
6354 pushFollow(FOLLOW_11); 7943 pushFollow(FOLLOW_10);
6355 rule__PredicateDefinition__Group_3_1__0(); 7944 rule__PredicateDefinition__Group_3_1__0();
6356 7945
6357 state._fsp--; 7946 state._fsp--;
@@ -6361,7 +7950,7 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6361 break; 7950 break;
6362 7951
6363 default : 7952 default :
6364 break loop26; 7953 break loop34;
6365 } 7954 }
6366 } while (true); 7955 } while (true);
6367 7956
@@ -6388,14 +7977,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6388 7977
6389 7978
6390 // $ANTLR start "rule__PredicateDefinition__Group_3_1__0" 7979 // $ANTLR start "rule__PredicateDefinition__Group_3_1__0"
6391 // InternalProblem.g:2007:1: rule__PredicateDefinition__Group_3_1__0 : rule__PredicateDefinition__Group_3_1__0__Impl rule__PredicateDefinition__Group_3_1__1 ; 7980 // InternalProblem.g:2500:1: rule__PredicateDefinition__Group_3_1__0 : rule__PredicateDefinition__Group_3_1__0__Impl rule__PredicateDefinition__Group_3_1__1 ;
6392 public final void rule__PredicateDefinition__Group_3_1__0() throws RecognitionException { 7981 public final void rule__PredicateDefinition__Group_3_1__0() throws RecognitionException {
6393 7982
6394 int stackSize = keepStackSize(); 7983 int stackSize = keepStackSize();
6395 7984
6396 try { 7985 try {
6397 // InternalProblem.g:2011:1: ( rule__PredicateDefinition__Group_3_1__0__Impl rule__PredicateDefinition__Group_3_1__1 ) 7986 // InternalProblem.g:2504:1: ( 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 7987 // InternalProblem.g:2505:2: rule__PredicateDefinition__Group_3_1__0__Impl rule__PredicateDefinition__Group_3_1__1
6399 { 7988 {
6400 pushFollow(FOLLOW_5); 7989 pushFollow(FOLLOW_5);
6401 rule__PredicateDefinition__Group_3_1__0__Impl(); 7990 rule__PredicateDefinition__Group_3_1__0__Impl();
@@ -6426,20 +8015,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6426 8015
6427 8016
6428 // $ANTLR start "rule__PredicateDefinition__Group_3_1__0__Impl" 8017 // $ANTLR start "rule__PredicateDefinition__Group_3_1__0__Impl"
6429 // InternalProblem.g:2019:1: rule__PredicateDefinition__Group_3_1__0__Impl : ( ',' ) ; 8018 // InternalProblem.g:2512:1: rule__PredicateDefinition__Group_3_1__0__Impl : ( ',' ) ;
6430 public final void rule__PredicateDefinition__Group_3_1__0__Impl() throws RecognitionException { 8019 public final void rule__PredicateDefinition__Group_3_1__0__Impl() throws RecognitionException {
6431 8020
6432 int stackSize = keepStackSize(); 8021 int stackSize = keepStackSize();
6433 8022
6434 try { 8023 try {
6435 // InternalProblem.g:2023:1: ( ( ',' ) ) 8024 // InternalProblem.g:2516:1: ( ( ',' ) )
6436 // InternalProblem.g:2024:1: ( ',' ) 8025 // InternalProblem.g:2517:1: ( ',' )
6437 { 8026 {
6438 // InternalProblem.g:2024:1: ( ',' ) 8027 // InternalProblem.g:2517:1: ( ',' )
6439 // InternalProblem.g:2025:2: ',' 8028 // InternalProblem.g:2518:2: ','
6440 { 8029 {
6441 before(grammarAccess.getPredicateDefinitionAccess().getCommaKeyword_3_1_0()); 8030 before(grammarAccess.getPredicateDefinitionAccess().getCommaKeyword_3_1_0());
6442 match(input,25,FOLLOW_2); 8031 match(input,13,FOLLOW_2);
6443 after(grammarAccess.getPredicateDefinitionAccess().getCommaKeyword_3_1_0()); 8032 after(grammarAccess.getPredicateDefinitionAccess().getCommaKeyword_3_1_0());
6444 8033
6445 } 8034 }
@@ -6463,14 +8052,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6463 8052
6464 8053
6465 // $ANTLR start "rule__PredicateDefinition__Group_3_1__1" 8054 // $ANTLR start "rule__PredicateDefinition__Group_3_1__1"
6466 // InternalProblem.g:2034:1: rule__PredicateDefinition__Group_3_1__1 : rule__PredicateDefinition__Group_3_1__1__Impl ; 8055 // InternalProblem.g:2527:1: rule__PredicateDefinition__Group_3_1__1 : rule__PredicateDefinition__Group_3_1__1__Impl ;
6467 public final void rule__PredicateDefinition__Group_3_1__1() throws RecognitionException { 8056 public final void rule__PredicateDefinition__Group_3_1__1() throws RecognitionException {
6468 8057
6469 int stackSize = keepStackSize(); 8058 int stackSize = keepStackSize();
6470 8059
6471 try { 8060 try {
6472 // InternalProblem.g:2038:1: ( rule__PredicateDefinition__Group_3_1__1__Impl ) 8061 // InternalProblem.g:2531:1: ( rule__PredicateDefinition__Group_3_1__1__Impl )
6473 // InternalProblem.g:2039:2: rule__PredicateDefinition__Group_3_1__1__Impl 8062 // InternalProblem.g:2532:2: rule__PredicateDefinition__Group_3_1__1__Impl
6474 { 8063 {
6475 pushFollow(FOLLOW_2); 8064 pushFollow(FOLLOW_2);
6476 rule__PredicateDefinition__Group_3_1__1__Impl(); 8065 rule__PredicateDefinition__Group_3_1__1__Impl();
@@ -6496,21 +8085,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6496 8085
6497 8086
6498 // $ANTLR start "rule__PredicateDefinition__Group_3_1__1__Impl" 8087 // $ANTLR start "rule__PredicateDefinition__Group_3_1__1__Impl"
6499 // InternalProblem.g:2045:1: rule__PredicateDefinition__Group_3_1__1__Impl : ( ( rule__PredicateDefinition__ParametersAssignment_3_1_1 ) ) ; 8088 // InternalProblem.g:2538:1: rule__PredicateDefinition__Group_3_1__1__Impl : ( ( rule__PredicateDefinition__ParametersAssignment_3_1_1 ) ) ;
6500 public final void rule__PredicateDefinition__Group_3_1__1__Impl() throws RecognitionException { 8089 public final void rule__PredicateDefinition__Group_3_1__1__Impl() throws RecognitionException {
6501 8090
6502 int stackSize = keepStackSize(); 8091 int stackSize = keepStackSize();
6503 8092
6504 try { 8093 try {
6505 // InternalProblem.g:2049:1: ( ( ( rule__PredicateDefinition__ParametersAssignment_3_1_1 ) ) ) 8094 // InternalProblem.g:2542:1: ( ( ( rule__PredicateDefinition__ParametersAssignment_3_1_1 ) ) )
6506 // InternalProblem.g:2050:1: ( ( rule__PredicateDefinition__ParametersAssignment_3_1_1 ) ) 8095 // InternalProblem.g:2543:1: ( ( rule__PredicateDefinition__ParametersAssignment_3_1_1 ) )
6507 { 8096 {
6508 // InternalProblem.g:2050:1: ( ( rule__PredicateDefinition__ParametersAssignment_3_1_1 ) ) 8097 // InternalProblem.g:2543:1: ( ( rule__PredicateDefinition__ParametersAssignment_3_1_1 ) )
6509 // InternalProblem.g:2051:2: ( rule__PredicateDefinition__ParametersAssignment_3_1_1 ) 8098 // InternalProblem.g:2544:2: ( rule__PredicateDefinition__ParametersAssignment_3_1_1 )
6510 { 8099 {
6511 before(grammarAccess.getPredicateDefinitionAccess().getParametersAssignment_3_1_1()); 8100 before(grammarAccess.getPredicateDefinitionAccess().getParametersAssignment_3_1_1());
6512 // InternalProblem.g:2052:2: ( rule__PredicateDefinition__ParametersAssignment_3_1_1 ) 8101 // InternalProblem.g:2545:2: ( rule__PredicateDefinition__ParametersAssignment_3_1_1 )
6513 // InternalProblem.g:2052:3: rule__PredicateDefinition__ParametersAssignment_3_1_1 8102 // InternalProblem.g:2545:3: rule__PredicateDefinition__ParametersAssignment_3_1_1
6514 { 8103 {
6515 pushFollow(FOLLOW_2); 8104 pushFollow(FOLLOW_2);
6516 rule__PredicateDefinition__ParametersAssignment_3_1_1(); 8105 rule__PredicateDefinition__ParametersAssignment_3_1_1();
@@ -6543,16 +8132,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6543 8132
6544 8133
6545 // $ANTLR start "rule__PredicateDefinition__Group_5__0" 8134 // $ANTLR start "rule__PredicateDefinition__Group_5__0"
6546 // InternalProblem.g:2061:1: rule__PredicateDefinition__Group_5__0 : rule__PredicateDefinition__Group_5__0__Impl rule__PredicateDefinition__Group_5__1 ; 8135 // InternalProblem.g:2554:1: rule__PredicateDefinition__Group_5__0 : rule__PredicateDefinition__Group_5__0__Impl rule__PredicateDefinition__Group_5__1 ;
6547 public final void rule__PredicateDefinition__Group_5__0() throws RecognitionException { 8136 public final void rule__PredicateDefinition__Group_5__0() throws RecognitionException {
6548 8137
6549 int stackSize = keepStackSize(); 8138 int stackSize = keepStackSize();
6550 8139
6551 try { 8140 try {
6552 // InternalProblem.g:2065:1: ( rule__PredicateDefinition__Group_5__0__Impl rule__PredicateDefinition__Group_5__1 ) 8141 // InternalProblem.g:2558:1: ( 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 8142 // InternalProblem.g:2559:2: rule__PredicateDefinition__Group_5__0__Impl rule__PredicateDefinition__Group_5__1
6554 { 8143 {
6555 pushFollow(FOLLOW_23); 8144 pushFollow(FOLLOW_26);
6556 rule__PredicateDefinition__Group_5__0__Impl(); 8145 rule__PredicateDefinition__Group_5__0__Impl();
6557 8146
6558 state._fsp--; 8147 state._fsp--;
@@ -6581,20 +8170,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6581 8170
6582 8171
6583 // $ANTLR start "rule__PredicateDefinition__Group_5__0__Impl" 8172 // $ANTLR start "rule__PredicateDefinition__Group_5__0__Impl"
6584 // InternalProblem.g:2073:1: rule__PredicateDefinition__Group_5__0__Impl : ( ':-' ) ; 8173 // InternalProblem.g:2566:1: rule__PredicateDefinition__Group_5__0__Impl : ( ':-' ) ;
6585 public final void rule__PredicateDefinition__Group_5__0__Impl() throws RecognitionException { 8174 public final void rule__PredicateDefinition__Group_5__0__Impl() throws RecognitionException {
6586 8175
6587 int stackSize = keepStackSize(); 8176 int stackSize = keepStackSize();
6588 8177
6589 try { 8178 try {
6590 // InternalProblem.g:2077:1: ( ( ':-' ) ) 8179 // InternalProblem.g:2570:1: ( ( ':-' ) )
6591 // InternalProblem.g:2078:1: ( ':-' ) 8180 // InternalProblem.g:2571:1: ( ':-' )
6592 { 8181 {
6593 // InternalProblem.g:2078:1: ( ':-' ) 8182 // InternalProblem.g:2571:1: ( ':-' )
6594 // InternalProblem.g:2079:2: ':-' 8183 // InternalProblem.g:2572:2: ':-'
6595 { 8184 {
6596 before(grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_5_0()); 8185 before(grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_5_0());
6597 match(input,34,FOLLOW_2); 8186 match(input,35,FOLLOW_2);
6598 after(grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_5_0()); 8187 after(grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_5_0());
6599 8188
6600 } 8189 }
@@ -6618,16 +8207,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6618 8207
6619 8208
6620 // $ANTLR start "rule__PredicateDefinition__Group_5__1" 8209 // $ANTLR start "rule__PredicateDefinition__Group_5__1"
6621 // InternalProblem.g:2088:1: rule__PredicateDefinition__Group_5__1 : rule__PredicateDefinition__Group_5__1__Impl rule__PredicateDefinition__Group_5__2 ; 8210 // InternalProblem.g:2581:1: rule__PredicateDefinition__Group_5__1 : rule__PredicateDefinition__Group_5__1__Impl rule__PredicateDefinition__Group_5__2 ;
6622 public final void rule__PredicateDefinition__Group_5__1() throws RecognitionException { 8211 public final void rule__PredicateDefinition__Group_5__1() throws RecognitionException {
6623 8212
6624 int stackSize = keepStackSize(); 8213 int stackSize = keepStackSize();
6625 8214
6626 try { 8215 try {
6627 // InternalProblem.g:2092:1: ( rule__PredicateDefinition__Group_5__1__Impl rule__PredicateDefinition__Group_5__2 ) 8216 // InternalProblem.g:2585:1: ( 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 8217 // InternalProblem.g:2586:2: rule__PredicateDefinition__Group_5__1__Impl rule__PredicateDefinition__Group_5__2
6629 { 8218 {
6630 pushFollow(FOLLOW_14); 8219 pushFollow(FOLLOW_13);
6631 rule__PredicateDefinition__Group_5__1__Impl(); 8220 rule__PredicateDefinition__Group_5__1__Impl();
6632 8221
6633 state._fsp--; 8222 state._fsp--;
@@ -6656,21 +8245,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6656 8245
6657 8246
6658 // $ANTLR start "rule__PredicateDefinition__Group_5__1__Impl" 8247 // $ANTLR start "rule__PredicateDefinition__Group_5__1__Impl"
6659 // InternalProblem.g:2100:1: rule__PredicateDefinition__Group_5__1__Impl : ( ( rule__PredicateDefinition__BodiesAssignment_5_1 ) ) ; 8248 // InternalProblem.g:2593:1: rule__PredicateDefinition__Group_5__1__Impl : ( ( rule__PredicateDefinition__BodiesAssignment_5_1 ) ) ;
6660 public final void rule__PredicateDefinition__Group_5__1__Impl() throws RecognitionException { 8249 public final void rule__PredicateDefinition__Group_5__1__Impl() throws RecognitionException {
6661 8250
6662 int stackSize = keepStackSize(); 8251 int stackSize = keepStackSize();
6663 8252
6664 try { 8253 try {
6665 // InternalProblem.g:2104:1: ( ( ( rule__PredicateDefinition__BodiesAssignment_5_1 ) ) ) 8254 // InternalProblem.g:2597:1: ( ( ( rule__PredicateDefinition__BodiesAssignment_5_1 ) ) )
6666 // InternalProblem.g:2105:1: ( ( rule__PredicateDefinition__BodiesAssignment_5_1 ) ) 8255 // InternalProblem.g:2598:1: ( ( rule__PredicateDefinition__BodiesAssignment_5_1 ) )
6667 { 8256 {
6668 // InternalProblem.g:2105:1: ( ( rule__PredicateDefinition__BodiesAssignment_5_1 ) ) 8257 // InternalProblem.g:2598:1: ( ( rule__PredicateDefinition__BodiesAssignment_5_1 ) )
6669 // InternalProblem.g:2106:2: ( rule__PredicateDefinition__BodiesAssignment_5_1 ) 8258 // InternalProblem.g:2599:2: ( rule__PredicateDefinition__BodiesAssignment_5_1 )
6670 { 8259 {
6671 before(grammarAccess.getPredicateDefinitionAccess().getBodiesAssignment_5_1()); 8260 before(grammarAccess.getPredicateDefinitionAccess().getBodiesAssignment_5_1());
6672 // InternalProblem.g:2107:2: ( rule__PredicateDefinition__BodiesAssignment_5_1 ) 8261 // InternalProblem.g:2600:2: ( rule__PredicateDefinition__BodiesAssignment_5_1 )
6673 // InternalProblem.g:2107:3: rule__PredicateDefinition__BodiesAssignment_5_1 8262 // InternalProblem.g:2600:3: rule__PredicateDefinition__BodiesAssignment_5_1
6674 { 8263 {
6675 pushFollow(FOLLOW_2); 8264 pushFollow(FOLLOW_2);
6676 rule__PredicateDefinition__BodiesAssignment_5_1(); 8265 rule__PredicateDefinition__BodiesAssignment_5_1();
@@ -6703,14 +8292,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6703 8292
6704 8293
6705 // $ANTLR start "rule__PredicateDefinition__Group_5__2" 8294 // $ANTLR start "rule__PredicateDefinition__Group_5__2"
6706 // InternalProblem.g:2115:1: rule__PredicateDefinition__Group_5__2 : rule__PredicateDefinition__Group_5__2__Impl ; 8295 // InternalProblem.g:2608:1: rule__PredicateDefinition__Group_5__2 : rule__PredicateDefinition__Group_5__2__Impl ;
6707 public final void rule__PredicateDefinition__Group_5__2() throws RecognitionException { 8296 public final void rule__PredicateDefinition__Group_5__2() throws RecognitionException {
6708 8297
6709 int stackSize = keepStackSize(); 8298 int stackSize = keepStackSize();
6710 8299
6711 try { 8300 try {
6712 // InternalProblem.g:2119:1: ( rule__PredicateDefinition__Group_5__2__Impl ) 8301 // InternalProblem.g:2612:1: ( rule__PredicateDefinition__Group_5__2__Impl )
6713 // InternalProblem.g:2120:2: rule__PredicateDefinition__Group_5__2__Impl 8302 // InternalProblem.g:2613:2: rule__PredicateDefinition__Group_5__2__Impl
6714 { 8303 {
6715 pushFollow(FOLLOW_2); 8304 pushFollow(FOLLOW_2);
6716 rule__PredicateDefinition__Group_5__2__Impl(); 8305 rule__PredicateDefinition__Group_5__2__Impl();
@@ -6736,35 +8325,35 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6736 8325
6737 8326
6738 // $ANTLR start "rule__PredicateDefinition__Group_5__2__Impl" 8327 // $ANTLR start "rule__PredicateDefinition__Group_5__2__Impl"
6739 // InternalProblem.g:2126:1: rule__PredicateDefinition__Group_5__2__Impl : ( ( rule__PredicateDefinition__Group_5_2__0 )* ) ; 8328 // InternalProblem.g:2619:1: rule__PredicateDefinition__Group_5__2__Impl : ( ( rule__PredicateDefinition__Group_5_2__0 )* ) ;
6740 public final void rule__PredicateDefinition__Group_5__2__Impl() throws RecognitionException { 8329 public final void rule__PredicateDefinition__Group_5__2__Impl() throws RecognitionException {
6741 8330
6742 int stackSize = keepStackSize(); 8331 int stackSize = keepStackSize();
6743 8332
6744 try { 8333 try {
6745 // InternalProblem.g:2130:1: ( ( ( rule__PredicateDefinition__Group_5_2__0 )* ) ) 8334 // InternalProblem.g:2623:1: ( ( ( rule__PredicateDefinition__Group_5_2__0 )* ) )
6746 // InternalProblem.g:2131:1: ( ( rule__PredicateDefinition__Group_5_2__0 )* ) 8335 // InternalProblem.g:2624:1: ( ( rule__PredicateDefinition__Group_5_2__0 )* )
6747 { 8336 {
6748 // InternalProblem.g:2131:1: ( ( rule__PredicateDefinition__Group_5_2__0 )* ) 8337 // InternalProblem.g:2624:1: ( ( rule__PredicateDefinition__Group_5_2__0 )* )
6749 // InternalProblem.g:2132:2: ( rule__PredicateDefinition__Group_5_2__0 )* 8338 // InternalProblem.g:2625:2: ( rule__PredicateDefinition__Group_5_2__0 )*
6750 { 8339 {
6751 before(grammarAccess.getPredicateDefinitionAccess().getGroup_5_2()); 8340 before(grammarAccess.getPredicateDefinitionAccess().getGroup_5_2());
6752 // InternalProblem.g:2133:2: ( rule__PredicateDefinition__Group_5_2__0 )* 8341 // InternalProblem.g:2626:2: ( rule__PredicateDefinition__Group_5_2__0 )*
6753 loop27: 8342 loop35:
6754 do { 8343 do {
6755 int alt27=2; 8344 int alt35=2;
6756 int LA27_0 = input.LA(1); 8345 int LA35_0 = input.LA(1);
6757 8346
6758 if ( (LA27_0==28) ) { 8347 if ( (LA35_0==14) ) {
6759 alt27=1; 8348 alt35=1;
6760 } 8349 }
6761 8350
6762 8351
6763 switch (alt27) { 8352 switch (alt35) {
6764 case 1 : 8353 case 1 :
6765 // InternalProblem.g:2133:3: rule__PredicateDefinition__Group_5_2__0 8354 // InternalProblem.g:2626:3: rule__PredicateDefinition__Group_5_2__0
6766 { 8355 {
6767 pushFollow(FOLLOW_24); 8356 pushFollow(FOLLOW_27);
6768 rule__PredicateDefinition__Group_5_2__0(); 8357 rule__PredicateDefinition__Group_5_2__0();
6769 8358
6770 state._fsp--; 8359 state._fsp--;
@@ -6774,7 +8363,7 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6774 break; 8363 break;
6775 8364
6776 default : 8365 default :
6777 break loop27; 8366 break loop35;
6778 } 8367 }
6779 } while (true); 8368 } while (true);
6780 8369
@@ -6801,16 +8390,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6801 8390
6802 8391
6803 // $ANTLR start "rule__PredicateDefinition__Group_5_2__0" 8392 // $ANTLR start "rule__PredicateDefinition__Group_5_2__0"
6804 // InternalProblem.g:2142:1: rule__PredicateDefinition__Group_5_2__0 : rule__PredicateDefinition__Group_5_2__0__Impl rule__PredicateDefinition__Group_5_2__1 ; 8393 // InternalProblem.g:2635:1: rule__PredicateDefinition__Group_5_2__0 : rule__PredicateDefinition__Group_5_2__0__Impl rule__PredicateDefinition__Group_5_2__1 ;
6805 public final void rule__PredicateDefinition__Group_5_2__0() throws RecognitionException { 8394 public final void rule__PredicateDefinition__Group_5_2__0() throws RecognitionException {
6806 8395
6807 int stackSize = keepStackSize(); 8396 int stackSize = keepStackSize();
6808 8397
6809 try { 8398 try {
6810 // InternalProblem.g:2146:1: ( rule__PredicateDefinition__Group_5_2__0__Impl rule__PredicateDefinition__Group_5_2__1 ) 8399 // InternalProblem.g:2639:1: ( 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 8400 // InternalProblem.g:2640:2: rule__PredicateDefinition__Group_5_2__0__Impl rule__PredicateDefinition__Group_5_2__1
6812 { 8401 {
6813 pushFollow(FOLLOW_23); 8402 pushFollow(FOLLOW_26);
6814 rule__PredicateDefinition__Group_5_2__0__Impl(); 8403 rule__PredicateDefinition__Group_5_2__0__Impl();
6815 8404
6816 state._fsp--; 8405 state._fsp--;
@@ -6839,20 +8428,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6839 8428
6840 8429
6841 // $ANTLR start "rule__PredicateDefinition__Group_5_2__0__Impl" 8430 // $ANTLR start "rule__PredicateDefinition__Group_5_2__0__Impl"
6842 // InternalProblem.g:2154:1: rule__PredicateDefinition__Group_5_2__0__Impl : ( ';' ) ; 8431 // InternalProblem.g:2647:1: rule__PredicateDefinition__Group_5_2__0__Impl : ( ';' ) ;
6843 public final void rule__PredicateDefinition__Group_5_2__0__Impl() throws RecognitionException { 8432 public final void rule__PredicateDefinition__Group_5_2__0__Impl() throws RecognitionException {
6844 8433
6845 int stackSize = keepStackSize(); 8434 int stackSize = keepStackSize();
6846 8435
6847 try { 8436 try {
6848 // InternalProblem.g:2158:1: ( ( ';' ) ) 8437 // InternalProblem.g:2651:1: ( ( ';' ) )
6849 // InternalProblem.g:2159:1: ( ';' ) 8438 // InternalProblem.g:2652:1: ( ';' )
6850 { 8439 {
6851 // InternalProblem.g:2159:1: ( ';' ) 8440 // InternalProblem.g:2652:1: ( ';' )
6852 // InternalProblem.g:2160:2: ';' 8441 // InternalProblem.g:2653:2: ';'
6853 { 8442 {
6854 before(grammarAccess.getPredicateDefinitionAccess().getSemicolonKeyword_5_2_0()); 8443 before(grammarAccess.getPredicateDefinitionAccess().getSemicolonKeyword_5_2_0());
6855 match(input,28,FOLLOW_2); 8444 match(input,14,FOLLOW_2);
6856 after(grammarAccess.getPredicateDefinitionAccess().getSemicolonKeyword_5_2_0()); 8445 after(grammarAccess.getPredicateDefinitionAccess().getSemicolonKeyword_5_2_0());
6857 8446
6858 } 8447 }
@@ -6876,14 +8465,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6876 8465
6877 8466
6878 // $ANTLR start "rule__PredicateDefinition__Group_5_2__1" 8467 // $ANTLR start "rule__PredicateDefinition__Group_5_2__1"
6879 // InternalProblem.g:2169:1: rule__PredicateDefinition__Group_5_2__1 : rule__PredicateDefinition__Group_5_2__1__Impl ; 8468 // InternalProblem.g:2662:1: rule__PredicateDefinition__Group_5_2__1 : rule__PredicateDefinition__Group_5_2__1__Impl ;
6880 public final void rule__PredicateDefinition__Group_5_2__1() throws RecognitionException { 8469 public final void rule__PredicateDefinition__Group_5_2__1() throws RecognitionException {
6881 8470
6882 int stackSize = keepStackSize(); 8471 int stackSize = keepStackSize();
6883 8472
6884 try { 8473 try {
6885 // InternalProblem.g:2173:1: ( rule__PredicateDefinition__Group_5_2__1__Impl ) 8474 // InternalProblem.g:2666:1: ( rule__PredicateDefinition__Group_5_2__1__Impl )
6886 // InternalProblem.g:2174:2: rule__PredicateDefinition__Group_5_2__1__Impl 8475 // InternalProblem.g:2667:2: rule__PredicateDefinition__Group_5_2__1__Impl
6887 { 8476 {
6888 pushFollow(FOLLOW_2); 8477 pushFollow(FOLLOW_2);
6889 rule__PredicateDefinition__Group_5_2__1__Impl(); 8478 rule__PredicateDefinition__Group_5_2__1__Impl();
@@ -6909,21 +8498,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6909 8498
6910 8499
6911 // $ANTLR start "rule__PredicateDefinition__Group_5_2__1__Impl" 8500 // $ANTLR start "rule__PredicateDefinition__Group_5_2__1__Impl"
6912 // InternalProblem.g:2180:1: rule__PredicateDefinition__Group_5_2__1__Impl : ( ( rule__PredicateDefinition__BodiesAssignment_5_2_1 ) ) ; 8501 // InternalProblem.g:2673:1: rule__PredicateDefinition__Group_5_2__1__Impl : ( ( rule__PredicateDefinition__BodiesAssignment_5_2_1 ) ) ;
6913 public final void rule__PredicateDefinition__Group_5_2__1__Impl() throws RecognitionException { 8502 public final void rule__PredicateDefinition__Group_5_2__1__Impl() throws RecognitionException {
6914 8503
6915 int stackSize = keepStackSize(); 8504 int stackSize = keepStackSize();
6916 8505
6917 try { 8506 try {
6918 // InternalProblem.g:2184:1: ( ( ( rule__PredicateDefinition__BodiesAssignment_5_2_1 ) ) ) 8507 // InternalProblem.g:2677:1: ( ( ( rule__PredicateDefinition__BodiesAssignment_5_2_1 ) ) )
6919 // InternalProblem.g:2185:1: ( ( rule__PredicateDefinition__BodiesAssignment_5_2_1 ) ) 8508 // InternalProblem.g:2678:1: ( ( rule__PredicateDefinition__BodiesAssignment_5_2_1 ) )
6920 { 8509 {
6921 // InternalProblem.g:2185:1: ( ( rule__PredicateDefinition__BodiesAssignment_5_2_1 ) ) 8510 // InternalProblem.g:2678:1: ( ( rule__PredicateDefinition__BodiesAssignment_5_2_1 ) )
6922 // InternalProblem.g:2186:2: ( rule__PredicateDefinition__BodiesAssignment_5_2_1 ) 8511 // InternalProblem.g:2679:2: ( rule__PredicateDefinition__BodiesAssignment_5_2_1 )
6923 { 8512 {
6924 before(grammarAccess.getPredicateDefinitionAccess().getBodiesAssignment_5_2_1()); 8513 before(grammarAccess.getPredicateDefinitionAccess().getBodiesAssignment_5_2_1());
6925 // InternalProblem.g:2187:2: ( rule__PredicateDefinition__BodiesAssignment_5_2_1 ) 8514 // InternalProblem.g:2680:2: ( rule__PredicateDefinition__BodiesAssignment_5_2_1 )
6926 // InternalProblem.g:2187:3: rule__PredicateDefinition__BodiesAssignment_5_2_1 8515 // InternalProblem.g:2680:3: rule__PredicateDefinition__BodiesAssignment_5_2_1
6927 { 8516 {
6928 pushFollow(FOLLOW_2); 8517 pushFollow(FOLLOW_2);
6929 rule__PredicateDefinition__BodiesAssignment_5_2_1(); 8518 rule__PredicateDefinition__BodiesAssignment_5_2_1();
@@ -6956,14 +8545,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6956 8545
6957 8546
6958 // $ANTLR start "rule__Parameter__Group__0" 8547 // $ANTLR start "rule__Parameter__Group__0"
6959 // InternalProblem.g:2196:1: rule__Parameter__Group__0 : rule__Parameter__Group__0__Impl rule__Parameter__Group__1 ; 8548 // InternalProblem.g:2689:1: rule__Parameter__Group__0 : rule__Parameter__Group__0__Impl rule__Parameter__Group__1 ;
6960 public final void rule__Parameter__Group__0() throws RecognitionException { 8549 public final void rule__Parameter__Group__0() throws RecognitionException {
6961 8550
6962 int stackSize = keepStackSize(); 8551 int stackSize = keepStackSize();
6963 8552
6964 try { 8553 try {
6965 // InternalProblem.g:2200:1: ( rule__Parameter__Group__0__Impl rule__Parameter__Group__1 ) 8554 // InternalProblem.g:2693:1: ( rule__Parameter__Group__0__Impl rule__Parameter__Group__1 )
6966 // InternalProblem.g:2201:2: rule__Parameter__Group__0__Impl rule__Parameter__Group__1 8555 // InternalProblem.g:2694:2: rule__Parameter__Group__0__Impl rule__Parameter__Group__1
6967 { 8556 {
6968 pushFollow(FOLLOW_5); 8557 pushFollow(FOLLOW_5);
6969 rule__Parameter__Group__0__Impl(); 8558 rule__Parameter__Group__0__Impl();
@@ -6994,27 +8583,68 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
6994 8583
6995 8584
6996 // $ANTLR start "rule__Parameter__Group__0__Impl" 8585 // $ANTLR start "rule__Parameter__Group__0__Impl"
6997 // InternalProblem.g:2208:1: rule__Parameter__Group__0__Impl : ( ( rule__Parameter__ParameterTypeAssignment_0 ) ) ; 8586 // InternalProblem.g:2701:1: rule__Parameter__Group__0__Impl : ( ( rule__Parameter__ParameterTypeAssignment_0 )? ) ;
6998 public final void rule__Parameter__Group__0__Impl() throws RecognitionException { 8587 public final void rule__Parameter__Group__0__Impl() throws RecognitionException {
6999 8588
7000 int stackSize = keepStackSize(); 8589 int stackSize = keepStackSize();
7001 8590
7002 try { 8591 try {
7003 // InternalProblem.g:2212:1: ( ( ( rule__Parameter__ParameterTypeAssignment_0 ) ) ) 8592 // InternalProblem.g:2705:1: ( ( ( rule__Parameter__ParameterTypeAssignment_0 )? ) )
7004 // InternalProblem.g:2213:1: ( ( rule__Parameter__ParameterTypeAssignment_0 ) ) 8593 // InternalProblem.g:2706:1: ( ( rule__Parameter__ParameterTypeAssignment_0 )? )
7005 { 8594 {
7006 // InternalProblem.g:2213:1: ( ( rule__Parameter__ParameterTypeAssignment_0 ) ) 8595 // InternalProblem.g:2706:1: ( ( rule__Parameter__ParameterTypeAssignment_0 )? )
7007 // InternalProblem.g:2214:2: ( rule__Parameter__ParameterTypeAssignment_0 ) 8596 // InternalProblem.g:2707:2: ( rule__Parameter__ParameterTypeAssignment_0 )?
7008 { 8597 {
7009 before(grammarAccess.getParameterAccess().getParameterTypeAssignment_0()); 8598 before(grammarAccess.getParameterAccess().getParameterTypeAssignment_0());
7010 // InternalProblem.g:2215:2: ( rule__Parameter__ParameterTypeAssignment_0 ) 8599 // InternalProblem.g:2708:2: ( rule__Parameter__ParameterTypeAssignment_0 )?
7011 // InternalProblem.g:2215:3: rule__Parameter__ParameterTypeAssignment_0 8600 int alt36=2;
7012 { 8601 switch ( input.LA(1) ) {
7013 pushFollow(FOLLOW_2); 8602 case RULE_QUOTED_ID:
7014 rule__Parameter__ParameterTypeAssignment_0(); 8603 {
8604 alt36=1;
8605 }
8606 break;
8607 case RULE_ID:
8608 {
8609 int LA36_2 = input.LA(2);
8610
8611 if ( (LA36_2==RULE_ID||(LA36_2>=19 && LA36_2<=20)||LA36_2==36) ) {
8612 alt36=1;
8613 }
8614 }
8615 break;
8616 case 19:
8617 {
8618 int LA36_3 = input.LA(2);
8619
8620 if ( (LA36_3==RULE_ID||(LA36_3>=19 && LA36_3<=20)||LA36_3==36) ) {
8621 alt36=1;
8622 }
8623 }
8624 break;
8625 case 20:
8626 {
8627 int LA36_4 = input.LA(2);
8628
8629 if ( (LA36_4==RULE_ID||(LA36_4>=19 && LA36_4<=20)||LA36_4==36) ) {
8630 alt36=1;
8631 }
8632 }
8633 break;
8634 }
8635
8636 switch (alt36) {
8637 case 1 :
8638 // InternalProblem.g:2708:3: rule__Parameter__ParameterTypeAssignment_0
8639 {
8640 pushFollow(FOLLOW_2);
8641 rule__Parameter__ParameterTypeAssignment_0();
8642
8643 state._fsp--;
7015 8644
7016 state._fsp--;
7017 8645
8646 }
8647 break;
7018 8648
7019 } 8649 }
7020 8650
@@ -7041,14 +8671,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7041 8671
7042 8672
7043 // $ANTLR start "rule__Parameter__Group__1" 8673 // $ANTLR start "rule__Parameter__Group__1"
7044 // InternalProblem.g:2223:1: rule__Parameter__Group__1 : rule__Parameter__Group__1__Impl ; 8674 // InternalProblem.g:2716:1: rule__Parameter__Group__1 : rule__Parameter__Group__1__Impl ;
7045 public final void rule__Parameter__Group__1() throws RecognitionException { 8675 public final void rule__Parameter__Group__1() throws RecognitionException {
7046 8676
7047 int stackSize = keepStackSize(); 8677 int stackSize = keepStackSize();
7048 8678
7049 try { 8679 try {
7050 // InternalProblem.g:2227:1: ( rule__Parameter__Group__1__Impl ) 8680 // InternalProblem.g:2720:1: ( rule__Parameter__Group__1__Impl )
7051 // InternalProblem.g:2228:2: rule__Parameter__Group__1__Impl 8681 // InternalProblem.g:2721:2: rule__Parameter__Group__1__Impl
7052 { 8682 {
7053 pushFollow(FOLLOW_2); 8683 pushFollow(FOLLOW_2);
7054 rule__Parameter__Group__1__Impl(); 8684 rule__Parameter__Group__1__Impl();
@@ -7074,21 +8704,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7074 8704
7075 8705
7076 // $ANTLR start "rule__Parameter__Group__1__Impl" 8706 // $ANTLR start "rule__Parameter__Group__1__Impl"
7077 // InternalProblem.g:2234:1: rule__Parameter__Group__1__Impl : ( ( rule__Parameter__NameAssignment_1 ) ) ; 8707 // InternalProblem.g:2727:1: rule__Parameter__Group__1__Impl : ( ( rule__Parameter__NameAssignment_1 ) ) ;
7078 public final void rule__Parameter__Group__1__Impl() throws RecognitionException { 8708 public final void rule__Parameter__Group__1__Impl() throws RecognitionException {
7079 8709
7080 int stackSize = keepStackSize(); 8710 int stackSize = keepStackSize();
7081 8711
7082 try { 8712 try {
7083 // InternalProblem.g:2238:1: ( ( ( rule__Parameter__NameAssignment_1 ) ) ) 8713 // InternalProblem.g:2731:1: ( ( ( rule__Parameter__NameAssignment_1 ) ) )
7084 // InternalProblem.g:2239:1: ( ( rule__Parameter__NameAssignment_1 ) ) 8714 // InternalProblem.g:2732:1: ( ( rule__Parameter__NameAssignment_1 ) )
7085 { 8715 {
7086 // InternalProblem.g:2239:1: ( ( rule__Parameter__NameAssignment_1 ) ) 8716 // InternalProblem.g:2732:1: ( ( rule__Parameter__NameAssignment_1 ) )
7087 // InternalProblem.g:2240:2: ( rule__Parameter__NameAssignment_1 ) 8717 // InternalProblem.g:2733:2: ( rule__Parameter__NameAssignment_1 )
7088 { 8718 {
7089 before(grammarAccess.getParameterAccess().getNameAssignment_1()); 8719 before(grammarAccess.getParameterAccess().getNameAssignment_1());
7090 // InternalProblem.g:2241:2: ( rule__Parameter__NameAssignment_1 ) 8720 // InternalProblem.g:2734:2: ( rule__Parameter__NameAssignment_1 )
7091 // InternalProblem.g:2241:3: rule__Parameter__NameAssignment_1 8721 // InternalProblem.g:2734:3: rule__Parameter__NameAssignment_1
7092 { 8722 {
7093 pushFollow(FOLLOW_2); 8723 pushFollow(FOLLOW_2);
7094 rule__Parameter__NameAssignment_1(); 8724 rule__Parameter__NameAssignment_1();
@@ -7121,16 +8751,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7121 8751
7122 8752
7123 // $ANTLR start "rule__Conjunction__Group__0" 8753 // $ANTLR start "rule__Conjunction__Group__0"
7124 // InternalProblem.g:2250:1: rule__Conjunction__Group__0 : rule__Conjunction__Group__0__Impl rule__Conjunction__Group__1 ; 8754 // InternalProblem.g:2743:1: rule__Conjunction__Group__0 : rule__Conjunction__Group__0__Impl rule__Conjunction__Group__1 ;
7125 public final void rule__Conjunction__Group__0() throws RecognitionException { 8755 public final void rule__Conjunction__Group__0() throws RecognitionException {
7126 8756
7127 int stackSize = keepStackSize(); 8757 int stackSize = keepStackSize();
7128 8758
7129 try { 8759 try {
7130 // InternalProblem.g:2254:1: ( rule__Conjunction__Group__0__Impl rule__Conjunction__Group__1 ) 8760 // InternalProblem.g:2747:1: ( rule__Conjunction__Group__0__Impl rule__Conjunction__Group__1 )
7131 // InternalProblem.g:2255:2: rule__Conjunction__Group__0__Impl rule__Conjunction__Group__1 8761 // InternalProblem.g:2748:2: rule__Conjunction__Group__0__Impl rule__Conjunction__Group__1
7132 { 8762 {
7133 pushFollow(FOLLOW_10); 8763 pushFollow(FOLLOW_9);
7134 rule__Conjunction__Group__0__Impl(); 8764 rule__Conjunction__Group__0__Impl();
7135 8765
7136 state._fsp--; 8766 state._fsp--;
@@ -7159,21 +8789,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7159 8789
7160 8790
7161 // $ANTLR start "rule__Conjunction__Group__0__Impl" 8791 // $ANTLR start "rule__Conjunction__Group__0__Impl"
7162 // InternalProblem.g:2262:1: rule__Conjunction__Group__0__Impl : ( ( rule__Conjunction__LiteralsAssignment_0 ) ) ; 8792 // InternalProblem.g:2755:1: rule__Conjunction__Group__0__Impl : ( ( rule__Conjunction__LiteralsAssignment_0 ) ) ;
7163 public final void rule__Conjunction__Group__0__Impl() throws RecognitionException { 8793 public final void rule__Conjunction__Group__0__Impl() throws RecognitionException {
7164 8794
7165 int stackSize = keepStackSize(); 8795 int stackSize = keepStackSize();
7166 8796
7167 try { 8797 try {
7168 // InternalProblem.g:2266:1: ( ( ( rule__Conjunction__LiteralsAssignment_0 ) ) ) 8798 // InternalProblem.g:2759:1: ( ( ( rule__Conjunction__LiteralsAssignment_0 ) ) )
7169 // InternalProblem.g:2267:1: ( ( rule__Conjunction__LiteralsAssignment_0 ) ) 8799 // InternalProblem.g:2760:1: ( ( rule__Conjunction__LiteralsAssignment_0 ) )
7170 { 8800 {
7171 // InternalProblem.g:2267:1: ( ( rule__Conjunction__LiteralsAssignment_0 ) ) 8801 // InternalProblem.g:2760:1: ( ( rule__Conjunction__LiteralsAssignment_0 ) )
7172 // InternalProblem.g:2268:2: ( rule__Conjunction__LiteralsAssignment_0 ) 8802 // InternalProblem.g:2761:2: ( rule__Conjunction__LiteralsAssignment_0 )
7173 { 8803 {
7174 before(grammarAccess.getConjunctionAccess().getLiteralsAssignment_0()); 8804 before(grammarAccess.getConjunctionAccess().getLiteralsAssignment_0());
7175 // InternalProblem.g:2269:2: ( rule__Conjunction__LiteralsAssignment_0 ) 8805 // InternalProblem.g:2762:2: ( rule__Conjunction__LiteralsAssignment_0 )
7176 // InternalProblem.g:2269:3: rule__Conjunction__LiteralsAssignment_0 8806 // InternalProblem.g:2762:3: rule__Conjunction__LiteralsAssignment_0
7177 { 8807 {
7178 pushFollow(FOLLOW_2); 8808 pushFollow(FOLLOW_2);
7179 rule__Conjunction__LiteralsAssignment_0(); 8809 rule__Conjunction__LiteralsAssignment_0();
@@ -7206,14 +8836,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7206 8836
7207 8837
7208 // $ANTLR start "rule__Conjunction__Group__1" 8838 // $ANTLR start "rule__Conjunction__Group__1"
7209 // InternalProblem.g:2277:1: rule__Conjunction__Group__1 : rule__Conjunction__Group__1__Impl ; 8839 // InternalProblem.g:2770:1: rule__Conjunction__Group__1 : rule__Conjunction__Group__1__Impl ;
7210 public final void rule__Conjunction__Group__1() throws RecognitionException { 8840 public final void rule__Conjunction__Group__1() throws RecognitionException {
7211 8841
7212 int stackSize = keepStackSize(); 8842 int stackSize = keepStackSize();
7213 8843
7214 try { 8844 try {
7215 // InternalProblem.g:2281:1: ( rule__Conjunction__Group__1__Impl ) 8845 // InternalProblem.g:2774:1: ( rule__Conjunction__Group__1__Impl )
7216 // InternalProblem.g:2282:2: rule__Conjunction__Group__1__Impl 8846 // InternalProblem.g:2775:2: rule__Conjunction__Group__1__Impl
7217 { 8847 {
7218 pushFollow(FOLLOW_2); 8848 pushFollow(FOLLOW_2);
7219 rule__Conjunction__Group__1__Impl(); 8849 rule__Conjunction__Group__1__Impl();
@@ -7239,35 +8869,35 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7239 8869
7240 8870
7241 // $ANTLR start "rule__Conjunction__Group__1__Impl" 8871 // $ANTLR start "rule__Conjunction__Group__1__Impl"
7242 // InternalProblem.g:2288:1: rule__Conjunction__Group__1__Impl : ( ( rule__Conjunction__Group_1__0 )* ) ; 8872 // InternalProblem.g:2781:1: rule__Conjunction__Group__1__Impl : ( ( rule__Conjunction__Group_1__0 )* ) ;
7243 public final void rule__Conjunction__Group__1__Impl() throws RecognitionException { 8873 public final void rule__Conjunction__Group__1__Impl() throws RecognitionException {
7244 8874
7245 int stackSize = keepStackSize(); 8875 int stackSize = keepStackSize();
7246 8876
7247 try { 8877 try {
7248 // InternalProblem.g:2292:1: ( ( ( rule__Conjunction__Group_1__0 )* ) ) 8878 // InternalProblem.g:2785:1: ( ( ( rule__Conjunction__Group_1__0 )* ) )
7249 // InternalProblem.g:2293:1: ( ( rule__Conjunction__Group_1__0 )* ) 8879 // InternalProblem.g:2786:1: ( ( rule__Conjunction__Group_1__0 )* )
7250 { 8880 {
7251 // InternalProblem.g:2293:1: ( ( rule__Conjunction__Group_1__0 )* ) 8881 // InternalProblem.g:2786:1: ( ( rule__Conjunction__Group_1__0 )* )
7252 // InternalProblem.g:2294:2: ( rule__Conjunction__Group_1__0 )* 8882 // InternalProblem.g:2787:2: ( rule__Conjunction__Group_1__0 )*
7253 { 8883 {
7254 before(grammarAccess.getConjunctionAccess().getGroup_1()); 8884 before(grammarAccess.getConjunctionAccess().getGroup_1());
7255 // InternalProblem.g:2295:2: ( rule__Conjunction__Group_1__0 )* 8885 // InternalProblem.g:2788:2: ( rule__Conjunction__Group_1__0 )*
7256 loop28: 8886 loop37:
7257 do { 8887 do {
7258 int alt28=2; 8888 int alt37=2;
7259 int LA28_0 = input.LA(1); 8889 int LA37_0 = input.LA(1);
7260 8890
7261 if ( (LA28_0==25) ) { 8891 if ( (LA37_0==13) ) {
7262 alt28=1; 8892 alt37=1;
7263 } 8893 }
7264 8894
7265 8895
7266 switch (alt28) { 8896 switch (alt37) {
7267 case 1 : 8897 case 1 :
7268 // InternalProblem.g:2295:3: rule__Conjunction__Group_1__0 8898 // InternalProblem.g:2788:3: rule__Conjunction__Group_1__0
7269 { 8899 {
7270 pushFollow(FOLLOW_11); 8900 pushFollow(FOLLOW_10);
7271 rule__Conjunction__Group_1__0(); 8901 rule__Conjunction__Group_1__0();
7272 8902
7273 state._fsp--; 8903 state._fsp--;
@@ -7277,7 +8907,7 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7277 break; 8907 break;
7278 8908
7279 default : 8909 default :
7280 break loop28; 8910 break loop37;
7281 } 8911 }
7282 } while (true); 8912 } while (true);
7283 8913
@@ -7304,16 +8934,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7304 8934
7305 8935
7306 // $ANTLR start "rule__Conjunction__Group_1__0" 8936 // $ANTLR start "rule__Conjunction__Group_1__0"
7307 // InternalProblem.g:2304:1: rule__Conjunction__Group_1__0 : rule__Conjunction__Group_1__0__Impl rule__Conjunction__Group_1__1 ; 8937 // InternalProblem.g:2797:1: rule__Conjunction__Group_1__0 : rule__Conjunction__Group_1__0__Impl rule__Conjunction__Group_1__1 ;
7308 public final void rule__Conjunction__Group_1__0() throws RecognitionException { 8938 public final void rule__Conjunction__Group_1__0() throws RecognitionException {
7309 8939
7310 int stackSize = keepStackSize(); 8940 int stackSize = keepStackSize();
7311 8941
7312 try { 8942 try {
7313 // InternalProblem.g:2308:1: ( rule__Conjunction__Group_1__0__Impl rule__Conjunction__Group_1__1 ) 8943 // InternalProblem.g:2801:1: ( 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 8944 // InternalProblem.g:2802:2: rule__Conjunction__Group_1__0__Impl rule__Conjunction__Group_1__1
7315 { 8945 {
7316 pushFollow(FOLLOW_23); 8946 pushFollow(FOLLOW_26);
7317 rule__Conjunction__Group_1__0__Impl(); 8947 rule__Conjunction__Group_1__0__Impl();
7318 8948
7319 state._fsp--; 8949 state._fsp--;
@@ -7342,20 +8972,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7342 8972
7343 8973
7344 // $ANTLR start "rule__Conjunction__Group_1__0__Impl" 8974 // $ANTLR start "rule__Conjunction__Group_1__0__Impl"
7345 // InternalProblem.g:2316:1: rule__Conjunction__Group_1__0__Impl : ( ',' ) ; 8975 // InternalProblem.g:2809:1: rule__Conjunction__Group_1__0__Impl : ( ',' ) ;
7346 public final void rule__Conjunction__Group_1__0__Impl() throws RecognitionException { 8976 public final void rule__Conjunction__Group_1__0__Impl() throws RecognitionException {
7347 8977
7348 int stackSize = keepStackSize(); 8978 int stackSize = keepStackSize();
7349 8979
7350 try { 8980 try {
7351 // InternalProblem.g:2320:1: ( ( ',' ) ) 8981 // InternalProblem.g:2813:1: ( ( ',' ) )
7352 // InternalProblem.g:2321:1: ( ',' ) 8982 // InternalProblem.g:2814:1: ( ',' )
7353 { 8983 {
7354 // InternalProblem.g:2321:1: ( ',' ) 8984 // InternalProblem.g:2814:1: ( ',' )
7355 // InternalProblem.g:2322:2: ',' 8985 // InternalProblem.g:2815:2: ','
7356 { 8986 {
7357 before(grammarAccess.getConjunctionAccess().getCommaKeyword_1_0()); 8987 before(grammarAccess.getConjunctionAccess().getCommaKeyword_1_0());
7358 match(input,25,FOLLOW_2); 8988 match(input,13,FOLLOW_2);
7359 after(grammarAccess.getConjunctionAccess().getCommaKeyword_1_0()); 8989 after(grammarAccess.getConjunctionAccess().getCommaKeyword_1_0());
7360 8990
7361 } 8991 }
@@ -7379,14 +9009,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7379 9009
7380 9010
7381 // $ANTLR start "rule__Conjunction__Group_1__1" 9011 // $ANTLR start "rule__Conjunction__Group_1__1"
7382 // InternalProblem.g:2331:1: rule__Conjunction__Group_1__1 : rule__Conjunction__Group_1__1__Impl ; 9012 // InternalProblem.g:2824:1: rule__Conjunction__Group_1__1 : rule__Conjunction__Group_1__1__Impl ;
7383 public final void rule__Conjunction__Group_1__1() throws RecognitionException { 9013 public final void rule__Conjunction__Group_1__1() throws RecognitionException {
7384 9014
7385 int stackSize = keepStackSize(); 9015 int stackSize = keepStackSize();
7386 9016
7387 try { 9017 try {
7388 // InternalProblem.g:2335:1: ( rule__Conjunction__Group_1__1__Impl ) 9018 // InternalProblem.g:2828:1: ( rule__Conjunction__Group_1__1__Impl )
7389 // InternalProblem.g:2336:2: rule__Conjunction__Group_1__1__Impl 9019 // InternalProblem.g:2829:2: rule__Conjunction__Group_1__1__Impl
7390 { 9020 {
7391 pushFollow(FOLLOW_2); 9021 pushFollow(FOLLOW_2);
7392 rule__Conjunction__Group_1__1__Impl(); 9022 rule__Conjunction__Group_1__1__Impl();
@@ -7412,21 +9042,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7412 9042
7413 9043
7414 // $ANTLR start "rule__Conjunction__Group_1__1__Impl" 9044 // $ANTLR start "rule__Conjunction__Group_1__1__Impl"
7415 // InternalProblem.g:2342:1: rule__Conjunction__Group_1__1__Impl : ( ( rule__Conjunction__LiteralsAssignment_1_1 ) ) ; 9045 // InternalProblem.g:2835:1: rule__Conjunction__Group_1__1__Impl : ( ( rule__Conjunction__LiteralsAssignment_1_1 ) ) ;
7416 public final void rule__Conjunction__Group_1__1__Impl() throws RecognitionException { 9046 public final void rule__Conjunction__Group_1__1__Impl() throws RecognitionException {
7417 9047
7418 int stackSize = keepStackSize(); 9048 int stackSize = keepStackSize();
7419 9049
7420 try { 9050 try {
7421 // InternalProblem.g:2346:1: ( ( ( rule__Conjunction__LiteralsAssignment_1_1 ) ) ) 9051 // InternalProblem.g:2839:1: ( ( ( rule__Conjunction__LiteralsAssignment_1_1 ) ) )
7422 // InternalProblem.g:2347:1: ( ( rule__Conjunction__LiteralsAssignment_1_1 ) ) 9052 // InternalProblem.g:2840:1: ( ( rule__Conjunction__LiteralsAssignment_1_1 ) )
7423 { 9053 {
7424 // InternalProblem.g:2347:1: ( ( rule__Conjunction__LiteralsAssignment_1_1 ) ) 9054 // InternalProblem.g:2840:1: ( ( rule__Conjunction__LiteralsAssignment_1_1 ) )
7425 // InternalProblem.g:2348:2: ( rule__Conjunction__LiteralsAssignment_1_1 ) 9055 // InternalProblem.g:2841:2: ( rule__Conjunction__LiteralsAssignment_1_1 )
7426 { 9056 {
7427 before(grammarAccess.getConjunctionAccess().getLiteralsAssignment_1_1()); 9057 before(grammarAccess.getConjunctionAccess().getLiteralsAssignment_1_1());
7428 // InternalProblem.g:2349:2: ( rule__Conjunction__LiteralsAssignment_1_1 ) 9058 // InternalProblem.g:2842:2: ( rule__Conjunction__LiteralsAssignment_1_1 )
7429 // InternalProblem.g:2349:3: rule__Conjunction__LiteralsAssignment_1_1 9059 // InternalProblem.g:2842:3: rule__Conjunction__LiteralsAssignment_1_1
7430 { 9060 {
7431 pushFollow(FOLLOW_2); 9061 pushFollow(FOLLOW_2);
7432 rule__Conjunction__LiteralsAssignment_1_1(); 9062 rule__Conjunction__LiteralsAssignment_1_1();
@@ -7459,16 +9089,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7459 9089
7460 9090
7461 // $ANTLR start "rule__NegativeLiteral__Group__0" 9091 // $ANTLR start "rule__NegativeLiteral__Group__0"
7462 // InternalProblem.g:2358:1: rule__NegativeLiteral__Group__0 : rule__NegativeLiteral__Group__0__Impl rule__NegativeLiteral__Group__1 ; 9092 // InternalProblem.g:2851:1: rule__NegativeLiteral__Group__0 : rule__NegativeLiteral__Group__0__Impl rule__NegativeLiteral__Group__1 ;
7463 public final void rule__NegativeLiteral__Group__0() throws RecognitionException { 9093 public final void rule__NegativeLiteral__Group__0() throws RecognitionException {
7464 9094
7465 int stackSize = keepStackSize(); 9095 int stackSize = keepStackSize();
7466 9096
7467 try { 9097 try {
7468 // InternalProblem.g:2362:1: ( rule__NegativeLiteral__Group__0__Impl rule__NegativeLiteral__Group__1 ) 9098 // InternalProblem.g:2855:1: ( rule__NegativeLiteral__Group__0__Impl rule__NegativeLiteral__Group__1 )
7469 // InternalProblem.g:2363:2: rule__NegativeLiteral__Group__0__Impl rule__NegativeLiteral__Group__1 9099 // InternalProblem.g:2856:2: rule__NegativeLiteral__Group__0__Impl rule__NegativeLiteral__Group__1
7470 { 9100 {
7471 pushFollow(FOLLOW_9); 9101 pushFollow(FOLLOW_5);
7472 rule__NegativeLiteral__Group__0__Impl(); 9102 rule__NegativeLiteral__Group__0__Impl();
7473 9103
7474 state._fsp--; 9104 state._fsp--;
@@ -7497,20 +9127,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7497 9127
7498 9128
7499 // $ANTLR start "rule__NegativeLiteral__Group__0__Impl" 9129 // $ANTLR start "rule__NegativeLiteral__Group__0__Impl"
7500 // InternalProblem.g:2370:1: rule__NegativeLiteral__Group__0__Impl : ( '!' ) ; 9130 // InternalProblem.g:2863:1: rule__NegativeLiteral__Group__0__Impl : ( '!' ) ;
7501 public final void rule__NegativeLiteral__Group__0__Impl() throws RecognitionException { 9131 public final void rule__NegativeLiteral__Group__0__Impl() throws RecognitionException {
7502 9132
7503 int stackSize = keepStackSize(); 9133 int stackSize = keepStackSize();
7504 9134
7505 try { 9135 try {
7506 // InternalProblem.g:2374:1: ( ( '!' ) ) 9136 // InternalProblem.g:2867:1: ( ( '!' ) )
7507 // InternalProblem.g:2375:1: ( '!' ) 9137 // InternalProblem.g:2868:1: ( '!' )
7508 { 9138 {
7509 // InternalProblem.g:2375:1: ( '!' ) 9139 // InternalProblem.g:2868:1: ( '!' )
7510 // InternalProblem.g:2376:2: '!' 9140 // InternalProblem.g:2869:2: '!'
7511 { 9141 {
7512 before(grammarAccess.getNegativeLiteralAccess().getExclamationMarkKeyword_0()); 9142 before(grammarAccess.getNegativeLiteralAccess().getExclamationMarkKeyword_0());
7513 match(input,20,FOLLOW_2); 9143 match(input,22,FOLLOW_2);
7514 after(grammarAccess.getNegativeLiteralAccess().getExclamationMarkKeyword_0()); 9144 after(grammarAccess.getNegativeLiteralAccess().getExclamationMarkKeyword_0());
7515 9145
7516 } 9146 }
@@ -7534,14 +9164,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7534 9164
7535 9165
7536 // $ANTLR start "rule__NegativeLiteral__Group__1" 9166 // $ANTLR start "rule__NegativeLiteral__Group__1"
7537 // InternalProblem.g:2385:1: rule__NegativeLiteral__Group__1 : rule__NegativeLiteral__Group__1__Impl ; 9167 // InternalProblem.g:2878:1: rule__NegativeLiteral__Group__1 : rule__NegativeLiteral__Group__1__Impl ;
7538 public final void rule__NegativeLiteral__Group__1() throws RecognitionException { 9168 public final void rule__NegativeLiteral__Group__1() throws RecognitionException {
7539 9169
7540 int stackSize = keepStackSize(); 9170 int stackSize = keepStackSize();
7541 9171
7542 try { 9172 try {
7543 // InternalProblem.g:2389:1: ( rule__NegativeLiteral__Group__1__Impl ) 9173 // InternalProblem.g:2882:1: ( rule__NegativeLiteral__Group__1__Impl )
7544 // InternalProblem.g:2390:2: rule__NegativeLiteral__Group__1__Impl 9174 // InternalProblem.g:2883:2: rule__NegativeLiteral__Group__1__Impl
7545 { 9175 {
7546 pushFollow(FOLLOW_2); 9176 pushFollow(FOLLOW_2);
7547 rule__NegativeLiteral__Group__1__Impl(); 9177 rule__NegativeLiteral__Group__1__Impl();
@@ -7567,21 +9197,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7567 9197
7568 9198
7569 // $ANTLR start "rule__NegativeLiteral__Group__1__Impl" 9199 // $ANTLR start "rule__NegativeLiteral__Group__1__Impl"
7570 // InternalProblem.g:2396:1: rule__NegativeLiteral__Group__1__Impl : ( ( rule__NegativeLiteral__AtomAssignment_1 ) ) ; 9200 // InternalProblem.g:2889:1: rule__NegativeLiteral__Group__1__Impl : ( ( rule__NegativeLiteral__AtomAssignment_1 ) ) ;
7571 public final void rule__NegativeLiteral__Group__1__Impl() throws RecognitionException { 9201 public final void rule__NegativeLiteral__Group__1__Impl() throws RecognitionException {
7572 9202
7573 int stackSize = keepStackSize(); 9203 int stackSize = keepStackSize();
7574 9204
7575 try { 9205 try {
7576 // InternalProblem.g:2400:1: ( ( ( rule__NegativeLiteral__AtomAssignment_1 ) ) ) 9206 // InternalProblem.g:2893:1: ( ( ( rule__NegativeLiteral__AtomAssignment_1 ) ) )
7577 // InternalProblem.g:2401:1: ( ( rule__NegativeLiteral__AtomAssignment_1 ) ) 9207 // InternalProblem.g:2894:1: ( ( rule__NegativeLiteral__AtomAssignment_1 ) )
7578 { 9208 {
7579 // InternalProblem.g:2401:1: ( ( rule__NegativeLiteral__AtomAssignment_1 ) ) 9209 // InternalProblem.g:2894:1: ( ( rule__NegativeLiteral__AtomAssignment_1 ) )
7580 // InternalProblem.g:2402:2: ( rule__NegativeLiteral__AtomAssignment_1 ) 9210 // InternalProblem.g:2895:2: ( rule__NegativeLiteral__AtomAssignment_1 )
7581 { 9211 {
7582 before(grammarAccess.getNegativeLiteralAccess().getAtomAssignment_1()); 9212 before(grammarAccess.getNegativeLiteralAccess().getAtomAssignment_1());
7583 // InternalProblem.g:2403:2: ( rule__NegativeLiteral__AtomAssignment_1 ) 9213 // InternalProblem.g:2896:2: ( rule__NegativeLiteral__AtomAssignment_1 )
7584 // InternalProblem.g:2403:3: rule__NegativeLiteral__AtomAssignment_1 9214 // InternalProblem.g:2896:3: rule__NegativeLiteral__AtomAssignment_1
7585 { 9215 {
7586 pushFollow(FOLLOW_2); 9216 pushFollow(FOLLOW_2);
7587 rule__NegativeLiteral__AtomAssignment_1(); 9217 rule__NegativeLiteral__AtomAssignment_1();
@@ -7614,16 +9244,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7614 9244
7615 9245
7616 // $ANTLR start "rule__Atom__Group__0" 9246 // $ANTLR start "rule__Atom__Group__0"
7617 // InternalProblem.g:2412:1: rule__Atom__Group__0 : rule__Atom__Group__0__Impl rule__Atom__Group__1 ; 9247 // InternalProblem.g:2905:1: rule__Atom__Group__0 : rule__Atom__Group__0__Impl rule__Atom__Group__1 ;
7618 public final void rule__Atom__Group__0() throws RecognitionException { 9248 public final void rule__Atom__Group__0() throws RecognitionException {
7619 9249
7620 int stackSize = keepStackSize(); 9250 int stackSize = keepStackSize();
7621 9251
7622 try { 9252 try {
7623 // InternalProblem.g:2416:1: ( rule__Atom__Group__0__Impl rule__Atom__Group__1 ) 9253 // InternalProblem.g:2909:1: ( rule__Atom__Group__0__Impl rule__Atom__Group__1 )
7624 // InternalProblem.g:2417:2: rule__Atom__Group__0__Impl rule__Atom__Group__1 9254 // InternalProblem.g:2910:2: rule__Atom__Group__0__Impl rule__Atom__Group__1
7625 { 9255 {
7626 pushFollow(FOLLOW_25); 9256 pushFollow(FOLLOW_28);
7627 rule__Atom__Group__0__Impl(); 9257 rule__Atom__Group__0__Impl();
7628 9258
7629 state._fsp--; 9259 state._fsp--;
@@ -7652,21 +9282,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7652 9282
7653 9283
7654 // $ANTLR start "rule__Atom__Group__0__Impl" 9284 // $ANTLR start "rule__Atom__Group__0__Impl"
7655 // InternalProblem.g:2424:1: rule__Atom__Group__0__Impl : ( ( rule__Atom__RelationAssignment_0 ) ) ; 9285 // InternalProblem.g:2917:1: rule__Atom__Group__0__Impl : ( ( rule__Atom__RelationAssignment_0 ) ) ;
7656 public final void rule__Atom__Group__0__Impl() throws RecognitionException { 9286 public final void rule__Atom__Group__0__Impl() throws RecognitionException {
7657 9287
7658 int stackSize = keepStackSize(); 9288 int stackSize = keepStackSize();
7659 9289
7660 try { 9290 try {
7661 // InternalProblem.g:2428:1: ( ( ( rule__Atom__RelationAssignment_0 ) ) ) 9291 // InternalProblem.g:2921:1: ( ( ( rule__Atom__RelationAssignment_0 ) ) )
7662 // InternalProblem.g:2429:1: ( ( rule__Atom__RelationAssignment_0 ) ) 9292 // InternalProblem.g:2922:1: ( ( rule__Atom__RelationAssignment_0 ) )
7663 { 9293 {
7664 // InternalProblem.g:2429:1: ( ( rule__Atom__RelationAssignment_0 ) ) 9294 // InternalProblem.g:2922:1: ( ( rule__Atom__RelationAssignment_0 ) )
7665 // InternalProblem.g:2430:2: ( rule__Atom__RelationAssignment_0 ) 9295 // InternalProblem.g:2923:2: ( rule__Atom__RelationAssignment_0 )
7666 { 9296 {
7667 before(grammarAccess.getAtomAccess().getRelationAssignment_0()); 9297 before(grammarAccess.getAtomAccess().getRelationAssignment_0());
7668 // InternalProblem.g:2431:2: ( rule__Atom__RelationAssignment_0 ) 9298 // InternalProblem.g:2924:2: ( rule__Atom__RelationAssignment_0 )
7669 // InternalProblem.g:2431:3: rule__Atom__RelationAssignment_0 9299 // InternalProblem.g:2924:3: rule__Atom__RelationAssignment_0
7670 { 9300 {
7671 pushFollow(FOLLOW_2); 9301 pushFollow(FOLLOW_2);
7672 rule__Atom__RelationAssignment_0(); 9302 rule__Atom__RelationAssignment_0();
@@ -7699,16 +9329,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7699 9329
7700 9330
7701 // $ANTLR start "rule__Atom__Group__1" 9331 // $ANTLR start "rule__Atom__Group__1"
7702 // InternalProblem.g:2439:1: rule__Atom__Group__1 : rule__Atom__Group__1__Impl rule__Atom__Group__2 ; 9332 // InternalProblem.g:2932:1: rule__Atom__Group__1 : rule__Atom__Group__1__Impl rule__Atom__Group__2 ;
7703 public final void rule__Atom__Group__1() throws RecognitionException { 9333 public final void rule__Atom__Group__1() throws RecognitionException {
7704 9334
7705 int stackSize = keepStackSize(); 9335 int stackSize = keepStackSize();
7706 9336
7707 try { 9337 try {
7708 // InternalProblem.g:2443:1: ( rule__Atom__Group__1__Impl rule__Atom__Group__2 ) 9338 // InternalProblem.g:2936:1: ( rule__Atom__Group__1__Impl rule__Atom__Group__2 )
7709 // InternalProblem.g:2444:2: rule__Atom__Group__1__Impl rule__Atom__Group__2 9339 // InternalProblem.g:2937:2: rule__Atom__Group__1__Impl rule__Atom__Group__2
7710 { 9340 {
7711 pushFollow(FOLLOW_25); 9341 pushFollow(FOLLOW_28);
7712 rule__Atom__Group__1__Impl(); 9342 rule__Atom__Group__1__Impl();
7713 9343
7714 state._fsp--; 9344 state._fsp--;
@@ -7737,29 +9367,29 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7737 9367
7738 9368
7739 // $ANTLR start "rule__Atom__Group__1__Impl" 9369 // $ANTLR start "rule__Atom__Group__1__Impl"
7740 // InternalProblem.g:2451:1: rule__Atom__Group__1__Impl : ( ( rule__Atom__TransitiveClosureAssignment_1 )? ) ; 9370 // InternalProblem.g:2944:1: rule__Atom__Group__1__Impl : ( ( rule__Atom__TransitiveClosureAssignment_1 )? ) ;
7741 public final void rule__Atom__Group__1__Impl() throws RecognitionException { 9371 public final void rule__Atom__Group__1__Impl() throws RecognitionException {
7742 9372
7743 int stackSize = keepStackSize(); 9373 int stackSize = keepStackSize();
7744 9374
7745 try { 9375 try {
7746 // InternalProblem.g:2455:1: ( ( ( rule__Atom__TransitiveClosureAssignment_1 )? ) ) 9376 // InternalProblem.g:2948:1: ( ( ( rule__Atom__TransitiveClosureAssignment_1 )? ) )
7747 // InternalProblem.g:2456:1: ( ( rule__Atom__TransitiveClosureAssignment_1 )? ) 9377 // InternalProblem.g:2949:1: ( ( rule__Atom__TransitiveClosureAssignment_1 )? )
7748 { 9378 {
7749 // InternalProblem.g:2456:1: ( ( rule__Atom__TransitiveClosureAssignment_1 )? ) 9379 // InternalProblem.g:2949:1: ( ( rule__Atom__TransitiveClosureAssignment_1 )? )
7750 // InternalProblem.g:2457:2: ( rule__Atom__TransitiveClosureAssignment_1 )? 9380 // InternalProblem.g:2950:2: ( rule__Atom__TransitiveClosureAssignment_1 )?
7751 { 9381 {
7752 before(grammarAccess.getAtomAccess().getTransitiveClosureAssignment_1()); 9382 before(grammarAccess.getAtomAccess().getTransitiveClosureAssignment_1());
7753 // InternalProblem.g:2458:2: ( rule__Atom__TransitiveClosureAssignment_1 )? 9383 // InternalProblem.g:2951:2: ( rule__Atom__TransitiveClosureAssignment_1 )?
7754 int alt29=2; 9384 int alt38=2;
7755 int LA29_0 = input.LA(1); 9385 int LA38_0 = input.LA(1);
7756 9386
7757 if ( (LA29_0==41) ) { 9387 if ( (LA38_0==42) ) {
7758 alt29=1; 9388 alt38=1;
7759 } 9389 }
7760 switch (alt29) { 9390 switch (alt38) {
7761 case 1 : 9391 case 1 :
7762 // InternalProblem.g:2458:3: rule__Atom__TransitiveClosureAssignment_1 9392 // InternalProblem.g:2951:3: rule__Atom__TransitiveClosureAssignment_1
7763 { 9393 {
7764 pushFollow(FOLLOW_2); 9394 pushFollow(FOLLOW_2);
7765 rule__Atom__TransitiveClosureAssignment_1(); 9395 rule__Atom__TransitiveClosureAssignment_1();
@@ -7795,16 +9425,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7795 9425
7796 9426
7797 // $ANTLR start "rule__Atom__Group__2" 9427 // $ANTLR start "rule__Atom__Group__2"
7798 // InternalProblem.g:2466:1: rule__Atom__Group__2 : rule__Atom__Group__2__Impl rule__Atom__Group__3 ; 9428 // InternalProblem.g:2959:1: rule__Atom__Group__2 : rule__Atom__Group__2__Impl rule__Atom__Group__3 ;
7799 public final void rule__Atom__Group__2() throws RecognitionException { 9429 public final void rule__Atom__Group__2() throws RecognitionException {
7800 9430
7801 int stackSize = keepStackSize(); 9431 int stackSize = keepStackSize();
7802 9432
7803 try { 9433 try {
7804 // InternalProblem.g:2470:1: ( rule__Atom__Group__2__Impl rule__Atom__Group__3 ) 9434 // InternalProblem.g:2963:1: ( rule__Atom__Group__2__Impl rule__Atom__Group__3 )
7805 // InternalProblem.g:2471:2: rule__Atom__Group__2__Impl rule__Atom__Group__3 9435 // InternalProblem.g:2964:2: rule__Atom__Group__2__Impl rule__Atom__Group__3
7806 { 9436 {
7807 pushFollow(FOLLOW_20); 9437 pushFollow(FOLLOW_23);
7808 rule__Atom__Group__2__Impl(); 9438 rule__Atom__Group__2__Impl();
7809 9439
7810 state._fsp--; 9440 state._fsp--;
@@ -7833,20 +9463,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7833 9463
7834 9464
7835 // $ANTLR start "rule__Atom__Group__2__Impl" 9465 // $ANTLR start "rule__Atom__Group__2__Impl"
7836 // InternalProblem.g:2478:1: rule__Atom__Group__2__Impl : ( '(' ) ; 9466 // InternalProblem.g:2971:1: rule__Atom__Group__2__Impl : ( '(' ) ;
7837 public final void rule__Atom__Group__2__Impl() throws RecognitionException { 9467 public final void rule__Atom__Group__2__Impl() throws RecognitionException {
7838 9468
7839 int stackSize = keepStackSize(); 9469 int stackSize = keepStackSize();
7840 9470
7841 try { 9471 try {
7842 // InternalProblem.g:2482:1: ( ( '(' ) ) 9472 // InternalProblem.g:2975:1: ( ( '(' ) )
7843 // InternalProblem.g:2483:1: ( '(' ) 9473 // InternalProblem.g:2976:1: ( '(' )
7844 { 9474 {
7845 // InternalProblem.g:2483:1: ( '(' ) 9475 // InternalProblem.g:2976:1: ( '(' )
7846 // InternalProblem.g:2484:2: '(' 9476 // InternalProblem.g:2977:2: '('
7847 { 9477 {
7848 before(grammarAccess.getAtomAccess().getLeftParenthesisKeyword_2()); 9478 before(grammarAccess.getAtomAccess().getLeftParenthesisKeyword_2());
7849 match(input,32,FOLLOW_2); 9479 match(input,33,FOLLOW_2);
7850 after(grammarAccess.getAtomAccess().getLeftParenthesisKeyword_2()); 9480 after(grammarAccess.getAtomAccess().getLeftParenthesisKeyword_2());
7851 9481
7852 } 9482 }
@@ -7870,16 +9500,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7870 9500
7871 9501
7872 // $ANTLR start "rule__Atom__Group__3" 9502 // $ANTLR start "rule__Atom__Group__3"
7873 // InternalProblem.g:2493:1: rule__Atom__Group__3 : rule__Atom__Group__3__Impl rule__Atom__Group__4 ; 9503 // InternalProblem.g:2986:1: rule__Atom__Group__3 : rule__Atom__Group__3__Impl rule__Atom__Group__4 ;
7874 public final void rule__Atom__Group__3() throws RecognitionException { 9504 public final void rule__Atom__Group__3() throws RecognitionException {
7875 9505
7876 int stackSize = keepStackSize(); 9506 int stackSize = keepStackSize();
7877 9507
7878 try { 9508 try {
7879 // InternalProblem.g:2497:1: ( rule__Atom__Group__3__Impl rule__Atom__Group__4 ) 9509 // InternalProblem.g:2990:1: ( rule__Atom__Group__3__Impl rule__Atom__Group__4 )
7880 // InternalProblem.g:2498:2: rule__Atom__Group__3__Impl rule__Atom__Group__4 9510 // InternalProblem.g:2991:2: rule__Atom__Group__3__Impl rule__Atom__Group__4
7881 { 9511 {
7882 pushFollow(FOLLOW_20); 9512 pushFollow(FOLLOW_23);
7883 rule__Atom__Group__3__Impl(); 9513 rule__Atom__Group__3__Impl();
7884 9514
7885 state._fsp--; 9515 state._fsp--;
@@ -7908,29 +9538,29 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7908 9538
7909 9539
7910 // $ANTLR start "rule__Atom__Group__3__Impl" 9540 // $ANTLR start "rule__Atom__Group__3__Impl"
7911 // InternalProblem.g:2505:1: rule__Atom__Group__3__Impl : ( ( rule__Atom__Group_3__0 )? ) ; 9541 // InternalProblem.g:2998:1: rule__Atom__Group__3__Impl : ( ( rule__Atom__Group_3__0 )? ) ;
7912 public final void rule__Atom__Group__3__Impl() throws RecognitionException { 9542 public final void rule__Atom__Group__3__Impl() throws RecognitionException {
7913 9543
7914 int stackSize = keepStackSize(); 9544 int stackSize = keepStackSize();
7915 9545
7916 try { 9546 try {
7917 // InternalProblem.g:2509:1: ( ( ( rule__Atom__Group_3__0 )? ) ) 9547 // InternalProblem.g:3002:1: ( ( ( rule__Atom__Group_3__0 )? ) )
7918 // InternalProblem.g:2510:1: ( ( rule__Atom__Group_3__0 )? ) 9548 // InternalProblem.g:3003:1: ( ( rule__Atom__Group_3__0 )? )
7919 { 9549 {
7920 // InternalProblem.g:2510:1: ( ( rule__Atom__Group_3__0 )? ) 9550 // InternalProblem.g:3003:1: ( ( rule__Atom__Group_3__0 )? )
7921 // InternalProblem.g:2511:2: ( rule__Atom__Group_3__0 )? 9551 // InternalProblem.g:3004:2: ( rule__Atom__Group_3__0 )?
7922 { 9552 {
7923 before(grammarAccess.getAtomAccess().getGroup_3()); 9553 before(grammarAccess.getAtomAccess().getGroup_3());
7924 // InternalProblem.g:2512:2: ( rule__Atom__Group_3__0 )? 9554 // InternalProblem.g:3005:2: ( rule__Atom__Group_3__0 )?
7925 int alt30=2; 9555 int alt39=2;
7926 int LA30_0 = input.LA(1); 9556 int LA39_0 = input.LA(1);
7927 9557
7928 if ( (LA30_0==RULE_ID) ) { 9558 if ( ((LA39_0>=RULE_QUOTED_ID && LA39_0<=RULE_ID)||(LA39_0>=19 && LA39_0<=20)) ) {
7929 alt30=1; 9559 alt39=1;
7930 } 9560 }
7931 switch (alt30) { 9561 switch (alt39) {
7932 case 1 : 9562 case 1 :
7933 // InternalProblem.g:2512:3: rule__Atom__Group_3__0 9563 // InternalProblem.g:3005:3: rule__Atom__Group_3__0
7934 { 9564 {
7935 pushFollow(FOLLOW_2); 9565 pushFollow(FOLLOW_2);
7936 rule__Atom__Group_3__0(); 9566 rule__Atom__Group_3__0();
@@ -7966,14 +9596,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7966 9596
7967 9597
7968 // $ANTLR start "rule__Atom__Group__4" 9598 // $ANTLR start "rule__Atom__Group__4"
7969 // InternalProblem.g:2520:1: rule__Atom__Group__4 : rule__Atom__Group__4__Impl ; 9599 // InternalProblem.g:3013:1: rule__Atom__Group__4 : rule__Atom__Group__4__Impl ;
7970 public final void rule__Atom__Group__4() throws RecognitionException { 9600 public final void rule__Atom__Group__4() throws RecognitionException {
7971 9601
7972 int stackSize = keepStackSize(); 9602 int stackSize = keepStackSize();
7973 9603
7974 try { 9604 try {
7975 // InternalProblem.g:2524:1: ( rule__Atom__Group__4__Impl ) 9605 // InternalProblem.g:3017:1: ( rule__Atom__Group__4__Impl )
7976 // InternalProblem.g:2525:2: rule__Atom__Group__4__Impl 9606 // InternalProblem.g:3018:2: rule__Atom__Group__4__Impl
7977 { 9607 {
7978 pushFollow(FOLLOW_2); 9608 pushFollow(FOLLOW_2);
7979 rule__Atom__Group__4__Impl(); 9609 rule__Atom__Group__4__Impl();
@@ -7999,20 +9629,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
7999 9629
8000 9630
8001 // $ANTLR start "rule__Atom__Group__4__Impl" 9631 // $ANTLR start "rule__Atom__Group__4__Impl"
8002 // InternalProblem.g:2531:1: rule__Atom__Group__4__Impl : ( ')' ) ; 9632 // InternalProblem.g:3024:1: rule__Atom__Group__4__Impl : ( ')' ) ;
8003 public final void rule__Atom__Group__4__Impl() throws RecognitionException { 9633 public final void rule__Atom__Group__4__Impl() throws RecognitionException {
8004 9634
8005 int stackSize = keepStackSize(); 9635 int stackSize = keepStackSize();
8006 9636
8007 try { 9637 try {
8008 // InternalProblem.g:2535:1: ( ( ')' ) ) 9638 // InternalProblem.g:3028:1: ( ( ')' ) )
8009 // InternalProblem.g:2536:1: ( ')' ) 9639 // InternalProblem.g:3029:1: ( ')' )
8010 { 9640 {
8011 // InternalProblem.g:2536:1: ( ')' ) 9641 // InternalProblem.g:3029:1: ( ')' )
8012 // InternalProblem.g:2537:2: ')' 9642 // InternalProblem.g:3030:2: ')'
8013 { 9643 {
8014 before(grammarAccess.getAtomAccess().getRightParenthesisKeyword_4()); 9644 before(grammarAccess.getAtomAccess().getRightParenthesisKeyword_4());
8015 match(input,33,FOLLOW_2); 9645 match(input,34,FOLLOW_2);
8016 after(grammarAccess.getAtomAccess().getRightParenthesisKeyword_4()); 9646 after(grammarAccess.getAtomAccess().getRightParenthesisKeyword_4());
8017 9647
8018 } 9648 }
@@ -8036,16 +9666,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8036 9666
8037 9667
8038 // $ANTLR start "rule__Atom__Group_3__0" 9668 // $ANTLR start "rule__Atom__Group_3__0"
8039 // InternalProblem.g:2547:1: rule__Atom__Group_3__0 : rule__Atom__Group_3__0__Impl rule__Atom__Group_3__1 ; 9669 // InternalProblem.g:3040:1: rule__Atom__Group_3__0 : rule__Atom__Group_3__0__Impl rule__Atom__Group_3__1 ;
8040 public final void rule__Atom__Group_3__0() throws RecognitionException { 9670 public final void rule__Atom__Group_3__0() throws RecognitionException {
8041 9671
8042 int stackSize = keepStackSize(); 9672 int stackSize = keepStackSize();
8043 9673
8044 try { 9674 try {
8045 // InternalProblem.g:2551:1: ( rule__Atom__Group_3__0__Impl rule__Atom__Group_3__1 ) 9675 // InternalProblem.g:3044:1: ( 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 9676 // InternalProblem.g:3045:2: rule__Atom__Group_3__0__Impl rule__Atom__Group_3__1
8047 { 9677 {
8048 pushFollow(FOLLOW_10); 9678 pushFollow(FOLLOW_9);
8049 rule__Atom__Group_3__0__Impl(); 9679 rule__Atom__Group_3__0__Impl();
8050 9680
8051 state._fsp--; 9681 state._fsp--;
@@ -8074,21 +9704,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8074 9704
8075 9705
8076 // $ANTLR start "rule__Atom__Group_3__0__Impl" 9706 // $ANTLR start "rule__Atom__Group_3__0__Impl"
8077 // InternalProblem.g:2559:1: rule__Atom__Group_3__0__Impl : ( ( rule__Atom__ArgumentsAssignment_3_0 ) ) ; 9707 // InternalProblem.g:3052:1: rule__Atom__Group_3__0__Impl : ( ( rule__Atom__ArgumentsAssignment_3_0 ) ) ;
8078 public final void rule__Atom__Group_3__0__Impl() throws RecognitionException { 9708 public final void rule__Atom__Group_3__0__Impl() throws RecognitionException {
8079 9709
8080 int stackSize = keepStackSize(); 9710 int stackSize = keepStackSize();
8081 9711
8082 try { 9712 try {
8083 // InternalProblem.g:2563:1: ( ( ( rule__Atom__ArgumentsAssignment_3_0 ) ) ) 9713 // InternalProblem.g:3056:1: ( ( ( rule__Atom__ArgumentsAssignment_3_0 ) ) )
8084 // InternalProblem.g:2564:1: ( ( rule__Atom__ArgumentsAssignment_3_0 ) ) 9714 // InternalProblem.g:3057:1: ( ( rule__Atom__ArgumentsAssignment_3_0 ) )
8085 { 9715 {
8086 // InternalProblem.g:2564:1: ( ( rule__Atom__ArgumentsAssignment_3_0 ) ) 9716 // InternalProblem.g:3057:1: ( ( rule__Atom__ArgumentsAssignment_3_0 ) )
8087 // InternalProblem.g:2565:2: ( rule__Atom__ArgumentsAssignment_3_0 ) 9717 // InternalProblem.g:3058:2: ( rule__Atom__ArgumentsAssignment_3_0 )
8088 { 9718 {
8089 before(grammarAccess.getAtomAccess().getArgumentsAssignment_3_0()); 9719 before(grammarAccess.getAtomAccess().getArgumentsAssignment_3_0());
8090 // InternalProblem.g:2566:2: ( rule__Atom__ArgumentsAssignment_3_0 ) 9720 // InternalProblem.g:3059:2: ( rule__Atom__ArgumentsAssignment_3_0 )
8091 // InternalProblem.g:2566:3: rule__Atom__ArgumentsAssignment_3_0 9721 // InternalProblem.g:3059:3: rule__Atom__ArgumentsAssignment_3_0
8092 { 9722 {
8093 pushFollow(FOLLOW_2); 9723 pushFollow(FOLLOW_2);
8094 rule__Atom__ArgumentsAssignment_3_0(); 9724 rule__Atom__ArgumentsAssignment_3_0();
@@ -8121,14 +9751,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8121 9751
8122 9752
8123 // $ANTLR start "rule__Atom__Group_3__1" 9753 // $ANTLR start "rule__Atom__Group_3__1"
8124 // InternalProblem.g:2574:1: rule__Atom__Group_3__1 : rule__Atom__Group_3__1__Impl ; 9754 // InternalProblem.g:3067:1: rule__Atom__Group_3__1 : rule__Atom__Group_3__1__Impl ;
8125 public final void rule__Atom__Group_3__1() throws RecognitionException { 9755 public final void rule__Atom__Group_3__1() throws RecognitionException {
8126 9756
8127 int stackSize = keepStackSize(); 9757 int stackSize = keepStackSize();
8128 9758
8129 try { 9759 try {
8130 // InternalProblem.g:2578:1: ( rule__Atom__Group_3__1__Impl ) 9760 // InternalProblem.g:3071:1: ( rule__Atom__Group_3__1__Impl )
8131 // InternalProblem.g:2579:2: rule__Atom__Group_3__1__Impl 9761 // InternalProblem.g:3072:2: rule__Atom__Group_3__1__Impl
8132 { 9762 {
8133 pushFollow(FOLLOW_2); 9763 pushFollow(FOLLOW_2);
8134 rule__Atom__Group_3__1__Impl(); 9764 rule__Atom__Group_3__1__Impl();
@@ -8154,35 +9784,35 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8154 9784
8155 9785
8156 // $ANTLR start "rule__Atom__Group_3__1__Impl" 9786 // $ANTLR start "rule__Atom__Group_3__1__Impl"
8157 // InternalProblem.g:2585:1: rule__Atom__Group_3__1__Impl : ( ( rule__Atom__Group_3_1__0 )* ) ; 9787 // InternalProblem.g:3078:1: rule__Atom__Group_3__1__Impl : ( ( rule__Atom__Group_3_1__0 )* ) ;
8158 public final void rule__Atom__Group_3__1__Impl() throws RecognitionException { 9788 public final void rule__Atom__Group_3__1__Impl() throws RecognitionException {
8159 9789
8160 int stackSize = keepStackSize(); 9790 int stackSize = keepStackSize();
8161 9791
8162 try { 9792 try {
8163 // InternalProblem.g:2589:1: ( ( ( rule__Atom__Group_3_1__0 )* ) ) 9793 // InternalProblem.g:3082:1: ( ( ( rule__Atom__Group_3_1__0 )* ) )
8164 // InternalProblem.g:2590:1: ( ( rule__Atom__Group_3_1__0 )* ) 9794 // InternalProblem.g:3083:1: ( ( rule__Atom__Group_3_1__0 )* )
8165 { 9795 {
8166 // InternalProblem.g:2590:1: ( ( rule__Atom__Group_3_1__0 )* ) 9796 // InternalProblem.g:3083:1: ( ( rule__Atom__Group_3_1__0 )* )
8167 // InternalProblem.g:2591:2: ( rule__Atom__Group_3_1__0 )* 9797 // InternalProblem.g:3084:2: ( rule__Atom__Group_3_1__0 )*
8168 { 9798 {
8169 before(grammarAccess.getAtomAccess().getGroup_3_1()); 9799 before(grammarAccess.getAtomAccess().getGroup_3_1());
8170 // InternalProblem.g:2592:2: ( rule__Atom__Group_3_1__0 )* 9800 // InternalProblem.g:3085:2: ( rule__Atom__Group_3_1__0 )*
8171 loop31: 9801 loop40:
8172 do { 9802 do {
8173 int alt31=2; 9803 int alt40=2;
8174 int LA31_0 = input.LA(1); 9804 int LA40_0 = input.LA(1);
8175 9805
8176 if ( (LA31_0==25) ) { 9806 if ( (LA40_0==13) ) {
8177 alt31=1; 9807 alt40=1;
8178 } 9808 }
8179 9809
8180 9810
8181 switch (alt31) { 9811 switch (alt40) {
8182 case 1 : 9812 case 1 :
8183 // InternalProblem.g:2592:3: rule__Atom__Group_3_1__0 9813 // InternalProblem.g:3085:3: rule__Atom__Group_3_1__0
8184 { 9814 {
8185 pushFollow(FOLLOW_11); 9815 pushFollow(FOLLOW_10);
8186 rule__Atom__Group_3_1__0(); 9816 rule__Atom__Group_3_1__0();
8187 9817
8188 state._fsp--; 9818 state._fsp--;
@@ -8192,7 +9822,7 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8192 break; 9822 break;
8193 9823
8194 default : 9824 default :
8195 break loop31; 9825 break loop40;
8196 } 9826 }
8197 } while (true); 9827 } while (true);
8198 9828
@@ -8219,14 +9849,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8219 9849
8220 9850
8221 // $ANTLR start "rule__Atom__Group_3_1__0" 9851 // $ANTLR start "rule__Atom__Group_3_1__0"
8222 // InternalProblem.g:2601:1: rule__Atom__Group_3_1__0 : rule__Atom__Group_3_1__0__Impl rule__Atom__Group_3_1__1 ; 9852 // InternalProblem.g:3094:1: rule__Atom__Group_3_1__0 : rule__Atom__Group_3_1__0__Impl rule__Atom__Group_3_1__1 ;
8223 public final void rule__Atom__Group_3_1__0() throws RecognitionException { 9853 public final void rule__Atom__Group_3_1__0() throws RecognitionException {
8224 9854
8225 int stackSize = keepStackSize(); 9855 int stackSize = keepStackSize();
8226 9856
8227 try { 9857 try {
8228 // InternalProblem.g:2605:1: ( rule__Atom__Group_3_1__0__Impl rule__Atom__Group_3_1__1 ) 9858 // InternalProblem.g:3098:1: ( 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 9859 // InternalProblem.g:3099:2: rule__Atom__Group_3_1__0__Impl rule__Atom__Group_3_1__1
8230 { 9860 {
8231 pushFollow(FOLLOW_5); 9861 pushFollow(FOLLOW_5);
8232 rule__Atom__Group_3_1__0__Impl(); 9862 rule__Atom__Group_3_1__0__Impl();
@@ -8257,20 +9887,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8257 9887
8258 9888
8259 // $ANTLR start "rule__Atom__Group_3_1__0__Impl" 9889 // $ANTLR start "rule__Atom__Group_3_1__0__Impl"
8260 // InternalProblem.g:2613:1: rule__Atom__Group_3_1__0__Impl : ( ',' ) ; 9890 // InternalProblem.g:3106:1: rule__Atom__Group_3_1__0__Impl : ( ',' ) ;
8261 public final void rule__Atom__Group_3_1__0__Impl() throws RecognitionException { 9891 public final void rule__Atom__Group_3_1__0__Impl() throws RecognitionException {
8262 9892
8263 int stackSize = keepStackSize(); 9893 int stackSize = keepStackSize();
8264 9894
8265 try { 9895 try {
8266 // InternalProblem.g:2617:1: ( ( ',' ) ) 9896 // InternalProblem.g:3110:1: ( ( ',' ) )
8267 // InternalProblem.g:2618:1: ( ',' ) 9897 // InternalProblem.g:3111:1: ( ',' )
8268 { 9898 {
8269 // InternalProblem.g:2618:1: ( ',' ) 9899 // InternalProblem.g:3111:1: ( ',' )
8270 // InternalProblem.g:2619:2: ',' 9900 // InternalProblem.g:3112:2: ','
8271 { 9901 {
8272 before(grammarAccess.getAtomAccess().getCommaKeyword_3_1_0()); 9902 before(grammarAccess.getAtomAccess().getCommaKeyword_3_1_0());
8273 match(input,25,FOLLOW_2); 9903 match(input,13,FOLLOW_2);
8274 after(grammarAccess.getAtomAccess().getCommaKeyword_3_1_0()); 9904 after(grammarAccess.getAtomAccess().getCommaKeyword_3_1_0());
8275 9905
8276 } 9906 }
@@ -8294,14 +9924,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8294 9924
8295 9925
8296 // $ANTLR start "rule__Atom__Group_3_1__1" 9926 // $ANTLR start "rule__Atom__Group_3_1__1"
8297 // InternalProblem.g:2628:1: rule__Atom__Group_3_1__1 : rule__Atom__Group_3_1__1__Impl ; 9927 // InternalProblem.g:3121:1: rule__Atom__Group_3_1__1 : rule__Atom__Group_3_1__1__Impl ;
8298 public final void rule__Atom__Group_3_1__1() throws RecognitionException { 9928 public final void rule__Atom__Group_3_1__1() throws RecognitionException {
8299 9929
8300 int stackSize = keepStackSize(); 9930 int stackSize = keepStackSize();
8301 9931
8302 try { 9932 try {
8303 // InternalProblem.g:2632:1: ( rule__Atom__Group_3_1__1__Impl ) 9933 // InternalProblem.g:3125:1: ( rule__Atom__Group_3_1__1__Impl )
8304 // InternalProblem.g:2633:2: rule__Atom__Group_3_1__1__Impl 9934 // InternalProblem.g:3126:2: rule__Atom__Group_3_1__1__Impl
8305 { 9935 {
8306 pushFollow(FOLLOW_2); 9936 pushFollow(FOLLOW_2);
8307 rule__Atom__Group_3_1__1__Impl(); 9937 rule__Atom__Group_3_1__1__Impl();
@@ -8327,21 +9957,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8327 9957
8328 9958
8329 // $ANTLR start "rule__Atom__Group_3_1__1__Impl" 9959 // $ANTLR start "rule__Atom__Group_3_1__1__Impl"
8330 // InternalProblem.g:2639:1: rule__Atom__Group_3_1__1__Impl : ( ( rule__Atom__ArgumentsAssignment_3_1_1 ) ) ; 9960 // InternalProblem.g:3132:1: rule__Atom__Group_3_1__1__Impl : ( ( rule__Atom__ArgumentsAssignment_3_1_1 ) ) ;
8331 public final void rule__Atom__Group_3_1__1__Impl() throws RecognitionException { 9961 public final void rule__Atom__Group_3_1__1__Impl() throws RecognitionException {
8332 9962
8333 int stackSize = keepStackSize(); 9963 int stackSize = keepStackSize();
8334 9964
8335 try { 9965 try {
8336 // InternalProblem.g:2643:1: ( ( ( rule__Atom__ArgumentsAssignment_3_1_1 ) ) ) 9966 // InternalProblem.g:3136:1: ( ( ( rule__Atom__ArgumentsAssignment_3_1_1 ) ) )
8337 // InternalProblem.g:2644:1: ( ( rule__Atom__ArgumentsAssignment_3_1_1 ) ) 9967 // InternalProblem.g:3137:1: ( ( rule__Atom__ArgumentsAssignment_3_1_1 ) )
8338 { 9968 {
8339 // InternalProblem.g:2644:1: ( ( rule__Atom__ArgumentsAssignment_3_1_1 ) ) 9969 // InternalProblem.g:3137:1: ( ( rule__Atom__ArgumentsAssignment_3_1_1 ) )
8340 // InternalProblem.g:2645:2: ( rule__Atom__ArgumentsAssignment_3_1_1 ) 9970 // InternalProblem.g:3138:2: ( rule__Atom__ArgumentsAssignment_3_1_1 )
8341 { 9971 {
8342 before(grammarAccess.getAtomAccess().getArgumentsAssignment_3_1_1()); 9972 before(grammarAccess.getAtomAccess().getArgumentsAssignment_3_1_1());
8343 // InternalProblem.g:2646:2: ( rule__Atom__ArgumentsAssignment_3_1_1 ) 9973 // InternalProblem.g:3139:2: ( rule__Atom__ArgumentsAssignment_3_1_1 )
8344 // InternalProblem.g:2646:3: rule__Atom__ArgumentsAssignment_3_1_1 9974 // InternalProblem.g:3139:3: rule__Atom__ArgumentsAssignment_3_1_1
8345 { 9975 {
8346 pushFollow(FOLLOW_2); 9976 pushFollow(FOLLOW_2);
8347 rule__Atom__ArgumentsAssignment_3_1_1(); 9977 rule__Atom__ArgumentsAssignment_3_1_1();
@@ -8374,14 +10004,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8374 10004
8375 10005
8376 // $ANTLR start "rule__Assertion__Group__0" 10006 // $ANTLR start "rule__Assertion__Group__0"
8377 // InternalProblem.g:2655:1: rule__Assertion__Group__0 : rule__Assertion__Group__0__Impl rule__Assertion__Group__1 ; 10007 // InternalProblem.g:3148:1: rule__Assertion__Group__0 : rule__Assertion__Group__0__Impl rule__Assertion__Group__1 ;
8378 public final void rule__Assertion__Group__0() throws RecognitionException { 10008 public final void rule__Assertion__Group__0() throws RecognitionException {
8379 10009
8380 int stackSize = keepStackSize(); 10010 int stackSize = keepStackSize();
8381 10011
8382 try { 10012 try {
8383 // InternalProblem.g:2659:1: ( rule__Assertion__Group__0__Impl rule__Assertion__Group__1 ) 10013 // InternalProblem.g:3152:1: ( rule__Assertion__Group__0__Impl rule__Assertion__Group__1 )
8384 // InternalProblem.g:2660:2: rule__Assertion__Group__0__Impl rule__Assertion__Group__1 10014 // InternalProblem.g:3153:2: rule__Assertion__Group__0__Impl rule__Assertion__Group__1
8385 { 10015 {
8386 pushFollow(FOLLOW_6); 10016 pushFollow(FOLLOW_6);
8387 rule__Assertion__Group__0__Impl(); 10017 rule__Assertion__Group__0__Impl();
@@ -8412,21 +10042,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8412 10042
8413 10043
8414 // $ANTLR start "rule__Assertion__Group__0__Impl" 10044 // $ANTLR start "rule__Assertion__Group__0__Impl"
8415 // InternalProblem.g:2667:1: rule__Assertion__Group__0__Impl : ( ( rule__Assertion__Alternatives_0 ) ) ; 10045 // InternalProblem.g:3160:1: rule__Assertion__Group__0__Impl : ( ( rule__Assertion__Alternatives_0 ) ) ;
8416 public final void rule__Assertion__Group__0__Impl() throws RecognitionException { 10046 public final void rule__Assertion__Group__0__Impl() throws RecognitionException {
8417 10047
8418 int stackSize = keepStackSize(); 10048 int stackSize = keepStackSize();
8419 10049
8420 try { 10050 try {
8421 // InternalProblem.g:2671:1: ( ( ( rule__Assertion__Alternatives_0 ) ) ) 10051 // InternalProblem.g:3164:1: ( ( ( rule__Assertion__Alternatives_0 ) ) )
8422 // InternalProblem.g:2672:1: ( ( rule__Assertion__Alternatives_0 ) ) 10052 // InternalProblem.g:3165:1: ( ( rule__Assertion__Alternatives_0 ) )
8423 { 10053 {
8424 // InternalProblem.g:2672:1: ( ( rule__Assertion__Alternatives_0 ) ) 10054 // InternalProblem.g:3165:1: ( ( rule__Assertion__Alternatives_0 ) )
8425 // InternalProblem.g:2673:2: ( rule__Assertion__Alternatives_0 ) 10055 // InternalProblem.g:3166:2: ( rule__Assertion__Alternatives_0 )
8426 { 10056 {
8427 before(grammarAccess.getAssertionAccess().getAlternatives_0()); 10057 before(grammarAccess.getAssertionAccess().getAlternatives_0());
8428 // InternalProblem.g:2674:2: ( rule__Assertion__Alternatives_0 ) 10058 // InternalProblem.g:3167:2: ( rule__Assertion__Alternatives_0 )
8429 // InternalProblem.g:2674:3: rule__Assertion__Alternatives_0 10059 // InternalProblem.g:3167:3: rule__Assertion__Alternatives_0
8430 { 10060 {
8431 pushFollow(FOLLOW_2); 10061 pushFollow(FOLLOW_2);
8432 rule__Assertion__Alternatives_0(); 10062 rule__Assertion__Alternatives_0();
@@ -8459,14 +10089,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8459 10089
8460 10090
8461 // $ANTLR start "rule__Assertion__Group__1" 10091 // $ANTLR start "rule__Assertion__Group__1"
8462 // InternalProblem.g:2682:1: rule__Assertion__Group__1 : rule__Assertion__Group__1__Impl ; 10092 // InternalProblem.g:3175:1: rule__Assertion__Group__1 : rule__Assertion__Group__1__Impl ;
8463 public final void rule__Assertion__Group__1() throws RecognitionException { 10093 public final void rule__Assertion__Group__1() throws RecognitionException {
8464 10094
8465 int stackSize = keepStackSize(); 10095 int stackSize = keepStackSize();
8466 10096
8467 try { 10097 try {
8468 // InternalProblem.g:2686:1: ( rule__Assertion__Group__1__Impl ) 10098 // InternalProblem.g:3179:1: ( rule__Assertion__Group__1__Impl )
8469 // InternalProblem.g:2687:2: rule__Assertion__Group__1__Impl 10099 // InternalProblem.g:3180:2: rule__Assertion__Group__1__Impl
8470 { 10100 {
8471 pushFollow(FOLLOW_2); 10101 pushFollow(FOLLOW_2);
8472 rule__Assertion__Group__1__Impl(); 10102 rule__Assertion__Group__1__Impl();
@@ -8492,17 +10122,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8492 10122
8493 10123
8494 // $ANTLR start "rule__Assertion__Group__1__Impl" 10124 // $ANTLR start "rule__Assertion__Group__1__Impl"
8495 // InternalProblem.g:2693:1: rule__Assertion__Group__1__Impl : ( '.' ) ; 10125 // InternalProblem.g:3186:1: rule__Assertion__Group__1__Impl : ( '.' ) ;
8496 public final void rule__Assertion__Group__1__Impl() throws RecognitionException { 10126 public final void rule__Assertion__Group__1__Impl() throws RecognitionException {
8497 10127
8498 int stackSize = keepStackSize(); 10128 int stackSize = keepStackSize();
8499 10129
8500 try { 10130 try {
8501 // InternalProblem.g:2697:1: ( ( '.' ) ) 10131 // InternalProblem.g:3190:1: ( ( '.' ) )
8502 // InternalProblem.g:2698:1: ( '.' ) 10132 // InternalProblem.g:3191:1: ( '.' )
8503 { 10133 {
8504 // InternalProblem.g:2698:1: ( '.' ) 10134 // InternalProblem.g:3191:1: ( '.' )
8505 // InternalProblem.g:2699:2: '.' 10135 // InternalProblem.g:3192:2: '.'
8506 { 10136 {
8507 before(grammarAccess.getAssertionAccess().getFullStopKeyword_1()); 10137 before(grammarAccess.getAssertionAccess().getFullStopKeyword_1());
8508 match(input,12,FOLLOW_2); 10138 match(input,12,FOLLOW_2);
@@ -8529,16 +10159,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8529 10159
8530 10160
8531 // $ANTLR start "rule__Assertion__Group_0_0__0" 10161 // $ANTLR start "rule__Assertion__Group_0_0__0"
8532 // InternalProblem.g:2709:1: rule__Assertion__Group_0_0__0 : rule__Assertion__Group_0_0__0__Impl rule__Assertion__Group_0_0__1 ; 10162 // InternalProblem.g:3202:1: rule__Assertion__Group_0_0__0 : rule__Assertion__Group_0_0__0__Impl rule__Assertion__Group_0_0__1 ;
8533 public final void rule__Assertion__Group_0_0__0() throws RecognitionException { 10163 public final void rule__Assertion__Group_0_0__0() throws RecognitionException {
8534 10164
8535 int stackSize = keepStackSize(); 10165 int stackSize = keepStackSize();
8536 10166
8537 try { 10167 try {
8538 // InternalProblem.g:2713:1: ( rule__Assertion__Group_0_0__0__Impl rule__Assertion__Group_0_0__1 ) 10168 // InternalProblem.g:3206:1: ( 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 10169 // InternalProblem.g:3207:2: rule__Assertion__Group_0_0__0__Impl rule__Assertion__Group_0_0__1
8540 { 10170 {
8541 pushFollow(FOLLOW_19); 10171 pushFollow(FOLLOW_22);
8542 rule__Assertion__Group_0_0__0__Impl(); 10172 rule__Assertion__Group_0_0__0__Impl();
8543 10173
8544 state._fsp--; 10174 state._fsp--;
@@ -8567,21 +10197,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8567 10197
8568 10198
8569 // $ANTLR start "rule__Assertion__Group_0_0__0__Impl" 10199 // $ANTLR start "rule__Assertion__Group_0_0__0__Impl"
8570 // InternalProblem.g:2721:1: rule__Assertion__Group_0_0__0__Impl : ( ( rule__Assertion__RelationAssignment_0_0_0 ) ) ; 10200 // InternalProblem.g:3214:1: rule__Assertion__Group_0_0__0__Impl : ( ( rule__Assertion__RelationAssignment_0_0_0 ) ) ;
8571 public final void rule__Assertion__Group_0_0__0__Impl() throws RecognitionException { 10201 public final void rule__Assertion__Group_0_0__0__Impl() throws RecognitionException {
8572 10202
8573 int stackSize = keepStackSize(); 10203 int stackSize = keepStackSize();
8574 10204
8575 try { 10205 try {
8576 // InternalProblem.g:2725:1: ( ( ( rule__Assertion__RelationAssignment_0_0_0 ) ) ) 10206 // InternalProblem.g:3218:1: ( ( ( rule__Assertion__RelationAssignment_0_0_0 ) ) )
8577 // InternalProblem.g:2726:1: ( ( rule__Assertion__RelationAssignment_0_0_0 ) ) 10207 // InternalProblem.g:3219:1: ( ( rule__Assertion__RelationAssignment_0_0_0 ) )
8578 { 10208 {
8579 // InternalProblem.g:2726:1: ( ( rule__Assertion__RelationAssignment_0_0_0 ) ) 10209 // InternalProblem.g:3219:1: ( ( rule__Assertion__RelationAssignment_0_0_0 ) )
8580 // InternalProblem.g:2727:2: ( rule__Assertion__RelationAssignment_0_0_0 ) 10210 // InternalProblem.g:3220:2: ( rule__Assertion__RelationAssignment_0_0_0 )
8581 { 10211 {
8582 before(grammarAccess.getAssertionAccess().getRelationAssignment_0_0_0()); 10212 before(grammarAccess.getAssertionAccess().getRelationAssignment_0_0_0());
8583 // InternalProblem.g:2728:2: ( rule__Assertion__RelationAssignment_0_0_0 ) 10213 // InternalProblem.g:3221:2: ( rule__Assertion__RelationAssignment_0_0_0 )
8584 // InternalProblem.g:2728:3: rule__Assertion__RelationAssignment_0_0_0 10214 // InternalProblem.g:3221:3: rule__Assertion__RelationAssignment_0_0_0
8585 { 10215 {
8586 pushFollow(FOLLOW_2); 10216 pushFollow(FOLLOW_2);
8587 rule__Assertion__RelationAssignment_0_0_0(); 10217 rule__Assertion__RelationAssignment_0_0_0();
@@ -8614,16 +10244,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8614 10244
8615 10245
8616 // $ANTLR start "rule__Assertion__Group_0_0__1" 10246 // $ANTLR start "rule__Assertion__Group_0_0__1"
8617 // InternalProblem.g:2736:1: rule__Assertion__Group_0_0__1 : rule__Assertion__Group_0_0__1__Impl rule__Assertion__Group_0_0__2 ; 10247 // InternalProblem.g:3229:1: rule__Assertion__Group_0_0__1 : rule__Assertion__Group_0_0__1__Impl rule__Assertion__Group_0_0__2 ;
8618 public final void rule__Assertion__Group_0_0__1() throws RecognitionException { 10248 public final void rule__Assertion__Group_0_0__1() throws RecognitionException {
8619 10249
8620 int stackSize = keepStackSize(); 10250 int stackSize = keepStackSize();
8621 10251
8622 try { 10252 try {
8623 // InternalProblem.g:2740:1: ( rule__Assertion__Group_0_0__1__Impl rule__Assertion__Group_0_0__2 ) 10253 // InternalProblem.g:3233:1: ( 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 10254 // InternalProblem.g:3234:2: rule__Assertion__Group_0_0__1__Impl rule__Assertion__Group_0_0__2
8625 { 10255 {
8626 pushFollow(FOLLOW_26); 10256 pushFollow(FOLLOW_23);
8627 rule__Assertion__Group_0_0__1__Impl(); 10257 rule__Assertion__Group_0_0__1__Impl();
8628 10258
8629 state._fsp--; 10259 state._fsp--;
@@ -8652,20 +10282,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8652 10282
8653 10283
8654 // $ANTLR start "rule__Assertion__Group_0_0__1__Impl" 10284 // $ANTLR start "rule__Assertion__Group_0_0__1__Impl"
8655 // InternalProblem.g:2748:1: rule__Assertion__Group_0_0__1__Impl : ( '(' ) ; 10285 // InternalProblem.g:3241:1: rule__Assertion__Group_0_0__1__Impl : ( '(' ) ;
8656 public final void rule__Assertion__Group_0_0__1__Impl() throws RecognitionException { 10286 public final void rule__Assertion__Group_0_0__1__Impl() throws RecognitionException {
8657 10287
8658 int stackSize = keepStackSize(); 10288 int stackSize = keepStackSize();
8659 10289
8660 try { 10290 try {
8661 // InternalProblem.g:2752:1: ( ( '(' ) ) 10291 // InternalProblem.g:3245:1: ( ( '(' ) )
8662 // InternalProblem.g:2753:1: ( '(' ) 10292 // InternalProblem.g:3246:1: ( '(' )
8663 { 10293 {
8664 // InternalProblem.g:2753:1: ( '(' ) 10294 // InternalProblem.g:3246:1: ( '(' )
8665 // InternalProblem.g:2754:2: '(' 10295 // InternalProblem.g:3247:2: '('
8666 { 10296 {
8667 before(grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_0_1()); 10297 before(grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_0_1());
8668 match(input,32,FOLLOW_2); 10298 match(input,33,FOLLOW_2);
8669 after(grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_0_1()); 10299 after(grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_0_1());
8670 10300
8671 } 10301 }
@@ -8689,16 +10319,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8689 10319
8690 10320
8691 // $ANTLR start "rule__Assertion__Group_0_0__2" 10321 // $ANTLR start "rule__Assertion__Group_0_0__2"
8692 // InternalProblem.g:2763:1: rule__Assertion__Group_0_0__2 : rule__Assertion__Group_0_0__2__Impl rule__Assertion__Group_0_0__3 ; 10322 // InternalProblem.g:3256:1: rule__Assertion__Group_0_0__2 : rule__Assertion__Group_0_0__2__Impl rule__Assertion__Group_0_0__3 ;
8693 public final void rule__Assertion__Group_0_0__2() throws RecognitionException { 10323 public final void rule__Assertion__Group_0_0__2() throws RecognitionException {
8694 10324
8695 int stackSize = keepStackSize(); 10325 int stackSize = keepStackSize();
8696 10326
8697 try { 10327 try {
8698 // InternalProblem.g:2767:1: ( rule__Assertion__Group_0_0__2__Impl rule__Assertion__Group_0_0__3 ) 10328 // InternalProblem.g:3260:1: ( 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 10329 // InternalProblem.g:3261:2: rule__Assertion__Group_0_0__2__Impl rule__Assertion__Group_0_0__3
8700 { 10330 {
8701 pushFollow(FOLLOW_26); 10331 pushFollow(FOLLOW_23);
8702 rule__Assertion__Group_0_0__2__Impl(); 10332 rule__Assertion__Group_0_0__2__Impl();
8703 10333
8704 state._fsp--; 10334 state._fsp--;
@@ -8727,29 +10357,29 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8727 10357
8728 10358
8729 // $ANTLR start "rule__Assertion__Group_0_0__2__Impl" 10359 // $ANTLR start "rule__Assertion__Group_0_0__2__Impl"
8730 // InternalProblem.g:2775:1: rule__Assertion__Group_0_0__2__Impl : ( ( rule__Assertion__Group_0_0_2__0 )? ) ; 10360 // InternalProblem.g:3268:1: rule__Assertion__Group_0_0__2__Impl : ( ( rule__Assertion__Group_0_0_2__0 )? ) ;
8731 public final void rule__Assertion__Group_0_0__2__Impl() throws RecognitionException { 10361 public final void rule__Assertion__Group_0_0__2__Impl() throws RecognitionException {
8732 10362
8733 int stackSize = keepStackSize(); 10363 int stackSize = keepStackSize();
8734 10364
8735 try { 10365 try {
8736 // InternalProblem.g:2779:1: ( ( ( rule__Assertion__Group_0_0_2__0 )? ) ) 10366 // InternalProblem.g:3272:1: ( ( ( rule__Assertion__Group_0_0_2__0 )? ) )
8737 // InternalProblem.g:2780:1: ( ( rule__Assertion__Group_0_0_2__0 )? ) 10367 // InternalProblem.g:3273:1: ( ( rule__Assertion__Group_0_0_2__0 )? )
8738 { 10368 {
8739 // InternalProblem.g:2780:1: ( ( rule__Assertion__Group_0_0_2__0 )? ) 10369 // InternalProblem.g:3273:1: ( ( rule__Assertion__Group_0_0_2__0 )? )
8740 // InternalProblem.g:2781:2: ( rule__Assertion__Group_0_0_2__0 )? 10370 // InternalProblem.g:3274:2: ( rule__Assertion__Group_0_0_2__0 )?
8741 { 10371 {
8742 before(grammarAccess.getAssertionAccess().getGroup_0_0_2()); 10372 before(grammarAccess.getAssertionAccess().getGroup_0_0_2());
8743 // InternalProblem.g:2782:2: ( rule__Assertion__Group_0_0_2__0 )? 10373 // InternalProblem.g:3275:2: ( rule__Assertion__Group_0_0_2__0 )?
8744 int alt32=2; 10374 int alt41=2;
8745 int LA32_0 = input.LA(1); 10375 int LA41_0 = input.LA(1);
8746 10376
8747 if ( ((LA32_0>=RULE_QUOTED_ID && LA32_0<=RULE_ID)) ) { 10377 if ( ((LA41_0>=RULE_QUOTED_ID && LA41_0<=RULE_ID)||(LA41_0>=19 && LA41_0<=20)) ) {
8748 alt32=1; 10378 alt41=1;
8749 } 10379 }
8750 switch (alt32) { 10380 switch (alt41) {
8751 case 1 : 10381 case 1 :
8752 // InternalProblem.g:2782:3: rule__Assertion__Group_0_0_2__0 10382 // InternalProblem.g:3275:3: rule__Assertion__Group_0_0_2__0
8753 { 10383 {
8754 pushFollow(FOLLOW_2); 10384 pushFollow(FOLLOW_2);
8755 rule__Assertion__Group_0_0_2__0(); 10385 rule__Assertion__Group_0_0_2__0();
@@ -8785,16 +10415,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8785 10415
8786 10416
8787 // $ANTLR start "rule__Assertion__Group_0_0__3" 10417 // $ANTLR start "rule__Assertion__Group_0_0__3"
8788 // InternalProblem.g:2790:1: rule__Assertion__Group_0_0__3 : rule__Assertion__Group_0_0__3__Impl rule__Assertion__Group_0_0__4 ; 10418 // InternalProblem.g:3283:1: rule__Assertion__Group_0_0__3 : rule__Assertion__Group_0_0__3__Impl rule__Assertion__Group_0_0__4 ;
8789 public final void rule__Assertion__Group_0_0__3() throws RecognitionException { 10419 public final void rule__Assertion__Group_0_0__3() throws RecognitionException {
8790 10420
8791 int stackSize = keepStackSize(); 10421 int stackSize = keepStackSize();
8792 10422
8793 try { 10423 try {
8794 // InternalProblem.g:2794:1: ( rule__Assertion__Group_0_0__3__Impl rule__Assertion__Group_0_0__4 ) 10424 // InternalProblem.g:3287:1: ( 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 10425 // InternalProblem.g:3288:2: rule__Assertion__Group_0_0__3__Impl rule__Assertion__Group_0_0__4
8796 { 10426 {
8797 pushFollow(FOLLOW_27); 10427 pushFollow(FOLLOW_29);
8798 rule__Assertion__Group_0_0__3__Impl(); 10428 rule__Assertion__Group_0_0__3__Impl();
8799 10429
8800 state._fsp--; 10430 state._fsp--;
@@ -8823,20 +10453,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8823 10453
8824 10454
8825 // $ANTLR start "rule__Assertion__Group_0_0__3__Impl" 10455 // $ANTLR start "rule__Assertion__Group_0_0__3__Impl"
8826 // InternalProblem.g:2802:1: rule__Assertion__Group_0_0__3__Impl : ( ')' ) ; 10456 // InternalProblem.g:3295:1: rule__Assertion__Group_0_0__3__Impl : ( ')' ) ;
8827 public final void rule__Assertion__Group_0_0__3__Impl() throws RecognitionException { 10457 public final void rule__Assertion__Group_0_0__3__Impl() throws RecognitionException {
8828 10458
8829 int stackSize = keepStackSize(); 10459 int stackSize = keepStackSize();
8830 10460
8831 try { 10461 try {
8832 // InternalProblem.g:2806:1: ( ( ')' ) ) 10462 // InternalProblem.g:3299:1: ( ( ')' ) )
8833 // InternalProblem.g:2807:1: ( ')' ) 10463 // InternalProblem.g:3300:1: ( ')' )
8834 { 10464 {
8835 // InternalProblem.g:2807:1: ( ')' ) 10465 // InternalProblem.g:3300:1: ( ')' )
8836 // InternalProblem.g:2808:2: ')' 10466 // InternalProblem.g:3301:2: ')'
8837 { 10467 {
8838 before(grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_0_3()); 10468 before(grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_0_3());
8839 match(input,33,FOLLOW_2); 10469 match(input,34,FOLLOW_2);
8840 after(grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_0_3()); 10470 after(grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_0_3());
8841 10471
8842 } 10472 }
@@ -8860,16 +10490,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8860 10490
8861 10491
8862 // $ANTLR start "rule__Assertion__Group_0_0__4" 10492 // $ANTLR start "rule__Assertion__Group_0_0__4"
8863 // InternalProblem.g:2817:1: rule__Assertion__Group_0_0__4 : rule__Assertion__Group_0_0__4__Impl rule__Assertion__Group_0_0__5 ; 10493 // InternalProblem.g:3310:1: rule__Assertion__Group_0_0__4 : rule__Assertion__Group_0_0__4__Impl rule__Assertion__Group_0_0__5 ;
8864 public final void rule__Assertion__Group_0_0__4() throws RecognitionException { 10494 public final void rule__Assertion__Group_0_0__4() throws RecognitionException {
8865 10495
8866 int stackSize = keepStackSize(); 10496 int stackSize = keepStackSize();
8867 10497
8868 try { 10498 try {
8869 // InternalProblem.g:2821:1: ( rule__Assertion__Group_0_0__4__Impl rule__Assertion__Group_0_0__5 ) 10499 // InternalProblem.g:3314:1: ( 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 10500 // InternalProblem.g:3315:2: rule__Assertion__Group_0_0__4__Impl rule__Assertion__Group_0_0__5
8871 { 10501 {
8872 pushFollow(FOLLOW_28); 10502 pushFollow(FOLLOW_30);
8873 rule__Assertion__Group_0_0__4__Impl(); 10503 rule__Assertion__Group_0_0__4__Impl();
8874 10504
8875 state._fsp--; 10505 state._fsp--;
@@ -8898,20 +10528,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8898 10528
8899 10529
8900 // $ANTLR start "rule__Assertion__Group_0_0__4__Impl" 10530 // $ANTLR start "rule__Assertion__Group_0_0__4__Impl"
8901 // InternalProblem.g:2829:1: rule__Assertion__Group_0_0__4__Impl : ( ':' ) ; 10531 // InternalProblem.g:3322:1: rule__Assertion__Group_0_0__4__Impl : ( ':' ) ;
8902 public final void rule__Assertion__Group_0_0__4__Impl() throws RecognitionException { 10532 public final void rule__Assertion__Group_0_0__4__Impl() throws RecognitionException {
8903 10533
8904 int stackSize = keepStackSize(); 10534 int stackSize = keepStackSize();
8905 10535
8906 try { 10536 try {
8907 // InternalProblem.g:2833:1: ( ( ':' ) ) 10537 // InternalProblem.g:3326:1: ( ( ':' ) )
8908 // InternalProblem.g:2834:1: ( ':' ) 10538 // InternalProblem.g:3327:1: ( ':' )
8909 { 10539 {
8910 // InternalProblem.g:2834:1: ( ':' ) 10540 // InternalProblem.g:3327:1: ( ':' )
8911 // InternalProblem.g:2835:2: ':' 10541 // InternalProblem.g:3328:2: ':'
8912 { 10542 {
8913 before(grammarAccess.getAssertionAccess().getColonKeyword_0_0_4()); 10543 before(grammarAccess.getAssertionAccess().getColonKeyword_0_0_4());
8914 match(input,35,FOLLOW_2); 10544 match(input,36,FOLLOW_2);
8915 after(grammarAccess.getAssertionAccess().getColonKeyword_0_0_4()); 10545 after(grammarAccess.getAssertionAccess().getColonKeyword_0_0_4());
8916 10546
8917 } 10547 }
@@ -8935,14 +10565,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8935 10565
8936 10566
8937 // $ANTLR start "rule__Assertion__Group_0_0__5" 10567 // $ANTLR start "rule__Assertion__Group_0_0__5"
8938 // InternalProblem.g:2844:1: rule__Assertion__Group_0_0__5 : rule__Assertion__Group_0_0__5__Impl ; 10568 // InternalProblem.g:3337:1: rule__Assertion__Group_0_0__5 : rule__Assertion__Group_0_0__5__Impl ;
8939 public final void rule__Assertion__Group_0_0__5() throws RecognitionException { 10569 public final void rule__Assertion__Group_0_0__5() throws RecognitionException {
8940 10570
8941 int stackSize = keepStackSize(); 10571 int stackSize = keepStackSize();
8942 10572
8943 try { 10573 try {
8944 // InternalProblem.g:2848:1: ( rule__Assertion__Group_0_0__5__Impl ) 10574 // InternalProblem.g:3341:1: ( rule__Assertion__Group_0_0__5__Impl )
8945 // InternalProblem.g:2849:2: rule__Assertion__Group_0_0__5__Impl 10575 // InternalProblem.g:3342:2: rule__Assertion__Group_0_0__5__Impl
8946 { 10576 {
8947 pushFollow(FOLLOW_2); 10577 pushFollow(FOLLOW_2);
8948 rule__Assertion__Group_0_0__5__Impl(); 10578 rule__Assertion__Group_0_0__5__Impl();
@@ -8968,21 +10598,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
8968 10598
8969 10599
8970 // $ANTLR start "rule__Assertion__Group_0_0__5__Impl" 10600 // $ANTLR start "rule__Assertion__Group_0_0__5__Impl"
8971 // InternalProblem.g:2855:1: rule__Assertion__Group_0_0__5__Impl : ( ( rule__Assertion__ValueAssignment_0_0_5 ) ) ; 10601 // InternalProblem.g:3348:1: rule__Assertion__Group_0_0__5__Impl : ( ( rule__Assertion__ValueAssignment_0_0_5 ) ) ;
8972 public final void rule__Assertion__Group_0_0__5__Impl() throws RecognitionException { 10602 public final void rule__Assertion__Group_0_0__5__Impl() throws RecognitionException {
8973 10603
8974 int stackSize = keepStackSize(); 10604 int stackSize = keepStackSize();
8975 10605
8976 try { 10606 try {
8977 // InternalProblem.g:2859:1: ( ( ( rule__Assertion__ValueAssignment_0_0_5 ) ) ) 10607 // InternalProblem.g:3352:1: ( ( ( rule__Assertion__ValueAssignment_0_0_5 ) ) )
8978 // InternalProblem.g:2860:1: ( ( rule__Assertion__ValueAssignment_0_0_5 ) ) 10608 // InternalProblem.g:3353:1: ( ( rule__Assertion__ValueAssignment_0_0_5 ) )
8979 { 10609 {
8980 // InternalProblem.g:2860:1: ( ( rule__Assertion__ValueAssignment_0_0_5 ) ) 10610 // InternalProblem.g:3353:1: ( ( rule__Assertion__ValueAssignment_0_0_5 ) )
8981 // InternalProblem.g:2861:2: ( rule__Assertion__ValueAssignment_0_0_5 ) 10611 // InternalProblem.g:3354:2: ( rule__Assertion__ValueAssignment_0_0_5 )
8982 { 10612 {
8983 before(grammarAccess.getAssertionAccess().getValueAssignment_0_0_5()); 10613 before(grammarAccess.getAssertionAccess().getValueAssignment_0_0_5());
8984 // InternalProblem.g:2862:2: ( rule__Assertion__ValueAssignment_0_0_5 ) 10614 // InternalProblem.g:3355:2: ( rule__Assertion__ValueAssignment_0_0_5 )
8985 // InternalProblem.g:2862:3: rule__Assertion__ValueAssignment_0_0_5 10615 // InternalProblem.g:3355:3: rule__Assertion__ValueAssignment_0_0_5
8986 { 10616 {
8987 pushFollow(FOLLOW_2); 10617 pushFollow(FOLLOW_2);
8988 rule__Assertion__ValueAssignment_0_0_5(); 10618 rule__Assertion__ValueAssignment_0_0_5();
@@ -9015,16 +10645,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9015 10645
9016 10646
9017 // $ANTLR start "rule__Assertion__Group_0_0_2__0" 10647 // $ANTLR start "rule__Assertion__Group_0_0_2__0"
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 ; 10648 // InternalProblem.g:3364:1: rule__Assertion__Group_0_0_2__0 : rule__Assertion__Group_0_0_2__0__Impl rule__Assertion__Group_0_0_2__1 ;
9019 public final void rule__Assertion__Group_0_0_2__0() throws RecognitionException { 10649 public final void rule__Assertion__Group_0_0_2__0() throws RecognitionException {
9020 10650
9021 int stackSize = keepStackSize(); 10651 int stackSize = keepStackSize();
9022 10652
9023 try { 10653 try {
9024 // InternalProblem.g:2875:1: ( rule__Assertion__Group_0_0_2__0__Impl rule__Assertion__Group_0_0_2__1 ) 10654 // InternalProblem.g:3368:1: ( 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 10655 // InternalProblem.g:3369:2: rule__Assertion__Group_0_0_2__0__Impl rule__Assertion__Group_0_0_2__1
9026 { 10656 {
9027 pushFollow(FOLLOW_10); 10657 pushFollow(FOLLOW_9);
9028 rule__Assertion__Group_0_0_2__0__Impl(); 10658 rule__Assertion__Group_0_0_2__0__Impl();
9029 10659
9030 state._fsp--; 10660 state._fsp--;
@@ -9053,21 +10683,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9053 10683
9054 10684
9055 // $ANTLR start "rule__Assertion__Group_0_0_2__0__Impl" 10685 // $ANTLR start "rule__Assertion__Group_0_0_2__0__Impl"
9056 // InternalProblem.g:2883:1: rule__Assertion__Group_0_0_2__0__Impl : ( ( rule__Assertion__ArgumentsAssignment_0_0_2_0 ) ) ; 10686 // InternalProblem.g:3376:1: rule__Assertion__Group_0_0_2__0__Impl : ( ( rule__Assertion__ArgumentsAssignment_0_0_2_0 ) ) ;
9057 public final void rule__Assertion__Group_0_0_2__0__Impl() throws RecognitionException { 10687 public final void rule__Assertion__Group_0_0_2__0__Impl() throws RecognitionException {
9058 10688
9059 int stackSize = keepStackSize(); 10689 int stackSize = keepStackSize();
9060 10690
9061 try { 10691 try {
9062 // InternalProblem.g:2887:1: ( ( ( rule__Assertion__ArgumentsAssignment_0_0_2_0 ) ) ) 10692 // InternalProblem.g:3380:1: ( ( ( rule__Assertion__ArgumentsAssignment_0_0_2_0 ) ) )
9063 // InternalProblem.g:2888:1: ( ( rule__Assertion__ArgumentsAssignment_0_0_2_0 ) ) 10693 // InternalProblem.g:3381:1: ( ( rule__Assertion__ArgumentsAssignment_0_0_2_0 ) )
9064 { 10694 {
9065 // InternalProblem.g:2888:1: ( ( rule__Assertion__ArgumentsAssignment_0_0_2_0 ) ) 10695 // InternalProblem.g:3381:1: ( ( rule__Assertion__ArgumentsAssignment_0_0_2_0 ) )
9066 // InternalProblem.g:2889:2: ( rule__Assertion__ArgumentsAssignment_0_0_2_0 ) 10696 // InternalProblem.g:3382:2: ( rule__Assertion__ArgumentsAssignment_0_0_2_0 )
9067 { 10697 {
9068 before(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_0_2_0()); 10698 before(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_0_2_0());
9069 // InternalProblem.g:2890:2: ( rule__Assertion__ArgumentsAssignment_0_0_2_0 ) 10699 // InternalProblem.g:3383:2: ( rule__Assertion__ArgumentsAssignment_0_0_2_0 )
9070 // InternalProblem.g:2890:3: rule__Assertion__ArgumentsAssignment_0_0_2_0 10700 // InternalProblem.g:3383:3: rule__Assertion__ArgumentsAssignment_0_0_2_0
9071 { 10701 {
9072 pushFollow(FOLLOW_2); 10702 pushFollow(FOLLOW_2);
9073 rule__Assertion__ArgumentsAssignment_0_0_2_0(); 10703 rule__Assertion__ArgumentsAssignment_0_0_2_0();
@@ -9100,14 +10730,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9100 10730
9101 10731
9102 // $ANTLR start "rule__Assertion__Group_0_0_2__1" 10732 // $ANTLR start "rule__Assertion__Group_0_0_2__1"
9103 // InternalProblem.g:2898:1: rule__Assertion__Group_0_0_2__1 : rule__Assertion__Group_0_0_2__1__Impl ; 10733 // InternalProblem.g:3391:1: rule__Assertion__Group_0_0_2__1 : rule__Assertion__Group_0_0_2__1__Impl ;
9104 public final void rule__Assertion__Group_0_0_2__1() throws RecognitionException { 10734 public final void rule__Assertion__Group_0_0_2__1() throws RecognitionException {
9105 10735
9106 int stackSize = keepStackSize(); 10736 int stackSize = keepStackSize();
9107 10737
9108 try { 10738 try {
9109 // InternalProblem.g:2902:1: ( rule__Assertion__Group_0_0_2__1__Impl ) 10739 // InternalProblem.g:3395:1: ( rule__Assertion__Group_0_0_2__1__Impl )
9110 // InternalProblem.g:2903:2: rule__Assertion__Group_0_0_2__1__Impl 10740 // InternalProblem.g:3396:2: rule__Assertion__Group_0_0_2__1__Impl
9111 { 10741 {
9112 pushFollow(FOLLOW_2); 10742 pushFollow(FOLLOW_2);
9113 rule__Assertion__Group_0_0_2__1__Impl(); 10743 rule__Assertion__Group_0_0_2__1__Impl();
@@ -9133,35 +10763,35 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9133 10763
9134 10764
9135 // $ANTLR start "rule__Assertion__Group_0_0_2__1__Impl" 10765 // $ANTLR start "rule__Assertion__Group_0_0_2__1__Impl"
9136 // InternalProblem.g:2909:1: rule__Assertion__Group_0_0_2__1__Impl : ( ( rule__Assertion__Group_0_0_2_1__0 )* ) ; 10766 // InternalProblem.g:3402:1: rule__Assertion__Group_0_0_2__1__Impl : ( ( rule__Assertion__Group_0_0_2_1__0 )* ) ;
9137 public final void rule__Assertion__Group_0_0_2__1__Impl() throws RecognitionException { 10767 public final void rule__Assertion__Group_0_0_2__1__Impl() throws RecognitionException {
9138 10768
9139 int stackSize = keepStackSize(); 10769 int stackSize = keepStackSize();
9140 10770
9141 try { 10771 try {
9142 // InternalProblem.g:2913:1: ( ( ( rule__Assertion__Group_0_0_2_1__0 )* ) ) 10772 // InternalProblem.g:3406:1: ( ( ( rule__Assertion__Group_0_0_2_1__0 )* ) )
9143 // InternalProblem.g:2914:1: ( ( rule__Assertion__Group_0_0_2_1__0 )* ) 10773 // InternalProblem.g:3407:1: ( ( rule__Assertion__Group_0_0_2_1__0 )* )
9144 { 10774 {
9145 // InternalProblem.g:2914:1: ( ( rule__Assertion__Group_0_0_2_1__0 )* ) 10775 // InternalProblem.g:3407:1: ( ( rule__Assertion__Group_0_0_2_1__0 )* )
9146 // InternalProblem.g:2915:2: ( rule__Assertion__Group_0_0_2_1__0 )* 10776 // InternalProblem.g:3408:2: ( rule__Assertion__Group_0_0_2_1__0 )*
9147 { 10777 {
9148 before(grammarAccess.getAssertionAccess().getGroup_0_0_2_1()); 10778 before(grammarAccess.getAssertionAccess().getGroup_0_0_2_1());
9149 // InternalProblem.g:2916:2: ( rule__Assertion__Group_0_0_2_1__0 )* 10779 // InternalProblem.g:3409:2: ( rule__Assertion__Group_0_0_2_1__0 )*
9150 loop33: 10780 loop42:
9151 do { 10781 do {
9152 int alt33=2; 10782 int alt42=2;
9153 int LA33_0 = input.LA(1); 10783 int LA42_0 = input.LA(1);
9154 10784
9155 if ( (LA33_0==25) ) { 10785 if ( (LA42_0==13) ) {
9156 alt33=1; 10786 alt42=1;
9157 } 10787 }
9158 10788
9159 10789
9160 switch (alt33) { 10790 switch (alt42) {
9161 case 1 : 10791 case 1 :
9162 // InternalProblem.g:2916:3: rule__Assertion__Group_0_0_2_1__0 10792 // InternalProblem.g:3409:3: rule__Assertion__Group_0_0_2_1__0
9163 { 10793 {
9164 pushFollow(FOLLOW_11); 10794 pushFollow(FOLLOW_10);
9165 rule__Assertion__Group_0_0_2_1__0(); 10795 rule__Assertion__Group_0_0_2_1__0();
9166 10796
9167 state._fsp--; 10797 state._fsp--;
@@ -9171,7 +10801,7 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9171 break; 10801 break;
9172 10802
9173 default : 10803 default :
9174 break loop33; 10804 break loop42;
9175 } 10805 }
9176 } while (true); 10806 } while (true);
9177 10807
@@ -9198,16 +10828,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9198 10828
9199 10829
9200 // $ANTLR start "rule__Assertion__Group_0_0_2_1__0" 10830 // $ANTLR start "rule__Assertion__Group_0_0_2_1__0"
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 ; 10831 // InternalProblem.g:3418: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 ;
9202 public final void rule__Assertion__Group_0_0_2_1__0() throws RecognitionException { 10832 public final void rule__Assertion__Group_0_0_2_1__0() throws RecognitionException {
9203 10833
9204 int stackSize = keepStackSize(); 10834 int stackSize = keepStackSize();
9205 10835
9206 try { 10836 try {
9207 // InternalProblem.g:2929:1: ( rule__Assertion__Group_0_0_2_1__0__Impl rule__Assertion__Group_0_0_2_1__1 ) 10837 // InternalProblem.g:3422:1: ( 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 10838 // InternalProblem.g:3423:2: rule__Assertion__Group_0_0_2_1__0__Impl rule__Assertion__Group_0_0_2_1__1
9209 { 10839 {
9210 pushFollow(FOLLOW_9); 10840 pushFollow(FOLLOW_5);
9211 rule__Assertion__Group_0_0_2_1__0__Impl(); 10841 rule__Assertion__Group_0_0_2_1__0__Impl();
9212 10842
9213 state._fsp--; 10843 state._fsp--;
@@ -9236,20 +10866,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9236 10866
9237 10867
9238 // $ANTLR start "rule__Assertion__Group_0_0_2_1__0__Impl" 10868 // $ANTLR start "rule__Assertion__Group_0_0_2_1__0__Impl"
9239 // InternalProblem.g:2937:1: rule__Assertion__Group_0_0_2_1__0__Impl : ( ',' ) ; 10869 // InternalProblem.g:3430:1: rule__Assertion__Group_0_0_2_1__0__Impl : ( ',' ) ;
9240 public final void rule__Assertion__Group_0_0_2_1__0__Impl() throws RecognitionException { 10870 public final void rule__Assertion__Group_0_0_2_1__0__Impl() throws RecognitionException {
9241 10871
9242 int stackSize = keepStackSize(); 10872 int stackSize = keepStackSize();
9243 10873
9244 try { 10874 try {
9245 // InternalProblem.g:2941:1: ( ( ',' ) ) 10875 // InternalProblem.g:3434:1: ( ( ',' ) )
9246 // InternalProblem.g:2942:1: ( ',' ) 10876 // InternalProblem.g:3435:1: ( ',' )
9247 { 10877 {
9248 // InternalProblem.g:2942:1: ( ',' ) 10878 // InternalProblem.g:3435:1: ( ',' )
9249 // InternalProblem.g:2943:2: ',' 10879 // InternalProblem.g:3436:2: ','
9250 { 10880 {
9251 before(grammarAccess.getAssertionAccess().getCommaKeyword_0_0_2_1_0()); 10881 before(grammarAccess.getAssertionAccess().getCommaKeyword_0_0_2_1_0());
9252 match(input,25,FOLLOW_2); 10882 match(input,13,FOLLOW_2);
9253 after(grammarAccess.getAssertionAccess().getCommaKeyword_0_0_2_1_0()); 10883 after(grammarAccess.getAssertionAccess().getCommaKeyword_0_0_2_1_0());
9254 10884
9255 } 10885 }
@@ -9273,14 +10903,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9273 10903
9274 10904
9275 // $ANTLR start "rule__Assertion__Group_0_0_2_1__1" 10905 // $ANTLR start "rule__Assertion__Group_0_0_2_1__1"
9276 // InternalProblem.g:2952:1: rule__Assertion__Group_0_0_2_1__1 : rule__Assertion__Group_0_0_2_1__1__Impl ; 10906 // InternalProblem.g:3445:1: rule__Assertion__Group_0_0_2_1__1 : rule__Assertion__Group_0_0_2_1__1__Impl ;
9277 public final void rule__Assertion__Group_0_0_2_1__1() throws RecognitionException { 10907 public final void rule__Assertion__Group_0_0_2_1__1() throws RecognitionException {
9278 10908
9279 int stackSize = keepStackSize(); 10909 int stackSize = keepStackSize();
9280 10910
9281 try { 10911 try {
9282 // InternalProblem.g:2956:1: ( rule__Assertion__Group_0_0_2_1__1__Impl ) 10912 // InternalProblem.g:3449:1: ( rule__Assertion__Group_0_0_2_1__1__Impl )
9283 // InternalProblem.g:2957:2: rule__Assertion__Group_0_0_2_1__1__Impl 10913 // InternalProblem.g:3450:2: rule__Assertion__Group_0_0_2_1__1__Impl
9284 { 10914 {
9285 pushFollow(FOLLOW_2); 10915 pushFollow(FOLLOW_2);
9286 rule__Assertion__Group_0_0_2_1__1__Impl(); 10916 rule__Assertion__Group_0_0_2_1__1__Impl();
@@ -9306,21 +10936,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9306 10936
9307 10937
9308 // $ANTLR start "rule__Assertion__Group_0_0_2_1__1__Impl" 10938 // $ANTLR start "rule__Assertion__Group_0_0_2_1__1__Impl"
9309 // InternalProblem.g:2963:1: rule__Assertion__Group_0_0_2_1__1__Impl : ( ( rule__Assertion__ArgumentsAssignment_0_0_2_1_1 ) ) ; 10939 // InternalProblem.g:3456:1: rule__Assertion__Group_0_0_2_1__1__Impl : ( ( rule__Assertion__ArgumentsAssignment_0_0_2_1_1 ) ) ;
9310 public final void rule__Assertion__Group_0_0_2_1__1__Impl() throws RecognitionException { 10940 public final void rule__Assertion__Group_0_0_2_1__1__Impl() throws RecognitionException {
9311 10941
9312 int stackSize = keepStackSize(); 10942 int stackSize = keepStackSize();
9313 10943
9314 try { 10944 try {
9315 // InternalProblem.g:2967:1: ( ( ( rule__Assertion__ArgumentsAssignment_0_0_2_1_1 ) ) ) 10945 // InternalProblem.g:3460:1: ( ( ( rule__Assertion__ArgumentsAssignment_0_0_2_1_1 ) ) )
9316 // InternalProblem.g:2968:1: ( ( rule__Assertion__ArgumentsAssignment_0_0_2_1_1 ) ) 10946 // InternalProblem.g:3461:1: ( ( rule__Assertion__ArgumentsAssignment_0_0_2_1_1 ) )
9317 { 10947 {
9318 // InternalProblem.g:2968:1: ( ( rule__Assertion__ArgumentsAssignment_0_0_2_1_1 ) ) 10948 // InternalProblem.g:3461:1: ( ( rule__Assertion__ArgumentsAssignment_0_0_2_1_1 ) )
9319 // InternalProblem.g:2969:2: ( rule__Assertion__ArgumentsAssignment_0_0_2_1_1 ) 10949 // InternalProblem.g:3462:2: ( rule__Assertion__ArgumentsAssignment_0_0_2_1_1 )
9320 { 10950 {
9321 before(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_0_2_1_1()); 10951 before(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_0_2_1_1());
9322 // InternalProblem.g:2970:2: ( rule__Assertion__ArgumentsAssignment_0_0_2_1_1 ) 10952 // InternalProblem.g:3463:2: ( rule__Assertion__ArgumentsAssignment_0_0_2_1_1 )
9323 // InternalProblem.g:2970:3: rule__Assertion__ArgumentsAssignment_0_0_2_1_1 10953 // InternalProblem.g:3463:3: rule__Assertion__ArgumentsAssignment_0_0_2_1_1
9324 { 10954 {
9325 pushFollow(FOLLOW_2); 10955 pushFollow(FOLLOW_2);
9326 rule__Assertion__ArgumentsAssignment_0_0_2_1_1(); 10956 rule__Assertion__ArgumentsAssignment_0_0_2_1_1();
@@ -9353,16 +10983,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9353 10983
9354 10984
9355 // $ANTLR start "rule__Assertion__Group_0_1__0" 10985 // $ANTLR start "rule__Assertion__Group_0_1__0"
9356 // InternalProblem.g:2979:1: rule__Assertion__Group_0_1__0 : rule__Assertion__Group_0_1__0__Impl rule__Assertion__Group_0_1__1 ; 10986 // InternalProblem.g:3472:1: rule__Assertion__Group_0_1__0 : rule__Assertion__Group_0_1__0__Impl rule__Assertion__Group_0_1__1 ;
9357 public final void rule__Assertion__Group_0_1__0() throws RecognitionException { 10987 public final void rule__Assertion__Group_0_1__0() throws RecognitionException {
9358 10988
9359 int stackSize = keepStackSize(); 10989 int stackSize = keepStackSize();
9360 10990
9361 try { 10991 try {
9362 // InternalProblem.g:2983:1: ( rule__Assertion__Group_0_1__0__Impl rule__Assertion__Group_0_1__1 ) 10992 // InternalProblem.g:3476:1: ( 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 10993 // InternalProblem.g:3477:2: rule__Assertion__Group_0_1__0__Impl rule__Assertion__Group_0_1__1
9364 { 10994 {
9365 pushFollow(FOLLOW_29); 10995 pushFollow(FOLLOW_31);
9366 rule__Assertion__Group_0_1__0__Impl(); 10996 rule__Assertion__Group_0_1__0__Impl();
9367 10997
9368 state._fsp--; 10998 state._fsp--;
@@ -9391,29 +11021,29 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9391 11021
9392 11022
9393 // $ANTLR start "rule__Assertion__Group_0_1__0__Impl" 11023 // $ANTLR start "rule__Assertion__Group_0_1__0__Impl"
9394 // InternalProblem.g:2991:1: rule__Assertion__Group_0_1__0__Impl : ( ( rule__Assertion__ValueAssignment_0_1_0 )? ) ; 11024 // InternalProblem.g:3484:1: rule__Assertion__Group_0_1__0__Impl : ( ( rule__Assertion__ValueAssignment_0_1_0 )? ) ;
9395 public final void rule__Assertion__Group_0_1__0__Impl() throws RecognitionException { 11025 public final void rule__Assertion__Group_0_1__0__Impl() throws RecognitionException {
9396 11026
9397 int stackSize = keepStackSize(); 11027 int stackSize = keepStackSize();
9398 11028
9399 try { 11029 try {
9400 // InternalProblem.g:2995:1: ( ( ( rule__Assertion__ValueAssignment_0_1_0 )? ) ) 11030 // InternalProblem.g:3488:1: ( ( ( rule__Assertion__ValueAssignment_0_1_0 )? ) )
9401 // InternalProblem.g:2996:1: ( ( rule__Assertion__ValueAssignment_0_1_0 )? ) 11031 // InternalProblem.g:3489:1: ( ( rule__Assertion__ValueAssignment_0_1_0 )? )
9402 { 11032 {
9403 // InternalProblem.g:2996:1: ( ( rule__Assertion__ValueAssignment_0_1_0 )? ) 11033 // InternalProblem.g:3489:1: ( ( rule__Assertion__ValueAssignment_0_1_0 )? )
9404 // InternalProblem.g:2997:2: ( rule__Assertion__ValueAssignment_0_1_0 )? 11034 // InternalProblem.g:3490:2: ( rule__Assertion__ValueAssignment_0_1_0 )?
9405 { 11035 {
9406 before(grammarAccess.getAssertionAccess().getValueAssignment_0_1_0()); 11036 before(grammarAccess.getAssertionAccess().getValueAssignment_0_1_0());
9407 // InternalProblem.g:2998:2: ( rule__Assertion__ValueAssignment_0_1_0 )? 11037 // InternalProblem.g:3491:2: ( rule__Assertion__ValueAssignment_0_1_0 )?
9408 int alt34=2; 11038 int alt43=2;
9409 int LA34_0 = input.LA(1); 11039 int LA43_0 = input.LA(1);
9410 11040
9411 if ( ((LA34_0>=20 && LA34_0<=21)) ) { 11041 if ( ((LA43_0>=22 && LA43_0<=23)) ) {
9412 alt34=1; 11042 alt43=1;
9413 } 11043 }
9414 switch (alt34) { 11044 switch (alt43) {
9415 case 1 : 11045 case 1 :
9416 // InternalProblem.g:2998:3: rule__Assertion__ValueAssignment_0_1_0 11046 // InternalProblem.g:3491:3: rule__Assertion__ValueAssignment_0_1_0
9417 { 11047 {
9418 pushFollow(FOLLOW_2); 11048 pushFollow(FOLLOW_2);
9419 rule__Assertion__ValueAssignment_0_1_0(); 11049 rule__Assertion__ValueAssignment_0_1_0();
@@ -9449,16 +11079,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9449 11079
9450 11080
9451 // $ANTLR start "rule__Assertion__Group_0_1__1" 11081 // $ANTLR start "rule__Assertion__Group_0_1__1"
9452 // InternalProblem.g:3006:1: rule__Assertion__Group_0_1__1 : rule__Assertion__Group_0_1__1__Impl rule__Assertion__Group_0_1__2 ; 11082 // InternalProblem.g:3499:1: rule__Assertion__Group_0_1__1 : rule__Assertion__Group_0_1__1__Impl rule__Assertion__Group_0_1__2 ;
9453 public final void rule__Assertion__Group_0_1__1() throws RecognitionException { 11083 public final void rule__Assertion__Group_0_1__1() throws RecognitionException {
9454 11084
9455 int stackSize = keepStackSize(); 11085 int stackSize = keepStackSize();
9456 11086
9457 try { 11087 try {
9458 // InternalProblem.g:3010:1: ( rule__Assertion__Group_0_1__1__Impl rule__Assertion__Group_0_1__2 ) 11088 // InternalProblem.g:3503:1: ( 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 11089 // InternalProblem.g:3504:2: rule__Assertion__Group_0_1__1__Impl rule__Assertion__Group_0_1__2
9460 { 11090 {
9461 pushFollow(FOLLOW_19); 11091 pushFollow(FOLLOW_22);
9462 rule__Assertion__Group_0_1__1__Impl(); 11092 rule__Assertion__Group_0_1__1__Impl();
9463 11093
9464 state._fsp--; 11094 state._fsp--;
@@ -9487,21 +11117,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9487 11117
9488 11118
9489 // $ANTLR start "rule__Assertion__Group_0_1__1__Impl" 11119 // $ANTLR start "rule__Assertion__Group_0_1__1__Impl"
9490 // InternalProblem.g:3018:1: rule__Assertion__Group_0_1__1__Impl : ( ( rule__Assertion__RelationAssignment_0_1_1 ) ) ; 11120 // InternalProblem.g:3511:1: rule__Assertion__Group_0_1__1__Impl : ( ( rule__Assertion__RelationAssignment_0_1_1 ) ) ;
9491 public final void rule__Assertion__Group_0_1__1__Impl() throws RecognitionException { 11121 public final void rule__Assertion__Group_0_1__1__Impl() throws RecognitionException {
9492 11122
9493 int stackSize = keepStackSize(); 11123 int stackSize = keepStackSize();
9494 11124
9495 try { 11125 try {
9496 // InternalProblem.g:3022:1: ( ( ( rule__Assertion__RelationAssignment_0_1_1 ) ) ) 11126 // InternalProblem.g:3515:1: ( ( ( rule__Assertion__RelationAssignment_0_1_1 ) ) )
9497 // InternalProblem.g:3023:1: ( ( rule__Assertion__RelationAssignment_0_1_1 ) ) 11127 // InternalProblem.g:3516:1: ( ( rule__Assertion__RelationAssignment_0_1_1 ) )
9498 { 11128 {
9499 // InternalProblem.g:3023:1: ( ( rule__Assertion__RelationAssignment_0_1_1 ) ) 11129 // InternalProblem.g:3516:1: ( ( rule__Assertion__RelationAssignment_0_1_1 ) )
9500 // InternalProblem.g:3024:2: ( rule__Assertion__RelationAssignment_0_1_1 ) 11130 // InternalProblem.g:3517:2: ( rule__Assertion__RelationAssignment_0_1_1 )
9501 { 11131 {
9502 before(grammarAccess.getAssertionAccess().getRelationAssignment_0_1_1()); 11132 before(grammarAccess.getAssertionAccess().getRelationAssignment_0_1_1());
9503 // InternalProblem.g:3025:2: ( rule__Assertion__RelationAssignment_0_1_1 ) 11133 // InternalProblem.g:3518:2: ( rule__Assertion__RelationAssignment_0_1_1 )
9504 // InternalProblem.g:3025:3: rule__Assertion__RelationAssignment_0_1_1 11134 // InternalProblem.g:3518:3: rule__Assertion__RelationAssignment_0_1_1
9505 { 11135 {
9506 pushFollow(FOLLOW_2); 11136 pushFollow(FOLLOW_2);
9507 rule__Assertion__RelationAssignment_0_1_1(); 11137 rule__Assertion__RelationAssignment_0_1_1();
@@ -9534,16 +11164,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9534 11164
9535 11165
9536 // $ANTLR start "rule__Assertion__Group_0_1__2" 11166 // $ANTLR start "rule__Assertion__Group_0_1__2"
9537 // InternalProblem.g:3033:1: rule__Assertion__Group_0_1__2 : rule__Assertion__Group_0_1__2__Impl rule__Assertion__Group_0_1__3 ; 11167 // InternalProblem.g:3526:1: rule__Assertion__Group_0_1__2 : rule__Assertion__Group_0_1__2__Impl rule__Assertion__Group_0_1__3 ;
9538 public final void rule__Assertion__Group_0_1__2() throws RecognitionException { 11168 public final void rule__Assertion__Group_0_1__2() throws RecognitionException {
9539 11169
9540 int stackSize = keepStackSize(); 11170 int stackSize = keepStackSize();
9541 11171
9542 try { 11172 try {
9543 // InternalProblem.g:3037:1: ( rule__Assertion__Group_0_1__2__Impl rule__Assertion__Group_0_1__3 ) 11173 // InternalProblem.g:3530:1: ( 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 11174 // InternalProblem.g:3531:2: rule__Assertion__Group_0_1__2__Impl rule__Assertion__Group_0_1__3
9545 { 11175 {
9546 pushFollow(FOLLOW_26); 11176 pushFollow(FOLLOW_23);
9547 rule__Assertion__Group_0_1__2__Impl(); 11177 rule__Assertion__Group_0_1__2__Impl();
9548 11178
9549 state._fsp--; 11179 state._fsp--;
@@ -9572,20 +11202,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9572 11202
9573 11203
9574 // $ANTLR start "rule__Assertion__Group_0_1__2__Impl" 11204 // $ANTLR start "rule__Assertion__Group_0_1__2__Impl"
9575 // InternalProblem.g:3045:1: rule__Assertion__Group_0_1__2__Impl : ( '(' ) ; 11205 // InternalProblem.g:3538:1: rule__Assertion__Group_0_1__2__Impl : ( '(' ) ;
9576 public final void rule__Assertion__Group_0_1__2__Impl() throws RecognitionException { 11206 public final void rule__Assertion__Group_0_1__2__Impl() throws RecognitionException {
9577 11207
9578 int stackSize = keepStackSize(); 11208 int stackSize = keepStackSize();
9579 11209
9580 try { 11210 try {
9581 // InternalProblem.g:3049:1: ( ( '(' ) ) 11211 // InternalProblem.g:3542:1: ( ( '(' ) )
9582 // InternalProblem.g:3050:1: ( '(' ) 11212 // InternalProblem.g:3543:1: ( '(' )
9583 { 11213 {
9584 // InternalProblem.g:3050:1: ( '(' ) 11214 // InternalProblem.g:3543:1: ( '(' )
9585 // InternalProblem.g:3051:2: '(' 11215 // InternalProblem.g:3544:2: '('
9586 { 11216 {
9587 before(grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_1_2()); 11217 before(grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_1_2());
9588 match(input,32,FOLLOW_2); 11218 match(input,33,FOLLOW_2);
9589 after(grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_1_2()); 11219 after(grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_1_2());
9590 11220
9591 } 11221 }
@@ -9609,16 +11239,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9609 11239
9610 11240
9611 // $ANTLR start "rule__Assertion__Group_0_1__3" 11241 // $ANTLR start "rule__Assertion__Group_0_1__3"
9612 // InternalProblem.g:3060:1: rule__Assertion__Group_0_1__3 : rule__Assertion__Group_0_1__3__Impl rule__Assertion__Group_0_1__4 ; 11242 // InternalProblem.g:3553:1: rule__Assertion__Group_0_1__3 : rule__Assertion__Group_0_1__3__Impl rule__Assertion__Group_0_1__4 ;
9613 public final void rule__Assertion__Group_0_1__3() throws RecognitionException { 11243 public final void rule__Assertion__Group_0_1__3() throws RecognitionException {
9614 11244
9615 int stackSize = keepStackSize(); 11245 int stackSize = keepStackSize();
9616 11246
9617 try { 11247 try {
9618 // InternalProblem.g:3064:1: ( rule__Assertion__Group_0_1__3__Impl rule__Assertion__Group_0_1__4 ) 11248 // InternalProblem.g:3557:1: ( 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 11249 // InternalProblem.g:3558:2: rule__Assertion__Group_0_1__3__Impl rule__Assertion__Group_0_1__4
9620 { 11250 {
9621 pushFollow(FOLLOW_26); 11251 pushFollow(FOLLOW_23);
9622 rule__Assertion__Group_0_1__3__Impl(); 11252 rule__Assertion__Group_0_1__3__Impl();
9623 11253
9624 state._fsp--; 11254 state._fsp--;
@@ -9647,29 +11277,29 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9647 11277
9648 11278
9649 // $ANTLR start "rule__Assertion__Group_0_1__3__Impl" 11279 // $ANTLR start "rule__Assertion__Group_0_1__3__Impl"
9650 // InternalProblem.g:3072:1: rule__Assertion__Group_0_1__3__Impl : ( ( rule__Assertion__Group_0_1_3__0 )? ) ; 11280 // InternalProblem.g:3565:1: rule__Assertion__Group_0_1__3__Impl : ( ( rule__Assertion__Group_0_1_3__0 )? ) ;
9651 public final void rule__Assertion__Group_0_1__3__Impl() throws RecognitionException { 11281 public final void rule__Assertion__Group_0_1__3__Impl() throws RecognitionException {
9652 11282
9653 int stackSize = keepStackSize(); 11283 int stackSize = keepStackSize();
9654 11284
9655 try { 11285 try {
9656 // InternalProblem.g:3076:1: ( ( ( rule__Assertion__Group_0_1_3__0 )? ) ) 11286 // InternalProblem.g:3569:1: ( ( ( rule__Assertion__Group_0_1_3__0 )? ) )
9657 // InternalProblem.g:3077:1: ( ( rule__Assertion__Group_0_1_3__0 )? ) 11287 // InternalProblem.g:3570:1: ( ( rule__Assertion__Group_0_1_3__0 )? )
9658 { 11288 {
9659 // InternalProblem.g:3077:1: ( ( rule__Assertion__Group_0_1_3__0 )? ) 11289 // InternalProblem.g:3570:1: ( ( rule__Assertion__Group_0_1_3__0 )? )
9660 // InternalProblem.g:3078:2: ( rule__Assertion__Group_0_1_3__0 )? 11290 // InternalProblem.g:3571:2: ( rule__Assertion__Group_0_1_3__0 )?
9661 { 11291 {
9662 before(grammarAccess.getAssertionAccess().getGroup_0_1_3()); 11292 before(grammarAccess.getAssertionAccess().getGroup_0_1_3());
9663 // InternalProblem.g:3079:2: ( rule__Assertion__Group_0_1_3__0 )? 11293 // InternalProblem.g:3572:2: ( rule__Assertion__Group_0_1_3__0 )?
9664 int alt35=2; 11294 int alt44=2;
9665 int LA35_0 = input.LA(1); 11295 int LA44_0 = input.LA(1);
9666 11296
9667 if ( ((LA35_0>=RULE_QUOTED_ID && LA35_0<=RULE_ID)) ) { 11297 if ( ((LA44_0>=RULE_QUOTED_ID && LA44_0<=RULE_ID)||(LA44_0>=19 && LA44_0<=20)) ) {
9668 alt35=1; 11298 alt44=1;
9669 } 11299 }
9670 switch (alt35) { 11300 switch (alt44) {
9671 case 1 : 11301 case 1 :
9672 // InternalProblem.g:3079:3: rule__Assertion__Group_0_1_3__0 11302 // InternalProblem.g:3572:3: rule__Assertion__Group_0_1_3__0
9673 { 11303 {
9674 pushFollow(FOLLOW_2); 11304 pushFollow(FOLLOW_2);
9675 rule__Assertion__Group_0_1_3__0(); 11305 rule__Assertion__Group_0_1_3__0();
@@ -9705,14 +11335,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9705 11335
9706 11336
9707 // $ANTLR start "rule__Assertion__Group_0_1__4" 11337 // $ANTLR start "rule__Assertion__Group_0_1__4"
9708 // InternalProblem.g:3087:1: rule__Assertion__Group_0_1__4 : rule__Assertion__Group_0_1__4__Impl ; 11338 // InternalProblem.g:3580:1: rule__Assertion__Group_0_1__4 : rule__Assertion__Group_0_1__4__Impl ;
9709 public final void rule__Assertion__Group_0_1__4() throws RecognitionException { 11339 public final void rule__Assertion__Group_0_1__4() throws RecognitionException {
9710 11340
9711 int stackSize = keepStackSize(); 11341 int stackSize = keepStackSize();
9712 11342
9713 try { 11343 try {
9714 // InternalProblem.g:3091:1: ( rule__Assertion__Group_0_1__4__Impl ) 11344 // InternalProblem.g:3584:1: ( rule__Assertion__Group_0_1__4__Impl )
9715 // InternalProblem.g:3092:2: rule__Assertion__Group_0_1__4__Impl 11345 // InternalProblem.g:3585:2: rule__Assertion__Group_0_1__4__Impl
9716 { 11346 {
9717 pushFollow(FOLLOW_2); 11347 pushFollow(FOLLOW_2);
9718 rule__Assertion__Group_0_1__4__Impl(); 11348 rule__Assertion__Group_0_1__4__Impl();
@@ -9738,20 +11368,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9738 11368
9739 11369
9740 // $ANTLR start "rule__Assertion__Group_0_1__4__Impl" 11370 // $ANTLR start "rule__Assertion__Group_0_1__4__Impl"
9741 // InternalProblem.g:3098:1: rule__Assertion__Group_0_1__4__Impl : ( ')' ) ; 11371 // InternalProblem.g:3591:1: rule__Assertion__Group_0_1__4__Impl : ( ')' ) ;
9742 public final void rule__Assertion__Group_0_1__4__Impl() throws RecognitionException { 11372 public final void rule__Assertion__Group_0_1__4__Impl() throws RecognitionException {
9743 11373
9744 int stackSize = keepStackSize(); 11374 int stackSize = keepStackSize();
9745 11375
9746 try { 11376 try {
9747 // InternalProblem.g:3102:1: ( ( ')' ) ) 11377 // InternalProblem.g:3595:1: ( ( ')' ) )
9748 // InternalProblem.g:3103:1: ( ')' ) 11378 // InternalProblem.g:3596:1: ( ')' )
9749 { 11379 {
9750 // InternalProblem.g:3103:1: ( ')' ) 11380 // InternalProblem.g:3596:1: ( ')' )
9751 // InternalProblem.g:3104:2: ')' 11381 // InternalProblem.g:3597:2: ')'
9752 { 11382 {
9753 before(grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_1_4()); 11383 before(grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_1_4());
9754 match(input,33,FOLLOW_2); 11384 match(input,34,FOLLOW_2);
9755 after(grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_1_4()); 11385 after(grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_1_4());
9756 11386
9757 } 11387 }
@@ -9775,16 +11405,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9775 11405
9776 11406
9777 // $ANTLR start "rule__Assertion__Group_0_1_3__0" 11407 // $ANTLR start "rule__Assertion__Group_0_1_3__0"
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 ; 11408 // InternalProblem.g:3607:1: rule__Assertion__Group_0_1_3__0 : rule__Assertion__Group_0_1_3__0__Impl rule__Assertion__Group_0_1_3__1 ;
9779 public final void rule__Assertion__Group_0_1_3__0() throws RecognitionException { 11409 public final void rule__Assertion__Group_0_1_3__0() throws RecognitionException {
9780 11410
9781 int stackSize = keepStackSize(); 11411 int stackSize = keepStackSize();
9782 11412
9783 try { 11413 try {
9784 // InternalProblem.g:3118:1: ( rule__Assertion__Group_0_1_3__0__Impl rule__Assertion__Group_0_1_3__1 ) 11414 // InternalProblem.g:3611:1: ( 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 11415 // InternalProblem.g:3612:2: rule__Assertion__Group_0_1_3__0__Impl rule__Assertion__Group_0_1_3__1
9786 { 11416 {
9787 pushFollow(FOLLOW_10); 11417 pushFollow(FOLLOW_9);
9788 rule__Assertion__Group_0_1_3__0__Impl(); 11418 rule__Assertion__Group_0_1_3__0__Impl();
9789 11419
9790 state._fsp--; 11420 state._fsp--;
@@ -9813,21 +11443,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9813 11443
9814 11444
9815 // $ANTLR start "rule__Assertion__Group_0_1_3__0__Impl" 11445 // $ANTLR start "rule__Assertion__Group_0_1_3__0__Impl"
9816 // InternalProblem.g:3126:1: rule__Assertion__Group_0_1_3__0__Impl : ( ( rule__Assertion__ArgumentsAssignment_0_1_3_0 ) ) ; 11446 // InternalProblem.g:3619:1: rule__Assertion__Group_0_1_3__0__Impl : ( ( rule__Assertion__ArgumentsAssignment_0_1_3_0 ) ) ;
9817 public final void rule__Assertion__Group_0_1_3__0__Impl() throws RecognitionException { 11447 public final void rule__Assertion__Group_0_1_3__0__Impl() throws RecognitionException {
9818 11448
9819 int stackSize = keepStackSize(); 11449 int stackSize = keepStackSize();
9820 11450
9821 try { 11451 try {
9822 // InternalProblem.g:3130:1: ( ( ( rule__Assertion__ArgumentsAssignment_0_1_3_0 ) ) ) 11452 // InternalProblem.g:3623:1: ( ( ( rule__Assertion__ArgumentsAssignment_0_1_3_0 ) ) )
9823 // InternalProblem.g:3131:1: ( ( rule__Assertion__ArgumentsAssignment_0_1_3_0 ) ) 11453 // InternalProblem.g:3624:1: ( ( rule__Assertion__ArgumentsAssignment_0_1_3_0 ) )
9824 { 11454 {
9825 // InternalProblem.g:3131:1: ( ( rule__Assertion__ArgumentsAssignment_0_1_3_0 ) ) 11455 // InternalProblem.g:3624:1: ( ( rule__Assertion__ArgumentsAssignment_0_1_3_0 ) )
9826 // InternalProblem.g:3132:2: ( rule__Assertion__ArgumentsAssignment_0_1_3_0 ) 11456 // InternalProblem.g:3625:2: ( rule__Assertion__ArgumentsAssignment_0_1_3_0 )
9827 { 11457 {
9828 before(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_1_3_0()); 11458 before(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_1_3_0());
9829 // InternalProblem.g:3133:2: ( rule__Assertion__ArgumentsAssignment_0_1_3_0 ) 11459 // InternalProblem.g:3626:2: ( rule__Assertion__ArgumentsAssignment_0_1_3_0 )
9830 // InternalProblem.g:3133:3: rule__Assertion__ArgumentsAssignment_0_1_3_0 11460 // InternalProblem.g:3626:3: rule__Assertion__ArgumentsAssignment_0_1_3_0
9831 { 11461 {
9832 pushFollow(FOLLOW_2); 11462 pushFollow(FOLLOW_2);
9833 rule__Assertion__ArgumentsAssignment_0_1_3_0(); 11463 rule__Assertion__ArgumentsAssignment_0_1_3_0();
@@ -9860,14 +11490,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9860 11490
9861 11491
9862 // $ANTLR start "rule__Assertion__Group_0_1_3__1" 11492 // $ANTLR start "rule__Assertion__Group_0_1_3__1"
9863 // InternalProblem.g:3141:1: rule__Assertion__Group_0_1_3__1 : rule__Assertion__Group_0_1_3__1__Impl ; 11493 // InternalProblem.g:3634:1: rule__Assertion__Group_0_1_3__1 : rule__Assertion__Group_0_1_3__1__Impl ;
9864 public final void rule__Assertion__Group_0_1_3__1() throws RecognitionException { 11494 public final void rule__Assertion__Group_0_1_3__1() throws RecognitionException {
9865 11495
9866 int stackSize = keepStackSize(); 11496 int stackSize = keepStackSize();
9867 11497
9868 try { 11498 try {
9869 // InternalProblem.g:3145:1: ( rule__Assertion__Group_0_1_3__1__Impl ) 11499 // InternalProblem.g:3638:1: ( rule__Assertion__Group_0_1_3__1__Impl )
9870 // InternalProblem.g:3146:2: rule__Assertion__Group_0_1_3__1__Impl 11500 // InternalProblem.g:3639:2: rule__Assertion__Group_0_1_3__1__Impl
9871 { 11501 {
9872 pushFollow(FOLLOW_2); 11502 pushFollow(FOLLOW_2);
9873 rule__Assertion__Group_0_1_3__1__Impl(); 11503 rule__Assertion__Group_0_1_3__1__Impl();
@@ -9893,35 +11523,35 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9893 11523
9894 11524
9895 // $ANTLR start "rule__Assertion__Group_0_1_3__1__Impl" 11525 // $ANTLR start "rule__Assertion__Group_0_1_3__1__Impl"
9896 // InternalProblem.g:3152:1: rule__Assertion__Group_0_1_3__1__Impl : ( ( rule__Assertion__Group_0_1_3_1__0 )* ) ; 11526 // InternalProblem.g:3645:1: rule__Assertion__Group_0_1_3__1__Impl : ( ( rule__Assertion__Group_0_1_3_1__0 )* ) ;
9897 public final void rule__Assertion__Group_0_1_3__1__Impl() throws RecognitionException { 11527 public final void rule__Assertion__Group_0_1_3__1__Impl() throws RecognitionException {
9898 11528
9899 int stackSize = keepStackSize(); 11529 int stackSize = keepStackSize();
9900 11530
9901 try { 11531 try {
9902 // InternalProblem.g:3156:1: ( ( ( rule__Assertion__Group_0_1_3_1__0 )* ) ) 11532 // InternalProblem.g:3649:1: ( ( ( rule__Assertion__Group_0_1_3_1__0 )* ) )
9903 // InternalProblem.g:3157:1: ( ( rule__Assertion__Group_0_1_3_1__0 )* ) 11533 // InternalProblem.g:3650:1: ( ( rule__Assertion__Group_0_1_3_1__0 )* )
9904 { 11534 {
9905 // InternalProblem.g:3157:1: ( ( rule__Assertion__Group_0_1_3_1__0 )* ) 11535 // InternalProblem.g:3650:1: ( ( rule__Assertion__Group_0_1_3_1__0 )* )
9906 // InternalProblem.g:3158:2: ( rule__Assertion__Group_0_1_3_1__0 )* 11536 // InternalProblem.g:3651:2: ( rule__Assertion__Group_0_1_3_1__0 )*
9907 { 11537 {
9908 before(grammarAccess.getAssertionAccess().getGroup_0_1_3_1()); 11538 before(grammarAccess.getAssertionAccess().getGroup_0_1_3_1());
9909 // InternalProblem.g:3159:2: ( rule__Assertion__Group_0_1_3_1__0 )* 11539 // InternalProblem.g:3652:2: ( rule__Assertion__Group_0_1_3_1__0 )*
9910 loop36: 11540 loop45:
9911 do { 11541 do {
9912 int alt36=2; 11542 int alt45=2;
9913 int LA36_0 = input.LA(1); 11543 int LA45_0 = input.LA(1);
9914 11544
9915 if ( (LA36_0==25) ) { 11545 if ( (LA45_0==13) ) {
9916 alt36=1; 11546 alt45=1;
9917 } 11547 }
9918 11548
9919 11549
9920 switch (alt36) { 11550 switch (alt45) {
9921 case 1 : 11551 case 1 :
9922 // InternalProblem.g:3159:3: rule__Assertion__Group_0_1_3_1__0 11552 // InternalProblem.g:3652:3: rule__Assertion__Group_0_1_3_1__0
9923 { 11553 {
9924 pushFollow(FOLLOW_11); 11554 pushFollow(FOLLOW_10);
9925 rule__Assertion__Group_0_1_3_1__0(); 11555 rule__Assertion__Group_0_1_3_1__0();
9926 11556
9927 state._fsp--; 11557 state._fsp--;
@@ -9931,7 +11561,7 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9931 break; 11561 break;
9932 11562
9933 default : 11563 default :
9934 break loop36; 11564 break loop45;
9935 } 11565 }
9936 } while (true); 11566 } while (true);
9937 11567
@@ -9958,16 +11588,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9958 11588
9959 11589
9960 // $ANTLR start "rule__Assertion__Group_0_1_3_1__0" 11590 // $ANTLR start "rule__Assertion__Group_0_1_3_1__0"
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 ; 11591 // InternalProblem.g:3661: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 ;
9962 public final void rule__Assertion__Group_0_1_3_1__0() throws RecognitionException { 11592 public final void rule__Assertion__Group_0_1_3_1__0() throws RecognitionException {
9963 11593
9964 int stackSize = keepStackSize(); 11594 int stackSize = keepStackSize();
9965 11595
9966 try { 11596 try {
9967 // InternalProblem.g:3172:1: ( rule__Assertion__Group_0_1_3_1__0__Impl rule__Assertion__Group_0_1_3_1__1 ) 11597 // InternalProblem.g:3665:1: ( 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 11598 // InternalProblem.g:3666:2: rule__Assertion__Group_0_1_3_1__0__Impl rule__Assertion__Group_0_1_3_1__1
9969 { 11599 {
9970 pushFollow(FOLLOW_9); 11600 pushFollow(FOLLOW_5);
9971 rule__Assertion__Group_0_1_3_1__0__Impl(); 11601 rule__Assertion__Group_0_1_3_1__0__Impl();
9972 11602
9973 state._fsp--; 11603 state._fsp--;
@@ -9996,20 +11626,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
9996 11626
9997 11627
9998 // $ANTLR start "rule__Assertion__Group_0_1_3_1__0__Impl" 11628 // $ANTLR start "rule__Assertion__Group_0_1_3_1__0__Impl"
9999 // InternalProblem.g:3180:1: rule__Assertion__Group_0_1_3_1__0__Impl : ( ',' ) ; 11629 // InternalProblem.g:3673:1: rule__Assertion__Group_0_1_3_1__0__Impl : ( ',' ) ;
10000 public final void rule__Assertion__Group_0_1_3_1__0__Impl() throws RecognitionException { 11630 public final void rule__Assertion__Group_0_1_3_1__0__Impl() throws RecognitionException {
10001 11631
10002 int stackSize = keepStackSize(); 11632 int stackSize = keepStackSize();
10003 11633
10004 try { 11634 try {
10005 // InternalProblem.g:3184:1: ( ( ',' ) ) 11635 // InternalProblem.g:3677:1: ( ( ',' ) )
10006 // InternalProblem.g:3185:1: ( ',' ) 11636 // InternalProblem.g:3678:1: ( ',' )
10007 { 11637 {
10008 // InternalProblem.g:3185:1: ( ',' ) 11638 // InternalProblem.g:3678:1: ( ',' )
10009 // InternalProblem.g:3186:2: ',' 11639 // InternalProblem.g:3679:2: ','
10010 { 11640 {
10011 before(grammarAccess.getAssertionAccess().getCommaKeyword_0_1_3_1_0()); 11641 before(grammarAccess.getAssertionAccess().getCommaKeyword_0_1_3_1_0());
10012 match(input,25,FOLLOW_2); 11642 match(input,13,FOLLOW_2);
10013 after(grammarAccess.getAssertionAccess().getCommaKeyword_0_1_3_1_0()); 11643 after(grammarAccess.getAssertionAccess().getCommaKeyword_0_1_3_1_0());
10014 11644
10015 } 11645 }
@@ -10033,14 +11663,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10033 11663
10034 11664
10035 // $ANTLR start "rule__Assertion__Group_0_1_3_1__1" 11665 // $ANTLR start "rule__Assertion__Group_0_1_3_1__1"
10036 // InternalProblem.g:3195:1: rule__Assertion__Group_0_1_3_1__1 : rule__Assertion__Group_0_1_3_1__1__Impl ; 11666 // InternalProblem.g:3688:1: rule__Assertion__Group_0_1_3_1__1 : rule__Assertion__Group_0_1_3_1__1__Impl ;
10037 public final void rule__Assertion__Group_0_1_3_1__1() throws RecognitionException { 11667 public final void rule__Assertion__Group_0_1_3_1__1() throws RecognitionException {
10038 11668
10039 int stackSize = keepStackSize(); 11669 int stackSize = keepStackSize();
10040 11670
10041 try { 11671 try {
10042 // InternalProblem.g:3199:1: ( rule__Assertion__Group_0_1_3_1__1__Impl ) 11672 // InternalProblem.g:3692:1: ( rule__Assertion__Group_0_1_3_1__1__Impl )
10043 // InternalProblem.g:3200:2: rule__Assertion__Group_0_1_3_1__1__Impl 11673 // InternalProblem.g:3693:2: rule__Assertion__Group_0_1_3_1__1__Impl
10044 { 11674 {
10045 pushFollow(FOLLOW_2); 11675 pushFollow(FOLLOW_2);
10046 rule__Assertion__Group_0_1_3_1__1__Impl(); 11676 rule__Assertion__Group_0_1_3_1__1__Impl();
@@ -10066,21 +11696,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10066 11696
10067 11697
10068 // $ANTLR start "rule__Assertion__Group_0_1_3_1__1__Impl" 11698 // $ANTLR start "rule__Assertion__Group_0_1_3_1__1__Impl"
10069 // InternalProblem.g:3206:1: rule__Assertion__Group_0_1_3_1__1__Impl : ( ( rule__Assertion__ArgumentsAssignment_0_1_3_1_1 ) ) ; 11699 // InternalProblem.g:3699:1: rule__Assertion__Group_0_1_3_1__1__Impl : ( ( rule__Assertion__ArgumentsAssignment_0_1_3_1_1 ) ) ;
10070 public final void rule__Assertion__Group_0_1_3_1__1__Impl() throws RecognitionException { 11700 public final void rule__Assertion__Group_0_1_3_1__1__Impl() throws RecognitionException {
10071 11701
10072 int stackSize = keepStackSize(); 11702 int stackSize = keepStackSize();
10073 11703
10074 try { 11704 try {
10075 // InternalProblem.g:3210:1: ( ( ( rule__Assertion__ArgumentsAssignment_0_1_3_1_1 ) ) ) 11705 // InternalProblem.g:3703:1: ( ( ( rule__Assertion__ArgumentsAssignment_0_1_3_1_1 ) ) )
10076 // InternalProblem.g:3211:1: ( ( rule__Assertion__ArgumentsAssignment_0_1_3_1_1 ) ) 11706 // InternalProblem.g:3704:1: ( ( rule__Assertion__ArgumentsAssignment_0_1_3_1_1 ) )
10077 { 11707 {
10078 // InternalProblem.g:3211:1: ( ( rule__Assertion__ArgumentsAssignment_0_1_3_1_1 ) ) 11708 // InternalProblem.g:3704:1: ( ( rule__Assertion__ArgumentsAssignment_0_1_3_1_1 ) )
10079 // InternalProblem.g:3212:2: ( rule__Assertion__ArgumentsAssignment_0_1_3_1_1 ) 11709 // InternalProblem.g:3705:2: ( rule__Assertion__ArgumentsAssignment_0_1_3_1_1 )
10080 { 11710 {
10081 before(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_1_3_1_1()); 11711 before(grammarAccess.getAssertionAccess().getArgumentsAssignment_0_1_3_1_1());
10082 // InternalProblem.g:3213:2: ( rule__Assertion__ArgumentsAssignment_0_1_3_1_1 ) 11712 // InternalProblem.g:3706:2: ( rule__Assertion__ArgumentsAssignment_0_1_3_1_1 )
10083 // InternalProblem.g:3213:3: rule__Assertion__ArgumentsAssignment_0_1_3_1_1 11713 // InternalProblem.g:3706:3: rule__Assertion__ArgumentsAssignment_0_1_3_1_1
10084 { 11714 {
10085 pushFollow(FOLLOW_2); 11715 pushFollow(FOLLOW_2);
10086 rule__Assertion__ArgumentsAssignment_0_1_3_1_1(); 11716 rule__Assertion__ArgumentsAssignment_0_1_3_1_1();
@@ -10113,16 +11743,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10113 11743
10114 11744
10115 // $ANTLR start "rule__ScopeDeclaration__Group__0" 11745 // $ANTLR start "rule__ScopeDeclaration__Group__0"
10116 // InternalProblem.g:3222:1: rule__ScopeDeclaration__Group__0 : rule__ScopeDeclaration__Group__0__Impl rule__ScopeDeclaration__Group__1 ; 11746 // InternalProblem.g:3715:1: rule__ScopeDeclaration__Group__0 : rule__ScopeDeclaration__Group__0__Impl rule__ScopeDeclaration__Group__1 ;
10117 public final void rule__ScopeDeclaration__Group__0() throws RecognitionException { 11747 public final void rule__ScopeDeclaration__Group__0() throws RecognitionException {
10118 11748
10119 int stackSize = keepStackSize(); 11749 int stackSize = keepStackSize();
10120 11750
10121 try { 11751 try {
10122 // InternalProblem.g:3226:1: ( rule__ScopeDeclaration__Group__0__Impl rule__ScopeDeclaration__Group__1 ) 11752 // InternalProblem.g:3719:1: ( rule__ScopeDeclaration__Group__0__Impl rule__ScopeDeclaration__Group__1 )
10123 // InternalProblem.g:3227:2: rule__ScopeDeclaration__Group__0__Impl rule__ScopeDeclaration__Group__1 11753 // InternalProblem.g:3720:2: rule__ScopeDeclaration__Group__0__Impl rule__ScopeDeclaration__Group__1
10124 { 11754 {
10125 pushFollow(FOLLOW_5); 11755 pushFollow(FOLLOW_32);
10126 rule__ScopeDeclaration__Group__0__Impl(); 11756 rule__ScopeDeclaration__Group__0__Impl();
10127 11757
10128 state._fsp--; 11758 state._fsp--;
@@ -10151,20 +11781,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10151 11781
10152 11782
10153 // $ANTLR start "rule__ScopeDeclaration__Group__0__Impl" 11783 // $ANTLR start "rule__ScopeDeclaration__Group__0__Impl"
10154 // InternalProblem.g:3234:1: rule__ScopeDeclaration__Group__0__Impl : ( 'scope' ) ; 11784 // InternalProblem.g:3727:1: rule__ScopeDeclaration__Group__0__Impl : ( 'scope' ) ;
10155 public final void rule__ScopeDeclaration__Group__0__Impl() throws RecognitionException { 11785 public final void rule__ScopeDeclaration__Group__0__Impl() throws RecognitionException {
10156 11786
10157 int stackSize = keepStackSize(); 11787 int stackSize = keepStackSize();
10158 11788
10159 try { 11789 try {
10160 // InternalProblem.g:3238:1: ( ( 'scope' ) ) 11790 // InternalProblem.g:3731:1: ( ( 'scope' ) )
10161 // InternalProblem.g:3239:1: ( 'scope' ) 11791 // InternalProblem.g:3732:1: ( 'scope' )
10162 { 11792 {
10163 // InternalProblem.g:3239:1: ( 'scope' ) 11793 // InternalProblem.g:3732:1: ( 'scope' )
10164 // InternalProblem.g:3240:2: 'scope' 11794 // InternalProblem.g:3733:2: 'scope'
10165 { 11795 {
10166 before(grammarAccess.getScopeDeclarationAccess().getScopeKeyword_0()); 11796 before(grammarAccess.getScopeDeclarationAccess().getScopeKeyword_0());
10167 match(input,36,FOLLOW_2); 11797 match(input,37,FOLLOW_2);
10168 after(grammarAccess.getScopeDeclarationAccess().getScopeKeyword_0()); 11798 after(grammarAccess.getScopeDeclarationAccess().getScopeKeyword_0());
10169 11799
10170 } 11800 }
@@ -10188,16 +11818,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10188 11818
10189 11819
10190 // $ANTLR start "rule__ScopeDeclaration__Group__1" 11820 // $ANTLR start "rule__ScopeDeclaration__Group__1"
10191 // InternalProblem.g:3249:1: rule__ScopeDeclaration__Group__1 : rule__ScopeDeclaration__Group__1__Impl rule__ScopeDeclaration__Group__2 ; 11821 // InternalProblem.g:3742:1: rule__ScopeDeclaration__Group__1 : rule__ScopeDeclaration__Group__1__Impl rule__ScopeDeclaration__Group__2 ;
10192 public final void rule__ScopeDeclaration__Group__1() throws RecognitionException { 11822 public final void rule__ScopeDeclaration__Group__1() throws RecognitionException {
10193 11823
10194 int stackSize = keepStackSize(); 11824 int stackSize = keepStackSize();
10195 11825
10196 try { 11826 try {
10197 // InternalProblem.g:3253:1: ( rule__ScopeDeclaration__Group__1__Impl rule__ScopeDeclaration__Group__2 ) 11827 // InternalProblem.g:3746:1: ( rule__ScopeDeclaration__Group__1__Impl rule__ScopeDeclaration__Group__2 )
10198 // InternalProblem.g:3254:2: rule__ScopeDeclaration__Group__1__Impl rule__ScopeDeclaration__Group__2 11828 // InternalProblem.g:3747:2: rule__ScopeDeclaration__Group__1__Impl rule__ScopeDeclaration__Group__2
10199 { 11829 {
10200 pushFollow(FOLLOW_30); 11830 pushFollow(FOLLOW_33);
10201 rule__ScopeDeclaration__Group__1__Impl(); 11831 rule__ScopeDeclaration__Group__1__Impl();
10202 11832
10203 state._fsp--; 11833 state._fsp--;
@@ -10226,21 +11856,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10226 11856
10227 11857
10228 // $ANTLR start "rule__ScopeDeclaration__Group__1__Impl" 11858 // $ANTLR start "rule__ScopeDeclaration__Group__1__Impl"
10229 // InternalProblem.g:3261:1: rule__ScopeDeclaration__Group__1__Impl : ( ( rule__ScopeDeclaration__TypeScopesAssignment_1 ) ) ; 11859 // InternalProblem.g:3754:1: rule__ScopeDeclaration__Group__1__Impl : ( ( rule__ScopeDeclaration__TypeScopesAssignment_1 ) ) ;
10230 public final void rule__ScopeDeclaration__Group__1__Impl() throws RecognitionException { 11860 public final void rule__ScopeDeclaration__Group__1__Impl() throws RecognitionException {
10231 11861
10232 int stackSize = keepStackSize(); 11862 int stackSize = keepStackSize();
10233 11863
10234 try { 11864 try {
10235 // InternalProblem.g:3265:1: ( ( ( rule__ScopeDeclaration__TypeScopesAssignment_1 ) ) ) 11865 // InternalProblem.g:3758:1: ( ( ( rule__ScopeDeclaration__TypeScopesAssignment_1 ) ) )
10236 // InternalProblem.g:3266:1: ( ( rule__ScopeDeclaration__TypeScopesAssignment_1 ) ) 11866 // InternalProblem.g:3759:1: ( ( rule__ScopeDeclaration__TypeScopesAssignment_1 ) )
10237 { 11867 {
10238 // InternalProblem.g:3266:1: ( ( rule__ScopeDeclaration__TypeScopesAssignment_1 ) ) 11868 // InternalProblem.g:3759:1: ( ( rule__ScopeDeclaration__TypeScopesAssignment_1 ) )
10239 // InternalProblem.g:3267:2: ( rule__ScopeDeclaration__TypeScopesAssignment_1 ) 11869 // InternalProblem.g:3760:2: ( rule__ScopeDeclaration__TypeScopesAssignment_1 )
10240 { 11870 {
10241 before(grammarAccess.getScopeDeclarationAccess().getTypeScopesAssignment_1()); 11871 before(grammarAccess.getScopeDeclarationAccess().getTypeScopesAssignment_1());
10242 // InternalProblem.g:3268:2: ( rule__ScopeDeclaration__TypeScopesAssignment_1 ) 11872 // InternalProblem.g:3761:2: ( rule__ScopeDeclaration__TypeScopesAssignment_1 )
10243 // InternalProblem.g:3268:3: rule__ScopeDeclaration__TypeScopesAssignment_1 11873 // InternalProblem.g:3761:3: rule__ScopeDeclaration__TypeScopesAssignment_1
10244 { 11874 {
10245 pushFollow(FOLLOW_2); 11875 pushFollow(FOLLOW_2);
10246 rule__ScopeDeclaration__TypeScopesAssignment_1(); 11876 rule__ScopeDeclaration__TypeScopesAssignment_1();
@@ -10273,16 +11903,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10273 11903
10274 11904
10275 // $ANTLR start "rule__ScopeDeclaration__Group__2" 11905 // $ANTLR start "rule__ScopeDeclaration__Group__2"
10276 // InternalProblem.g:3276:1: rule__ScopeDeclaration__Group__2 : rule__ScopeDeclaration__Group__2__Impl rule__ScopeDeclaration__Group__3 ; 11906 // InternalProblem.g:3769:1: rule__ScopeDeclaration__Group__2 : rule__ScopeDeclaration__Group__2__Impl rule__ScopeDeclaration__Group__3 ;
10277 public final void rule__ScopeDeclaration__Group__2() throws RecognitionException { 11907 public final void rule__ScopeDeclaration__Group__2() throws RecognitionException {
10278 11908
10279 int stackSize = keepStackSize(); 11909 int stackSize = keepStackSize();
10280 11910
10281 try { 11911 try {
10282 // InternalProblem.g:3280:1: ( rule__ScopeDeclaration__Group__2__Impl rule__ScopeDeclaration__Group__3 ) 11912 // InternalProblem.g:3773:1: ( rule__ScopeDeclaration__Group__2__Impl rule__ScopeDeclaration__Group__3 )
10283 // InternalProblem.g:3281:2: rule__ScopeDeclaration__Group__2__Impl rule__ScopeDeclaration__Group__3 11913 // InternalProblem.g:3774:2: rule__ScopeDeclaration__Group__2__Impl rule__ScopeDeclaration__Group__3
10284 { 11914 {
10285 pushFollow(FOLLOW_30); 11915 pushFollow(FOLLOW_33);
10286 rule__ScopeDeclaration__Group__2__Impl(); 11916 rule__ScopeDeclaration__Group__2__Impl();
10287 11917
10288 state._fsp--; 11918 state._fsp--;
@@ -10311,35 +11941,35 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10311 11941
10312 11942
10313 // $ANTLR start "rule__ScopeDeclaration__Group__2__Impl" 11943 // $ANTLR start "rule__ScopeDeclaration__Group__2__Impl"
10314 // InternalProblem.g:3288:1: rule__ScopeDeclaration__Group__2__Impl : ( ( rule__ScopeDeclaration__Group_2__0 )* ) ; 11944 // InternalProblem.g:3781:1: rule__ScopeDeclaration__Group__2__Impl : ( ( rule__ScopeDeclaration__Group_2__0 )* ) ;
10315 public final void rule__ScopeDeclaration__Group__2__Impl() throws RecognitionException { 11945 public final void rule__ScopeDeclaration__Group__2__Impl() throws RecognitionException {
10316 11946
10317 int stackSize = keepStackSize(); 11947 int stackSize = keepStackSize();
10318 11948
10319 try { 11949 try {
10320 // InternalProblem.g:3292:1: ( ( ( rule__ScopeDeclaration__Group_2__0 )* ) ) 11950 // InternalProblem.g:3785:1: ( ( ( rule__ScopeDeclaration__Group_2__0 )* ) )
10321 // InternalProblem.g:3293:1: ( ( rule__ScopeDeclaration__Group_2__0 )* ) 11951 // InternalProblem.g:3786:1: ( ( rule__ScopeDeclaration__Group_2__0 )* )
10322 { 11952 {
10323 // InternalProblem.g:3293:1: ( ( rule__ScopeDeclaration__Group_2__0 )* ) 11953 // InternalProblem.g:3786:1: ( ( rule__ScopeDeclaration__Group_2__0 )* )
10324 // InternalProblem.g:3294:2: ( rule__ScopeDeclaration__Group_2__0 )* 11954 // InternalProblem.g:3787:2: ( rule__ScopeDeclaration__Group_2__0 )*
10325 { 11955 {
10326 before(grammarAccess.getScopeDeclarationAccess().getGroup_2()); 11956 before(grammarAccess.getScopeDeclarationAccess().getGroup_2());
10327 // InternalProblem.g:3295:2: ( rule__ScopeDeclaration__Group_2__0 )* 11957 // InternalProblem.g:3788:2: ( rule__ScopeDeclaration__Group_2__0 )*
10328 loop37: 11958 loop46:
10329 do { 11959 do {
10330 int alt37=2; 11960 int alt46=2;
10331 int LA37_0 = input.LA(1); 11961 int LA46_0 = input.LA(1);
10332 11962
10333 if ( (LA37_0==25) ) { 11963 if ( (LA46_0==13) ) {
10334 alt37=1; 11964 alt46=1;
10335 } 11965 }
10336 11966
10337 11967
10338 switch (alt37) { 11968 switch (alt46) {
10339 case 1 : 11969 case 1 :
10340 // InternalProblem.g:3295:3: rule__ScopeDeclaration__Group_2__0 11970 // InternalProblem.g:3788:3: rule__ScopeDeclaration__Group_2__0
10341 { 11971 {
10342 pushFollow(FOLLOW_11); 11972 pushFollow(FOLLOW_10);
10343 rule__ScopeDeclaration__Group_2__0(); 11973 rule__ScopeDeclaration__Group_2__0();
10344 11974
10345 state._fsp--; 11975 state._fsp--;
@@ -10349,7 +11979,7 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10349 break; 11979 break;
10350 11980
10351 default : 11981 default :
10352 break loop37; 11982 break loop46;
10353 } 11983 }
10354 } while (true); 11984 } while (true);
10355 11985
@@ -10376,14 +12006,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10376 12006
10377 12007
10378 // $ANTLR start "rule__ScopeDeclaration__Group__3" 12008 // $ANTLR start "rule__ScopeDeclaration__Group__3"
10379 // InternalProblem.g:3303:1: rule__ScopeDeclaration__Group__3 : rule__ScopeDeclaration__Group__3__Impl ; 12009 // InternalProblem.g:3796:1: rule__ScopeDeclaration__Group__3 : rule__ScopeDeclaration__Group__3__Impl ;
10380 public final void rule__ScopeDeclaration__Group__3() throws RecognitionException { 12010 public final void rule__ScopeDeclaration__Group__3() throws RecognitionException {
10381 12011
10382 int stackSize = keepStackSize(); 12012 int stackSize = keepStackSize();
10383 12013
10384 try { 12014 try {
10385 // InternalProblem.g:3307:1: ( rule__ScopeDeclaration__Group__3__Impl ) 12015 // InternalProblem.g:3800:1: ( rule__ScopeDeclaration__Group__3__Impl )
10386 // InternalProblem.g:3308:2: rule__ScopeDeclaration__Group__3__Impl 12016 // InternalProblem.g:3801:2: rule__ScopeDeclaration__Group__3__Impl
10387 { 12017 {
10388 pushFollow(FOLLOW_2); 12018 pushFollow(FOLLOW_2);
10389 rule__ScopeDeclaration__Group__3__Impl(); 12019 rule__ScopeDeclaration__Group__3__Impl();
@@ -10409,17 +12039,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10409 12039
10410 12040
10411 // $ANTLR start "rule__ScopeDeclaration__Group__3__Impl" 12041 // $ANTLR start "rule__ScopeDeclaration__Group__3__Impl"
10412 // InternalProblem.g:3314:1: rule__ScopeDeclaration__Group__3__Impl : ( '.' ) ; 12042 // InternalProblem.g:3807:1: rule__ScopeDeclaration__Group__3__Impl : ( '.' ) ;
10413 public final void rule__ScopeDeclaration__Group__3__Impl() throws RecognitionException { 12043 public final void rule__ScopeDeclaration__Group__3__Impl() throws RecognitionException {
10414 12044
10415 int stackSize = keepStackSize(); 12045 int stackSize = keepStackSize();
10416 12046
10417 try { 12047 try {
10418 // InternalProblem.g:3318:1: ( ( '.' ) ) 12048 // InternalProblem.g:3811:1: ( ( '.' ) )
10419 // InternalProblem.g:3319:1: ( '.' ) 12049 // InternalProblem.g:3812:1: ( '.' )
10420 { 12050 {
10421 // InternalProblem.g:3319:1: ( '.' ) 12051 // InternalProblem.g:3812:1: ( '.' )
10422 // InternalProblem.g:3320:2: '.' 12052 // InternalProblem.g:3813:2: '.'
10423 { 12053 {
10424 before(grammarAccess.getScopeDeclarationAccess().getFullStopKeyword_3()); 12054 before(grammarAccess.getScopeDeclarationAccess().getFullStopKeyword_3());
10425 match(input,12,FOLLOW_2); 12055 match(input,12,FOLLOW_2);
@@ -10446,16 +12076,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10446 12076
10447 12077
10448 // $ANTLR start "rule__ScopeDeclaration__Group_2__0" 12078 // $ANTLR start "rule__ScopeDeclaration__Group_2__0"
10449 // InternalProblem.g:3330:1: rule__ScopeDeclaration__Group_2__0 : rule__ScopeDeclaration__Group_2__0__Impl rule__ScopeDeclaration__Group_2__1 ; 12079 // InternalProblem.g:3823:1: rule__ScopeDeclaration__Group_2__0 : rule__ScopeDeclaration__Group_2__0__Impl rule__ScopeDeclaration__Group_2__1 ;
10450 public final void rule__ScopeDeclaration__Group_2__0() throws RecognitionException { 12080 public final void rule__ScopeDeclaration__Group_2__0() throws RecognitionException {
10451 12081
10452 int stackSize = keepStackSize(); 12082 int stackSize = keepStackSize();
10453 12083
10454 try { 12084 try {
10455 // InternalProblem.g:3334:1: ( rule__ScopeDeclaration__Group_2__0__Impl rule__ScopeDeclaration__Group_2__1 ) 12085 // InternalProblem.g:3827:1: ( 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 12086 // InternalProblem.g:3828:2: rule__ScopeDeclaration__Group_2__0__Impl rule__ScopeDeclaration__Group_2__1
10457 { 12087 {
10458 pushFollow(FOLLOW_5); 12088 pushFollow(FOLLOW_32);
10459 rule__ScopeDeclaration__Group_2__0__Impl(); 12089 rule__ScopeDeclaration__Group_2__0__Impl();
10460 12090
10461 state._fsp--; 12091 state._fsp--;
@@ -10484,20 +12114,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10484 12114
10485 12115
10486 // $ANTLR start "rule__ScopeDeclaration__Group_2__0__Impl" 12116 // $ANTLR start "rule__ScopeDeclaration__Group_2__0__Impl"
10487 // InternalProblem.g:3342:1: rule__ScopeDeclaration__Group_2__0__Impl : ( ',' ) ; 12117 // InternalProblem.g:3835:1: rule__ScopeDeclaration__Group_2__0__Impl : ( ',' ) ;
10488 public final void rule__ScopeDeclaration__Group_2__0__Impl() throws RecognitionException { 12118 public final void rule__ScopeDeclaration__Group_2__0__Impl() throws RecognitionException {
10489 12119
10490 int stackSize = keepStackSize(); 12120 int stackSize = keepStackSize();
10491 12121
10492 try { 12122 try {
10493 // InternalProblem.g:3346:1: ( ( ',' ) ) 12123 // InternalProblem.g:3839:1: ( ( ',' ) )
10494 // InternalProblem.g:3347:1: ( ',' ) 12124 // InternalProblem.g:3840:1: ( ',' )
10495 { 12125 {
10496 // InternalProblem.g:3347:1: ( ',' ) 12126 // InternalProblem.g:3840:1: ( ',' )
10497 // InternalProblem.g:3348:2: ',' 12127 // InternalProblem.g:3841:2: ','
10498 { 12128 {
10499 before(grammarAccess.getScopeDeclarationAccess().getCommaKeyword_2_0()); 12129 before(grammarAccess.getScopeDeclarationAccess().getCommaKeyword_2_0());
10500 match(input,25,FOLLOW_2); 12130 match(input,13,FOLLOW_2);
10501 after(grammarAccess.getScopeDeclarationAccess().getCommaKeyword_2_0()); 12131 after(grammarAccess.getScopeDeclarationAccess().getCommaKeyword_2_0());
10502 12132
10503 } 12133 }
@@ -10521,14 +12151,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10521 12151
10522 12152
10523 // $ANTLR start "rule__ScopeDeclaration__Group_2__1" 12153 // $ANTLR start "rule__ScopeDeclaration__Group_2__1"
10524 // InternalProblem.g:3357:1: rule__ScopeDeclaration__Group_2__1 : rule__ScopeDeclaration__Group_2__1__Impl ; 12154 // InternalProblem.g:3850:1: rule__ScopeDeclaration__Group_2__1 : rule__ScopeDeclaration__Group_2__1__Impl ;
10525 public final void rule__ScopeDeclaration__Group_2__1() throws RecognitionException { 12155 public final void rule__ScopeDeclaration__Group_2__1() throws RecognitionException {
10526 12156
10527 int stackSize = keepStackSize(); 12157 int stackSize = keepStackSize();
10528 12158
10529 try { 12159 try {
10530 // InternalProblem.g:3361:1: ( rule__ScopeDeclaration__Group_2__1__Impl ) 12160 // InternalProblem.g:3854:1: ( rule__ScopeDeclaration__Group_2__1__Impl )
10531 // InternalProblem.g:3362:2: rule__ScopeDeclaration__Group_2__1__Impl 12161 // InternalProblem.g:3855:2: rule__ScopeDeclaration__Group_2__1__Impl
10532 { 12162 {
10533 pushFollow(FOLLOW_2); 12163 pushFollow(FOLLOW_2);
10534 rule__ScopeDeclaration__Group_2__1__Impl(); 12164 rule__ScopeDeclaration__Group_2__1__Impl();
@@ -10554,21 +12184,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10554 12184
10555 12185
10556 // $ANTLR start "rule__ScopeDeclaration__Group_2__1__Impl" 12186 // $ANTLR start "rule__ScopeDeclaration__Group_2__1__Impl"
10557 // InternalProblem.g:3368:1: rule__ScopeDeclaration__Group_2__1__Impl : ( ( rule__ScopeDeclaration__TypeScopesAssignment_2_1 ) ) ; 12187 // InternalProblem.g:3861:1: rule__ScopeDeclaration__Group_2__1__Impl : ( ( rule__ScopeDeclaration__TypeScopesAssignment_2_1 ) ) ;
10558 public final void rule__ScopeDeclaration__Group_2__1__Impl() throws RecognitionException { 12188 public final void rule__ScopeDeclaration__Group_2__1__Impl() throws RecognitionException {
10559 12189
10560 int stackSize = keepStackSize(); 12190 int stackSize = keepStackSize();
10561 12191
10562 try { 12192 try {
10563 // InternalProblem.g:3372:1: ( ( ( rule__ScopeDeclaration__TypeScopesAssignment_2_1 ) ) ) 12193 // InternalProblem.g:3865:1: ( ( ( rule__ScopeDeclaration__TypeScopesAssignment_2_1 ) ) )
10564 // InternalProblem.g:3373:1: ( ( rule__ScopeDeclaration__TypeScopesAssignment_2_1 ) ) 12194 // InternalProblem.g:3866:1: ( ( rule__ScopeDeclaration__TypeScopesAssignment_2_1 ) )
10565 { 12195 {
10566 // InternalProblem.g:3373:1: ( ( rule__ScopeDeclaration__TypeScopesAssignment_2_1 ) ) 12196 // InternalProblem.g:3866:1: ( ( rule__ScopeDeclaration__TypeScopesAssignment_2_1 ) )
10567 // InternalProblem.g:3374:2: ( rule__ScopeDeclaration__TypeScopesAssignment_2_1 ) 12197 // InternalProblem.g:3867:2: ( rule__ScopeDeclaration__TypeScopesAssignment_2_1 )
10568 { 12198 {
10569 before(grammarAccess.getScopeDeclarationAccess().getTypeScopesAssignment_2_1()); 12199 before(grammarAccess.getScopeDeclarationAccess().getTypeScopesAssignment_2_1());
10570 // InternalProblem.g:3375:2: ( rule__ScopeDeclaration__TypeScopesAssignment_2_1 ) 12200 // InternalProblem.g:3868:2: ( rule__ScopeDeclaration__TypeScopesAssignment_2_1 )
10571 // InternalProblem.g:3375:3: rule__ScopeDeclaration__TypeScopesAssignment_2_1 12201 // InternalProblem.g:3868:3: rule__ScopeDeclaration__TypeScopesAssignment_2_1
10572 { 12202 {
10573 pushFollow(FOLLOW_2); 12203 pushFollow(FOLLOW_2);
10574 rule__ScopeDeclaration__TypeScopesAssignment_2_1(); 12204 rule__ScopeDeclaration__TypeScopesAssignment_2_1();
@@ -10601,16 +12231,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10601 12231
10602 12232
10603 // $ANTLR start "rule__TypeScope__Group__0" 12233 // $ANTLR start "rule__TypeScope__Group__0"
10604 // InternalProblem.g:3384:1: rule__TypeScope__Group__0 : rule__TypeScope__Group__0__Impl rule__TypeScope__Group__1 ; 12234 // InternalProblem.g:3877:1: rule__TypeScope__Group__0 : rule__TypeScope__Group__0__Impl rule__TypeScope__Group__1 ;
10605 public final void rule__TypeScope__Group__0() throws RecognitionException { 12235 public final void rule__TypeScope__Group__0() throws RecognitionException {
10606 12236
10607 int stackSize = keepStackSize(); 12237 int stackSize = keepStackSize();
10608 12238
10609 try { 12239 try {
10610 // InternalProblem.g:3388:1: ( rule__TypeScope__Group__0__Impl rule__TypeScope__Group__1 ) 12240 // InternalProblem.g:3881:1: ( rule__TypeScope__Group__0__Impl rule__TypeScope__Group__1 )
10611 // InternalProblem.g:3389:2: rule__TypeScope__Group__0__Impl rule__TypeScope__Group__1 12241 // InternalProblem.g:3882:2: rule__TypeScope__Group__0__Impl rule__TypeScope__Group__1
10612 { 12242 {
10613 pushFollow(FOLLOW_31); 12243 pushFollow(FOLLOW_34);
10614 rule__TypeScope__Group__0__Impl(); 12244 rule__TypeScope__Group__0__Impl();
10615 12245
10616 state._fsp--; 12246 state._fsp--;
@@ -10639,21 +12269,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10639 12269
10640 12270
10641 // $ANTLR start "rule__TypeScope__Group__0__Impl" 12271 // $ANTLR start "rule__TypeScope__Group__0__Impl"
10642 // InternalProblem.g:3396:1: rule__TypeScope__Group__0__Impl : ( ( rule__TypeScope__TargetTypeAssignment_0 ) ) ; 12272 // InternalProblem.g:3889:1: rule__TypeScope__Group__0__Impl : ( ( rule__TypeScope__TargetTypeAssignment_0 ) ) ;
10643 public final void rule__TypeScope__Group__0__Impl() throws RecognitionException { 12273 public final void rule__TypeScope__Group__0__Impl() throws RecognitionException {
10644 12274
10645 int stackSize = keepStackSize(); 12275 int stackSize = keepStackSize();
10646 12276
10647 try { 12277 try {
10648 // InternalProblem.g:3400:1: ( ( ( rule__TypeScope__TargetTypeAssignment_0 ) ) ) 12278 // InternalProblem.g:3893:1: ( ( ( rule__TypeScope__TargetTypeAssignment_0 ) ) )
10649 // InternalProblem.g:3401:1: ( ( rule__TypeScope__TargetTypeAssignment_0 ) ) 12279 // InternalProblem.g:3894:1: ( ( rule__TypeScope__TargetTypeAssignment_0 ) )
10650 { 12280 {
10651 // InternalProblem.g:3401:1: ( ( rule__TypeScope__TargetTypeAssignment_0 ) ) 12281 // InternalProblem.g:3894:1: ( ( rule__TypeScope__TargetTypeAssignment_0 ) )
10652 // InternalProblem.g:3402:2: ( rule__TypeScope__TargetTypeAssignment_0 ) 12282 // InternalProblem.g:3895:2: ( rule__TypeScope__TargetTypeAssignment_0 )
10653 { 12283 {
10654 before(grammarAccess.getTypeScopeAccess().getTargetTypeAssignment_0()); 12284 before(grammarAccess.getTypeScopeAccess().getTargetTypeAssignment_0());
10655 // InternalProblem.g:3403:2: ( rule__TypeScope__TargetTypeAssignment_0 ) 12285 // InternalProblem.g:3896:2: ( rule__TypeScope__TargetTypeAssignment_0 )
10656 // InternalProblem.g:3403:3: rule__TypeScope__TargetTypeAssignment_0 12286 // InternalProblem.g:3896:3: rule__TypeScope__TargetTypeAssignment_0
10657 { 12287 {
10658 pushFollow(FOLLOW_2); 12288 pushFollow(FOLLOW_2);
10659 rule__TypeScope__TargetTypeAssignment_0(); 12289 rule__TypeScope__TargetTypeAssignment_0();
@@ -10686,16 +12316,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10686 12316
10687 12317
10688 // $ANTLR start "rule__TypeScope__Group__1" 12318 // $ANTLR start "rule__TypeScope__Group__1"
10689 // InternalProblem.g:3411:1: rule__TypeScope__Group__1 : rule__TypeScope__Group__1__Impl rule__TypeScope__Group__2 ; 12319 // InternalProblem.g:3904:1: rule__TypeScope__Group__1 : rule__TypeScope__Group__1__Impl rule__TypeScope__Group__2 ;
10690 public final void rule__TypeScope__Group__1() throws RecognitionException { 12320 public final void rule__TypeScope__Group__1() throws RecognitionException {
10691 12321
10692 int stackSize = keepStackSize(); 12322 int stackSize = keepStackSize();
10693 12323
10694 try { 12324 try {
10695 // InternalProblem.g:3415:1: ( rule__TypeScope__Group__1__Impl rule__TypeScope__Group__2 ) 12325 // InternalProblem.g:3908:1: ( rule__TypeScope__Group__1__Impl rule__TypeScope__Group__2 )
10696 // InternalProblem.g:3416:2: rule__TypeScope__Group__1__Impl rule__TypeScope__Group__2 12326 // InternalProblem.g:3909:2: rule__TypeScope__Group__1__Impl rule__TypeScope__Group__2
10697 { 12327 {
10698 pushFollow(FOLLOW_17); 12328 pushFollow(FOLLOW_20);
10699 rule__TypeScope__Group__1__Impl(); 12329 rule__TypeScope__Group__1__Impl();
10700 12330
10701 state._fsp--; 12331 state._fsp--;
@@ -10724,21 +12354,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10724 12354
10725 12355
10726 // $ANTLR start "rule__TypeScope__Group__1__Impl" 12356 // $ANTLR start "rule__TypeScope__Group__1__Impl"
10727 // InternalProblem.g:3423:1: rule__TypeScope__Group__1__Impl : ( ( rule__TypeScope__Alternatives_1 ) ) ; 12357 // InternalProblem.g:3916:1: rule__TypeScope__Group__1__Impl : ( ( rule__TypeScope__Alternatives_1 ) ) ;
10728 public final void rule__TypeScope__Group__1__Impl() throws RecognitionException { 12358 public final void rule__TypeScope__Group__1__Impl() throws RecognitionException {
10729 12359
10730 int stackSize = keepStackSize(); 12360 int stackSize = keepStackSize();
10731 12361
10732 try { 12362 try {
10733 // InternalProblem.g:3427:1: ( ( ( rule__TypeScope__Alternatives_1 ) ) ) 12363 // InternalProblem.g:3920:1: ( ( ( rule__TypeScope__Alternatives_1 ) ) )
10734 // InternalProblem.g:3428:1: ( ( rule__TypeScope__Alternatives_1 ) ) 12364 // InternalProblem.g:3921:1: ( ( rule__TypeScope__Alternatives_1 ) )
10735 { 12365 {
10736 // InternalProblem.g:3428:1: ( ( rule__TypeScope__Alternatives_1 ) ) 12366 // InternalProblem.g:3921:1: ( ( rule__TypeScope__Alternatives_1 ) )
10737 // InternalProblem.g:3429:2: ( rule__TypeScope__Alternatives_1 ) 12367 // InternalProblem.g:3922:2: ( rule__TypeScope__Alternatives_1 )
10738 { 12368 {
10739 before(grammarAccess.getTypeScopeAccess().getAlternatives_1()); 12369 before(grammarAccess.getTypeScopeAccess().getAlternatives_1());
10740 // InternalProblem.g:3430:2: ( rule__TypeScope__Alternatives_1 ) 12370 // InternalProblem.g:3923:2: ( rule__TypeScope__Alternatives_1 )
10741 // InternalProblem.g:3430:3: rule__TypeScope__Alternatives_1 12371 // InternalProblem.g:3923:3: rule__TypeScope__Alternatives_1
10742 { 12372 {
10743 pushFollow(FOLLOW_2); 12373 pushFollow(FOLLOW_2);
10744 rule__TypeScope__Alternatives_1(); 12374 rule__TypeScope__Alternatives_1();
@@ -10771,14 +12401,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10771 12401
10772 12402
10773 // $ANTLR start "rule__TypeScope__Group__2" 12403 // $ANTLR start "rule__TypeScope__Group__2"
10774 // InternalProblem.g:3438:1: rule__TypeScope__Group__2 : rule__TypeScope__Group__2__Impl ; 12404 // InternalProblem.g:3931:1: rule__TypeScope__Group__2 : rule__TypeScope__Group__2__Impl ;
10775 public final void rule__TypeScope__Group__2() throws RecognitionException { 12405 public final void rule__TypeScope__Group__2() throws RecognitionException {
10776 12406
10777 int stackSize = keepStackSize(); 12407 int stackSize = keepStackSize();
10778 12408
10779 try { 12409 try {
10780 // InternalProblem.g:3442:1: ( rule__TypeScope__Group__2__Impl ) 12410 // InternalProblem.g:3935:1: ( rule__TypeScope__Group__2__Impl )
10781 // InternalProblem.g:3443:2: rule__TypeScope__Group__2__Impl 12411 // InternalProblem.g:3936:2: rule__TypeScope__Group__2__Impl
10782 { 12412 {
10783 pushFollow(FOLLOW_2); 12413 pushFollow(FOLLOW_2);
10784 rule__TypeScope__Group__2__Impl(); 12414 rule__TypeScope__Group__2__Impl();
@@ -10804,21 +12434,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10804 12434
10805 12435
10806 // $ANTLR start "rule__TypeScope__Group__2__Impl" 12436 // $ANTLR start "rule__TypeScope__Group__2__Impl"
10807 // InternalProblem.g:3449:1: rule__TypeScope__Group__2__Impl : ( ( rule__TypeScope__MultiplicityAssignment_2 ) ) ; 12437 // InternalProblem.g:3942:1: rule__TypeScope__Group__2__Impl : ( ( rule__TypeScope__MultiplicityAssignment_2 ) ) ;
10808 public final void rule__TypeScope__Group__2__Impl() throws RecognitionException { 12438 public final void rule__TypeScope__Group__2__Impl() throws RecognitionException {
10809 12439
10810 int stackSize = keepStackSize(); 12440 int stackSize = keepStackSize();
10811 12441
10812 try { 12442 try {
10813 // InternalProblem.g:3453:1: ( ( ( rule__TypeScope__MultiplicityAssignment_2 ) ) ) 12443 // InternalProblem.g:3946:1: ( ( ( rule__TypeScope__MultiplicityAssignment_2 ) ) )
10814 // InternalProblem.g:3454:1: ( ( rule__TypeScope__MultiplicityAssignment_2 ) ) 12444 // InternalProblem.g:3947:1: ( ( rule__TypeScope__MultiplicityAssignment_2 ) )
10815 { 12445 {
10816 // InternalProblem.g:3454:1: ( ( rule__TypeScope__MultiplicityAssignment_2 ) ) 12446 // InternalProblem.g:3947:1: ( ( rule__TypeScope__MultiplicityAssignment_2 ) )
10817 // InternalProblem.g:3455:2: ( rule__TypeScope__MultiplicityAssignment_2 ) 12447 // InternalProblem.g:3948:2: ( rule__TypeScope__MultiplicityAssignment_2 )
10818 { 12448 {
10819 before(grammarAccess.getTypeScopeAccess().getMultiplicityAssignment_2()); 12449 before(grammarAccess.getTypeScopeAccess().getMultiplicityAssignment_2());
10820 // InternalProblem.g:3456:2: ( rule__TypeScope__MultiplicityAssignment_2 ) 12450 // InternalProblem.g:3949:2: ( rule__TypeScope__MultiplicityAssignment_2 )
10821 // InternalProblem.g:3456:3: rule__TypeScope__MultiplicityAssignment_2 12451 // InternalProblem.g:3949:3: rule__TypeScope__MultiplicityAssignment_2
10822 { 12452 {
10823 pushFollow(FOLLOW_2); 12453 pushFollow(FOLLOW_2);
10824 rule__TypeScope__MultiplicityAssignment_2(); 12454 rule__TypeScope__MultiplicityAssignment_2();
@@ -10851,16 +12481,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10851 12481
10852 12482
10853 // $ANTLR start "rule__RangeMultiplicity__Group__0" 12483 // $ANTLR start "rule__RangeMultiplicity__Group__0"
10854 // InternalProblem.g:3465:1: rule__RangeMultiplicity__Group__0 : rule__RangeMultiplicity__Group__0__Impl rule__RangeMultiplicity__Group__1 ; 12484 // InternalProblem.g:3958:1: rule__RangeMultiplicity__Group__0 : rule__RangeMultiplicity__Group__0__Impl rule__RangeMultiplicity__Group__1 ;
10855 public final void rule__RangeMultiplicity__Group__0() throws RecognitionException { 12485 public final void rule__RangeMultiplicity__Group__0() throws RecognitionException {
10856 12486
10857 int stackSize = keepStackSize(); 12487 int stackSize = keepStackSize();
10858 12488
10859 try { 12489 try {
10860 // InternalProblem.g:3469:1: ( rule__RangeMultiplicity__Group__0__Impl rule__RangeMultiplicity__Group__1 ) 12490 // InternalProblem.g:3962:1: ( rule__RangeMultiplicity__Group__0__Impl rule__RangeMultiplicity__Group__1 )
10861 // InternalProblem.g:3470:2: rule__RangeMultiplicity__Group__0__Impl rule__RangeMultiplicity__Group__1 12491 // InternalProblem.g:3963:2: rule__RangeMultiplicity__Group__0__Impl rule__RangeMultiplicity__Group__1
10862 { 12492 {
10863 pushFollow(FOLLOW_32); 12493 pushFollow(FOLLOW_35);
10864 rule__RangeMultiplicity__Group__0__Impl(); 12494 rule__RangeMultiplicity__Group__0__Impl();
10865 12495
10866 state._fsp--; 12496 state._fsp--;
@@ -10889,21 +12519,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10889 12519
10890 12520
10891 // $ANTLR start "rule__RangeMultiplicity__Group__0__Impl" 12521 // $ANTLR start "rule__RangeMultiplicity__Group__0__Impl"
10892 // InternalProblem.g:3477:1: rule__RangeMultiplicity__Group__0__Impl : ( ( rule__RangeMultiplicity__LowerBoundAssignment_0 ) ) ; 12522 // InternalProblem.g:3970:1: rule__RangeMultiplicity__Group__0__Impl : ( ( rule__RangeMultiplicity__LowerBoundAssignment_0 ) ) ;
10893 public final void rule__RangeMultiplicity__Group__0__Impl() throws RecognitionException { 12523 public final void rule__RangeMultiplicity__Group__0__Impl() throws RecognitionException {
10894 12524
10895 int stackSize = keepStackSize(); 12525 int stackSize = keepStackSize();
10896 12526
10897 try { 12527 try {
10898 // InternalProblem.g:3481:1: ( ( ( rule__RangeMultiplicity__LowerBoundAssignment_0 ) ) ) 12528 // InternalProblem.g:3974:1: ( ( ( rule__RangeMultiplicity__LowerBoundAssignment_0 ) ) )
10899 // InternalProblem.g:3482:1: ( ( rule__RangeMultiplicity__LowerBoundAssignment_0 ) ) 12529 // InternalProblem.g:3975:1: ( ( rule__RangeMultiplicity__LowerBoundAssignment_0 ) )
10900 { 12530 {
10901 // InternalProblem.g:3482:1: ( ( rule__RangeMultiplicity__LowerBoundAssignment_0 ) ) 12531 // InternalProblem.g:3975:1: ( ( rule__RangeMultiplicity__LowerBoundAssignment_0 ) )
10902 // InternalProblem.g:3483:2: ( rule__RangeMultiplicity__LowerBoundAssignment_0 ) 12532 // InternalProblem.g:3976:2: ( rule__RangeMultiplicity__LowerBoundAssignment_0 )
10903 { 12533 {
10904 before(grammarAccess.getRangeMultiplicityAccess().getLowerBoundAssignment_0()); 12534 before(grammarAccess.getRangeMultiplicityAccess().getLowerBoundAssignment_0());
10905 // InternalProblem.g:3484:2: ( rule__RangeMultiplicity__LowerBoundAssignment_0 ) 12535 // InternalProblem.g:3977:2: ( rule__RangeMultiplicity__LowerBoundAssignment_0 )
10906 // InternalProblem.g:3484:3: rule__RangeMultiplicity__LowerBoundAssignment_0 12536 // InternalProblem.g:3977:3: rule__RangeMultiplicity__LowerBoundAssignment_0
10907 { 12537 {
10908 pushFollow(FOLLOW_2); 12538 pushFollow(FOLLOW_2);
10909 rule__RangeMultiplicity__LowerBoundAssignment_0(); 12539 rule__RangeMultiplicity__LowerBoundAssignment_0();
@@ -10936,16 +12566,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10936 12566
10937 12567
10938 // $ANTLR start "rule__RangeMultiplicity__Group__1" 12568 // $ANTLR start "rule__RangeMultiplicity__Group__1"
10939 // InternalProblem.g:3492:1: rule__RangeMultiplicity__Group__1 : rule__RangeMultiplicity__Group__1__Impl rule__RangeMultiplicity__Group__2 ; 12569 // InternalProblem.g:3985:1: rule__RangeMultiplicity__Group__1 : rule__RangeMultiplicity__Group__1__Impl rule__RangeMultiplicity__Group__2 ;
10940 public final void rule__RangeMultiplicity__Group__1() throws RecognitionException { 12570 public final void rule__RangeMultiplicity__Group__1() throws RecognitionException {
10941 12571
10942 int stackSize = keepStackSize(); 12572 int stackSize = keepStackSize();
10943 12573
10944 try { 12574 try {
10945 // InternalProblem.g:3496:1: ( rule__RangeMultiplicity__Group__1__Impl rule__RangeMultiplicity__Group__2 ) 12575 // InternalProblem.g:3989:1: ( rule__RangeMultiplicity__Group__1__Impl rule__RangeMultiplicity__Group__2 )
10946 // InternalProblem.g:3497:2: rule__RangeMultiplicity__Group__1__Impl rule__RangeMultiplicity__Group__2 12576 // InternalProblem.g:3990:2: rule__RangeMultiplicity__Group__1__Impl rule__RangeMultiplicity__Group__2
10947 { 12577 {
10948 pushFollow(FOLLOW_33); 12578 pushFollow(FOLLOW_36);
10949 rule__RangeMultiplicity__Group__1__Impl(); 12579 rule__RangeMultiplicity__Group__1__Impl();
10950 12580
10951 state._fsp--; 12581 state._fsp--;
@@ -10974,20 +12604,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
10974 12604
10975 12605
10976 // $ANTLR start "rule__RangeMultiplicity__Group__1__Impl" 12606 // $ANTLR start "rule__RangeMultiplicity__Group__1__Impl"
10977 // InternalProblem.g:3504:1: rule__RangeMultiplicity__Group__1__Impl : ( '..' ) ; 12607 // InternalProblem.g:3997:1: rule__RangeMultiplicity__Group__1__Impl : ( '..' ) ;
10978 public final void rule__RangeMultiplicity__Group__1__Impl() throws RecognitionException { 12608 public final void rule__RangeMultiplicity__Group__1__Impl() throws RecognitionException {
10979 12609
10980 int stackSize = keepStackSize(); 12610 int stackSize = keepStackSize();
10981 12611
10982 try { 12612 try {
10983 // InternalProblem.g:3508:1: ( ( '..' ) ) 12613 // InternalProblem.g:4001:1: ( ( '..' ) )
10984 // InternalProblem.g:3509:1: ( '..' ) 12614 // InternalProblem.g:4002:1: ( '..' )
10985 { 12615 {
10986 // InternalProblem.g:3509:1: ( '..' ) 12616 // InternalProblem.g:4002:1: ( '..' )
10987 // InternalProblem.g:3510:2: '..' 12617 // InternalProblem.g:4003:2: '..'
10988 { 12618 {
10989 before(grammarAccess.getRangeMultiplicityAccess().getFullStopFullStopKeyword_1()); 12619 before(grammarAccess.getRangeMultiplicityAccess().getFullStopFullStopKeyword_1());
10990 match(input,37,FOLLOW_2); 12620 match(input,38,FOLLOW_2);
10991 after(grammarAccess.getRangeMultiplicityAccess().getFullStopFullStopKeyword_1()); 12621 after(grammarAccess.getRangeMultiplicityAccess().getFullStopFullStopKeyword_1());
10992 12622
10993 } 12623 }
@@ -11011,14 +12641,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11011 12641
11012 12642
11013 // $ANTLR start "rule__RangeMultiplicity__Group__2" 12643 // $ANTLR start "rule__RangeMultiplicity__Group__2"
11014 // InternalProblem.g:3519:1: rule__RangeMultiplicity__Group__2 : rule__RangeMultiplicity__Group__2__Impl ; 12644 // InternalProblem.g:4012:1: rule__RangeMultiplicity__Group__2 : rule__RangeMultiplicity__Group__2__Impl ;
11015 public final void rule__RangeMultiplicity__Group__2() throws RecognitionException { 12645 public final void rule__RangeMultiplicity__Group__2() throws RecognitionException {
11016 12646
11017 int stackSize = keepStackSize(); 12647 int stackSize = keepStackSize();
11018 12648
11019 try { 12649 try {
11020 // InternalProblem.g:3523:1: ( rule__RangeMultiplicity__Group__2__Impl ) 12650 // InternalProblem.g:4016:1: ( rule__RangeMultiplicity__Group__2__Impl )
11021 // InternalProblem.g:3524:2: rule__RangeMultiplicity__Group__2__Impl 12651 // InternalProblem.g:4017:2: rule__RangeMultiplicity__Group__2__Impl
11022 { 12652 {
11023 pushFollow(FOLLOW_2); 12653 pushFollow(FOLLOW_2);
11024 rule__RangeMultiplicity__Group__2__Impl(); 12654 rule__RangeMultiplicity__Group__2__Impl();
@@ -11044,21 +12674,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11044 12674
11045 12675
11046 // $ANTLR start "rule__RangeMultiplicity__Group__2__Impl" 12676 // $ANTLR start "rule__RangeMultiplicity__Group__2__Impl"
11047 // InternalProblem.g:3530:1: rule__RangeMultiplicity__Group__2__Impl : ( ( rule__RangeMultiplicity__UpperBoundAssignment_2 ) ) ; 12677 // InternalProblem.g:4023:1: rule__RangeMultiplicity__Group__2__Impl : ( ( rule__RangeMultiplicity__UpperBoundAssignment_2 ) ) ;
11048 public final void rule__RangeMultiplicity__Group__2__Impl() throws RecognitionException { 12678 public final void rule__RangeMultiplicity__Group__2__Impl() throws RecognitionException {
11049 12679
11050 int stackSize = keepStackSize(); 12680 int stackSize = keepStackSize();
11051 12681
11052 try { 12682 try {
11053 // InternalProblem.g:3534:1: ( ( ( rule__RangeMultiplicity__UpperBoundAssignment_2 ) ) ) 12683 // InternalProblem.g:4027:1: ( ( ( rule__RangeMultiplicity__UpperBoundAssignment_2 ) ) )
11054 // InternalProblem.g:3535:1: ( ( rule__RangeMultiplicity__UpperBoundAssignment_2 ) ) 12684 // InternalProblem.g:4028:1: ( ( rule__RangeMultiplicity__UpperBoundAssignment_2 ) )
11055 { 12685 {
11056 // InternalProblem.g:3535:1: ( ( rule__RangeMultiplicity__UpperBoundAssignment_2 ) ) 12686 // InternalProblem.g:4028:1: ( ( rule__RangeMultiplicity__UpperBoundAssignment_2 ) )
11057 // InternalProblem.g:3536:2: ( rule__RangeMultiplicity__UpperBoundAssignment_2 ) 12687 // InternalProblem.g:4029:2: ( rule__RangeMultiplicity__UpperBoundAssignment_2 )
11058 { 12688 {
11059 before(grammarAccess.getRangeMultiplicityAccess().getUpperBoundAssignment_2()); 12689 before(grammarAccess.getRangeMultiplicityAccess().getUpperBoundAssignment_2());
11060 // InternalProblem.g:3537:2: ( rule__RangeMultiplicity__UpperBoundAssignment_2 ) 12690 // InternalProblem.g:4030:2: ( rule__RangeMultiplicity__UpperBoundAssignment_2 )
11061 // InternalProblem.g:3537:3: rule__RangeMultiplicity__UpperBoundAssignment_2 12691 // InternalProblem.g:4030:3: rule__RangeMultiplicity__UpperBoundAssignment_2
11062 { 12692 {
11063 pushFollow(FOLLOW_2); 12693 pushFollow(FOLLOW_2);
11064 rule__RangeMultiplicity__UpperBoundAssignment_2(); 12694 rule__RangeMultiplicity__UpperBoundAssignment_2();
@@ -11091,16 +12721,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11091 12721
11092 12722
11093 // $ANTLR start "rule__QualifiedName__Group_1__0" 12723 // $ANTLR start "rule__QualifiedName__Group_1__0"
11094 // InternalProblem.g:3546:1: rule__QualifiedName__Group_1__0 : rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 ; 12724 // InternalProblem.g:4039:1: rule__QualifiedName__Group_1__0 : rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 ;
11095 public final void rule__QualifiedName__Group_1__0() throws RecognitionException { 12725 public final void rule__QualifiedName__Group_1__0() throws RecognitionException {
11096 12726
11097 int stackSize = keepStackSize(); 12727 int stackSize = keepStackSize();
11098 12728
11099 try { 12729 try {
11100 // InternalProblem.g:3550:1: ( rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 ) 12730 // InternalProblem.g:4043:1: ( rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 )
11101 // InternalProblem.g:3551:2: rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 12731 // InternalProblem.g:4044:2: rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1
11102 { 12732 {
11103 pushFollow(FOLLOW_27); 12733 pushFollow(FOLLOW_29);
11104 rule__QualifiedName__Group_1__0__Impl(); 12734 rule__QualifiedName__Group_1__0__Impl();
11105 12735
11106 state._fsp--; 12736 state._fsp--;
@@ -11129,21 +12759,25 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11129 12759
11130 12760
11131 // $ANTLR start "rule__QualifiedName__Group_1__0__Impl" 12761 // $ANTLR start "rule__QualifiedName__Group_1__0__Impl"
11132 // InternalProblem.g:3558:1: rule__QualifiedName__Group_1__0__Impl : ( RULE_ID ) ; 12762 // InternalProblem.g:4051:1: rule__QualifiedName__Group_1__0__Impl : ( ruleIdentifier ) ;
11133 public final void rule__QualifiedName__Group_1__0__Impl() throws RecognitionException { 12763 public final void rule__QualifiedName__Group_1__0__Impl() throws RecognitionException {
11134 12764
11135 int stackSize = keepStackSize(); 12765 int stackSize = keepStackSize();
11136 12766
11137 try { 12767 try {
11138 // InternalProblem.g:3562:1: ( ( RULE_ID ) ) 12768 // InternalProblem.g:4055:1: ( ( ruleIdentifier ) )
11139 // InternalProblem.g:3563:1: ( RULE_ID ) 12769 // InternalProblem.g:4056:1: ( ruleIdentifier )
11140 { 12770 {
11141 // InternalProblem.g:3563:1: ( RULE_ID ) 12771 // InternalProblem.g:4056:1: ( ruleIdentifier )
11142 // InternalProblem.g:3564:2: RULE_ID 12772 // InternalProblem.g:4057:2: ruleIdentifier
11143 { 12773 {
11144 before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_0()); 12774 before(grammarAccess.getQualifiedNameAccess().getIdentifierParserRuleCall_1_0());
11145 match(input,RULE_ID,FOLLOW_2); 12775 pushFollow(FOLLOW_2);
11146 after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_0()); 12776 ruleIdentifier();
12777
12778 state._fsp--;
12779
12780 after(grammarAccess.getQualifiedNameAccess().getIdentifierParserRuleCall_1_0());
11147 12781
11148 } 12782 }
11149 12783
@@ -11166,16 +12800,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11166 12800
11167 12801
11168 // $ANTLR start "rule__QualifiedName__Group_1__1" 12802 // $ANTLR start "rule__QualifiedName__Group_1__1"
11169 // InternalProblem.g:3573:1: rule__QualifiedName__Group_1__1 : rule__QualifiedName__Group_1__1__Impl rule__QualifiedName__Group_1__2 ; 12803 // InternalProblem.g:4066:1: rule__QualifiedName__Group_1__1 : rule__QualifiedName__Group_1__1__Impl rule__QualifiedName__Group_1__2 ;
11170 public final void rule__QualifiedName__Group_1__1() throws RecognitionException { 12804 public final void rule__QualifiedName__Group_1__1() throws RecognitionException {
11171 12805
11172 int stackSize = keepStackSize(); 12806 int stackSize = keepStackSize();
11173 12807
11174 try { 12808 try {
11175 // InternalProblem.g:3577:1: ( rule__QualifiedName__Group_1__1__Impl rule__QualifiedName__Group_1__2 ) 12809 // InternalProblem.g:4070:1: ( rule__QualifiedName__Group_1__1__Impl rule__QualifiedName__Group_1__2 )
11176 // InternalProblem.g:3578:2: rule__QualifiedName__Group_1__1__Impl rule__QualifiedName__Group_1__2 12810 // InternalProblem.g:4071:2: rule__QualifiedName__Group_1__1__Impl rule__QualifiedName__Group_1__2
11177 { 12811 {
11178 pushFollow(FOLLOW_27); 12812 pushFollow(FOLLOW_29);
11179 rule__QualifiedName__Group_1__1__Impl(); 12813 rule__QualifiedName__Group_1__1__Impl();
11180 12814
11181 state._fsp--; 12815 state._fsp--;
@@ -11204,41 +12838,41 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11204 12838
11205 12839
11206 // $ANTLR start "rule__QualifiedName__Group_1__1__Impl" 12840 // $ANTLR start "rule__QualifiedName__Group_1__1__Impl"
11207 // InternalProblem.g:3585:1: rule__QualifiedName__Group_1__1__Impl : ( ( rule__QualifiedName__Group_1_1__0 )* ) ; 12841 // InternalProblem.g:4078:1: rule__QualifiedName__Group_1__1__Impl : ( ( rule__QualifiedName__Group_1_1__0 )* ) ;
11208 public final void rule__QualifiedName__Group_1__1__Impl() throws RecognitionException { 12842 public final void rule__QualifiedName__Group_1__1__Impl() throws RecognitionException {
11209 12843
11210 int stackSize = keepStackSize(); 12844 int stackSize = keepStackSize();
11211 12845
11212 try { 12846 try {
11213 // InternalProblem.g:3589:1: ( ( ( rule__QualifiedName__Group_1_1__0 )* ) ) 12847 // InternalProblem.g:4082:1: ( ( ( rule__QualifiedName__Group_1_1__0 )* ) )
11214 // InternalProblem.g:3590:1: ( ( rule__QualifiedName__Group_1_1__0 )* ) 12848 // InternalProblem.g:4083:1: ( ( rule__QualifiedName__Group_1_1__0 )* )
11215 { 12849 {
11216 // InternalProblem.g:3590:1: ( ( rule__QualifiedName__Group_1_1__0 )* ) 12850 // InternalProblem.g:4083:1: ( ( rule__QualifiedName__Group_1_1__0 )* )
11217 // InternalProblem.g:3591:2: ( rule__QualifiedName__Group_1_1__0 )* 12851 // InternalProblem.g:4084:2: ( rule__QualifiedName__Group_1_1__0 )*
11218 { 12852 {
11219 before(grammarAccess.getQualifiedNameAccess().getGroup_1_1()); 12853 before(grammarAccess.getQualifiedNameAccess().getGroup_1_1());
11220 // InternalProblem.g:3592:2: ( rule__QualifiedName__Group_1_1__0 )* 12854 // InternalProblem.g:4085:2: ( rule__QualifiedName__Group_1_1__0 )*
11221 loop38: 12855 loop47:
11222 do { 12856 do {
11223 int alt38=2; 12857 int alt47=2;
11224 int LA38_0 = input.LA(1); 12858 int LA47_0 = input.LA(1);
11225 12859
11226 if ( (LA38_0==35) ) { 12860 if ( (LA47_0==36) ) {
11227 int LA38_1 = input.LA(2); 12861 int LA47_1 = input.LA(2);
11228 12862
11229 if ( (LA38_1==RULE_ID) ) { 12863 if ( (LA47_1==RULE_ID||(LA47_1>=19 && LA47_1<=20)) ) {
11230 alt38=1; 12864 alt47=1;
11231 } 12865 }
11232 12866
11233 12867
11234 } 12868 }
11235 12869
11236 12870
11237 switch (alt38) { 12871 switch (alt47) {
11238 case 1 : 12872 case 1 :
11239 // InternalProblem.g:3592:3: rule__QualifiedName__Group_1_1__0 12873 // InternalProblem.g:4085:3: rule__QualifiedName__Group_1_1__0
11240 { 12874 {
11241 pushFollow(FOLLOW_34); 12875 pushFollow(FOLLOW_37);
11242 rule__QualifiedName__Group_1_1__0(); 12876 rule__QualifiedName__Group_1_1__0();
11243 12877
11244 state._fsp--; 12878 state._fsp--;
@@ -11248,7 +12882,7 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11248 break; 12882 break;
11249 12883
11250 default : 12884 default :
11251 break loop38; 12885 break loop47;
11252 } 12886 }
11253 } while (true); 12887 } while (true);
11254 12888
@@ -11275,14 +12909,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11275 12909
11276 12910
11277 // $ANTLR start "rule__QualifiedName__Group_1__2" 12911 // $ANTLR start "rule__QualifiedName__Group_1__2"
11278 // InternalProblem.g:3600:1: rule__QualifiedName__Group_1__2 : rule__QualifiedName__Group_1__2__Impl ; 12912 // InternalProblem.g:4093:1: rule__QualifiedName__Group_1__2 : rule__QualifiedName__Group_1__2__Impl ;
11279 public final void rule__QualifiedName__Group_1__2() throws RecognitionException { 12913 public final void rule__QualifiedName__Group_1__2() throws RecognitionException {
11280 12914
11281 int stackSize = keepStackSize(); 12915 int stackSize = keepStackSize();
11282 12916
11283 try { 12917 try {
11284 // InternalProblem.g:3604:1: ( rule__QualifiedName__Group_1__2__Impl ) 12918 // InternalProblem.g:4097:1: ( rule__QualifiedName__Group_1__2__Impl )
11285 // InternalProblem.g:3605:2: rule__QualifiedName__Group_1__2__Impl 12919 // InternalProblem.g:4098:2: rule__QualifiedName__Group_1__2__Impl
11286 { 12920 {
11287 pushFollow(FOLLOW_2); 12921 pushFollow(FOLLOW_2);
11288 rule__QualifiedName__Group_1__2__Impl(); 12922 rule__QualifiedName__Group_1__2__Impl();
@@ -11308,29 +12942,29 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11308 12942
11309 12943
11310 // $ANTLR start "rule__QualifiedName__Group_1__2__Impl" 12944 // $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 )? ) ; 12945 // InternalProblem.g:4104: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 { 12946 public final void rule__QualifiedName__Group_1__2__Impl() throws RecognitionException {
11313 12947
11314 int stackSize = keepStackSize(); 12948 int stackSize = keepStackSize();
11315 12949
11316 try { 12950 try {
11317 // InternalProblem.g:3615:1: ( ( ( rule__QualifiedName__Group_1_2__0 )? ) ) 12951 // InternalProblem.g:4108:1: ( ( ( rule__QualifiedName__Group_1_2__0 )? ) )
11318 // InternalProblem.g:3616:1: ( ( rule__QualifiedName__Group_1_2__0 )? ) 12952 // InternalProblem.g:4109:1: ( ( rule__QualifiedName__Group_1_2__0 )? )
11319 { 12953 {
11320 // InternalProblem.g:3616:1: ( ( rule__QualifiedName__Group_1_2__0 )? ) 12954 // InternalProblem.g:4109:1: ( ( rule__QualifiedName__Group_1_2__0 )? )
11321 // InternalProblem.g:3617:2: ( rule__QualifiedName__Group_1_2__0 )? 12955 // InternalProblem.g:4110:2: ( rule__QualifiedName__Group_1_2__0 )?
11322 { 12956 {
11323 before(grammarAccess.getQualifiedNameAccess().getGroup_1_2()); 12957 before(grammarAccess.getQualifiedNameAccess().getGroup_1_2());
11324 // InternalProblem.g:3618:2: ( rule__QualifiedName__Group_1_2__0 )? 12958 // InternalProblem.g:4111:2: ( rule__QualifiedName__Group_1_2__0 )?
11325 int alt39=2; 12959 int alt48=2;
11326 int LA39_0 = input.LA(1); 12960 int LA48_0 = input.LA(1);
11327 12961
11328 if ( (LA39_0==35) ) { 12962 if ( (LA48_0==36) ) {
11329 alt39=1; 12963 alt48=1;
11330 } 12964 }
11331 switch (alt39) { 12965 switch (alt48) {
11332 case 1 : 12966 case 1 :
11333 // InternalProblem.g:3618:3: rule__QualifiedName__Group_1_2__0 12967 // InternalProblem.g:4111:3: rule__QualifiedName__Group_1_2__0
11334 { 12968 {
11335 pushFollow(FOLLOW_2); 12969 pushFollow(FOLLOW_2);
11336 rule__QualifiedName__Group_1_2__0(); 12970 rule__QualifiedName__Group_1_2__0();
@@ -11366,14 +13000,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11366 13000
11367 13001
11368 // $ANTLR start "rule__QualifiedName__Group_1_1__0" 13002 // $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 ; 13003 // InternalProblem.g:4120: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 { 13004 public final void rule__QualifiedName__Group_1_1__0() throws RecognitionException {
11371 13005
11372 int stackSize = keepStackSize(); 13006 int stackSize = keepStackSize();
11373 13007
11374 try { 13008 try {
11375 // InternalProblem.g:3631:1: ( rule__QualifiedName__Group_1_1__0__Impl rule__QualifiedName__Group_1_1__1 ) 13009 // InternalProblem.g:4124: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 13010 // InternalProblem.g:4125:2: rule__QualifiedName__Group_1_1__0__Impl rule__QualifiedName__Group_1_1__1
11377 { 13011 {
11378 pushFollow(FOLLOW_5); 13012 pushFollow(FOLLOW_5);
11379 rule__QualifiedName__Group_1_1__0__Impl(); 13013 rule__QualifiedName__Group_1_1__0__Impl();
@@ -11404,20 +13038,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11404 13038
11405 13039
11406 // $ANTLR start "rule__QualifiedName__Group_1_1__0__Impl" 13040 // $ANTLR start "rule__QualifiedName__Group_1_1__0__Impl"
11407 // InternalProblem.g:3639:1: rule__QualifiedName__Group_1_1__0__Impl : ( ':' ) ; 13041 // InternalProblem.g:4132:1: rule__QualifiedName__Group_1_1__0__Impl : ( ':' ) ;
11408 public final void rule__QualifiedName__Group_1_1__0__Impl() throws RecognitionException { 13042 public final void rule__QualifiedName__Group_1_1__0__Impl() throws RecognitionException {
11409 13043
11410 int stackSize = keepStackSize(); 13044 int stackSize = keepStackSize();
11411 13045
11412 try { 13046 try {
11413 // InternalProblem.g:3643:1: ( ( ':' ) ) 13047 // InternalProblem.g:4136:1: ( ( ':' ) )
11414 // InternalProblem.g:3644:1: ( ':' ) 13048 // InternalProblem.g:4137:1: ( ':' )
11415 { 13049 {
11416 // InternalProblem.g:3644:1: ( ':' ) 13050 // InternalProblem.g:4137:1: ( ':' )
11417 // InternalProblem.g:3645:2: ':' 13051 // InternalProblem.g:4138:2: ':'
11418 { 13052 {
11419 before(grammarAccess.getQualifiedNameAccess().getColonKeyword_1_1_0()); 13053 before(grammarAccess.getQualifiedNameAccess().getColonKeyword_1_1_0());
11420 match(input,35,FOLLOW_2); 13054 match(input,36,FOLLOW_2);
11421 after(grammarAccess.getQualifiedNameAccess().getColonKeyword_1_1_0()); 13055 after(grammarAccess.getQualifiedNameAccess().getColonKeyword_1_1_0());
11422 13056
11423 } 13057 }
@@ -11441,14 +13075,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11441 13075
11442 13076
11443 // $ANTLR start "rule__QualifiedName__Group_1_1__1" 13077 // $ANTLR start "rule__QualifiedName__Group_1_1__1"
11444 // InternalProblem.g:3654:1: rule__QualifiedName__Group_1_1__1 : rule__QualifiedName__Group_1_1__1__Impl ; 13078 // InternalProblem.g:4147:1: rule__QualifiedName__Group_1_1__1 : rule__QualifiedName__Group_1_1__1__Impl ;
11445 public final void rule__QualifiedName__Group_1_1__1() throws RecognitionException { 13079 public final void rule__QualifiedName__Group_1_1__1() throws RecognitionException {
11446 13080
11447 int stackSize = keepStackSize(); 13081 int stackSize = keepStackSize();
11448 13082
11449 try { 13083 try {
11450 // InternalProblem.g:3658:1: ( rule__QualifiedName__Group_1_1__1__Impl ) 13084 // InternalProblem.g:4151:1: ( rule__QualifiedName__Group_1_1__1__Impl )
11451 // InternalProblem.g:3659:2: rule__QualifiedName__Group_1_1__1__Impl 13085 // InternalProblem.g:4152:2: rule__QualifiedName__Group_1_1__1__Impl
11452 { 13086 {
11453 pushFollow(FOLLOW_2); 13087 pushFollow(FOLLOW_2);
11454 rule__QualifiedName__Group_1_1__1__Impl(); 13088 rule__QualifiedName__Group_1_1__1__Impl();
@@ -11474,21 +13108,25 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11474 13108
11475 13109
11476 // $ANTLR start "rule__QualifiedName__Group_1_1__1__Impl" 13110 // $ANTLR start "rule__QualifiedName__Group_1_1__1__Impl"
11477 // InternalProblem.g:3665:1: rule__QualifiedName__Group_1_1__1__Impl : ( RULE_ID ) ; 13111 // InternalProblem.g:4158:1: rule__QualifiedName__Group_1_1__1__Impl : ( ruleIdentifier ) ;
11478 public final void rule__QualifiedName__Group_1_1__1__Impl() throws RecognitionException { 13112 public final void rule__QualifiedName__Group_1_1__1__Impl() throws RecognitionException {
11479 13113
11480 int stackSize = keepStackSize(); 13114 int stackSize = keepStackSize();
11481 13115
11482 try { 13116 try {
11483 // InternalProblem.g:3669:1: ( ( RULE_ID ) ) 13117 // InternalProblem.g:4162:1: ( ( ruleIdentifier ) )
11484 // InternalProblem.g:3670:1: ( RULE_ID ) 13118 // InternalProblem.g:4163:1: ( ruleIdentifier )
11485 { 13119 {
11486 // InternalProblem.g:3670:1: ( RULE_ID ) 13120 // InternalProblem.g:4163:1: ( ruleIdentifier )
11487 // InternalProblem.g:3671:2: RULE_ID 13121 // InternalProblem.g:4164:2: ruleIdentifier
11488 { 13122 {
11489 before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1_1()); 13123 before(grammarAccess.getQualifiedNameAccess().getIdentifierParserRuleCall_1_1_1());
11490 match(input,RULE_ID,FOLLOW_2); 13124 pushFollow(FOLLOW_2);
11491 after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1_1()); 13125 ruleIdentifier();
13126
13127 state._fsp--;
13128
13129 after(grammarAccess.getQualifiedNameAccess().getIdentifierParserRuleCall_1_1_1());
11492 13130
11493 } 13131 }
11494 13132
@@ -11511,16 +13149,16 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11511 13149
11512 13150
11513 // $ANTLR start "rule__QualifiedName__Group_1_2__0" 13151 // $ANTLR start "rule__QualifiedName__Group_1_2__0"
11514 // InternalProblem.g:3681:1: rule__QualifiedName__Group_1_2__0 : rule__QualifiedName__Group_1_2__0__Impl rule__QualifiedName__Group_1_2__1 ; 13152 // InternalProblem.g:4174:1: rule__QualifiedName__Group_1_2__0 : rule__QualifiedName__Group_1_2__0__Impl rule__QualifiedName__Group_1_2__1 ;
11515 public final void rule__QualifiedName__Group_1_2__0() throws RecognitionException { 13153 public final void rule__QualifiedName__Group_1_2__0() throws RecognitionException {
11516 13154
11517 int stackSize = keepStackSize(); 13155 int stackSize = keepStackSize();
11518 13156
11519 try { 13157 try {
11520 // InternalProblem.g:3685:1: ( rule__QualifiedName__Group_1_2__0__Impl rule__QualifiedName__Group_1_2__1 ) 13158 // InternalProblem.g:4178:1: ( rule__QualifiedName__Group_1_2__0__Impl rule__QualifiedName__Group_1_2__1 )
11521 // InternalProblem.g:3686:2: rule__QualifiedName__Group_1_2__0__Impl rule__QualifiedName__Group_1_2__1 13159 // InternalProblem.g:4179:2: rule__QualifiedName__Group_1_2__0__Impl rule__QualifiedName__Group_1_2__1
11522 { 13160 {
11523 pushFollow(FOLLOW_35); 13161 pushFollow(FOLLOW_38);
11524 rule__QualifiedName__Group_1_2__0__Impl(); 13162 rule__QualifiedName__Group_1_2__0__Impl();
11525 13163
11526 state._fsp--; 13164 state._fsp--;
@@ -11549,20 +13187,20 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11549 13187
11550 13188
11551 // $ANTLR start "rule__QualifiedName__Group_1_2__0__Impl" 13189 // $ANTLR start "rule__QualifiedName__Group_1_2__0__Impl"
11552 // InternalProblem.g:3693:1: rule__QualifiedName__Group_1_2__0__Impl : ( ':' ) ; 13190 // InternalProblem.g:4186:1: rule__QualifiedName__Group_1_2__0__Impl : ( ':' ) ;
11553 public final void rule__QualifiedName__Group_1_2__0__Impl() throws RecognitionException { 13191 public final void rule__QualifiedName__Group_1_2__0__Impl() throws RecognitionException {
11554 13192
11555 int stackSize = keepStackSize(); 13193 int stackSize = keepStackSize();
11556 13194
11557 try { 13195 try {
11558 // InternalProblem.g:3697:1: ( ( ':' ) ) 13196 // InternalProblem.g:4190:1: ( ( ':' ) )
11559 // InternalProblem.g:3698:1: ( ':' ) 13197 // InternalProblem.g:4191:1: ( ':' )
11560 { 13198 {
11561 // InternalProblem.g:3698:1: ( ':' ) 13199 // InternalProblem.g:4191:1: ( ':' )
11562 // InternalProblem.g:3699:2: ':' 13200 // InternalProblem.g:4192:2: ':'
11563 { 13201 {
11564 before(grammarAccess.getQualifiedNameAccess().getColonKeyword_1_2_0()); 13202 before(grammarAccess.getQualifiedNameAccess().getColonKeyword_1_2_0());
11565 match(input,35,FOLLOW_2); 13203 match(input,36,FOLLOW_2);
11566 after(grammarAccess.getQualifiedNameAccess().getColonKeyword_1_2_0()); 13204 after(grammarAccess.getQualifiedNameAccess().getColonKeyword_1_2_0());
11567 13205
11568 } 13206 }
@@ -11586,14 +13224,14 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11586 13224
11587 13225
11588 // $ANTLR start "rule__QualifiedName__Group_1_2__1" 13226 // $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 ; 13227 // InternalProblem.g:4201: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 { 13228 public final void rule__QualifiedName__Group_1_2__1() throws RecognitionException {
11591 13229
11592 int stackSize = keepStackSize(); 13230 int stackSize = keepStackSize();
11593 13231
11594 try { 13232 try {
11595 // InternalProblem.g:3712:1: ( rule__QualifiedName__Group_1_2__1__Impl ) 13233 // InternalProblem.g:4205:1: ( rule__QualifiedName__Group_1_2__1__Impl )
11596 // InternalProblem.g:3713:2: rule__QualifiedName__Group_1_2__1__Impl 13234 // InternalProblem.g:4206:2: rule__QualifiedName__Group_1_2__1__Impl
11597 { 13235 {
11598 pushFollow(FOLLOW_2); 13236 pushFollow(FOLLOW_2);
11599 rule__QualifiedName__Group_1_2__1__Impl(); 13237 rule__QualifiedName__Group_1_2__1__Impl();
@@ -11619,17 +13257,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11619 13257
11620 13258
11621 // $ANTLR start "rule__QualifiedName__Group_1_2__1__Impl" 13259 // $ANTLR start "rule__QualifiedName__Group_1_2__1__Impl"
11622 // InternalProblem.g:3719:1: rule__QualifiedName__Group_1_2__1__Impl : ( RULE_QUOTED_ID ) ; 13260 // InternalProblem.g:4212:1: rule__QualifiedName__Group_1_2__1__Impl : ( RULE_QUOTED_ID ) ;
11623 public final void rule__QualifiedName__Group_1_2__1__Impl() throws RecognitionException { 13261 public final void rule__QualifiedName__Group_1_2__1__Impl() throws RecognitionException {
11624 13262
11625 int stackSize = keepStackSize(); 13263 int stackSize = keepStackSize();
11626 13264
11627 try { 13265 try {
11628 // InternalProblem.g:3723:1: ( ( RULE_QUOTED_ID ) ) 13266 // InternalProblem.g:4216:1: ( ( RULE_QUOTED_ID ) )
11629 // InternalProblem.g:3724:1: ( RULE_QUOTED_ID ) 13267 // InternalProblem.g:4217:1: ( RULE_QUOTED_ID )
11630 { 13268 {
11631 // InternalProblem.g:3724:1: ( RULE_QUOTED_ID ) 13269 // InternalProblem.g:4217:1: ( RULE_QUOTED_ID )
11632 // InternalProblem.g:3725:2: RULE_QUOTED_ID 13270 // InternalProblem.g:4218:2: RULE_QUOTED_ID
11633 { 13271 {
11634 before(grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1_2_1()); 13272 before(grammarAccess.getQualifiedNameAccess().getQUOTED_IDTerminalRuleCall_1_2_1());
11635 match(input,RULE_QUOTED_ID,FOLLOW_2); 13273 match(input,RULE_QUOTED_ID,FOLLOW_2);
@@ -11656,21 +13294,25 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11656 13294
11657 13295
11658 // $ANTLR start "rule__Problem__NameAssignment_0_1" 13296 // $ANTLR start "rule__Problem__NameAssignment_0_1"
11659 // InternalProblem.g:3735:1: rule__Problem__NameAssignment_0_1 : ( RULE_ID ) ; 13297 // InternalProblem.g:4228:1: rule__Problem__NameAssignment_0_1 : ( ruleIdentifier ) ;
11660 public final void rule__Problem__NameAssignment_0_1() throws RecognitionException { 13298 public final void rule__Problem__NameAssignment_0_1() throws RecognitionException {
11661 13299
11662 int stackSize = keepStackSize(); 13300 int stackSize = keepStackSize();
11663 13301
11664 try { 13302 try {
11665 // InternalProblem.g:3739:1: ( ( RULE_ID ) ) 13303 // InternalProblem.g:4232:1: ( ( ruleIdentifier ) )
11666 // InternalProblem.g:3740:2: ( RULE_ID ) 13304 // InternalProblem.g:4233:2: ( ruleIdentifier )
11667 { 13305 {
11668 // InternalProblem.g:3740:2: ( RULE_ID ) 13306 // InternalProblem.g:4233:2: ( ruleIdentifier )
11669 // InternalProblem.g:3741:3: RULE_ID 13307 // InternalProblem.g:4234:3: ruleIdentifier
11670 { 13308 {
11671 before(grammarAccess.getProblemAccess().getNameIDTerminalRuleCall_0_1_0()); 13309 before(grammarAccess.getProblemAccess().getNameIdentifierParserRuleCall_0_1_0());
11672 match(input,RULE_ID,FOLLOW_2); 13310 pushFollow(FOLLOW_2);
11673 after(grammarAccess.getProblemAccess().getNameIDTerminalRuleCall_0_1_0()); 13311 ruleIdentifier();
13312
13313 state._fsp--;
13314
13315 after(grammarAccess.getProblemAccess().getNameIdentifierParserRuleCall_0_1_0());
11674 13316
11675 } 13317 }
11676 13318
@@ -11693,17 +13335,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11693 13335
11694 13336
11695 // $ANTLR start "rule__Problem__StatementsAssignment_1" 13337 // $ANTLR start "rule__Problem__StatementsAssignment_1"
11696 // InternalProblem.g:3750:1: rule__Problem__StatementsAssignment_1 : ( ruleStatement ) ; 13338 // InternalProblem.g:4243:1: rule__Problem__StatementsAssignment_1 : ( ruleStatement ) ;
11697 public final void rule__Problem__StatementsAssignment_1() throws RecognitionException { 13339 public final void rule__Problem__StatementsAssignment_1() throws RecognitionException {
11698 13340
11699 int stackSize = keepStackSize(); 13341 int stackSize = keepStackSize();
11700 13342
11701 try { 13343 try {
11702 // InternalProblem.g:3754:1: ( ( ruleStatement ) ) 13344 // InternalProblem.g:4247:1: ( ( ruleStatement ) )
11703 // InternalProblem.g:3755:2: ( ruleStatement ) 13345 // InternalProblem.g:4248:2: ( ruleStatement )
11704 { 13346 {
11705 // InternalProblem.g:3755:2: ( ruleStatement ) 13347 // InternalProblem.g:4248:2: ( ruleStatement )
11706 // InternalProblem.g:3756:3: ruleStatement 13348 // InternalProblem.g:4249:3: ruleStatement
11707 { 13349 {
11708 before(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_1_0()); 13350 before(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_1_0());
11709 pushFollow(FOLLOW_2); 13351 pushFollow(FOLLOW_2);
@@ -11734,24 +13376,24 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11734 13376
11735 13377
11736 // $ANTLR start "rule__ClassDeclaration__AbstractAssignment_0" 13378 // $ANTLR start "rule__ClassDeclaration__AbstractAssignment_0"
11737 // InternalProblem.g:3765:1: rule__ClassDeclaration__AbstractAssignment_0 : ( ( 'abstract' ) ) ; 13379 // InternalProblem.g:4258:1: rule__ClassDeclaration__AbstractAssignment_0 : ( ( 'abstract' ) ) ;
11738 public final void rule__ClassDeclaration__AbstractAssignment_0() throws RecognitionException { 13380 public final void rule__ClassDeclaration__AbstractAssignment_0() throws RecognitionException {
11739 13381
11740 int stackSize = keepStackSize(); 13382 int stackSize = keepStackSize();
11741 13383
11742 try { 13384 try {
11743 // InternalProblem.g:3769:1: ( ( ( 'abstract' ) ) ) 13385 // InternalProblem.g:4262:1: ( ( ( 'abstract' ) ) )
11744 // InternalProblem.g:3770:2: ( ( 'abstract' ) ) 13386 // InternalProblem.g:4263:2: ( ( 'abstract' ) )
11745 { 13387 {
11746 // InternalProblem.g:3770:2: ( ( 'abstract' ) ) 13388 // InternalProblem.g:4263:2: ( ( 'abstract' ) )
11747 // InternalProblem.g:3771:3: ( 'abstract' ) 13389 // InternalProblem.g:4264:3: ( 'abstract' )
11748 { 13390 {
11749 before(grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0()); 13391 before(grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0());
11750 // InternalProblem.g:3772:3: ( 'abstract' ) 13392 // InternalProblem.g:4265:3: ( 'abstract' )
11751 // InternalProblem.g:3773:4: 'abstract' 13393 // InternalProblem.g:4266:4: 'abstract'
11752 { 13394 {
11753 before(grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0()); 13395 before(grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0());
11754 match(input,38,FOLLOW_2); 13396 match(input,39,FOLLOW_2);
11755 after(grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0()); 13397 after(grammarAccess.getClassDeclarationAccess().getAbstractAbstractKeyword_0_0());
11756 13398
11757 } 13399 }
@@ -11779,21 +13421,25 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11779 13421
11780 13422
11781 // $ANTLR start "rule__ClassDeclaration__NameAssignment_2" 13423 // $ANTLR start "rule__ClassDeclaration__NameAssignment_2"
11782 // InternalProblem.g:3784:1: rule__ClassDeclaration__NameAssignment_2 : ( RULE_ID ) ; 13424 // InternalProblem.g:4277:1: rule__ClassDeclaration__NameAssignment_2 : ( ruleIdentifier ) ;
11783 public final void rule__ClassDeclaration__NameAssignment_2() throws RecognitionException { 13425 public final void rule__ClassDeclaration__NameAssignment_2() throws RecognitionException {
11784 13426
11785 int stackSize = keepStackSize(); 13427 int stackSize = keepStackSize();
11786 13428
11787 try { 13429 try {
11788 // InternalProblem.g:3788:1: ( ( RULE_ID ) ) 13430 // InternalProblem.g:4281:1: ( ( ruleIdentifier ) )
11789 // InternalProblem.g:3789:2: ( RULE_ID ) 13431 // InternalProblem.g:4282:2: ( ruleIdentifier )
11790 { 13432 {
11791 // InternalProblem.g:3789:2: ( RULE_ID ) 13433 // InternalProblem.g:4282:2: ( ruleIdentifier )
11792 // InternalProblem.g:3790:3: RULE_ID 13434 // InternalProblem.g:4283:3: ruleIdentifier
11793 { 13435 {
11794 before(grammarAccess.getClassDeclarationAccess().getNameIDTerminalRuleCall_2_0()); 13436 before(grammarAccess.getClassDeclarationAccess().getNameIdentifierParserRuleCall_2_0());
11795 match(input,RULE_ID,FOLLOW_2); 13437 pushFollow(FOLLOW_2);
11796 after(grammarAccess.getClassDeclarationAccess().getNameIDTerminalRuleCall_2_0()); 13438 ruleIdentifier();
13439
13440 state._fsp--;
13441
13442 after(grammarAccess.getClassDeclarationAccess().getNameIdentifierParserRuleCall_2_0());
11797 13443
11798 } 13444 }
11799 13445
@@ -11816,33 +13462,33 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11816 13462
11817 13463
11818 // $ANTLR start "rule__ClassDeclaration__SuperTypesAssignment_3_1" 13464 // $ANTLR start "rule__ClassDeclaration__SuperTypesAssignment_3_1"
11819 // InternalProblem.g:3799:1: rule__ClassDeclaration__SuperTypesAssignment_3_1 : ( ( ruleQualifiedName ) ) ; 13465 // InternalProblem.g:4292:1: rule__ClassDeclaration__SuperTypesAssignment_3_1 : ( ( ruleQualifiedName ) ) ;
11820 public final void rule__ClassDeclaration__SuperTypesAssignment_3_1() throws RecognitionException { 13466 public final void rule__ClassDeclaration__SuperTypesAssignment_3_1() throws RecognitionException {
11821 13467
11822 int stackSize = keepStackSize(); 13468 int stackSize = keepStackSize();
11823 13469
11824 try { 13470 try {
11825 // InternalProblem.g:3803:1: ( ( ( ruleQualifiedName ) ) ) 13471 // InternalProblem.g:4296:1: ( ( ( ruleQualifiedName ) ) )
11826 // InternalProblem.g:3804:2: ( ( ruleQualifiedName ) ) 13472 // InternalProblem.g:4297:2: ( ( ruleQualifiedName ) )
11827 { 13473 {
11828 // InternalProblem.g:3804:2: ( ( ruleQualifiedName ) ) 13474 // InternalProblem.g:4297:2: ( ( ruleQualifiedName ) )
11829 // InternalProblem.g:3805:3: ( ruleQualifiedName ) 13475 // InternalProblem.g:4298:3: ( ruleQualifiedName )
11830 { 13476 {
11831 before(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_1_0()); 13477 before(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationCrossReference_3_1_0());
11832 // InternalProblem.g:3806:3: ( ruleQualifiedName ) 13478 // InternalProblem.g:4299:3: ( ruleQualifiedName )
11833 // InternalProblem.g:3807:4: ruleQualifiedName 13479 // InternalProblem.g:4300:4: ruleQualifiedName
11834 { 13480 {
11835 before(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationQualifiedNameParserRuleCall_3_1_0_1()); 13481 before(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationQualifiedNameParserRuleCall_3_1_0_1());
11836 pushFollow(FOLLOW_2); 13482 pushFollow(FOLLOW_2);
11837 ruleQualifiedName(); 13483 ruleQualifiedName();
11838 13484
11839 state._fsp--; 13485 state._fsp--;
11840 13486
11841 after(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationQualifiedNameParserRuleCall_3_1_0_1()); 13487 after(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationQualifiedNameParserRuleCall_3_1_0_1());
11842 13488
11843 } 13489 }
11844 13490
11845 after(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_1_0()); 13491 after(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationCrossReference_3_1_0());
11846 13492
11847 } 13493 }
11848 13494
@@ -11865,33 +13511,33 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11865 13511
11866 13512
11867 // $ANTLR start "rule__ClassDeclaration__SuperTypesAssignment_3_2_1" 13513 // $ANTLR start "rule__ClassDeclaration__SuperTypesAssignment_3_2_1"
11868 // InternalProblem.g:3818:1: rule__ClassDeclaration__SuperTypesAssignment_3_2_1 : ( ( ruleQualifiedName ) ) ; 13514 // InternalProblem.g:4311:1: rule__ClassDeclaration__SuperTypesAssignment_3_2_1 : ( ( ruleQualifiedName ) ) ;
11869 public final void rule__ClassDeclaration__SuperTypesAssignment_3_2_1() throws RecognitionException { 13515 public final void rule__ClassDeclaration__SuperTypesAssignment_3_2_1() throws RecognitionException {
11870 13516
11871 int stackSize = keepStackSize(); 13517 int stackSize = keepStackSize();
11872 13518
11873 try { 13519 try {
11874 // InternalProblem.g:3822:1: ( ( ( ruleQualifiedName ) ) ) 13520 // InternalProblem.g:4315:1: ( ( ( ruleQualifiedName ) ) )
11875 // InternalProblem.g:3823:2: ( ( ruleQualifiedName ) ) 13521 // InternalProblem.g:4316:2: ( ( ruleQualifiedName ) )
11876 { 13522 {
11877 // InternalProblem.g:3823:2: ( ( ruleQualifiedName ) ) 13523 // InternalProblem.g:4316:2: ( ( ruleQualifiedName ) )
11878 // InternalProblem.g:3824:3: ( ruleQualifiedName ) 13524 // InternalProblem.g:4317:3: ( ruleQualifiedName )
11879 { 13525 {
11880 before(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_2_1_0()); 13526 before(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationCrossReference_3_2_1_0());
11881 // InternalProblem.g:3825:3: ( ruleQualifiedName ) 13527 // InternalProblem.g:4318:3: ( ruleQualifiedName )
11882 // InternalProblem.g:3826:4: ruleQualifiedName 13528 // InternalProblem.g:4319:4: ruleQualifiedName
11883 { 13529 {
11884 before(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationQualifiedNameParserRuleCall_3_2_1_0_1()); 13530 before(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationQualifiedNameParserRuleCall_3_2_1_0_1());
11885 pushFollow(FOLLOW_2); 13531 pushFollow(FOLLOW_2);
11886 ruleQualifiedName(); 13532 ruleQualifiedName();
11887 13533
11888 state._fsp--; 13534 state._fsp--;
11889 13535
11890 after(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationQualifiedNameParserRuleCall_3_2_1_0_1()); 13536 after(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationQualifiedNameParserRuleCall_3_2_1_0_1());
11891 13537
11892 } 13538 }
11893 13539
11894 after(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_2_1_0()); 13540 after(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationCrossReference_3_2_1_0());
11895 13541
11896 } 13542 }
11897 13543
@@ -11914,17 +13560,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11914 13560
11915 13561
11916 // $ANTLR start "rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0" 13562 // $ANTLR start "rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0"
11917 // InternalProblem.g:3837:1: rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0 : ( ruleReferenceDeclaration ) ; 13563 // InternalProblem.g:4330:1: rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0 : ( ruleReferenceDeclaration ) ;
11918 public final void rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0() throws RecognitionException { 13564 public final void rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0() throws RecognitionException {
11919 13565
11920 int stackSize = keepStackSize(); 13566 int stackSize = keepStackSize();
11921 13567
11922 try { 13568 try {
11923 // InternalProblem.g:3841:1: ( ( ruleReferenceDeclaration ) ) 13569 // InternalProblem.g:4334:1: ( ( ruleReferenceDeclaration ) )
11924 // InternalProblem.g:3842:2: ( ruleReferenceDeclaration ) 13570 // InternalProblem.g:4335:2: ( ruleReferenceDeclaration )
11925 { 13571 {
11926 // InternalProblem.g:3842:2: ( ruleReferenceDeclaration ) 13572 // InternalProblem.g:4335:2: ( ruleReferenceDeclaration )
11927 // InternalProblem.g:3843:3: ruleReferenceDeclaration 13573 // InternalProblem.g:4336:3: ruleReferenceDeclaration
11928 { 13574 {
11929 before(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_4_0_1_0_0()); 13575 before(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_4_0_1_0_0());
11930 pushFollow(FOLLOW_2); 13576 pushFollow(FOLLOW_2);
@@ -11954,25 +13600,189 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
11954 // $ANTLR end "rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0" 13600 // $ANTLR end "rule__ClassDeclaration__ReferenceDeclarationsAssignment_4_0_1_0"
11955 13601
11956 13602
13603 // $ANTLR start "rule__EnumDeclaration__NameAssignment_1"
13604 // InternalProblem.g:4345:1: rule__EnumDeclaration__NameAssignment_1 : ( ruleIdentifier ) ;
13605 public final void rule__EnumDeclaration__NameAssignment_1() throws RecognitionException {
13606
13607 int stackSize = keepStackSize();
13608
13609 try {
13610 // InternalProblem.g:4349:1: ( ( ruleIdentifier ) )
13611 // InternalProblem.g:4350:2: ( ruleIdentifier )
13612 {
13613 // InternalProblem.g:4350:2: ( ruleIdentifier )
13614 // InternalProblem.g:4351:3: ruleIdentifier
13615 {
13616 before(grammarAccess.getEnumDeclarationAccess().getNameIdentifierParserRuleCall_1_0());
13617 pushFollow(FOLLOW_2);
13618 ruleIdentifier();
13619
13620 state._fsp--;
13621
13622 after(grammarAccess.getEnumDeclarationAccess().getNameIdentifierParserRuleCall_1_0());
13623
13624 }
13625
13626
13627 }
13628
13629 }
13630 catch (RecognitionException re) {
13631 reportError(re);
13632 recover(input,re);
13633 }
13634 finally {
13635
13636 restoreStackSize(stackSize);
13637
13638 }
13639 return ;
13640 }
13641 // $ANTLR end "rule__EnumDeclaration__NameAssignment_1"
13642
13643
13644 // $ANTLR start "rule__EnumDeclaration__LiteralsAssignment_2_0_1_0"
13645 // InternalProblem.g:4360:1: rule__EnumDeclaration__LiteralsAssignment_2_0_1_0 : ( ruleEnumLiteral ) ;
13646 public final void rule__EnumDeclaration__LiteralsAssignment_2_0_1_0() throws RecognitionException {
13647
13648 int stackSize = keepStackSize();
13649
13650 try {
13651 // InternalProblem.g:4364:1: ( ( ruleEnumLiteral ) )
13652 // InternalProblem.g:4365:2: ( ruleEnumLiteral )
13653 {
13654 // InternalProblem.g:4365:2: ( ruleEnumLiteral )
13655 // InternalProblem.g:4366:3: ruleEnumLiteral
13656 {
13657 before(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_0_0());
13658 pushFollow(FOLLOW_2);
13659 ruleEnumLiteral();
13660
13661 state._fsp--;
13662
13663 after(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_0_0());
13664
13665 }
13666
13667
13668 }
13669
13670 }
13671 catch (RecognitionException re) {
13672 reportError(re);
13673 recover(input,re);
13674 }
13675 finally {
13676
13677 restoreStackSize(stackSize);
13678
13679 }
13680 return ;
13681 }
13682 // $ANTLR end "rule__EnumDeclaration__LiteralsAssignment_2_0_1_0"
13683
13684
13685 // $ANTLR start "rule__EnumDeclaration__LiteralsAssignment_2_0_1_1_1"
13686 // InternalProblem.g:4375:1: rule__EnumDeclaration__LiteralsAssignment_2_0_1_1_1 : ( ruleEnumLiteral ) ;
13687 public final void rule__EnumDeclaration__LiteralsAssignment_2_0_1_1_1() throws RecognitionException {
13688
13689 int stackSize = keepStackSize();
13690
13691 try {
13692 // InternalProblem.g:4379:1: ( ( ruleEnumLiteral ) )
13693 // InternalProblem.g:4380:2: ( ruleEnumLiteral )
13694 {
13695 // InternalProblem.g:4380:2: ( ruleEnumLiteral )
13696 // InternalProblem.g:4381:3: ruleEnumLiteral
13697 {
13698 before(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0());
13699 pushFollow(FOLLOW_2);
13700 ruleEnumLiteral();
13701
13702 state._fsp--;
13703
13704 after(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0());
13705
13706 }
13707
13708
13709 }
13710
13711 }
13712 catch (RecognitionException re) {
13713 reportError(re);
13714 recover(input,re);
13715 }
13716 finally {
13717
13718 restoreStackSize(stackSize);
13719
13720 }
13721 return ;
13722 }
13723 // $ANTLR end "rule__EnumDeclaration__LiteralsAssignment_2_0_1_1_1"
13724
13725
13726 // $ANTLR start "rule__EnumLiteral__NameAssignment"
13727 // InternalProblem.g:4390:1: rule__EnumLiteral__NameAssignment : ( ruleQuotedOrUnquotedId ) ;
13728 public final void rule__EnumLiteral__NameAssignment() throws RecognitionException {
13729
13730 int stackSize = keepStackSize();
13731
13732 try {
13733 // InternalProblem.g:4394:1: ( ( ruleQuotedOrUnquotedId ) )
13734 // InternalProblem.g:4395:2: ( ruleQuotedOrUnquotedId )
13735 {
13736 // InternalProblem.g:4395:2: ( ruleQuotedOrUnquotedId )
13737 // InternalProblem.g:4396:3: ruleQuotedOrUnquotedId
13738 {
13739 before(grammarAccess.getEnumLiteralAccess().getNameQuotedOrUnquotedIdParserRuleCall_0());
13740 pushFollow(FOLLOW_2);
13741 ruleQuotedOrUnquotedId();
13742
13743 state._fsp--;
13744
13745 after(grammarAccess.getEnumLiteralAccess().getNameQuotedOrUnquotedIdParserRuleCall_0());
13746
13747 }
13748
13749
13750 }
13751
13752 }
13753 catch (RecognitionException re) {
13754 reportError(re);
13755 recover(input,re);
13756 }
13757 finally {
13758
13759 restoreStackSize(stackSize);
13760
13761 }
13762 return ;
13763 }
13764 // $ANTLR end "rule__EnumLiteral__NameAssignment"
13765
13766
11957 // $ANTLR start "rule__ReferenceDeclaration__ContainmentAssignment_0_0" 13767 // $ANTLR start "rule__ReferenceDeclaration__ContainmentAssignment_0_0"
11958 // InternalProblem.g:3852:1: rule__ReferenceDeclaration__ContainmentAssignment_0_0 : ( ( 'contains' ) ) ; 13768 // InternalProblem.g:4405:1: rule__ReferenceDeclaration__ContainmentAssignment_0_0 : ( ( 'contains' ) ) ;
11959 public final void rule__ReferenceDeclaration__ContainmentAssignment_0_0() throws RecognitionException { 13769 public final void rule__ReferenceDeclaration__ContainmentAssignment_0_0() throws RecognitionException {
11960 13770
11961 int stackSize = keepStackSize(); 13771 int stackSize = keepStackSize();
11962 13772
11963 try { 13773 try {
11964 // InternalProblem.g:3856:1: ( ( ( 'contains' ) ) ) 13774 // InternalProblem.g:4409:1: ( ( ( 'contains' ) ) )
11965 // InternalProblem.g:3857:2: ( ( 'contains' ) ) 13775 // InternalProblem.g:4410:2: ( ( 'contains' ) )
11966 { 13776 {
11967 // InternalProblem.g:3857:2: ( ( 'contains' ) ) 13777 // InternalProblem.g:4410:2: ( ( 'contains' ) )
11968 // InternalProblem.g:3858:3: ( 'contains' ) 13778 // InternalProblem.g:4411:3: ( 'contains' )
11969 { 13779 {
11970 before(grammarAccess.getReferenceDeclarationAccess().getContainmentContainsKeyword_0_0_0()); 13780 before(grammarAccess.getReferenceDeclarationAccess().getContainmentContainsKeyword_0_0_0());
11971 // InternalProblem.g:3859:3: ( 'contains' ) 13781 // InternalProblem.g:4412:3: ( 'contains' )
11972 // InternalProblem.g:3860:4: 'contains' 13782 // InternalProblem.g:4413:4: 'contains'
11973 { 13783 {
11974 before(grammarAccess.getReferenceDeclarationAccess().getContainmentContainsKeyword_0_0_0()); 13784 before(grammarAccess.getReferenceDeclarationAccess().getContainmentContainsKeyword_0_0_0());
11975 match(input,39,FOLLOW_2); 13785 match(input,40,FOLLOW_2);
11976 after(grammarAccess.getReferenceDeclarationAccess().getContainmentContainsKeyword_0_0_0()); 13786 after(grammarAccess.getReferenceDeclarationAccess().getContainmentContainsKeyword_0_0_0());
11977 13787
11978 } 13788 }
@@ -12000,33 +13810,33 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12000 13810
12001 13811
12002 // $ANTLR start "rule__ReferenceDeclaration__ReferenceTypeAssignment_1" 13812 // $ANTLR start "rule__ReferenceDeclaration__ReferenceTypeAssignment_1"
12003 // InternalProblem.g:3871:1: rule__ReferenceDeclaration__ReferenceTypeAssignment_1 : ( ( ruleQualifiedName ) ) ; 13813 // InternalProblem.g:4424:1: rule__ReferenceDeclaration__ReferenceTypeAssignment_1 : ( ( ruleQualifiedName ) ) ;
12004 public final void rule__ReferenceDeclaration__ReferenceTypeAssignment_1() throws RecognitionException { 13814 public final void rule__ReferenceDeclaration__ReferenceTypeAssignment_1() throws RecognitionException {
12005 13815
12006 int stackSize = keepStackSize(); 13816 int stackSize = keepStackSize();
12007 13817
12008 try { 13818 try {
12009 // InternalProblem.g:3875:1: ( ( ( ruleQualifiedName ) ) ) 13819 // InternalProblem.g:4428:1: ( ( ( ruleQualifiedName ) ) )
12010 // InternalProblem.g:3876:2: ( ( ruleQualifiedName ) ) 13820 // InternalProblem.g:4429:2: ( ( ruleQualifiedName ) )
12011 { 13821 {
12012 // InternalProblem.g:3876:2: ( ( ruleQualifiedName ) ) 13822 // InternalProblem.g:4429:2: ( ( ruleQualifiedName ) )
12013 // InternalProblem.g:3877:3: ( ruleQualifiedName ) 13823 // InternalProblem.g:4430:3: ( ruleQualifiedName )
12014 { 13824 {
12015 before(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeClassDeclarationCrossReference_1_0()); 13825 before(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeRelationCrossReference_1_0());
12016 // InternalProblem.g:3878:3: ( ruleQualifiedName ) 13826 // InternalProblem.g:4431:3: ( ruleQualifiedName )
12017 // InternalProblem.g:3879:4: ruleQualifiedName 13827 // InternalProblem.g:4432:4: ruleQualifiedName
12018 { 13828 {
12019 before(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeClassDeclarationQualifiedNameParserRuleCall_1_0_1()); 13829 before(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeRelationQualifiedNameParserRuleCall_1_0_1());
12020 pushFollow(FOLLOW_2); 13830 pushFollow(FOLLOW_2);
12021 ruleQualifiedName(); 13831 ruleQualifiedName();
12022 13832
12023 state._fsp--; 13833 state._fsp--;
12024 13834
12025 after(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeClassDeclarationQualifiedNameParserRuleCall_1_0_1()); 13835 after(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeRelationQualifiedNameParserRuleCall_1_0_1());
12026 13836
12027 } 13837 }
12028 13838
12029 after(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeClassDeclarationCrossReference_1_0()); 13839 after(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeRelationCrossReference_1_0());
12030 13840
12031 } 13841 }
12032 13842
@@ -12049,17 +13859,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12049 13859
12050 13860
12051 // $ANTLR start "rule__ReferenceDeclaration__MultiplicityAssignment_2_1" 13861 // $ANTLR start "rule__ReferenceDeclaration__MultiplicityAssignment_2_1"
12052 // InternalProblem.g:3890:1: rule__ReferenceDeclaration__MultiplicityAssignment_2_1 : ( ruleMultiplicity ) ; 13862 // InternalProblem.g:4443:1: rule__ReferenceDeclaration__MultiplicityAssignment_2_1 : ( ruleMultiplicity ) ;
12053 public final void rule__ReferenceDeclaration__MultiplicityAssignment_2_1() throws RecognitionException { 13863 public final void rule__ReferenceDeclaration__MultiplicityAssignment_2_1() throws RecognitionException {
12054 13864
12055 int stackSize = keepStackSize(); 13865 int stackSize = keepStackSize();
12056 13866
12057 try { 13867 try {
12058 // InternalProblem.g:3894:1: ( ( ruleMultiplicity ) ) 13868 // InternalProblem.g:4447:1: ( ( ruleMultiplicity ) )
12059 // InternalProblem.g:3895:2: ( ruleMultiplicity ) 13869 // InternalProblem.g:4448:2: ( ruleMultiplicity )
12060 { 13870 {
12061 // InternalProblem.g:3895:2: ( ruleMultiplicity ) 13871 // InternalProblem.g:4448:2: ( ruleMultiplicity )
12062 // InternalProblem.g:3896:3: ruleMultiplicity 13872 // InternalProblem.g:4449:3: ruleMultiplicity
12063 { 13873 {
12064 before(grammarAccess.getReferenceDeclarationAccess().getMultiplicityMultiplicityParserRuleCall_2_1_0()); 13874 before(grammarAccess.getReferenceDeclarationAccess().getMultiplicityMultiplicityParserRuleCall_2_1_0());
12065 pushFollow(FOLLOW_2); 13875 pushFollow(FOLLOW_2);
@@ -12090,21 +13900,25 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12090 13900
12091 13901
12092 // $ANTLR start "rule__ReferenceDeclaration__NameAssignment_3" 13902 // $ANTLR start "rule__ReferenceDeclaration__NameAssignment_3"
12093 // InternalProblem.g:3905:1: rule__ReferenceDeclaration__NameAssignment_3 : ( RULE_ID ) ; 13903 // InternalProblem.g:4458:1: rule__ReferenceDeclaration__NameAssignment_3 : ( ruleIdentifier ) ;
12094 public final void rule__ReferenceDeclaration__NameAssignment_3() throws RecognitionException { 13904 public final void rule__ReferenceDeclaration__NameAssignment_3() throws RecognitionException {
12095 13905
12096 int stackSize = keepStackSize(); 13906 int stackSize = keepStackSize();
12097 13907
12098 try { 13908 try {
12099 // InternalProblem.g:3909:1: ( ( RULE_ID ) ) 13909 // InternalProblem.g:4462:1: ( ( ruleIdentifier ) )
12100 // InternalProblem.g:3910:2: ( RULE_ID ) 13910 // InternalProblem.g:4463:2: ( ruleIdentifier )
12101 { 13911 {
12102 // InternalProblem.g:3910:2: ( RULE_ID ) 13912 // InternalProblem.g:4463:2: ( ruleIdentifier )
12103 // InternalProblem.g:3911:3: RULE_ID 13913 // InternalProblem.g:4464:3: ruleIdentifier
12104 { 13914 {
12105 before(grammarAccess.getReferenceDeclarationAccess().getNameIDTerminalRuleCall_3_0()); 13915 before(grammarAccess.getReferenceDeclarationAccess().getNameIdentifierParserRuleCall_3_0());
12106 match(input,RULE_ID,FOLLOW_2); 13916 pushFollow(FOLLOW_2);
12107 after(grammarAccess.getReferenceDeclarationAccess().getNameIDTerminalRuleCall_3_0()); 13917 ruleIdentifier();
13918
13919 state._fsp--;
13920
13921 after(grammarAccess.getReferenceDeclarationAccess().getNameIdentifierParserRuleCall_3_0());
12108 13922
12109 } 13923 }
12110 13924
@@ -12127,21 +13941,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12127 13941
12128 13942
12129 // $ANTLR start "rule__ReferenceDeclaration__OppositeAssignment_4_1" 13943 // $ANTLR start "rule__ReferenceDeclaration__OppositeAssignment_4_1"
12130 // InternalProblem.g:3920:1: rule__ReferenceDeclaration__OppositeAssignment_4_1 : ( ( ruleQualifiedName ) ) ; 13944 // InternalProblem.g:4473:1: rule__ReferenceDeclaration__OppositeAssignment_4_1 : ( ( ruleQualifiedName ) ) ;
12131 public final void rule__ReferenceDeclaration__OppositeAssignment_4_1() throws RecognitionException { 13945 public final void rule__ReferenceDeclaration__OppositeAssignment_4_1() throws RecognitionException {
12132 13946
12133 int stackSize = keepStackSize(); 13947 int stackSize = keepStackSize();
12134 13948
12135 try { 13949 try {
12136 // InternalProblem.g:3924:1: ( ( ( ruleQualifiedName ) ) ) 13950 // InternalProblem.g:4477:1: ( ( ( ruleQualifiedName ) ) )
12137 // InternalProblem.g:3925:2: ( ( ruleQualifiedName ) ) 13951 // InternalProblem.g:4478:2: ( ( ruleQualifiedName ) )
12138 { 13952 {
12139 // InternalProblem.g:3925:2: ( ( ruleQualifiedName ) ) 13953 // InternalProblem.g:4478:2: ( ( ruleQualifiedName ) )
12140 // InternalProblem.g:3926:3: ( ruleQualifiedName ) 13954 // InternalProblem.g:4479:3: ( ruleQualifiedName )
12141 { 13955 {
12142 before(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationCrossReference_4_1_0()); 13956 before(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationCrossReference_4_1_0());
12143 // InternalProblem.g:3927:3: ( ruleQualifiedName ) 13957 // InternalProblem.g:4480:3: ( ruleQualifiedName )
12144 // InternalProblem.g:3928:4: ruleQualifiedName 13958 // InternalProblem.g:4481:4: ruleQualifiedName
12145 { 13959 {
12146 before(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationQualifiedNameParserRuleCall_4_1_0_1()); 13960 before(grammarAccess.getReferenceDeclarationAccess().getOppositeReferenceDeclarationQualifiedNameParserRuleCall_4_1_0_1());
12147 pushFollow(FOLLOW_2); 13961 pushFollow(FOLLOW_2);
@@ -12176,24 +13990,24 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12176 13990
12177 13991
12178 // $ANTLR start "rule__PredicateDefinition__ErrorAssignment_0_0_0" 13992 // $ANTLR start "rule__PredicateDefinition__ErrorAssignment_0_0_0"
12179 // InternalProblem.g:3939:1: rule__PredicateDefinition__ErrorAssignment_0_0_0 : ( ( 'error' ) ) ; 13993 // InternalProblem.g:4492:1: rule__PredicateDefinition__ErrorAssignment_0_0_0 : ( ( 'error' ) ) ;
12180 public final void rule__PredicateDefinition__ErrorAssignment_0_0_0() throws RecognitionException { 13994 public final void rule__PredicateDefinition__ErrorAssignment_0_0_0() throws RecognitionException {
12181 13995
12182 int stackSize = keepStackSize(); 13996 int stackSize = keepStackSize();
12183 13997
12184 try { 13998 try {
12185 // InternalProblem.g:3943:1: ( ( ( 'error' ) ) ) 13999 // InternalProblem.g:4496:1: ( ( ( 'error' ) ) )
12186 // InternalProblem.g:3944:2: ( ( 'error' ) ) 14000 // InternalProblem.g:4497:2: ( ( 'error' ) )
12187 { 14001 {
12188 // InternalProblem.g:3944:2: ( ( 'error' ) ) 14002 // InternalProblem.g:4497:2: ( ( 'error' ) )
12189 // InternalProblem.g:3945:3: ( 'error' ) 14003 // InternalProblem.g:4498:3: ( 'error' )
12190 { 14004 {
12191 before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_0_0()); 14005 before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_0_0());
12192 // InternalProblem.g:3946:3: ( 'error' ) 14006 // InternalProblem.g:4499:3: ( 'error' )
12193 // InternalProblem.g:3947:4: 'error' 14007 // InternalProblem.g:4500:4: 'error'
12194 { 14008 {
12195 before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_0_0()); 14009 before(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_0_0());
12196 match(input,40,FOLLOW_2); 14010 match(input,41,FOLLOW_2);
12197 after(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_0_0()); 14011 after(grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_0_0());
12198 14012
12199 } 14013 }
@@ -12221,21 +14035,25 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12221 14035
12222 14036
12223 // $ANTLR start "rule__PredicateDefinition__NameAssignment_1" 14037 // $ANTLR start "rule__PredicateDefinition__NameAssignment_1"
12224 // InternalProblem.g:3958:1: rule__PredicateDefinition__NameAssignment_1 : ( RULE_ID ) ; 14038 // InternalProblem.g:4511:1: rule__PredicateDefinition__NameAssignment_1 : ( ruleIdentifier ) ;
12225 public final void rule__PredicateDefinition__NameAssignment_1() throws RecognitionException { 14039 public final void rule__PredicateDefinition__NameAssignment_1() throws RecognitionException {
12226 14040
12227 int stackSize = keepStackSize(); 14041 int stackSize = keepStackSize();
12228 14042
12229 try { 14043 try {
12230 // InternalProblem.g:3962:1: ( ( RULE_ID ) ) 14044 // InternalProblem.g:4515:1: ( ( ruleIdentifier ) )
12231 // InternalProblem.g:3963:2: ( RULE_ID ) 14045 // InternalProblem.g:4516:2: ( ruleIdentifier )
12232 { 14046 {
12233 // InternalProblem.g:3963:2: ( RULE_ID ) 14047 // InternalProblem.g:4516:2: ( ruleIdentifier )
12234 // InternalProblem.g:3964:3: RULE_ID 14048 // InternalProblem.g:4517:3: ruleIdentifier
12235 { 14049 {
12236 before(grammarAccess.getPredicateDefinitionAccess().getNameIDTerminalRuleCall_1_0()); 14050 before(grammarAccess.getPredicateDefinitionAccess().getNameIdentifierParserRuleCall_1_0());
12237 match(input,RULE_ID,FOLLOW_2); 14051 pushFollow(FOLLOW_2);
12238 after(grammarAccess.getPredicateDefinitionAccess().getNameIDTerminalRuleCall_1_0()); 14052 ruleIdentifier();
14053
14054 state._fsp--;
14055
14056 after(grammarAccess.getPredicateDefinitionAccess().getNameIdentifierParserRuleCall_1_0());
12239 14057
12240 } 14058 }
12241 14059
@@ -12258,17 +14076,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12258 14076
12259 14077
12260 // $ANTLR start "rule__PredicateDefinition__ParametersAssignment_3_0" 14078 // $ANTLR start "rule__PredicateDefinition__ParametersAssignment_3_0"
12261 // InternalProblem.g:3973:1: rule__PredicateDefinition__ParametersAssignment_3_0 : ( ruleParameter ) ; 14079 // InternalProblem.g:4526:1: rule__PredicateDefinition__ParametersAssignment_3_0 : ( ruleParameter ) ;
12262 public final void rule__PredicateDefinition__ParametersAssignment_3_0() throws RecognitionException { 14080 public final void rule__PredicateDefinition__ParametersAssignment_3_0() throws RecognitionException {
12263 14081
12264 int stackSize = keepStackSize(); 14082 int stackSize = keepStackSize();
12265 14083
12266 try { 14084 try {
12267 // InternalProblem.g:3977:1: ( ( ruleParameter ) ) 14085 // InternalProblem.g:4530:1: ( ( ruleParameter ) )
12268 // InternalProblem.g:3978:2: ( ruleParameter ) 14086 // InternalProblem.g:4531:2: ( ruleParameter )
12269 { 14087 {
12270 // InternalProblem.g:3978:2: ( ruleParameter ) 14088 // InternalProblem.g:4531:2: ( ruleParameter )
12271 // InternalProblem.g:3979:3: ruleParameter 14089 // InternalProblem.g:4532:3: ruleParameter
12272 { 14090 {
12273 before(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_0_0()); 14091 before(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_0_0());
12274 pushFollow(FOLLOW_2); 14092 pushFollow(FOLLOW_2);
@@ -12299,17 +14117,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12299 14117
12300 14118
12301 // $ANTLR start "rule__PredicateDefinition__ParametersAssignment_3_1_1" 14119 // $ANTLR start "rule__PredicateDefinition__ParametersAssignment_3_1_1"
12302 // InternalProblem.g:3988:1: rule__PredicateDefinition__ParametersAssignment_3_1_1 : ( ruleParameter ) ; 14120 // InternalProblem.g:4541:1: rule__PredicateDefinition__ParametersAssignment_3_1_1 : ( ruleParameter ) ;
12303 public final void rule__PredicateDefinition__ParametersAssignment_3_1_1() throws RecognitionException { 14121 public final void rule__PredicateDefinition__ParametersAssignment_3_1_1() throws RecognitionException {
12304 14122
12305 int stackSize = keepStackSize(); 14123 int stackSize = keepStackSize();
12306 14124
12307 try { 14125 try {
12308 // InternalProblem.g:3992:1: ( ( ruleParameter ) ) 14126 // InternalProblem.g:4545:1: ( ( ruleParameter ) )
12309 // InternalProblem.g:3993:2: ( ruleParameter ) 14127 // InternalProblem.g:4546:2: ( ruleParameter )
12310 { 14128 {
12311 // InternalProblem.g:3993:2: ( ruleParameter ) 14129 // InternalProblem.g:4546:2: ( ruleParameter )
12312 // InternalProblem.g:3994:3: ruleParameter 14130 // InternalProblem.g:4547:3: ruleParameter
12313 { 14131 {
12314 before(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_1_1_0()); 14132 before(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_1_1_0());
12315 pushFollow(FOLLOW_2); 14133 pushFollow(FOLLOW_2);
@@ -12340,17 +14158,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12340 14158
12341 14159
12342 // $ANTLR start "rule__PredicateDefinition__BodiesAssignment_5_1" 14160 // $ANTLR start "rule__PredicateDefinition__BodiesAssignment_5_1"
12343 // InternalProblem.g:4003:1: rule__PredicateDefinition__BodiesAssignment_5_1 : ( ruleConjunction ) ; 14161 // InternalProblem.g:4556:1: rule__PredicateDefinition__BodiesAssignment_5_1 : ( ruleConjunction ) ;
12344 public final void rule__PredicateDefinition__BodiesAssignment_5_1() throws RecognitionException { 14162 public final void rule__PredicateDefinition__BodiesAssignment_5_1() throws RecognitionException {
12345 14163
12346 int stackSize = keepStackSize(); 14164 int stackSize = keepStackSize();
12347 14165
12348 try { 14166 try {
12349 // InternalProblem.g:4007:1: ( ( ruleConjunction ) ) 14167 // InternalProblem.g:4560:1: ( ( ruleConjunction ) )
12350 // InternalProblem.g:4008:2: ( ruleConjunction ) 14168 // InternalProblem.g:4561:2: ( ruleConjunction )
12351 { 14169 {
12352 // InternalProblem.g:4008:2: ( ruleConjunction ) 14170 // InternalProblem.g:4561:2: ( ruleConjunction )
12353 // InternalProblem.g:4009:3: ruleConjunction 14171 // InternalProblem.g:4562:3: ruleConjunction
12354 { 14172 {
12355 before(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_1_0()); 14173 before(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_1_0());
12356 pushFollow(FOLLOW_2); 14174 pushFollow(FOLLOW_2);
@@ -12381,17 +14199,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12381 14199
12382 14200
12383 // $ANTLR start "rule__PredicateDefinition__BodiesAssignment_5_2_1" 14201 // $ANTLR start "rule__PredicateDefinition__BodiesAssignment_5_2_1"
12384 // InternalProblem.g:4018:1: rule__PredicateDefinition__BodiesAssignment_5_2_1 : ( ruleConjunction ) ; 14202 // InternalProblem.g:4571:1: rule__PredicateDefinition__BodiesAssignment_5_2_1 : ( ruleConjunction ) ;
12385 public final void rule__PredicateDefinition__BodiesAssignment_5_2_1() throws RecognitionException { 14203 public final void rule__PredicateDefinition__BodiesAssignment_5_2_1() throws RecognitionException {
12386 14204
12387 int stackSize = keepStackSize(); 14205 int stackSize = keepStackSize();
12388 14206
12389 try { 14207 try {
12390 // InternalProblem.g:4022:1: ( ( ruleConjunction ) ) 14208 // InternalProblem.g:4575:1: ( ( ruleConjunction ) )
12391 // InternalProblem.g:4023:2: ( ruleConjunction ) 14209 // InternalProblem.g:4576:2: ( ruleConjunction )
12392 { 14210 {
12393 // InternalProblem.g:4023:2: ( ruleConjunction ) 14211 // InternalProblem.g:4576:2: ( ruleConjunction )
12394 // InternalProblem.g:4024:3: ruleConjunction 14212 // InternalProblem.g:4577:3: ruleConjunction
12395 { 14213 {
12396 before(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_2_1_0()); 14214 before(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_2_1_0());
12397 pushFollow(FOLLOW_2); 14215 pushFollow(FOLLOW_2);
@@ -12422,29 +14240,33 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12422 14240
12423 14241
12424 // $ANTLR start "rule__Parameter__ParameterTypeAssignment_0" 14242 // $ANTLR start "rule__Parameter__ParameterTypeAssignment_0"
12425 // InternalProblem.g:4033:1: rule__Parameter__ParameterTypeAssignment_0 : ( ( RULE_ID ) ) ; 14243 // InternalProblem.g:4586:1: rule__Parameter__ParameterTypeAssignment_0 : ( ( ruleQualifiedName ) ) ;
12426 public final void rule__Parameter__ParameterTypeAssignment_0() throws RecognitionException { 14244 public final void rule__Parameter__ParameterTypeAssignment_0() throws RecognitionException {
12427 14245
12428 int stackSize = keepStackSize(); 14246 int stackSize = keepStackSize();
12429 14247
12430 try { 14248 try {
12431 // InternalProblem.g:4037:1: ( ( ( RULE_ID ) ) ) 14249 // InternalProblem.g:4590:1: ( ( ( ruleQualifiedName ) ) )
12432 // InternalProblem.g:4038:2: ( ( RULE_ID ) ) 14250 // InternalProblem.g:4591:2: ( ( ruleQualifiedName ) )
12433 { 14251 {
12434 // InternalProblem.g:4038:2: ( ( RULE_ID ) ) 14252 // InternalProblem.g:4591:2: ( ( ruleQualifiedName ) )
12435 // InternalProblem.g:4039:3: ( RULE_ID ) 14253 // InternalProblem.g:4592:3: ( ruleQualifiedName )
12436 { 14254 {
12437 before(grammarAccess.getParameterAccess().getParameterTypeClassDeclarationCrossReference_0_0()); 14255 before(grammarAccess.getParameterAccess().getParameterTypeRelationCrossReference_0_0());
12438 // InternalProblem.g:4040:3: ( RULE_ID ) 14256 // InternalProblem.g:4593:3: ( ruleQualifiedName )
12439 // InternalProblem.g:4041:4: RULE_ID 14257 // InternalProblem.g:4594:4: ruleQualifiedName
12440 { 14258 {
12441 before(grammarAccess.getParameterAccess().getParameterTypeClassDeclarationIDTerminalRuleCall_0_0_1()); 14259 before(grammarAccess.getParameterAccess().getParameterTypeRelationQualifiedNameParserRuleCall_0_0_1());
12442 match(input,RULE_ID,FOLLOW_2); 14260 pushFollow(FOLLOW_2);
12443 after(grammarAccess.getParameterAccess().getParameterTypeClassDeclarationIDTerminalRuleCall_0_0_1()); 14261 ruleQualifiedName();
14262
14263 state._fsp--;
14264
14265 after(grammarAccess.getParameterAccess().getParameterTypeRelationQualifiedNameParserRuleCall_0_0_1());
12444 14266
12445 } 14267 }
12446 14268
12447 after(grammarAccess.getParameterAccess().getParameterTypeClassDeclarationCrossReference_0_0()); 14269 after(grammarAccess.getParameterAccess().getParameterTypeRelationCrossReference_0_0());
12448 14270
12449 } 14271 }
12450 14272
@@ -12467,21 +14289,25 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12467 14289
12468 14290
12469 // $ANTLR start "rule__Parameter__NameAssignment_1" 14291 // $ANTLR start "rule__Parameter__NameAssignment_1"
12470 // InternalProblem.g:4052:1: rule__Parameter__NameAssignment_1 : ( RULE_ID ) ; 14292 // InternalProblem.g:4605:1: rule__Parameter__NameAssignment_1 : ( ruleIdentifier ) ;
12471 public final void rule__Parameter__NameAssignment_1() throws RecognitionException { 14293 public final void rule__Parameter__NameAssignment_1() throws RecognitionException {
12472 14294
12473 int stackSize = keepStackSize(); 14295 int stackSize = keepStackSize();
12474 14296
12475 try { 14297 try {
12476 // InternalProblem.g:4056:1: ( ( RULE_ID ) ) 14298 // InternalProblem.g:4609:1: ( ( ruleIdentifier ) )
12477 // InternalProblem.g:4057:2: ( RULE_ID ) 14299 // InternalProblem.g:4610:2: ( ruleIdentifier )
12478 { 14300 {
12479 // InternalProblem.g:4057:2: ( RULE_ID ) 14301 // InternalProblem.g:4610:2: ( ruleIdentifier )
12480 // InternalProblem.g:4058:3: RULE_ID 14302 // InternalProblem.g:4611:3: ruleIdentifier
12481 { 14303 {
12482 before(grammarAccess.getParameterAccess().getNameIDTerminalRuleCall_1_0()); 14304 before(grammarAccess.getParameterAccess().getNameIdentifierParserRuleCall_1_0());
12483 match(input,RULE_ID,FOLLOW_2); 14305 pushFollow(FOLLOW_2);
12484 after(grammarAccess.getParameterAccess().getNameIDTerminalRuleCall_1_0()); 14306 ruleIdentifier();
14307
14308 state._fsp--;
14309
14310 after(grammarAccess.getParameterAccess().getNameIdentifierParserRuleCall_1_0());
12485 14311
12486 } 14312 }
12487 14313
@@ -12504,17 +14330,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12504 14330
12505 14331
12506 // $ANTLR start "rule__Conjunction__LiteralsAssignment_0" 14332 // $ANTLR start "rule__Conjunction__LiteralsAssignment_0"
12507 // InternalProblem.g:4067:1: rule__Conjunction__LiteralsAssignment_0 : ( ruleLiteral ) ; 14333 // InternalProblem.g:4620:1: rule__Conjunction__LiteralsAssignment_0 : ( ruleLiteral ) ;
12508 public final void rule__Conjunction__LiteralsAssignment_0() throws RecognitionException { 14334 public final void rule__Conjunction__LiteralsAssignment_0() throws RecognitionException {
12509 14335
12510 int stackSize = keepStackSize(); 14336 int stackSize = keepStackSize();
12511 14337
12512 try { 14338 try {
12513 // InternalProblem.g:4071:1: ( ( ruleLiteral ) ) 14339 // InternalProblem.g:4624:1: ( ( ruleLiteral ) )
12514 // InternalProblem.g:4072:2: ( ruleLiteral ) 14340 // InternalProblem.g:4625:2: ( ruleLiteral )
12515 { 14341 {
12516 // InternalProblem.g:4072:2: ( ruleLiteral ) 14342 // InternalProblem.g:4625:2: ( ruleLiteral )
12517 // InternalProblem.g:4073:3: ruleLiteral 14343 // InternalProblem.g:4626:3: ruleLiteral
12518 { 14344 {
12519 before(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_0_0()); 14345 before(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_0_0());
12520 pushFollow(FOLLOW_2); 14346 pushFollow(FOLLOW_2);
@@ -12545,17 +14371,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12545 14371
12546 14372
12547 // $ANTLR start "rule__Conjunction__LiteralsAssignment_1_1" 14373 // $ANTLR start "rule__Conjunction__LiteralsAssignment_1_1"
12548 // InternalProblem.g:4082:1: rule__Conjunction__LiteralsAssignment_1_1 : ( ruleLiteral ) ; 14374 // InternalProblem.g:4635:1: rule__Conjunction__LiteralsAssignment_1_1 : ( ruleLiteral ) ;
12549 public final void rule__Conjunction__LiteralsAssignment_1_1() throws RecognitionException { 14375 public final void rule__Conjunction__LiteralsAssignment_1_1() throws RecognitionException {
12550 14376
12551 int stackSize = keepStackSize(); 14377 int stackSize = keepStackSize();
12552 14378
12553 try { 14379 try {
12554 // InternalProblem.g:4086:1: ( ( ruleLiteral ) ) 14380 // InternalProblem.g:4639:1: ( ( ruleLiteral ) )
12555 // InternalProblem.g:4087:2: ( ruleLiteral ) 14381 // InternalProblem.g:4640:2: ( ruleLiteral )
12556 { 14382 {
12557 // InternalProblem.g:4087:2: ( ruleLiteral ) 14383 // InternalProblem.g:4640:2: ( ruleLiteral )
12558 // InternalProblem.g:4088:3: ruleLiteral 14384 // InternalProblem.g:4641:3: ruleLiteral
12559 { 14385 {
12560 before(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_1_1_0()); 14386 before(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_1_1_0());
12561 pushFollow(FOLLOW_2); 14387 pushFollow(FOLLOW_2);
@@ -12586,17 +14412,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12586 14412
12587 14413
12588 // $ANTLR start "rule__NegativeLiteral__AtomAssignment_1" 14414 // $ANTLR start "rule__NegativeLiteral__AtomAssignment_1"
12589 // InternalProblem.g:4097:1: rule__NegativeLiteral__AtomAssignment_1 : ( ruleAtom ) ; 14415 // InternalProblem.g:4650:1: rule__NegativeLiteral__AtomAssignment_1 : ( ruleAtom ) ;
12590 public final void rule__NegativeLiteral__AtomAssignment_1() throws RecognitionException { 14416 public final void rule__NegativeLiteral__AtomAssignment_1() throws RecognitionException {
12591 14417
12592 int stackSize = keepStackSize(); 14418 int stackSize = keepStackSize();
12593 14419
12594 try { 14420 try {
12595 // InternalProblem.g:4101:1: ( ( ruleAtom ) ) 14421 // InternalProblem.g:4654:1: ( ( ruleAtom ) )
12596 // InternalProblem.g:4102:2: ( ruleAtom ) 14422 // InternalProblem.g:4655:2: ( ruleAtom )
12597 { 14423 {
12598 // InternalProblem.g:4102:2: ( ruleAtom ) 14424 // InternalProblem.g:4655:2: ( ruleAtom )
12599 // InternalProblem.g:4103:3: ruleAtom 14425 // InternalProblem.g:4656:3: ruleAtom
12600 { 14426 {
12601 before(grammarAccess.getNegativeLiteralAccess().getAtomAtomParserRuleCall_1_0()); 14427 before(grammarAccess.getNegativeLiteralAccess().getAtomAtomParserRuleCall_1_0());
12602 pushFollow(FOLLOW_2); 14428 pushFollow(FOLLOW_2);
@@ -12627,21 +14453,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12627 14453
12628 14454
12629 // $ANTLR start "rule__Atom__RelationAssignment_0" 14455 // $ANTLR start "rule__Atom__RelationAssignment_0"
12630 // InternalProblem.g:4112:1: rule__Atom__RelationAssignment_0 : ( ( ruleQualifiedName ) ) ; 14456 // InternalProblem.g:4665:1: rule__Atom__RelationAssignment_0 : ( ( ruleQualifiedName ) ) ;
12631 public final void rule__Atom__RelationAssignment_0() throws RecognitionException { 14457 public final void rule__Atom__RelationAssignment_0() throws RecognitionException {
12632 14458
12633 int stackSize = keepStackSize(); 14459 int stackSize = keepStackSize();
12634 14460
12635 try { 14461 try {
12636 // InternalProblem.g:4116:1: ( ( ( ruleQualifiedName ) ) ) 14462 // InternalProblem.g:4669:1: ( ( ( ruleQualifiedName ) ) )
12637 // InternalProblem.g:4117:2: ( ( ruleQualifiedName ) ) 14463 // InternalProblem.g:4670:2: ( ( ruleQualifiedName ) )
12638 { 14464 {
12639 // InternalProblem.g:4117:2: ( ( ruleQualifiedName ) ) 14465 // InternalProblem.g:4670:2: ( ( ruleQualifiedName ) )
12640 // InternalProblem.g:4118:3: ( ruleQualifiedName ) 14466 // InternalProblem.g:4671:3: ( ruleQualifiedName )
12641 { 14467 {
12642 before(grammarAccess.getAtomAccess().getRelationRelationCrossReference_0_0()); 14468 before(grammarAccess.getAtomAccess().getRelationRelationCrossReference_0_0());
12643 // InternalProblem.g:4119:3: ( ruleQualifiedName ) 14469 // InternalProblem.g:4672:3: ( ruleQualifiedName )
12644 // InternalProblem.g:4120:4: ruleQualifiedName 14470 // InternalProblem.g:4673:4: ruleQualifiedName
12645 { 14471 {
12646 before(grammarAccess.getAtomAccess().getRelationRelationQualifiedNameParserRuleCall_0_0_1()); 14472 before(grammarAccess.getAtomAccess().getRelationRelationQualifiedNameParserRuleCall_0_0_1());
12647 pushFollow(FOLLOW_2); 14473 pushFollow(FOLLOW_2);
@@ -12676,24 +14502,24 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12676 14502
12677 14503
12678 // $ANTLR start "rule__Atom__TransitiveClosureAssignment_1" 14504 // $ANTLR start "rule__Atom__TransitiveClosureAssignment_1"
12679 // InternalProblem.g:4131:1: rule__Atom__TransitiveClosureAssignment_1 : ( ( '+' ) ) ; 14505 // InternalProblem.g:4684:1: rule__Atom__TransitiveClosureAssignment_1 : ( ( '+' ) ) ;
12680 public final void rule__Atom__TransitiveClosureAssignment_1() throws RecognitionException { 14506 public final void rule__Atom__TransitiveClosureAssignment_1() throws RecognitionException {
12681 14507
12682 int stackSize = keepStackSize(); 14508 int stackSize = keepStackSize();
12683 14509
12684 try { 14510 try {
12685 // InternalProblem.g:4135:1: ( ( ( '+' ) ) ) 14511 // InternalProblem.g:4688:1: ( ( ( '+' ) ) )
12686 // InternalProblem.g:4136:2: ( ( '+' ) ) 14512 // InternalProblem.g:4689:2: ( ( '+' ) )
12687 { 14513 {
12688 // InternalProblem.g:4136:2: ( ( '+' ) ) 14514 // InternalProblem.g:4689:2: ( ( '+' ) )
12689 // InternalProblem.g:4137:3: ( '+' ) 14515 // InternalProblem.g:4690:3: ( '+' )
12690 { 14516 {
12691 before(grammarAccess.getAtomAccess().getTransitiveClosurePlusSignKeyword_1_0()); 14517 before(grammarAccess.getAtomAccess().getTransitiveClosurePlusSignKeyword_1_0());
12692 // InternalProblem.g:4138:3: ( '+' ) 14518 // InternalProblem.g:4691:3: ( '+' )
12693 // InternalProblem.g:4139:4: '+' 14519 // InternalProblem.g:4692:4: '+'
12694 { 14520 {
12695 before(grammarAccess.getAtomAccess().getTransitiveClosurePlusSignKeyword_1_0()); 14521 before(grammarAccess.getAtomAccess().getTransitiveClosurePlusSignKeyword_1_0());
12696 match(input,41,FOLLOW_2); 14522 match(input,42,FOLLOW_2);
12697 after(grammarAccess.getAtomAccess().getTransitiveClosurePlusSignKeyword_1_0()); 14523 after(grammarAccess.getAtomAccess().getTransitiveClosurePlusSignKeyword_1_0());
12698 14524
12699 } 14525 }
@@ -12721,17 +14547,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12721 14547
12722 14548
12723 // $ANTLR start "rule__Atom__ArgumentsAssignment_3_0" 14549 // $ANTLR start "rule__Atom__ArgumentsAssignment_3_0"
12724 // InternalProblem.g:4150:1: rule__Atom__ArgumentsAssignment_3_0 : ( ruleArgument ) ; 14550 // InternalProblem.g:4703:1: rule__Atom__ArgumentsAssignment_3_0 : ( ruleArgument ) ;
12725 public final void rule__Atom__ArgumentsAssignment_3_0() throws RecognitionException { 14551 public final void rule__Atom__ArgumentsAssignment_3_0() throws RecognitionException {
12726 14552
12727 int stackSize = keepStackSize(); 14553 int stackSize = keepStackSize();
12728 14554
12729 try { 14555 try {
12730 // InternalProblem.g:4154:1: ( ( ruleArgument ) ) 14556 // InternalProblem.g:4707:1: ( ( ruleArgument ) )
12731 // InternalProblem.g:4155:2: ( ruleArgument ) 14557 // InternalProblem.g:4708:2: ( ruleArgument )
12732 { 14558 {
12733 // InternalProblem.g:4155:2: ( ruleArgument ) 14559 // InternalProblem.g:4708:2: ( ruleArgument )
12734 // InternalProblem.g:4156:3: ruleArgument 14560 // InternalProblem.g:4709:3: ruleArgument
12735 { 14561 {
12736 before(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_0_0()); 14562 before(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_0_0());
12737 pushFollow(FOLLOW_2); 14563 pushFollow(FOLLOW_2);
@@ -12762,17 +14588,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12762 14588
12763 14589
12764 // $ANTLR start "rule__Atom__ArgumentsAssignment_3_1_1" 14590 // $ANTLR start "rule__Atom__ArgumentsAssignment_3_1_1"
12765 // InternalProblem.g:4165:1: rule__Atom__ArgumentsAssignment_3_1_1 : ( ruleArgument ) ; 14591 // InternalProblem.g:4718:1: rule__Atom__ArgumentsAssignment_3_1_1 : ( ruleArgument ) ;
12766 public final void rule__Atom__ArgumentsAssignment_3_1_1() throws RecognitionException { 14592 public final void rule__Atom__ArgumentsAssignment_3_1_1() throws RecognitionException {
12767 14593
12768 int stackSize = keepStackSize(); 14594 int stackSize = keepStackSize();
12769 14595
12770 try { 14596 try {
12771 // InternalProblem.g:4169:1: ( ( ruleArgument ) ) 14597 // InternalProblem.g:4722:1: ( ( ruleArgument ) )
12772 // InternalProblem.g:4170:2: ( ruleArgument ) 14598 // InternalProblem.g:4723:2: ( ruleArgument )
12773 { 14599 {
12774 // InternalProblem.g:4170:2: ( ruleArgument ) 14600 // InternalProblem.g:4723:2: ( ruleArgument )
12775 // InternalProblem.g:4171:3: ruleArgument 14601 // InternalProblem.g:4724:3: ruleArgument
12776 { 14602 {
12777 before(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_1_1_0()); 14603 before(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_1_1_0());
12778 pushFollow(FOLLOW_2); 14604 pushFollow(FOLLOW_2);
@@ -12802,30 +14628,34 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12802 // $ANTLR end "rule__Atom__ArgumentsAssignment_3_1_1" 14628 // $ANTLR end "rule__Atom__ArgumentsAssignment_3_1_1"
12803 14629
12804 14630
12805 // $ANTLR start "rule__Argument__VariableAssignment" 14631 // $ANTLR start "rule__Argument__VariableOrNodeAssignment"
12806 // InternalProblem.g:4180:1: rule__Argument__VariableAssignment : ( ( RULE_ID ) ) ; 14632 // InternalProblem.g:4733:1: rule__Argument__VariableOrNodeAssignment : ( ( ruleQualifiedName ) ) ;
12807 public final void rule__Argument__VariableAssignment() throws RecognitionException { 14633 public final void rule__Argument__VariableOrNodeAssignment() throws RecognitionException {
12808 14634
12809 int stackSize = keepStackSize(); 14635 int stackSize = keepStackSize();
12810 14636
12811 try { 14637 try {
12812 // InternalProblem.g:4184:1: ( ( ( RULE_ID ) ) ) 14638 // InternalProblem.g:4737:1: ( ( ( ruleQualifiedName ) ) )
12813 // InternalProblem.g:4185:2: ( ( RULE_ID ) ) 14639 // InternalProblem.g:4738:2: ( ( ruleQualifiedName ) )
12814 { 14640 {
12815 // InternalProblem.g:4185:2: ( ( RULE_ID ) ) 14641 // InternalProblem.g:4738:2: ( ( ruleQualifiedName ) )
12816 // InternalProblem.g:4186:3: ( RULE_ID ) 14642 // InternalProblem.g:4739:3: ( ruleQualifiedName )
12817 { 14643 {
12818 before(grammarAccess.getArgumentAccess().getVariableVariableCrossReference_0()); 14644 before(grammarAccess.getArgumentAccess().getVariableOrNodeVariableOrNodeCrossReference_0());
12819 // InternalProblem.g:4187:3: ( RULE_ID ) 14645 // InternalProblem.g:4740:3: ( ruleQualifiedName )
12820 // InternalProblem.g:4188:4: RULE_ID 14646 // InternalProblem.g:4741:4: ruleQualifiedName
12821 { 14647 {
12822 before(grammarAccess.getArgumentAccess().getVariableVariableIDTerminalRuleCall_0_1()); 14648 before(grammarAccess.getArgumentAccess().getVariableOrNodeVariableOrNodeQualifiedNameParserRuleCall_0_1());
12823 match(input,RULE_ID,FOLLOW_2); 14649 pushFollow(FOLLOW_2);
12824 after(grammarAccess.getArgumentAccess().getVariableVariableIDTerminalRuleCall_0_1()); 14650 ruleQualifiedName();
14651
14652 state._fsp--;
14653
14654 after(grammarAccess.getArgumentAccess().getVariableOrNodeVariableOrNodeQualifiedNameParserRuleCall_0_1());
12825 14655
12826 } 14656 }
12827 14657
12828 after(grammarAccess.getArgumentAccess().getVariableVariableCrossReference_0()); 14658 after(grammarAccess.getArgumentAccess().getVariableOrNodeVariableOrNodeCrossReference_0());
12829 14659
12830 } 14660 }
12831 14661
@@ -12844,25 +14674,25 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12844 } 14674 }
12845 return ; 14675 return ;
12846 } 14676 }
12847 // $ANTLR end "rule__Argument__VariableAssignment" 14677 // $ANTLR end "rule__Argument__VariableOrNodeAssignment"
12848 14678
12849 14679
12850 // $ANTLR start "rule__Assertion__RelationAssignment_0_0_0" 14680 // $ANTLR start "rule__Assertion__RelationAssignment_0_0_0"
12851 // InternalProblem.g:4199:1: rule__Assertion__RelationAssignment_0_0_0 : ( ( ruleQualifiedName ) ) ; 14681 // InternalProblem.g:4752:1: rule__Assertion__RelationAssignment_0_0_0 : ( ( ruleQualifiedName ) ) ;
12852 public final void rule__Assertion__RelationAssignment_0_0_0() throws RecognitionException { 14682 public final void rule__Assertion__RelationAssignment_0_0_0() throws RecognitionException {
12853 14683
12854 int stackSize = keepStackSize(); 14684 int stackSize = keepStackSize();
12855 14685
12856 try { 14686 try {
12857 // InternalProblem.g:4203:1: ( ( ( ruleQualifiedName ) ) ) 14687 // InternalProblem.g:4756:1: ( ( ( ruleQualifiedName ) ) )
12858 // InternalProblem.g:4204:2: ( ( ruleQualifiedName ) ) 14688 // InternalProblem.g:4757:2: ( ( ruleQualifiedName ) )
12859 { 14689 {
12860 // InternalProblem.g:4204:2: ( ( ruleQualifiedName ) ) 14690 // InternalProblem.g:4757:2: ( ( ruleQualifiedName ) )
12861 // InternalProblem.g:4205:3: ( ruleQualifiedName ) 14691 // InternalProblem.g:4758:3: ( ruleQualifiedName )
12862 { 14692 {
12863 before(grammarAccess.getAssertionAccess().getRelationRelationCrossReference_0_0_0_0()); 14693 before(grammarAccess.getAssertionAccess().getRelationRelationCrossReference_0_0_0_0());
12864 // InternalProblem.g:4206:3: ( ruleQualifiedName ) 14694 // InternalProblem.g:4759:3: ( ruleQualifiedName )
12865 // InternalProblem.g:4207:4: ruleQualifiedName 14695 // InternalProblem.g:4760:4: ruleQualifiedName
12866 { 14696 {
12867 before(grammarAccess.getAssertionAccess().getRelationRelationQualifiedNameParserRuleCall_0_0_0_0_1()); 14697 before(grammarAccess.getAssertionAccess().getRelationRelationQualifiedNameParserRuleCall_0_0_0_0_1());
12868 pushFollow(FOLLOW_2); 14698 pushFollow(FOLLOW_2);
@@ -12897,21 +14727,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12897 14727
12898 14728
12899 // $ANTLR start "rule__Assertion__ArgumentsAssignment_0_0_2_0" 14729 // $ANTLR start "rule__Assertion__ArgumentsAssignment_0_0_2_0"
12900 // InternalProblem.g:4218:1: rule__Assertion__ArgumentsAssignment_0_0_2_0 : ( ( ruleQualifiedName ) ) ; 14730 // InternalProblem.g:4771:1: rule__Assertion__ArgumentsAssignment_0_0_2_0 : ( ( ruleQualifiedName ) ) ;
12901 public final void rule__Assertion__ArgumentsAssignment_0_0_2_0() throws RecognitionException { 14731 public final void rule__Assertion__ArgumentsAssignment_0_0_2_0() throws RecognitionException {
12902 14732
12903 int stackSize = keepStackSize(); 14733 int stackSize = keepStackSize();
12904 14734
12905 try { 14735 try {
12906 // InternalProblem.g:4222:1: ( ( ( ruleQualifiedName ) ) ) 14736 // InternalProblem.g:4775:1: ( ( ( ruleQualifiedName ) ) )
12907 // InternalProblem.g:4223:2: ( ( ruleQualifiedName ) ) 14737 // InternalProblem.g:4776:2: ( ( ruleQualifiedName ) )
12908 { 14738 {
12909 // InternalProblem.g:4223:2: ( ( ruleQualifiedName ) ) 14739 // InternalProblem.g:4776:2: ( ( ruleQualifiedName ) )
12910 // InternalProblem.g:4224:3: ( ruleQualifiedName ) 14740 // InternalProblem.g:4777:3: ( ruleQualifiedName )
12911 { 14741 {
12912 before(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_0_2_0_0()); 14742 before(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_0_2_0_0());
12913 // InternalProblem.g:4225:3: ( ruleQualifiedName ) 14743 // InternalProblem.g:4778:3: ( ruleQualifiedName )
12914 // InternalProblem.g:4226:4: ruleQualifiedName 14744 // InternalProblem.g:4779:4: ruleQualifiedName
12915 { 14745 {
12916 before(grammarAccess.getAssertionAccess().getArgumentsNodeQualifiedNameParserRuleCall_0_0_2_0_0_1()); 14746 before(grammarAccess.getAssertionAccess().getArgumentsNodeQualifiedNameParserRuleCall_0_0_2_0_0_1());
12917 pushFollow(FOLLOW_2); 14747 pushFollow(FOLLOW_2);
@@ -12946,21 +14776,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12946 14776
12947 14777
12948 // $ANTLR start "rule__Assertion__ArgumentsAssignment_0_0_2_1_1" 14778 // $ANTLR start "rule__Assertion__ArgumentsAssignment_0_0_2_1_1"
12949 // InternalProblem.g:4237:1: rule__Assertion__ArgumentsAssignment_0_0_2_1_1 : ( ( ruleQualifiedName ) ) ; 14779 // InternalProblem.g:4790:1: rule__Assertion__ArgumentsAssignment_0_0_2_1_1 : ( ( ruleQualifiedName ) ) ;
12950 public final void rule__Assertion__ArgumentsAssignment_0_0_2_1_1() throws RecognitionException { 14780 public final void rule__Assertion__ArgumentsAssignment_0_0_2_1_1() throws RecognitionException {
12951 14781
12952 int stackSize = keepStackSize(); 14782 int stackSize = keepStackSize();
12953 14783
12954 try { 14784 try {
12955 // InternalProblem.g:4241:1: ( ( ( ruleQualifiedName ) ) ) 14785 // InternalProblem.g:4794:1: ( ( ( ruleQualifiedName ) ) )
12956 // InternalProblem.g:4242:2: ( ( ruleQualifiedName ) ) 14786 // InternalProblem.g:4795:2: ( ( ruleQualifiedName ) )
12957 { 14787 {
12958 // InternalProblem.g:4242:2: ( ( ruleQualifiedName ) ) 14788 // InternalProblem.g:4795:2: ( ( ruleQualifiedName ) )
12959 // InternalProblem.g:4243:3: ( ruleQualifiedName ) 14789 // InternalProblem.g:4796:3: ( ruleQualifiedName )
12960 { 14790 {
12961 before(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_0_2_1_1_0()); 14791 before(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_0_2_1_1_0());
12962 // InternalProblem.g:4244:3: ( ruleQualifiedName ) 14792 // InternalProblem.g:4797:3: ( ruleQualifiedName )
12963 // InternalProblem.g:4245:4: ruleQualifiedName 14793 // InternalProblem.g:4798:4: ruleQualifiedName
12964 { 14794 {
12965 before(grammarAccess.getAssertionAccess().getArgumentsNodeQualifiedNameParserRuleCall_0_0_2_1_1_0_1()); 14795 before(grammarAccess.getAssertionAccess().getArgumentsNodeQualifiedNameParserRuleCall_0_0_2_1_1_0_1());
12966 pushFollow(FOLLOW_2); 14796 pushFollow(FOLLOW_2);
@@ -12995,17 +14825,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
12995 14825
12996 14826
12997 // $ANTLR start "rule__Assertion__ValueAssignment_0_0_5" 14827 // $ANTLR start "rule__Assertion__ValueAssignment_0_0_5"
12998 // InternalProblem.g:4256:1: rule__Assertion__ValueAssignment_0_0_5 : ( ruleLogicValue ) ; 14828 // InternalProblem.g:4809:1: rule__Assertion__ValueAssignment_0_0_5 : ( ruleLogicValue ) ;
12999 public final void rule__Assertion__ValueAssignment_0_0_5() throws RecognitionException { 14829 public final void rule__Assertion__ValueAssignment_0_0_5() throws RecognitionException {
13000 14830
13001 int stackSize = keepStackSize(); 14831 int stackSize = keepStackSize();
13002 14832
13003 try { 14833 try {
13004 // InternalProblem.g:4260:1: ( ( ruleLogicValue ) ) 14834 // InternalProblem.g:4813:1: ( ( ruleLogicValue ) )
13005 // InternalProblem.g:4261:2: ( ruleLogicValue ) 14835 // InternalProblem.g:4814:2: ( ruleLogicValue )
13006 { 14836 {
13007 // InternalProblem.g:4261:2: ( ruleLogicValue ) 14837 // InternalProblem.g:4814:2: ( ruleLogicValue )
13008 // InternalProblem.g:4262:3: ruleLogicValue 14838 // InternalProblem.g:4815:3: ruleLogicValue
13009 { 14839 {
13010 before(grammarAccess.getAssertionAccess().getValueLogicValueEnumRuleCall_0_0_5_0()); 14840 before(grammarAccess.getAssertionAccess().getValueLogicValueEnumRuleCall_0_0_5_0());
13011 pushFollow(FOLLOW_2); 14841 pushFollow(FOLLOW_2);
@@ -13036,17 +14866,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
13036 14866
13037 14867
13038 // $ANTLR start "rule__Assertion__ValueAssignment_0_1_0" 14868 // $ANTLR start "rule__Assertion__ValueAssignment_0_1_0"
13039 // InternalProblem.g:4271:1: rule__Assertion__ValueAssignment_0_1_0 : ( ruleShortLogicValue ) ; 14869 // InternalProblem.g:4824:1: rule__Assertion__ValueAssignment_0_1_0 : ( ruleShortLogicValue ) ;
13040 public final void rule__Assertion__ValueAssignment_0_1_0() throws RecognitionException { 14870 public final void rule__Assertion__ValueAssignment_0_1_0() throws RecognitionException {
13041 14871
13042 int stackSize = keepStackSize(); 14872 int stackSize = keepStackSize();
13043 14873
13044 try { 14874 try {
13045 // InternalProblem.g:4275:1: ( ( ruleShortLogicValue ) ) 14875 // InternalProblem.g:4828:1: ( ( ruleShortLogicValue ) )
13046 // InternalProblem.g:4276:2: ( ruleShortLogicValue ) 14876 // InternalProblem.g:4829:2: ( ruleShortLogicValue )
13047 { 14877 {
13048 // InternalProblem.g:4276:2: ( ruleShortLogicValue ) 14878 // InternalProblem.g:4829:2: ( ruleShortLogicValue )
13049 // InternalProblem.g:4277:3: ruleShortLogicValue 14879 // InternalProblem.g:4830:3: ruleShortLogicValue
13050 { 14880 {
13051 before(grammarAccess.getAssertionAccess().getValueShortLogicValueEnumRuleCall_0_1_0_0()); 14881 before(grammarAccess.getAssertionAccess().getValueShortLogicValueEnumRuleCall_0_1_0_0());
13052 pushFollow(FOLLOW_2); 14882 pushFollow(FOLLOW_2);
@@ -13077,21 +14907,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
13077 14907
13078 14908
13079 // $ANTLR start "rule__Assertion__RelationAssignment_0_1_1" 14909 // $ANTLR start "rule__Assertion__RelationAssignment_0_1_1"
13080 // InternalProblem.g:4286:1: rule__Assertion__RelationAssignment_0_1_1 : ( ( ruleQualifiedName ) ) ; 14910 // InternalProblem.g:4839:1: rule__Assertion__RelationAssignment_0_1_1 : ( ( ruleQualifiedName ) ) ;
13081 public final void rule__Assertion__RelationAssignment_0_1_1() throws RecognitionException { 14911 public final void rule__Assertion__RelationAssignment_0_1_1() throws RecognitionException {
13082 14912
13083 int stackSize = keepStackSize(); 14913 int stackSize = keepStackSize();
13084 14914
13085 try { 14915 try {
13086 // InternalProblem.g:4290:1: ( ( ( ruleQualifiedName ) ) ) 14916 // InternalProblem.g:4843:1: ( ( ( ruleQualifiedName ) ) )
13087 // InternalProblem.g:4291:2: ( ( ruleQualifiedName ) ) 14917 // InternalProblem.g:4844:2: ( ( ruleQualifiedName ) )
13088 { 14918 {
13089 // InternalProblem.g:4291:2: ( ( ruleQualifiedName ) ) 14919 // InternalProblem.g:4844:2: ( ( ruleQualifiedName ) )
13090 // InternalProblem.g:4292:3: ( ruleQualifiedName ) 14920 // InternalProblem.g:4845:3: ( ruleQualifiedName )
13091 { 14921 {
13092 before(grammarAccess.getAssertionAccess().getRelationRelationCrossReference_0_1_1_0()); 14922 before(grammarAccess.getAssertionAccess().getRelationRelationCrossReference_0_1_1_0());
13093 // InternalProblem.g:4293:3: ( ruleQualifiedName ) 14923 // InternalProblem.g:4846:3: ( ruleQualifiedName )
13094 // InternalProblem.g:4294:4: ruleQualifiedName 14924 // InternalProblem.g:4847:4: ruleQualifiedName
13095 { 14925 {
13096 before(grammarAccess.getAssertionAccess().getRelationRelationQualifiedNameParserRuleCall_0_1_1_0_1()); 14926 before(grammarAccess.getAssertionAccess().getRelationRelationQualifiedNameParserRuleCall_0_1_1_0_1());
13097 pushFollow(FOLLOW_2); 14927 pushFollow(FOLLOW_2);
@@ -13126,21 +14956,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
13126 14956
13127 14957
13128 // $ANTLR start "rule__Assertion__ArgumentsAssignment_0_1_3_0" 14958 // $ANTLR start "rule__Assertion__ArgumentsAssignment_0_1_3_0"
13129 // InternalProblem.g:4305:1: rule__Assertion__ArgumentsAssignment_0_1_3_0 : ( ( ruleQualifiedName ) ) ; 14959 // InternalProblem.g:4858:1: rule__Assertion__ArgumentsAssignment_0_1_3_0 : ( ( ruleQualifiedName ) ) ;
13130 public final void rule__Assertion__ArgumentsAssignment_0_1_3_0() throws RecognitionException { 14960 public final void rule__Assertion__ArgumentsAssignment_0_1_3_0() throws RecognitionException {
13131 14961
13132 int stackSize = keepStackSize(); 14962 int stackSize = keepStackSize();
13133 14963
13134 try { 14964 try {
13135 // InternalProblem.g:4309:1: ( ( ( ruleQualifiedName ) ) ) 14965 // InternalProblem.g:4862:1: ( ( ( ruleQualifiedName ) ) )
13136 // InternalProblem.g:4310:2: ( ( ruleQualifiedName ) ) 14966 // InternalProblem.g:4863:2: ( ( ruleQualifiedName ) )
13137 { 14967 {
13138 // InternalProblem.g:4310:2: ( ( ruleQualifiedName ) ) 14968 // InternalProblem.g:4863:2: ( ( ruleQualifiedName ) )
13139 // InternalProblem.g:4311:3: ( ruleQualifiedName ) 14969 // InternalProblem.g:4864:3: ( ruleQualifiedName )
13140 { 14970 {
13141 before(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_1_3_0_0()); 14971 before(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_1_3_0_0());
13142 // InternalProblem.g:4312:3: ( ruleQualifiedName ) 14972 // InternalProblem.g:4865:3: ( ruleQualifiedName )
13143 // InternalProblem.g:4313:4: ruleQualifiedName 14973 // InternalProblem.g:4866:4: ruleQualifiedName
13144 { 14974 {
13145 before(grammarAccess.getAssertionAccess().getArgumentsNodeQualifiedNameParserRuleCall_0_1_3_0_0_1()); 14975 before(grammarAccess.getAssertionAccess().getArgumentsNodeQualifiedNameParserRuleCall_0_1_3_0_0_1());
13146 pushFollow(FOLLOW_2); 14976 pushFollow(FOLLOW_2);
@@ -13175,21 +15005,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
13175 15005
13176 15006
13177 // $ANTLR start "rule__Assertion__ArgumentsAssignment_0_1_3_1_1" 15007 // $ANTLR start "rule__Assertion__ArgumentsAssignment_0_1_3_1_1"
13178 // InternalProblem.g:4324:1: rule__Assertion__ArgumentsAssignment_0_1_3_1_1 : ( ( ruleQualifiedName ) ) ; 15008 // InternalProblem.g:4877:1: rule__Assertion__ArgumentsAssignment_0_1_3_1_1 : ( ( ruleQualifiedName ) ) ;
13179 public final void rule__Assertion__ArgumentsAssignment_0_1_3_1_1() throws RecognitionException { 15009 public final void rule__Assertion__ArgumentsAssignment_0_1_3_1_1() throws RecognitionException {
13180 15010
13181 int stackSize = keepStackSize(); 15011 int stackSize = keepStackSize();
13182 15012
13183 try { 15013 try {
13184 // InternalProblem.g:4328:1: ( ( ( ruleQualifiedName ) ) ) 15014 // InternalProblem.g:4881:1: ( ( ( ruleQualifiedName ) ) )
13185 // InternalProblem.g:4329:2: ( ( ruleQualifiedName ) ) 15015 // InternalProblem.g:4882:2: ( ( ruleQualifiedName ) )
13186 { 15016 {
13187 // InternalProblem.g:4329:2: ( ( ruleQualifiedName ) ) 15017 // InternalProblem.g:4882:2: ( ( ruleQualifiedName ) )
13188 // InternalProblem.g:4330:3: ( ruleQualifiedName ) 15018 // InternalProblem.g:4883:3: ( ruleQualifiedName )
13189 { 15019 {
13190 before(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_1_3_1_1_0()); 15020 before(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_1_3_1_1_0());
13191 // InternalProblem.g:4331:3: ( ruleQualifiedName ) 15021 // InternalProblem.g:4884:3: ( ruleQualifiedName )
13192 // InternalProblem.g:4332:4: ruleQualifiedName 15022 // InternalProblem.g:4885:4: ruleQualifiedName
13193 { 15023 {
13194 before(grammarAccess.getAssertionAccess().getArgumentsNodeQualifiedNameParserRuleCall_0_1_3_1_1_0_1()); 15024 before(grammarAccess.getAssertionAccess().getArgumentsNodeQualifiedNameParserRuleCall_0_1_3_1_1_0_1());
13195 pushFollow(FOLLOW_2); 15025 pushFollow(FOLLOW_2);
@@ -13224,17 +15054,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
13224 15054
13225 15055
13226 // $ANTLR start "rule__ScopeDeclaration__TypeScopesAssignment_1" 15056 // $ANTLR start "rule__ScopeDeclaration__TypeScopesAssignment_1"
13227 // InternalProblem.g:4343:1: rule__ScopeDeclaration__TypeScopesAssignment_1 : ( ruleTypeScope ) ; 15057 // InternalProblem.g:4896:1: rule__ScopeDeclaration__TypeScopesAssignment_1 : ( ruleTypeScope ) ;
13228 public final void rule__ScopeDeclaration__TypeScopesAssignment_1() throws RecognitionException { 15058 public final void rule__ScopeDeclaration__TypeScopesAssignment_1() throws RecognitionException {
13229 15059
13230 int stackSize = keepStackSize(); 15060 int stackSize = keepStackSize();
13231 15061
13232 try { 15062 try {
13233 // InternalProblem.g:4347:1: ( ( ruleTypeScope ) ) 15063 // InternalProblem.g:4900:1: ( ( ruleTypeScope ) )
13234 // InternalProblem.g:4348:2: ( ruleTypeScope ) 15064 // InternalProblem.g:4901:2: ( ruleTypeScope )
13235 { 15065 {
13236 // InternalProblem.g:4348:2: ( ruleTypeScope ) 15066 // InternalProblem.g:4901:2: ( ruleTypeScope )
13237 // InternalProblem.g:4349:3: ruleTypeScope 15067 // InternalProblem.g:4902:3: ruleTypeScope
13238 { 15068 {
13239 before(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_1_0()); 15069 before(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_1_0());
13240 pushFollow(FOLLOW_2); 15070 pushFollow(FOLLOW_2);
@@ -13265,17 +15095,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
13265 15095
13266 15096
13267 // $ANTLR start "rule__ScopeDeclaration__TypeScopesAssignment_2_1" 15097 // $ANTLR start "rule__ScopeDeclaration__TypeScopesAssignment_2_1"
13268 // InternalProblem.g:4358:1: rule__ScopeDeclaration__TypeScopesAssignment_2_1 : ( ruleTypeScope ) ; 15098 // InternalProblem.g:4911:1: rule__ScopeDeclaration__TypeScopesAssignment_2_1 : ( ruleTypeScope ) ;
13269 public final void rule__ScopeDeclaration__TypeScopesAssignment_2_1() throws RecognitionException { 15099 public final void rule__ScopeDeclaration__TypeScopesAssignment_2_1() throws RecognitionException {
13270 15100
13271 int stackSize = keepStackSize(); 15101 int stackSize = keepStackSize();
13272 15102
13273 try { 15103 try {
13274 // InternalProblem.g:4362:1: ( ( ruleTypeScope ) ) 15104 // InternalProblem.g:4915:1: ( ( ruleTypeScope ) )
13275 // InternalProblem.g:4363:2: ( ruleTypeScope ) 15105 // InternalProblem.g:4916:2: ( ruleTypeScope )
13276 { 15106 {
13277 // InternalProblem.g:4363:2: ( ruleTypeScope ) 15107 // InternalProblem.g:4916:2: ( ruleTypeScope )
13278 // InternalProblem.g:4364:3: ruleTypeScope 15108 // InternalProblem.g:4917:3: ruleTypeScope
13279 { 15109 {
13280 before(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_2_1_0()); 15110 before(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_2_1_0());
13281 pushFollow(FOLLOW_2); 15111 pushFollow(FOLLOW_2);
@@ -13306,21 +15136,21 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
13306 15136
13307 15137
13308 // $ANTLR start "rule__TypeScope__TargetTypeAssignment_0" 15138 // $ANTLR start "rule__TypeScope__TargetTypeAssignment_0"
13309 // InternalProblem.g:4373:1: rule__TypeScope__TargetTypeAssignment_0 : ( ( RULE_ID ) ) ; 15139 // InternalProblem.g:4926:1: rule__TypeScope__TargetTypeAssignment_0 : ( ( RULE_ID ) ) ;
13310 public final void rule__TypeScope__TargetTypeAssignment_0() throws RecognitionException { 15140 public final void rule__TypeScope__TargetTypeAssignment_0() throws RecognitionException {
13311 15141
13312 int stackSize = keepStackSize(); 15142 int stackSize = keepStackSize();
13313 15143
13314 try { 15144 try {
13315 // InternalProblem.g:4377:1: ( ( ( RULE_ID ) ) ) 15145 // InternalProblem.g:4930:1: ( ( ( RULE_ID ) ) )
13316 // InternalProblem.g:4378:2: ( ( RULE_ID ) ) 15146 // InternalProblem.g:4931:2: ( ( RULE_ID ) )
13317 { 15147 {
13318 // InternalProblem.g:4378:2: ( ( RULE_ID ) ) 15148 // InternalProblem.g:4931:2: ( ( RULE_ID ) )
13319 // InternalProblem.g:4379:3: ( RULE_ID ) 15149 // InternalProblem.g:4932:3: ( RULE_ID )
13320 { 15150 {
13321 before(grammarAccess.getTypeScopeAccess().getTargetTypeClassDeclarationCrossReference_0_0()); 15151 before(grammarAccess.getTypeScopeAccess().getTargetTypeClassDeclarationCrossReference_0_0());
13322 // InternalProblem.g:4380:3: ( RULE_ID ) 15152 // InternalProblem.g:4933:3: ( RULE_ID )
13323 // InternalProblem.g:4381:4: RULE_ID 15153 // InternalProblem.g:4934:4: RULE_ID
13324 { 15154 {
13325 before(grammarAccess.getTypeScopeAccess().getTargetTypeClassDeclarationIDTerminalRuleCall_0_0_1()); 15155 before(grammarAccess.getTypeScopeAccess().getTargetTypeClassDeclarationIDTerminalRuleCall_0_0_1());
13326 match(input,RULE_ID,FOLLOW_2); 15156 match(input,RULE_ID,FOLLOW_2);
@@ -13351,24 +15181,24 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
13351 15181
13352 15182
13353 // $ANTLR start "rule__TypeScope__IncrementAssignment_1_0" 15183 // $ANTLR start "rule__TypeScope__IncrementAssignment_1_0"
13354 // InternalProblem.g:4392:1: rule__TypeScope__IncrementAssignment_1_0 : ( ( '+=' ) ) ; 15184 // InternalProblem.g:4945:1: rule__TypeScope__IncrementAssignment_1_0 : ( ( '+=' ) ) ;
13355 public final void rule__TypeScope__IncrementAssignment_1_0() throws RecognitionException { 15185 public final void rule__TypeScope__IncrementAssignment_1_0() throws RecognitionException {
13356 15186
13357 int stackSize = keepStackSize(); 15187 int stackSize = keepStackSize();
13358 15188
13359 try { 15189 try {
13360 // InternalProblem.g:4396:1: ( ( ( '+=' ) ) ) 15190 // InternalProblem.g:4949:1: ( ( ( '+=' ) ) )
13361 // InternalProblem.g:4397:2: ( ( '+=' ) ) 15191 // InternalProblem.g:4950:2: ( ( '+=' ) )
13362 { 15192 {
13363 // InternalProblem.g:4397:2: ( ( '+=' ) ) 15193 // InternalProblem.g:4950:2: ( ( '+=' ) )
13364 // InternalProblem.g:4398:3: ( '+=' ) 15194 // InternalProblem.g:4951:3: ( '+=' )
13365 { 15195 {
13366 before(grammarAccess.getTypeScopeAccess().getIncrementPlusSignEqualsSignKeyword_1_0_0()); 15196 before(grammarAccess.getTypeScopeAccess().getIncrementPlusSignEqualsSignKeyword_1_0_0());
13367 // InternalProblem.g:4399:3: ( '+=' ) 15197 // InternalProblem.g:4952:3: ( '+=' )
13368 // InternalProblem.g:4400:4: '+=' 15198 // InternalProblem.g:4953:4: '+='
13369 { 15199 {
13370 before(grammarAccess.getTypeScopeAccess().getIncrementPlusSignEqualsSignKeyword_1_0_0()); 15200 before(grammarAccess.getTypeScopeAccess().getIncrementPlusSignEqualsSignKeyword_1_0_0());
13371 match(input,42,FOLLOW_2); 15201 match(input,43,FOLLOW_2);
13372 after(grammarAccess.getTypeScopeAccess().getIncrementPlusSignEqualsSignKeyword_1_0_0()); 15202 after(grammarAccess.getTypeScopeAccess().getIncrementPlusSignEqualsSignKeyword_1_0_0());
13373 15203
13374 } 15204 }
@@ -13396,17 +15226,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
13396 15226
13397 15227
13398 // $ANTLR start "rule__TypeScope__MultiplicityAssignment_2" 15228 // $ANTLR start "rule__TypeScope__MultiplicityAssignment_2"
13399 // InternalProblem.g:4411:1: rule__TypeScope__MultiplicityAssignment_2 : ( ruleDefiniteMultiplicity ) ; 15229 // InternalProblem.g:4964:1: rule__TypeScope__MultiplicityAssignment_2 : ( ruleDefiniteMultiplicity ) ;
13400 public final void rule__TypeScope__MultiplicityAssignment_2() throws RecognitionException { 15230 public final void rule__TypeScope__MultiplicityAssignment_2() throws RecognitionException {
13401 15231
13402 int stackSize = keepStackSize(); 15232 int stackSize = keepStackSize();
13403 15233
13404 try { 15234 try {
13405 // InternalProblem.g:4415:1: ( ( ruleDefiniteMultiplicity ) ) 15235 // InternalProblem.g:4968:1: ( ( ruleDefiniteMultiplicity ) )
13406 // InternalProblem.g:4416:2: ( ruleDefiniteMultiplicity ) 15236 // InternalProblem.g:4969:2: ( ruleDefiniteMultiplicity )
13407 { 15237 {
13408 // InternalProblem.g:4416:2: ( ruleDefiniteMultiplicity ) 15238 // InternalProblem.g:4969:2: ( ruleDefiniteMultiplicity )
13409 // InternalProblem.g:4417:3: ruleDefiniteMultiplicity 15239 // InternalProblem.g:4970:3: ruleDefiniteMultiplicity
13410 { 15240 {
13411 before(grammarAccess.getTypeScopeAccess().getMultiplicityDefiniteMultiplicityParserRuleCall_2_0()); 15241 before(grammarAccess.getTypeScopeAccess().getMultiplicityDefiniteMultiplicityParserRuleCall_2_0());
13412 pushFollow(FOLLOW_2); 15242 pushFollow(FOLLOW_2);
@@ -13437,17 +15267,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
13437 15267
13438 15268
13439 // $ANTLR start "rule__RangeMultiplicity__LowerBoundAssignment_0" 15269 // $ANTLR start "rule__RangeMultiplicity__LowerBoundAssignment_0"
13440 // InternalProblem.g:4426:1: rule__RangeMultiplicity__LowerBoundAssignment_0 : ( RULE_INT ) ; 15270 // InternalProblem.g:4979:1: rule__RangeMultiplicity__LowerBoundAssignment_0 : ( RULE_INT ) ;
13441 public final void rule__RangeMultiplicity__LowerBoundAssignment_0() throws RecognitionException { 15271 public final void rule__RangeMultiplicity__LowerBoundAssignment_0() throws RecognitionException {
13442 15272
13443 int stackSize = keepStackSize(); 15273 int stackSize = keepStackSize();
13444 15274
13445 try { 15275 try {
13446 // InternalProblem.g:4430:1: ( ( RULE_INT ) ) 15276 // InternalProblem.g:4983:1: ( ( RULE_INT ) )
13447 // InternalProblem.g:4431:2: ( RULE_INT ) 15277 // InternalProblem.g:4984:2: ( RULE_INT )
13448 { 15278 {
13449 // InternalProblem.g:4431:2: ( RULE_INT ) 15279 // InternalProblem.g:4984:2: ( RULE_INT )
13450 // InternalProblem.g:4432:3: RULE_INT 15280 // InternalProblem.g:4985:3: RULE_INT
13451 { 15281 {
13452 before(grammarAccess.getRangeMultiplicityAccess().getLowerBoundINTTerminalRuleCall_0_0()); 15282 before(grammarAccess.getRangeMultiplicityAccess().getLowerBoundINTTerminalRuleCall_0_0());
13453 match(input,RULE_INT,FOLLOW_2); 15283 match(input,RULE_INT,FOLLOW_2);
@@ -13474,17 +15304,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
13474 15304
13475 15305
13476 // $ANTLR start "rule__RangeMultiplicity__UpperBoundAssignment_2" 15306 // $ANTLR start "rule__RangeMultiplicity__UpperBoundAssignment_2"
13477 // InternalProblem.g:4441:1: rule__RangeMultiplicity__UpperBoundAssignment_2 : ( ruleUpperBound ) ; 15307 // InternalProblem.g:4994:1: rule__RangeMultiplicity__UpperBoundAssignment_2 : ( ruleUpperBound ) ;
13478 public final void rule__RangeMultiplicity__UpperBoundAssignment_2() throws RecognitionException { 15308 public final void rule__RangeMultiplicity__UpperBoundAssignment_2() throws RecognitionException {
13479 15309
13480 int stackSize = keepStackSize(); 15310 int stackSize = keepStackSize();
13481 15311
13482 try { 15312 try {
13483 // InternalProblem.g:4445:1: ( ( ruleUpperBound ) ) 15313 // InternalProblem.g:4998:1: ( ( ruleUpperBound ) )
13484 // InternalProblem.g:4446:2: ( ruleUpperBound ) 15314 // InternalProblem.g:4999:2: ( ruleUpperBound )
13485 { 15315 {
13486 // InternalProblem.g:4446:2: ( ruleUpperBound ) 15316 // InternalProblem.g:4999:2: ( ruleUpperBound )
13487 // InternalProblem.g:4447:3: ruleUpperBound 15317 // InternalProblem.g:5000:3: ruleUpperBound
13488 { 15318 {
13489 before(grammarAccess.getRangeMultiplicityAccess().getUpperBoundUpperBoundParserRuleCall_2_0()); 15319 before(grammarAccess.getRangeMultiplicityAccess().getUpperBoundUpperBoundParserRuleCall_2_0());
13490 pushFollow(FOLLOW_2); 15320 pushFollow(FOLLOW_2);
@@ -13515,17 +15345,17 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
13515 15345
13516 15346
13517 // $ANTLR start "rule__ExactMultiplicity__ExactValueAssignment" 15347 // $ANTLR start "rule__ExactMultiplicity__ExactValueAssignment"
13518 // InternalProblem.g:4456:1: rule__ExactMultiplicity__ExactValueAssignment : ( RULE_INT ) ; 15348 // InternalProblem.g:5009:1: rule__ExactMultiplicity__ExactValueAssignment : ( RULE_INT ) ;
13519 public final void rule__ExactMultiplicity__ExactValueAssignment() throws RecognitionException { 15349 public final void rule__ExactMultiplicity__ExactValueAssignment() throws RecognitionException {
13520 15350
13521 int stackSize = keepStackSize(); 15351 int stackSize = keepStackSize();
13522 15352
13523 try { 15353 try {
13524 // InternalProblem.g:4460:1: ( ( RULE_INT ) ) 15354 // InternalProblem.g:5013:1: ( ( RULE_INT ) )
13525 // InternalProblem.g:4461:2: ( RULE_INT ) 15355 // InternalProblem.g:5014:2: ( RULE_INT )
13526 { 15356 {
13527 // InternalProblem.g:4461:2: ( RULE_INT ) 15357 // InternalProblem.g:5014:2: ( RULE_INT )
13528 // InternalProblem.g:4462:3: RULE_INT 15358 // InternalProblem.g:5015:3: RULE_INT
13529 { 15359 {
13530 before(grammarAccess.getExactMultiplicityAccess().getExactValueINTTerminalRuleCall_0()); 15360 before(grammarAccess.getExactMultiplicityAccess().getExactValueINTTerminalRuleCall_0());
13531 match(input,RULE_INT,FOLLOW_2); 15361 match(input,RULE_INT,FOLLOW_2);
@@ -13553,34 +15383,46 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
13553 // Delegated rules 15383 // Delegated rules
13554 15384
13555 15385
13556 protected DFA6 dfa6 = new DFA6(this); 15386 protected DFA8 dfa8 = new DFA8(this);
13557 static final String dfa_1s = "\25\uffff"; 15387 static final String dfa_1s = "\41\uffff";
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"; 15388 static final String dfa_2s = "\1\5\4\41\1\uffff\2\5\4\15\1\14\4\41\2\5\1\uffff\10\15\1\5\4\15";
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"; 15389 static final String dfa_3s = "\1\27\1\41\3\44\1\uffff\1\42\1\24\1\42\4\44\1\41\3\44\2\24\1\uffff\1\42\6\44\1\42\1\24\1\42\3\44";
13560 static final String dfa_4s = "\3\uffff\1\2\11\uffff\1\1\7\uffff"; 15390 static final String dfa_4s = "\5\uffff\1\2\15\uffff\1\1\15\uffff";
13561 static final String dfa_5s = "\25\uffff}>"; 15391 static final String dfa_5s = "\41\uffff}>";
13562 static final String[] dfa_6s = { 15392 static final String[] dfa_6s = {
13563 "\1\1\1\2\15\uffff\2\3", 15393 "\1\1\1\2\14\uffff\1\3\1\4\1\uffff\2\5",
13564 "\1\4", 15394 "\1\6",
13565 "\1\4\2\uffff\1\5", 15395 "\1\6\2\uffff\1\7",
15396 "\1\6\2\uffff\1\7",
15397 "\1\6\2\uffff\1\7",
13566 "", 15398 "",
13567 "\1\6\1\7\32\uffff\1\10", 15399 "\1\10\1\11\14\uffff\1\12\1\13\15\uffff\1\14",
13568 "\1\12\1\11", 15400 "\1\15\1\16\14\uffff\1\17\1\20",
13569 "\1\13\7\uffff\1\10", 15401 "\1\21\24\uffff\1\14",
13570 "\1\13\7\uffff\1\10\1\uffff\1\14", 15402 "\1\21\24\uffff\1\14\1\uffff\1\22",
13571 "\1\3\26\uffff\1\15", 15403 "\1\21\24\uffff\1\14\1\uffff\1\22",
13572 "\1\4\2\uffff\1\5", 15404 "\1\21\24\uffff\1\14\1\uffff\1\22",
13573 "\1\4", 15405 "\1\5\27\uffff\1\23",
13574 "\1\16\1\17", 15406 "\1\6",
13575 "\1\21\1\20", 15407 "\1\6\2\uffff\1\7",
15408 "\1\6\2\uffff\1\7",
15409 "\1\6\2\uffff\1\7",
15410 "\1\24\1\25\14\uffff\1\26\1\27",
15411 "\1\33\1\30\14\uffff\1\31\1\32",
13576 "", 15412 "",
13577 "\1\13\7\uffff\1\10", 15413 "\1\21\24\uffff\1\14",
13578 "\1\13\7\uffff\1\10\1\uffff\1\22", 15414 "\1\21\24\uffff\1\14\1\uffff\1\34",
13579 "\1\13\7\uffff\1\10\1\uffff\1\14", 15415 "\1\21\24\uffff\1\14\1\uffff\1\34",
13580 "\1\13\7\uffff\1\10", 15416 "\1\21\24\uffff\1\14\1\uffff\1\34",
13581 "\1\24\1\23", 15417 "\1\21\24\uffff\1\14\1\uffff\1\22",
13582 "\1\13\7\uffff\1\10\1\uffff\1\22", 15418 "\1\21\24\uffff\1\14\1\uffff\1\22",
13583 "\1\13\7\uffff\1\10" 15419 "\1\21\24\uffff\1\14\1\uffff\1\22",
15420 "\1\21\24\uffff\1\14",
15421 "\1\35\1\36\14\uffff\1\37\1\40",
15422 "\1\21\24\uffff\1\14",
15423 "\1\21\24\uffff\1\14\1\uffff\1\34",
15424 "\1\21\24\uffff\1\14\1\uffff\1\34",
15425 "\1\21\24\uffff\1\14\1\uffff\1\34"
13584 }; 15426 };
13585 15427
13586 static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); 15428 static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s);
@@ -13590,11 +15432,11 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
13590 static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s); 15432 static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s);
13591 static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s); 15433 static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s);
13592 15434
13593 class DFA6 extends DFA { 15435 class DFA8 extends DFA {
13594 15436
13595 public DFA6(BaseRecognizer recognizer) { 15437 public DFA8(BaseRecognizer recognizer) {
13596 this.recognizer = recognizer; 15438 this.recognizer = recognizer;
13597 this.decisionNumber = 6; 15439 this.decisionNumber = 8;
13598 this.eot = dfa_1; 15440 this.eot = dfa_1;
13599 this.eof = dfa_1; 15441 this.eof = dfa_1;
13600 this.min = dfa_2; 15442 this.min = dfa_2;
@@ -13604,45 +15446,48 @@ public class InternalProblemParser extends AbstractInternalContentAssistParser {
13604 this.transition = dfa_6; 15446 this.transition = dfa_6;
13605 } 15447 }
13606 public String getDescription() { 15448 public String getDescription() {
13607 return "726:1: rule__Assertion__Alternatives_0 : ( ( ( rule__Assertion__Group_0_0__0 ) ) | ( ( rule__Assertion__Group_0_1__0 ) ) );"; 15449 return "874:1: rule__Assertion__Alternatives_0 : ( ( ( rule__Assertion__Group_0_0__0 ) ) | ( ( rule__Assertion__Group_0_1__0 ) ) );";
13608 } 15450 }
13609 } 15451 }
13610 15452
13611 15453
13612 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); 15454 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L});
13613 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); 15455 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
13614 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000015000B04060L}); 15456 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x000002A022D90060L});
13615 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000015000B04062L}); 15457 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x000002A022D90062L});
13616 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000000040L}); 15458 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000180060L});
13617 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000001000L}); 15459 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000001000L});
13618 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000004000800000L}); 15460 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000008002000000L});
13619 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000005001000L}); 15461 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x000000000C001000L});
13620 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000000060L}); 15462 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000002000L});
13621 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000002000000L}); 15463 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000002002L});
13622 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000002000002L}); 15464 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000010010188060L});
13623 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000008008002000L}); 15465 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000010000188062L});
13624 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000008000002002L}); 15466 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000004000L});
13625 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000010000000L}); 15467 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000008001000L});
13626 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000020000040L}); 15468 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000010180060L});
13627 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000080000000L}); 15469 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000000006000L});
13628 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000000010L}); 15470 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000010000188060L});
13629 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000040000000L}); 15471 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000040180060L});
13630 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000100000000L}); 15472 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000100000000L});
13631 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000200000040L}); 15473 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000000000010L});
13632 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000400001000L}); 15474 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000080000000L});
13633 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000000004000L}); 15475 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000200000000L});
13634 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000000100060L}); 15476 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000400180060L});
13635 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000010000002L}); 15477 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000800001000L});
13636 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000020100000000L}); 15478 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000000010000L});
13637 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000200000060L}); 15479 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000580060L});
13638 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000800000000L}); 15480 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000000004002L});
13639 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x00000000000E0000L}); 15481 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000040200000000L});
13640 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000000300060L}); 15482 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000001000000000L});
13641 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000002001000L}); 15483 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000000380000L});
13642 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000040000008000L}); 15484 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000000D80060L});
13643 public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000002000000000L}); 15485 public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000000000040L});
13644 public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000000010010L}); 15486 public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000000003000L});
13645 public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000000800000002L}); 15487 public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000080000020000L});
13646 public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000000000000020L}); 15488 public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000004000000000L});
15489 public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000000040010L});
15490 public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000001000000002L});
15491 public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000000000000020L});
13647 15492
13648} \ No newline at end of file 15493} \ No newline at end of file
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 1769c224..047b72a2 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="21ccbdb3-d7f2-4782-aa2a-5fc2003467bb"> 8 <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_CsYa4KA4EeuqkpDnuik1sg" name="problem" repPath="#_CsUwgKA4EeuqkpDnuik1sg" changeId="c29543bd-4d24-42d3-8f5b-82d41af742bd">
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>
@@ -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="1236" y="720" width="120" height="100"/> 85 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fit3kqA5EeuqkpDnuik1sg" x="1416" 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="1068" y="960" width="120" height="100"/> 94 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QKLK0qA6EeuqkpDnuik1sg" x="1248" 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="1056" y="720" width="120" height="100"/> 103 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jP6FkqA6EeuqkpDnuik1sg" x="1236" 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="1236" y="960" width="120" height="100"/> 112 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sdPX0qA6EeuqkpDnuik1sg" x="1416" 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="1236" y="1128" width="120" height="100"/> 121 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4k5GIqA6EeuqkpDnuik1sg" x="1416" 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="1164" y="1284" width="120" height="100"/> 134 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6KEUMqA6EeuqkpDnuik1sg" x="1344" 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="1464" y="960" width="120" height="100"/> 143 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-O-UEqA6EeuqkpDnuik1sg" x="1644" 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="1368" y="1284" width="120" height="100"/> 152 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V6pfMqA7EeuqkpDnuik1sg" x="1548" 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="1450" y="720" width="147" height="100"/> 161 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rRhWIqA7EeuqkpDnuik1sg" x="1630" 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="1464" y="528" width="120" height="100"/> 174 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p9wywqA8EeuqkpDnuik1sg" x="1644" 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="1692" y="528" width="120" height="100"/> 183 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xsq_MqA8EeuqkpDnuik1sg" x="1020" y="336" 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="1692" y="720" width="120" height="100"/> 204 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BMfjMqA9EeuqkpDnuik1sg" x="1872" 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"/>
@@ -289,7 +289,25 @@
289 <styles xmi:type="notation:FilteringStyle" xmi:id="_IwtR09YPEeuF_d0WEhR3Xw"/> 289 <styles xmi:type="notation:FilteringStyle" xmi:id="_IwtR09YPEeuF_d0WEhR3Xw"/>
290 </children> 290 </children>
291 <styles xmi:type="notation:ShapeStyle" xmi:id="_IwsqwdYPEeuF_d0WEhR3Xw" fontName="Noto Sans" fontHeight="8"/> 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"/> 292 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IwsqwtYPEeuF_d0WEhR3Xw" x="1353" y="1476" width="120" height="100"/>
293 </children>
294 <children xmi:type="notation:Node" xmi:id="_M6O-0NbGEeuymriYTNxK2g" type="2003" element="_M58q8NbGEeuymriYTNxK2g">
295 <children xmi:type="notation:Node" xmi:id="_M6Pl4NbGEeuymriYTNxK2g" type="5007"/>
296 <children xmi:type="notation:Node" xmi:id="_M6Pl4dbGEeuymriYTNxK2g" type="7004">
297 <styles xmi:type="notation:SortingStyle" xmi:id="_M6Pl4tbGEeuymriYTNxK2g"/>
298 <styles xmi:type="notation:FilteringStyle" xmi:id="_M6Pl49bGEeuymriYTNxK2g"/>
299 </children>
300 <styles xmi:type="notation:ShapeStyle" xmi:id="_M6O-0dbGEeuymriYTNxK2g" fontName="Noto Sans" fontHeight="8"/>
301 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M6O-0tbGEeuymriYTNxK2g" x="903" y="720" width="120" height="100"/>
302 </children>
303 <children xmi:type="notation:Node" xmi:id="_Kw-vINbNEeuymriYTNxK2g" type="2003" element="_KwtCUNbNEeuymriYTNxK2g">
304 <children xmi:type="notation:Node" xmi:id="_Kw_WMNbNEeuymriYTNxK2g" type="5007"/>
305 <children xmi:type="notation:Node" xmi:id="_Kw_WMdbNEeuymriYTNxK2g" type="7004">
306 <styles xmi:type="notation:SortingStyle" xmi:id="_Kw_WMtbNEeuymriYTNxK2g"/>
307 <styles xmi:type="notation:FilteringStyle" xmi:id="_Kw_WM9bNEeuymriYTNxK2g"/>
308 </children>
309 <styles xmi:type="notation:ShapeStyle" xmi:id="_Kw-vIdbNEeuymriYTNxK2g" fontName="Noto Sans" fontHeight="8"/>
310 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Kw-vItbNEeuymriYTNxK2g" x="1137" y="180" width="120" height="100"/>
293 </children> 311 </children>
294 <styles xmi:type="notation:DiagramStyle" xmi:id="_CsZB8qA4EeuqkpDnuik1sg"/> 312 <styles xmi:type="notation:DiagramStyle" xmi:id="_CsZB8qA4EeuqkpDnuik1sg"/>
295 <edges xmi:type="notation:Edge" xmi:id="_ODhSQKA4EeuqkpDnuik1sg" type="4001" element="_ODPlcKA4EeuqkpDnuik1sg" source="_JT0o8KA4EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg"> 313 <edges xmi:type="notation:Edge" xmi:id="_ODhSQKA4EeuqkpDnuik1sg" type="4001" element="_ODPlcKA4EeuqkpDnuik1sg" source="_JT0o8KA4EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg">
@@ -308,22 +326,6 @@
308 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ODh5VKA4EeuqkpDnuik1sg" id="(0.5,0.0)"/> 326 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ODh5VKA4EeuqkpDnuik1sg" id="(0.5,0.0)"/>
309 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ODh5VaA4EeuqkpDnuik1sg" id="(0.5,0.5)"/> 327 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ODh5VaA4EeuqkpDnuik1sg" id="(0.5,0.5)"/>
310 </edges> 328 </edges>
311 <edges xmi:type="notation:Edge" xmi:id="_VtWKYKA4EeuqkpDnuik1sg" type="4001" element="_VtPctqA4EeuqkpDnuik1sg" source="_JT0o8KA4EeuqkpDnuik1sg" target="_JT0o8KA4EeuqkpDnuik1sg">
312 <children xmi:type="notation:Node" xmi:id="_VtWKZKA4EeuqkpDnuik1sg" type="6001">
313 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VtWKZaA4EeuqkpDnuik1sg" x="-31" y="-17"/>
314 </children>
315 <children xmi:type="notation:Node" xmi:id="_VtWKZqA4EeuqkpDnuik1sg" type="6002">
316 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VtWKZ6A4EeuqkpDnuik1sg" x="-5" y="-108"/>
317 </children>
318 <children xmi:type="notation:Node" xmi:id="_VtWKaKA4EeuqkpDnuik1sg" type="6003">
319 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VtWKaaA4EeuqkpDnuik1sg" x="-88" y="-14"/>
320 </children>
321 <styles xmi:type="notation:ConnectorStyle" xmi:id="_VtWKYaA4EeuqkpDnuik1sg" routing="Rectilinear"/>
322 <styles xmi:type="notation:FontStyle" xmi:id="_VtWKYqA4EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
323 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_VtWKY6A4EeuqkpDnuik1sg" points="[24, 0, 37, 98]$[24, 58, 37, 156]$[132, 58, 145, 156]$[132, -26, 145, 72]$[94, -26, 107, 72]"/>
324 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VtX_kKA4EeuqkpDnuik1sg" id="(0.2033898305084746,1.0)"/>
325 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VtX_kaA4EeuqkpDnuik1sg" id="(0.09322033898305085,0.0)"/>
326 </edges>
327 <edges xmi:type="notation:Edge" xmi:id="_gR35EKA4EeuqkpDnuik1sg" type="4001" element="_gRoBcKA4EeuqkpDnuik1sg" source="_c-HCQKA4EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg"> 329 <edges xmi:type="notation:Edge" xmi:id="_gR35EKA4EeuqkpDnuik1sg" type="4001" element="_gRoBcKA4EeuqkpDnuik1sg" source="_c-HCQKA4EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg">
328 <children xmi:type="notation:Node" xmi:id="_gR4gIKA4EeuqkpDnuik1sg" type="6001"> 330 <children xmi:type="notation:Node" xmi:id="_gR4gIKA4EeuqkpDnuik1sg" type="6001">
329 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gR4gIaA4EeuqkpDnuik1sg" y="-10"/> 331 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gR4gIaA4EeuqkpDnuik1sg" y="-10"/>
@@ -356,22 +358,6 @@
356 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jlBr4KA4EeuqkpDnuik1sg" id="(0.4067796610169492,1.0)"/> 358 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jlBr4KA4EeuqkpDnuik1sg" id="(0.4067796610169492,1.0)"/>
357 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jlBr4aA4EeuqkpDnuik1sg" id="(0.503448275862069,0.0)"/> 359 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jlBr4aA4EeuqkpDnuik1sg" id="(0.503448275862069,0.0)"/>
358 </edges> 360 </edges>
359 <edges xmi:type="notation:Edge" xmi:id="_ufaV0KA4EeuqkpDnuik1sg" type="4001" element="_ufJ3IKA4EeuqkpDnuik1sg" source="_c-HCQKA4EeuqkpDnuik1sg" target="_JT0o8KA4EeuqkpDnuik1sg">
360 <children xmi:type="notation:Node" xmi:id="_ufa84KA4EeuqkpDnuik1sg" type="6001">
361 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ufa84aA4EeuqkpDnuik1sg" x="-60" y="-58"/>
362 </children>
363 <children xmi:type="notation:Node" xmi:id="_ufa84qA4EeuqkpDnuik1sg" type="6002">
364 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ufa846A4EeuqkpDnuik1sg" x="18" y="10"/>
365 </children>
366 <children xmi:type="notation:Node" xmi:id="_ufa85KA4EeuqkpDnuik1sg" type="6003">
367 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ufa85aA4EeuqkpDnuik1sg" x="12" y="-10"/>
368 </children>
369 <styles xmi:type="notation:ConnectorStyle" xmi:id="_ufaV0aA4EeuqkpDnuik1sg" routing="Rectilinear"/>
370 <styles xmi:type="notation:FontStyle" xmi:id="_ufaV0qA4EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
371 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ufaV06A4EeuqkpDnuik1sg" points="[37, 36, -35, 178]$[156, 36, 84, 178]$[156, -180, 84, -38]$[94, -180, 22, -38]"/>
372 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ufa85qA4EeuqkpDnuik1sg" id="(0.7448275862068966,0.0)"/>
373 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ufa856A4EeuqkpDnuik1sg" id="(0.8135593220338984,1.0)"/>
374 </edges>
375 <edges xmi:type="notation:Edge" xmi:id="_0V8EUKA4EeuqkpDnuik1sg" type="4001" element="_0V3L1qA4EeuqkpDnuik1sg" source="_c-HCQKA4EeuqkpDnuik1sg" target="_c-HCQKA4EeuqkpDnuik1sg"> 361 <edges xmi:type="notation:Edge" xmi:id="_0V8EUKA4EeuqkpDnuik1sg" type="4001" element="_0V3L1qA4EeuqkpDnuik1sg" source="_c-HCQKA4EeuqkpDnuik1sg" target="_c-HCQKA4EeuqkpDnuik1sg">
376 <children xmi:type="notation:Node" xmi:id="_0V8rYKA4EeuqkpDnuik1sg" type="6001"> 362 <children xmi:type="notation:Node" xmi:id="_0V8rYKA4EeuqkpDnuik1sg" type="6001">
377 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0V8rYaA4EeuqkpDnuik1sg" x="30" y="11"/> 363 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0V8rYaA4EeuqkpDnuik1sg" x="30" y="11"/>
@@ -436,38 +422,6 @@
436 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UzJhEKA6EeuqkpDnuik1sg" id="(0.3050847457627119,1.0)"/> 422 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UzJhEKA6EeuqkpDnuik1sg" id="(0.3050847457627119,1.0)"/>
437 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UzJhEaA6EeuqkpDnuik1sg" id="(0.4322033898305085,0.0)"/> 423 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UzJhEaA6EeuqkpDnuik1sg" id="(0.4322033898305085,0.0)"/>
438 </edges> 424 </edges>
439 <edges xmi:type="notation:Edge" xmi:id="_Z7WJ8KA6EeuqkpDnuik1sg" type="4001" element="_Z7FrQKA6EeuqkpDnuik1sg" source="_QKLK0KA6EeuqkpDnuik1sg" target="_JT0o8KA4EeuqkpDnuik1sg">
440 <children xmi:type="notation:Node" xmi:id="_Z7WJ9KA6EeuqkpDnuik1sg" type="6001">
441 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z7WJ9aA6EeuqkpDnuik1sg" x="-49" y="113"/>
442 </children>
443 <children xmi:type="notation:Node" xmi:id="_Z7WJ9qA6EeuqkpDnuik1sg" type="6002">
444 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z7WJ96A6EeuqkpDnuik1sg" x="104" y="113"/>
445 </children>
446 <children xmi:type="notation:Node" xmi:id="_Z7WJ-KA6EeuqkpDnuik1sg" type="6003">
447 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z7WJ-aA6EeuqkpDnuik1sg" x="14" y="10"/>
448 </children>
449 <styles xmi:type="notation:ConnectorStyle" xmi:id="_Z7WJ8aA6EeuqkpDnuik1sg" routing="Rectilinear"/>
450 <styles xmi:type="notation:FontStyle" xmi:id="_Z7WJ8qA6EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
451 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Z7WJ86A6EeuqkpDnuik1sg" points="[-75, 50, 278, 266]$[-267, 50, 86, 266]$[-267, -192, 86, 24]$[-353, -192, 0, 24]"/>
452 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Z7WxAKA6EeuqkpDnuik1sg" id="(0.635593220338983,0.0)"/>
453 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Z7WxAaA6EeuqkpDnuik1sg" id="(1.0,0.24489795918367346)"/>
454 </edges>
455 <edges xmi:type="notation:Edge" xmi:id="_l7e7AKA6EeuqkpDnuik1sg" type="4001" element="_l7apoqA6EeuqkpDnuik1sg" source="_jP6FkKA6EeuqkpDnuik1sg" target="_RzZA0KA5EeuqkpDnuik1sg">
456 <children xmi:type="notation:Node" xmi:id="_l7e7BKA6EeuqkpDnuik1sg" type="6001">
457 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l7e7BaA6EeuqkpDnuik1sg" x="131" y="-10"/>
458 </children>
459 <children xmi:type="notation:Node" xmi:id="_l7e7BqA6EeuqkpDnuik1sg" type="6002">
460 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l7e7B6A6EeuqkpDnuik1sg" x="145" y="-21"/>
461 </children>
462 <children xmi:type="notation:Node" xmi:id="_l7e7CKA6EeuqkpDnuik1sg" type="6003">
463 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l7e7CaA6EeuqkpDnuik1sg" x="26" y="27"/>
464 </children>
465 <styles xmi:type="notation:ConnectorStyle" xmi:id="_l7e7AaA6EeuqkpDnuik1sg" routing="Tree"/>
466 <styles xmi:type="notation:FontStyle" xmi:id="_l7e7AqA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
467 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l7e7A6A6EeuqkpDnuik1sg" points="[0, 0, 337, 335]$[0, -228, 337, 107]$[-336, -228, 1, 107]$[-336, -286, 1, 49]"/>
468 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l7e7CqA6EeuqkpDnuik1sg" id="(0.711864406779661,0.0)"/>
469 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l7e7C6A6EeuqkpDnuik1sg" id="(0.5,0.5)"/>
470 </edges>
471 <edges xmi:type="notation:Edge" xmi:id="_onzXUKA6EeuqkpDnuik1sg" type="4001" element="_oni4rKA6EeuqkpDnuik1sg" source="_QKLK0KA6EeuqkpDnuik1sg" target="_jP6FkKA6EeuqkpDnuik1sg"> 425 <edges xmi:type="notation:Edge" xmi:id="_onzXUKA6EeuqkpDnuik1sg" type="4001" element="_oni4rKA6EeuqkpDnuik1sg" source="_QKLK0KA6EeuqkpDnuik1sg" target="_jP6FkKA6EeuqkpDnuik1sg">
472 <children xmi:type="notation:Node" xmi:id="_onz-YKA6EeuqkpDnuik1sg" type="6001"> 426 <children xmi:type="notation:Node" xmi:id="_onz-YKA6EeuqkpDnuik1sg" type="6001">
473 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_onz-YaA6EeuqkpDnuik1sg" x="-21" y="23"/> 427 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_onz-YaA6EeuqkpDnuik1sg" x="-21" y="23"/>
@@ -614,82 +568,66 @@
614 </edges> 568 </edges>
615 <edges xmi:type="notation:Edge" xmi:id="_Vj1sQKA8EeuqkpDnuik1sg" type="4001" element="_VjwMzqA8EeuqkpDnuik1sg" source="_6KEUMKA6EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg"> 569 <edges xmi:type="notation:Edge" xmi:id="_Vj1sQKA8EeuqkpDnuik1sg" type="4001" element="_VjwMzqA8EeuqkpDnuik1sg" source="_6KEUMKA6EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg">
616 <children xmi:type="notation:Node" xmi:id="_Vj1sRKA8EeuqkpDnuik1sg" type="6001"> 570 <children xmi:type="notation:Node" xmi:id="_Vj1sRKA8EeuqkpDnuik1sg" type="6001">
617 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vj1sRaA8EeuqkpDnuik1sg" x="-79" y="526"/> 571 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vj1sRaA8EeuqkpDnuik1sg" x="11" y="526"/>
618 </children> 572 </children>
619 <children xmi:type="notation:Node" xmi:id="_Vj1sRqA8EeuqkpDnuik1sg" type="6002"> 573 <children xmi:type="notation:Node" xmi:id="_Vj1sRqA8EeuqkpDnuik1sg" type="6002">
620 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vj1sR6A8EeuqkpDnuik1sg" x="113" y="-10"/> 574 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vj1sR6A8EeuqkpDnuik1sg" x="266" y="-10"/>
621 </children> 575 </children>
622 <children xmi:type="notation:Node" xmi:id="_Vj1sSKA8EeuqkpDnuik1sg" type="6003"> 576 <children xmi:type="notation:Node" xmi:id="_Vj1sSKA8EeuqkpDnuik1sg" type="6003">
623 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vj1sSaA8EeuqkpDnuik1sg" x="-62" y="10"/> 577 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vj1sSaA8EeuqkpDnuik1sg" x="-35" y="10"/>
624 </children> 578 </children>
625 <styles xmi:type="notation:ConnectorStyle" xmi:id="_Vj1sQaA8EeuqkpDnuik1sg" routing="Rectilinear"/> 579 <styles xmi:type="notation:ConnectorStyle" xmi:id="_Vj1sQaA8EeuqkpDnuik1sg" routing="Rectilinear"/>
626 <styles xmi:type="notation:FontStyle" xmi:id="_Vj1sQqA8EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/> 580 <styles xmi:type="notation:FontStyle" xmi:id="_Vj1sQqA8EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
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]"/> 581 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Vj1sQ6A8EeuqkpDnuik1sg" points="[-48, 24, 661, 682]$[-828, 24, -119, 682]$[-828, -708, -119, -50]$[-768, -708, -59, -50]"/>
628 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Vj1sSqA8EeuqkpDnuik1sg" id="(0.4067796610169492,0.0)"/> 582 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Vj1sSqA8EeuqkpDnuik1sg" id="(0.4067796610169492,0.0)"/>
629 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Vj1sS6A8EeuqkpDnuik1sg" id="(0.5,1.0)"/> 583 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Vj1sS6A8EeuqkpDnuik1sg" id="(0.5,1.0)"/>
630 </edges> 584 </edges>
631 <edges xmi:type="notation:Edge" xmi:id="_w-zMkKA8EeuqkpDnuik1sg" type="4001" element="_w-iG36A8EeuqkpDnuik1sg" source="_p9wywKA8EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg"> 585 <edges xmi:type="notation:Edge" xmi:id="_w-zMkKA8EeuqkpDnuik1sg" type="4001" element="_w-iG36A8EeuqkpDnuik1sg" source="_p9wywKA8EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg">
632 <children xmi:type="notation:Node" xmi:id="_w-zMlKA8EeuqkpDnuik1sg" type="6001"> 586 <children xmi:type="notation:Node" xmi:id="_w-zMlKA8EeuqkpDnuik1sg" type="6001">
633 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w-zMlaA8EeuqkpDnuik1sg" x="174" y="-10"/> 587 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w-zMlaA8EeuqkpDnuik1sg" x="-221" y="18"/>
634 </children> 588 </children>
635 <children xmi:type="notation:Node" xmi:id="_w-zzoKA8EeuqkpDnuik1sg" type="6002"> 589 <children xmi:type="notation:Node" xmi:id="_w-zzoKA8EeuqkpDnuik1sg" type="6002">
636 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w-zzoaA8EeuqkpDnuik1sg" x="296" y="10"/> 590 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w-zzoaA8EeuqkpDnuik1sg" x="449" y="10"/>
637 </children> 591 </children>
638 <children xmi:type="notation:Node" xmi:id="_w-zzoqA8EeuqkpDnuik1sg" type="6003"> 592 <children xmi:type="notation:Node" xmi:id="_w-zzoqA8EeuqkpDnuik1sg" type="6003">
639 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w-zzo6A8EeuqkpDnuik1sg" x="52" y="10"/> 593 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w-zzo6A8EeuqkpDnuik1sg" x="79" y="10"/>
640 </children> 594 </children>
641 <styles xmi:type="notation:ConnectorStyle" xmi:id="_w-zMkaA8EeuqkpDnuik1sg" routing="Rectilinear"/> 595 <styles xmi:type="notation:ConnectorStyle" xmi:id="_w-zMkaA8EeuqkpDnuik1sg" routing="Rectilinear"/>
642 <styles xmi:type="notation:FontStyle" xmi:id="_w-zMkqA8EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/> 596 <styles xmi:type="notation:FontStyle" xmi:id="_w-zMkqA8EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
643 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w-zMk6A8EeuqkpDnuik1sg" points="[0, 0, 722, 0]$[-722, 0, 0, 0]"/> 597 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w-zMk6A8EeuqkpDnuik1sg" points="[0, -25, 902, -25]$[-902, -25, 0, -25]"/>
644 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w-zzpKA8EeuqkpDnuik1sg" id="(0.0,0.5)"/> 598 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w-zzpKA8EeuqkpDnuik1sg" id="(0.0,0.5)"/>
645 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w-zzpaA8EeuqkpDnuik1sg" id="(1.0,0.5)"/> 599 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w-zzpaA8EeuqkpDnuik1sg" id="(1.0,0.5)"/>
646 </edges> 600 </edges>
647 <edges xmi:type="notation:Edge" xmi:id="_2VC4gKA8EeuqkpDnuik1sg" type="4001" element="_2U4ggqA8EeuqkpDnuik1sg" source="_xsq_MKA8EeuqkpDnuik1sg" target="_RzZA0KA5EeuqkpDnuik1sg">
648 <children xmi:type="notation:Node" xmi:id="_2VC4hKA8EeuqkpDnuik1sg" type="6001">
649 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2VC4haA8EeuqkpDnuik1sg" x="-328" y="-10"/>
650 </children>
651 <children xmi:type="notation:Node" xmi:id="_2VC4hqA8EeuqkpDnuik1sg" type="6002">
652 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2VC4h6A8EeuqkpDnuik1sg" x="-125" y="-38"/>
653 </children>
654 <children xmi:type="notation:Node" xmi:id="_2VC4iKA8EeuqkpDnuik1sg" type="6003">
655 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2VC4iaA8EeuqkpDnuik1sg" x="-17" y="103"/>
656 </children>
657 <styles xmi:type="notation:ConnectorStyle" xmi:id="_2VC4gaA8EeuqkpDnuik1sg" routing="Tree"/>
658 <styles xmi:type="notation:FontStyle" xmi:id="_2VC4gqA8EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
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]"/>
660 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2VC4iqA8EeuqkpDnuik1sg" id="(0.3305084745762712,0.061224489795918366)"/>
661 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2VC4i6A8EeuqkpDnuik1sg" id="(0.5,0.5)"/>
662 </edges>
663 <edges xmi:type="notation:Edge" xmi:id="_4eaYwKA8EeuqkpDnuik1sg" type="4001" element="_4eU5TqA8EeuqkpDnuik1sg" source="_D1D6MKA4EeuqkpDnuik1sg" target="_xsq_MKA8EeuqkpDnuik1sg"> 601 <edges xmi:type="notation:Edge" xmi:id="_4eaYwKA8EeuqkpDnuik1sg" type="4001" element="_4eU5TqA8EeuqkpDnuik1sg" source="_D1D6MKA4EeuqkpDnuik1sg" target="_xsq_MKA8EeuqkpDnuik1sg">
664 <children xmi:type="notation:Node" xmi:id="_4ea_06A8EeuqkpDnuik1sg" type="6001"> 602 <children xmi:type="notation:Node" xmi:id="_4ea_06A8EeuqkpDnuik1sg" type="6001">
665 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4ea_1KA8EeuqkpDnuik1sg" x="-410" y="-17"/> 603 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4ea_1KA8EeuqkpDnuik1sg" x="-36" y="-17"/>
666 </children> 604 </children>
667 <children xmi:type="notation:Node" xmi:id="_4ea_1aA8EeuqkpDnuik1sg" type="6002"> 605 <children xmi:type="notation:Node" xmi:id="_4ea_1aA8EeuqkpDnuik1sg" type="6002">
668 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4ea_1qA8EeuqkpDnuik1sg" x="-19" y="10"/> 606 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4ea_1qA8EeuqkpDnuik1sg" x="8" y="-14"/>
669 </children> 607 </children>
670 <children xmi:type="notation:Node" xmi:id="_4ea_16A8EeuqkpDnuik1sg" type="6003"> 608 <children xmi:type="notation:Node" xmi:id="_4ea_16A8EeuqkpDnuik1sg" type="6003">
671 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4ea_2KA8EeuqkpDnuik1sg" x="-37" y="522"/> 609 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4ea_2KA8EeuqkpDnuik1sg" x="-124" y="10"/>
672 </children> 610 </children>
673 <styles xmi:type="notation:ConnectorStyle" xmi:id="_4ea_0KA8EeuqkpDnuik1sg" routing="Rectilinear"/> 611 <styles xmi:type="notation:ConnectorStyle" xmi:id="_4ea_0KA8EeuqkpDnuik1sg" routing="Rectilinear"/>
674 <styles xmi:type="notation:FontStyle" xmi:id="_4ea_0aA8EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/> 612 <styles xmi:type="notation:FontStyle" xmi:id="_4ea_0aA8EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
675 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4ea_0qA8EeuqkpDnuik1sg" points="[-34, 50, -804, -274]$[-34, 84, -804, -240]$[840, 84, 70, -240]$[840, 300, 70, -24]"/> 613 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4ea_0qA8EeuqkpDnuik1sg" points="[-21, 50, -159, -58]$[-34, 84, -172, -24]$[137, 84, -1, -24]$[137, 107, -1, -1]"/>
676 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4ea_2aA8EeuqkpDnuik1sg" id="(1.0,0.4897959183673469)"/> 614 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4ea_2aA8EeuqkpDnuik1sg" id="(1.0,0.4897959183673469)"/>
677 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4ea_2qA8EeuqkpDnuik1sg" id="(0.0,0.24489795918367346)"/> 615 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4ea_2qA8EeuqkpDnuik1sg" id="(0.3389830508474576,0.0)"/>
678 </edges> 616 </edges>
679 <edges xmi:type="notation:Edge" xmi:id="_79_eAKA8EeuqkpDnuik1sg" type="4001" element="_79nqlqA8EeuqkpDnuik1sg" source="_p9wywKA8EeuqkpDnuik1sg" target="_xsq_MKA8EeuqkpDnuik1sg"> 617 <edges xmi:type="notation:Edge" xmi:id="_79_eAKA8EeuqkpDnuik1sg" type="4001" element="_79nqlqA8EeuqkpDnuik1sg" source="_p9wywKA8EeuqkpDnuik1sg" target="_xsq_MKA8EeuqkpDnuik1sg">
680 <children xmi:type="notation:Node" xmi:id="_79_eBKA8EeuqkpDnuik1sg" type="6001"> 618 <children xmi:type="notation:Node" xmi:id="_79_eBKA8EeuqkpDnuik1sg" type="6001">
681 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_79_eBaA8EeuqkpDnuik1sg" x="1" y="-18"/> 619 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_79_eBaA8EeuqkpDnuik1sg" x="87" y="18"/>
682 </children> 620 </children>
683 <children xmi:type="notation:Node" xmi:id="_79_eBqA8EeuqkpDnuik1sg" type="6002"> 621 <children xmi:type="notation:Node" xmi:id="_79_eBqA8EeuqkpDnuik1sg" type="6002">
684 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_79_eB6A8EeuqkpDnuik1sg" x="-3" y="10"/> 622 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_79_eB6A8EeuqkpDnuik1sg" x="-19" y="-10"/>
685 </children> 623 </children>
686 <children xmi:type="notation:Node" xmi:id="_79_eCKA8EeuqkpDnuik1sg" type="6003"> 624 <children xmi:type="notation:Node" xmi:id="_79_eCKA8EeuqkpDnuik1sg" type="6003">
687 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_79_eCaA8EeuqkpDnuik1sg" x="-19" y="10"/> 625 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_79_eCaA8EeuqkpDnuik1sg" x="-58" y="-10"/>
688 </children> 626 </children>
689 <styles xmi:type="notation:ConnectorStyle" xmi:id="_79_eAaA8EeuqkpDnuik1sg" routing="Rectilinear"/> 627 <styles xmi:type="notation:ConnectorStyle" xmi:id="_79_eAaA8EeuqkpDnuik1sg" routing="Rectilinear"/>
690 <styles xmi:type="notation:FontStyle" xmi:id="_79_eAqA8EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/> 628 <styles xmi:type="notation:FontStyle" xmi:id="_79_eAqA8EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
691 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_79_eA6A8EeuqkpDnuik1sg" points="[0, 0, -110, 0]$[110, 0, 0, 0]"/> 629 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_79_eA6A8EeuqkpDnuik1sg" points="[41, -3, 708, 143]$[41, -146, 708, 0]$[-549, -146, 118, 0]"/>
692 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_79_eCqA8EeuqkpDnuik1sg" id="(1.0,0.5)"/> 630 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_79_eCqA8EeuqkpDnuik1sg" id="(0.3644067796610169,0.030612244897959183)"/>
693 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_79_eC6A8EeuqkpDnuik1sg" id="(0.0,0.5)"/> 631 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_79_eC6A8EeuqkpDnuik1sg" id="(0.0,0.5)"/>
694 </edges> 632 </edges>
695 <edges xmi:type="notation:Edge" xmi:id="_hU_wsKA9EeuqkpDnuik1sg" type="4001" element="_hU64ZqA9EeuqkpDnuik1sg" source="_D1D6MKA4EeuqkpDnuik1sg" target="_e73WIKA9EeuqkpDnuik1sg"> 633 <edges xmi:type="notation:Edge" xmi:id="_hU_wsKA9EeuqkpDnuik1sg" type="4001" element="_hU64ZqA9EeuqkpDnuik1sg" source="_D1D6MKA4EeuqkpDnuik1sg" target="_e73WIKA9EeuqkpDnuik1sg">
@@ -918,68 +856,212 @@
918 </edges> 856 </edges>
919 <edges xmi:type="notation:Edge" xmi:id="_KnGywNYPEeuF_d0WEhR3Xw" type="4001" element="_KmxbkNYPEeuF_d0WEhR3Xw" source="_6KEUMKA6EeuqkpDnuik1sg" target="_IwsqwNYPEeuF_d0WEhR3Xw"> 857 <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"> 858 <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"/> 859 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KnHZ0dYPEeuF_d0WEhR3Xw" x="-10"/>
922 </children> 860 </children>
923 <children xmi:type="notation:Node" xmi:id="_KnHZ0tYPEeuF_d0WEhR3Xw" type="6002"> 861 <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"/> 862 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KnHZ09YPEeuF_d0WEhR3Xw" x="10"/>
925 </children> 863 </children>
926 <children xmi:type="notation:Node" xmi:id="_KnHZ1NYPEeuF_d0WEhR3Xw" type="6003"> 864 <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"/> 865 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KnHZ1dYPEeuF_d0WEhR3Xw" x="-23" y="10"/>
928 </children> 866 </children>
929 <styles xmi:type="notation:ConnectorStyle" xmi:id="_KnGywdYPEeuF_d0WEhR3Xw" routing="Rectilinear"/> 867 <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"/> 868 <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]"/> 869 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KnGyw9YPEeuF_d0WEhR3Xw" points="[67, 38, -21, -100]$[67, 132, -21, -6]"/>
932 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KnHZ1tYPEeuF_d0WEhR3Xw" id="(0.0,0.6122448979591837)"/> 870 <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)"/> 871 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KnHZ19YPEeuF_d0WEhR3Xw" id="(0.6694915254237288,0.061224489795918366)"/>
934 </edges> 872 </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"> 873 <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"> 874 <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"/> 875 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_byTTddYPEeuF_d0WEhR3Xw" x="-106" y="-140"/>
954 </children> 876 </children>
955 <children xmi:type="notation:Node" xmi:id="_byTTdtYPEeuF_d0WEhR3Xw" type="6002"> 877 <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"/> 878 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_byTTd9YPEeuF_d0WEhR3Xw" x="-31" y="10"/>
957 </children> 879 </children>
958 <children xmi:type="notation:Node" xmi:id="_byTTeNYPEeuF_d0WEhR3Xw" type="6003"> 880 <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"/> 881 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_byTTedYPEeuF_d0WEhR3Xw" x="-28" y="10"/>
960 </children> 882 </children>
961 <styles xmi:type="notation:ConnectorStyle" xmi:id="_byTTcdYPEeuF_d0WEhR3Xw" routing="Rectilinear"/> 883 <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"/> 884 <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]"/> 885 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_byTTc9YPEeuF_d0WEhR3Xw" points="[70, 48, -221, 466]$[303, 48, 12, 466]$[303, -418, 12, 0]"/>
964 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_byT6gNYPEeuF_d0WEhR3Xw" id="(0.4067796610169492,0.0)"/> 886 <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)"/> 887 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_byT6gdYPEeuF_d0WEhR3Xw" id="(0.4067796610169492,1.0)"/>
966 </edges> 888 </edges>
967 <edges xmi:type="notation:Edge" xmi:id="_-X6xcNawEeuymriYTNxK2g" type="4001" element="_-XLKltawEeuymriYTNxK2g" source="_JT0o8KA4EeuqkpDnuik1sg" target="_xsq_MKA8EeuqkpDnuik1sg"> 889 <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"> 890 <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"/> 891 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-X_C4dawEeuymriYTNxK2g" x="-2" y="-308"/>
970 </children> 892 </children>
971 <children xmi:type="notation:Node" xmi:id="_-X_p8NawEeuymriYTNxK2g" type="6002"> 893 <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"/> 894 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-X_p8dawEeuymriYTNxK2g" x="-2" y="10"/>
973 </children> 895 </children>
974 <children xmi:type="notation:Node" xmi:id="_-YARANawEeuymriYTNxK2g" type="6003"> 896 <children xmi:type="notation:Node" xmi:id="_-YARANawEeuymriYTNxK2g" type="6003">
975 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-YARAdawEeuymriYTNxK2g" x="-90" y="10"/> 897 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-YARAdawEeuymriYTNxK2g" x="-316" y="-140"/>
976 </children> 898 </children>
977 <styles xmi:type="notation:ConnectorStyle" xmi:id="_-X6xcdawEeuymriYTNxK2g" routing="Rectilinear"/> 899 <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"/> 900 <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]"/> 901 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-X6xc9awEeuymriYTNxK2g" points="[-58, 86, -288, 422]$[-58, 132, -288, 468]$[288, 132, 58, 468]$[288, -298, 58, 38]"/>
980 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-YCtQNawEeuymriYTNxK2g" id="(1.0,0.12244897959183673)"/> 902 <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)"/> 903 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-YCtQdawEeuymriYTNxK2g" id="(0.0,0.6122448979591837)"/>
982 </edges> 904 </edges>
905 <edges xmi:type="notation:Edge" xmi:id="_W89dcNbFEeuymriYTNxK2g" type="4001" element="_Z7FrQKA6EeuqkpDnuik1sg" source="_QKLK0KA6EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg">
906 <children xmi:type="notation:Node" xmi:id="_W89ddNbFEeuymriYTNxK2g" type="6001">
907 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W89dddbFEeuymriYTNxK2g" x="-349" y="-67"/>
908 </children>
909 <children xmi:type="notation:Node" xmi:id="_W8-EgNbFEeuymriYTNxK2g" type="6002">
910 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W8-EgdbFEeuymriYTNxK2g" x="-12" y="3"/>
911 </children>
912 <children xmi:type="notation:Node" xmi:id="_W8-EgtbFEeuymriYTNxK2g" type="6003">
913 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W8-Eg9bFEeuymriYTNxK2g" x="32" y="10"/>
914 </children>
915 <styles xmi:type="notation:ConnectorStyle" xmi:id="_W89dcdbFEeuymriYTNxK2g" routing="Rectilinear"/>
916 <styles xmi:type="notation:FontStyle" xmi:id="_W89dctbFEeuymriYTNxK2g" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
917 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_W89dc9bFEeuymriYTNxK2g" points="[-75, 50, 517, 414]$[-195, 50, 397, 414]$[-195, -396, 397, -32]$[-581, -396, 11, -32]"/>
918 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_W8_SoNbFEeuymriYTNxK2g" id="(0.635593220338983,0.0)"/>
919 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_W8_SodbFEeuymriYTNxK2g" id="(0.9067796610169492,0.6938775510204082)"/>
920 </edges>
921 <edges xmi:type="notation:Edge" xmi:id="_ev0VwNbFEeuymriYTNxK2g" type="4001" element="_ufJ3IKA4EeuqkpDnuik1sg" source="_c-HCQKA4EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg">
922 <children xmi:type="notation:Node" xmi:id="_ev0VxNbFEeuymriYTNxK2g" type="6001">
923 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ev0VxdbFEeuymriYTNxK2g" x="-206" y="-22"/>
924 </children>
925 <children xmi:type="notation:Node" xmi:id="_ev0VxtbFEeuymriYTNxK2g" type="6002">
926 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ev0Vx9bFEeuymriYTNxK2g" x="6" y="10"/>
927 </children>
928 <children xmi:type="notation:Node" xmi:id="_ev0VyNbFEeuymriYTNxK2g" type="6003">
929 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ev0VydbFEeuymriYTNxK2g" x="-6" y="10"/>
930 </children>
931 <styles xmi:type="notation:ConnectorStyle" xmi:id="_ev0VwdbFEeuymriYTNxK2g" routing="Rectilinear"/>
932 <styles xmi:type="notation:FontStyle" xmi:id="_ev0VwtbFEeuymriYTNxK2g" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
933 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ev0Vw9bFEeuymriYTNxK2g" points="[37, 36, -4, 419]$[156, 36, 115, 419]$[156, -348, 115, 35]$[46, -348, 5, 35]"/>
934 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ev0VytbFEeuymriYTNxK2g" id="(0.7448275862068966,0.0)"/>
935 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ev080NbFEeuymriYTNxK2g" id="(0.9576271186440678,0.5)"/>
936 </edges>
937 <edges xmi:type="notation:Edge" xmi:id="_f-FfsNbFEeuymriYTNxK2g" type="4001" element="_VtPctqA4EeuqkpDnuik1sg" source="_JT0o8KA4EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg">
938 <children xmi:type="notation:Node" xmi:id="_f-FftNbFEeuymriYTNxK2g" type="6001">
939 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_f-FftdbFEeuymriYTNxK2g" x="6" y="31"/>
940 </children>
941 <children xmi:type="notation:Node" xmi:id="_f-FfttbFEeuymriYTNxK2g" type="6002">
942 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_f-Fft9bFEeuymriYTNxK2g" x="-10"/>
943 </children>
944 <children xmi:type="notation:Node" xmi:id="_f-FfuNbFEeuymriYTNxK2g" type="6003">
945 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_f-FfudbFEeuymriYTNxK2g" x="-10"/>
946 </children>
947 <styles xmi:type="notation:ConnectorStyle" xmi:id="_f-FfsdbFEeuymriYTNxK2g" routing="Rectilinear"/>
948 <styles xmi:type="notation:FontStyle" xmi:id="_f-FfstbFEeuymriYTNxK2g" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
949 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_f-Ffs9bFEeuymriYTNxK2g" points="[24, -98, -17, 129]$[24, -192, -17, 35]"/>
950 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_f-GGwNbFEeuymriYTNxK2g" id="(0.2033898305084746,1.0)"/>
951 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_f-GGwdbFEeuymriYTNxK2g" id="(0.9576271186440678,0.6428571428571429)"/>
952 </edges>
953 <edges xmi:type="notation:Edge" xmi:id="_UwuZ8NbGEeuymriYTNxK2g" type="4001" element="_UwbfHtbGEeuymriYTNxK2g" source="_M6O-0NbGEeuymriYTNxK2g" target="_EfWNUKA4EeuqkpDnuik1sg">
954 <children xmi:type="notation:Node" xmi:id="_UwuZ9NbGEeuymriYTNxK2g" type="6001">
955 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UwuZ9dbGEeuymriYTNxK2g" y="-10"/>
956 </children>
957 <children xmi:type="notation:Node" xmi:id="_UwuZ9tbGEeuymriYTNxK2g" type="6002">
958 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UwuZ99bGEeuymriYTNxK2g" y="10"/>
959 </children>
960 <children xmi:type="notation:Node" xmi:id="_UwuZ-NbGEeuymriYTNxK2g" type="6003">
961 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UwuZ-dbGEeuymriYTNxK2g" y="10"/>
962 </children>
963 <styles xmi:type="notation:ConnectorStyle" xmi:id="_UwuZ8dbGEeuymriYTNxK2g" routing="Tree"/>
964 <styles xmi:type="notation:FontStyle" xmi:id="_UwuZ8tbGEeuymriYTNxK2g" fontName="Noto Sans" fontHeight="8"/>
965 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_UwuZ89bGEeuymriYTNxK2g" points="[0, 0, 220, 180]$[-220, -180, 0, 0]"/>
966 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UwvBANbGEeuymriYTNxK2g" id="(0.5,0.0)"/>
967 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UwvBAdbGEeuymriYTNxK2g" id="(0.5,0.5)"/>
968 </edges>
969 <edges xmi:type="notation:Edge" xmi:id="_WYV4ANbGEeuymriYTNxK2g" type="4001" element="_WX_5w9bGEeuymriYTNxK2g" source="_M6O-0NbGEeuymriYTNxK2g" target="_e73WIKA9EeuqkpDnuik1sg">
970 <children xmi:type="notation:Node" xmi:id="_WYV4BNbGEeuymriYTNxK2g" type="6001">
971 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WYV4BdbGEeuymriYTNxK2g" y="-10"/>
972 </children>
973 <children xmi:type="notation:Node" xmi:id="_WYV4BtbGEeuymriYTNxK2g" type="6002">
974 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WYV4B9bGEeuymriYTNxK2g" y="10"/>
975 </children>
976 <children xmi:type="notation:Node" xmi:id="_WYV4CNbGEeuymriYTNxK2g" type="6003">
977 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WYV4CdbGEeuymriYTNxK2g" y="10"/>
978 </children>
979 <styles xmi:type="notation:ConnectorStyle" xmi:id="_WYV4AdbGEeuymriYTNxK2g" routing="Tree"/>
980 <styles xmi:type="notation:FontStyle" xmi:id="_WYV4AtbGEeuymriYTNxK2g" fontName="Noto Sans" fontHeight="8"/>
981 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WYV4A9bGEeuymriYTNxK2g" points="[0, 0, 99, 384]$[0, -240, 99, 144]$[-98, -240, 1, 144]$[-98, -286, 1, 98]"/>
982 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WYV4CtbGEeuymriYTNxK2g" id="(0.3220338983050847,0.030612244897959183)"/>
983 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WYV4C9bGEeuymriYTNxK2g" id="(0.5,0.0)"/>
984 </edges>
985 <edges xmi:type="notation:Edge" xmi:id="_gRXLkNbGEeuymriYTNxK2g" type="4001" element="_gRDCgNbGEeuymriYTNxK2g" source="_M6O-0NbGEeuymriYTNxK2g" target="_xsq_MKA8EeuqkpDnuik1sg">
986 <children xmi:type="notation:Node" xmi:id="_gRXLlNbGEeuymriYTNxK2g" type="6001">
987 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gRXLldbGEeuymriYTNxK2g" x="-13" y="-41"/>
988 </children>
989 <children xmi:type="notation:Node" xmi:id="_gRXyoNbGEeuymriYTNxK2g" type="6002">
990 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gRXyodbGEeuymriYTNxK2g" x="79" y="10"/>
991 </children>
992 <children xmi:type="notation:Node" xmi:id="_gRXyotbGEeuymriYTNxK2g" type="6003">
993 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gRXyo9bGEeuymriYTNxK2g" x="4" y="10"/>
994 </children>
995 <styles xmi:type="notation:ConnectorStyle" xmi:id="_gRXLkdbGEeuymriYTNxK2g" routing="Rectilinear"/>
996 <styles xmi:type="notation:FontStyle" xmi:id="_gRXLktbGEeuymriYTNxK2g" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
997 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gRXLk9bGEeuymriYTNxK2g" points="[25, 48, -35, 334]$[60, 48, 0, 334]$[60, -286, 0, 0]"/>
998 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gRXypNbGEeuymriYTNxK2g" id="(0.788135593220339,0.0)"/>
999 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gRXypdbGEeuymriYTNxK2g" id="(0.3050847457627119,1.0)"/>
1000 </edges>
1001 <edges xmi:type="notation:Edge" xmi:id="_Ql_asNbNEeuymriYTNxK2g" type="4001" element="_QlymotbNEeuymriYTNxK2g" source="_xsq_MKA8EeuqkpDnuik1sg" target="_Kw-vINbNEeuymriYTNxK2g">
1002 <children xmi:type="notation:Node" xmi:id="_Ql_atNbNEeuymriYTNxK2g" type="6001">
1003 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ql_atdbNEeuymriYTNxK2g" y="-10"/>
1004 </children>
1005 <children xmi:type="notation:Node" xmi:id="_QmABwNbNEeuymriYTNxK2g" type="6002">
1006 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QmABwdbNEeuymriYTNxK2g" y="10"/>
1007 </children>
1008 <children xmi:type="notation:Node" xmi:id="_QmABwtbNEeuymriYTNxK2g" type="6003">
1009 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QmABw9bNEeuymriYTNxK2g" y="10"/>
1010 </children>
1011 <styles xmi:type="notation:ConnectorStyle" xmi:id="_Ql_asdbNEeuymriYTNxK2g" routing="Tree"/>
1012 <styles xmi:type="notation:FontStyle" xmi:id="_Ql_astbNEeuymriYTNxK2g" fontName="Noto Sans" fontHeight="8"/>
1013 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Ql_as9bNEeuymriYTNxK2g" points="[0, 0, -84, 58]$[84, -58, 0, 0]"/>
1014 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QmABxNbNEeuymriYTNxK2g" id="(0.7796610169491526,0.01020408163265306)"/>
1015 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QmABxdbNEeuymriYTNxK2g" id="(0.5,0.5)"/>
1016 </edges>
1017 <edges xmi:type="notation:Edge" xmi:id="_SmujYNbNEeuymriYTNxK2g" type="4001" element="_Smi9eNbNEeuymriYTNxK2g" source="_Kw-vINbNEeuymriYTNxK2g" target="_RzZA0KA5EeuqkpDnuik1sg">
1018 <children xmi:type="notation:Node" xmi:id="_SmvKcNbNEeuymriYTNxK2g" type="6001">
1019 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SmvKcdbNEeuymriYTNxK2g" y="-10"/>
1020 </children>
1021 <children xmi:type="notation:Node" xmi:id="_SmvKctbNEeuymriYTNxK2g" type="6002">
1022 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SmvKc9bNEeuymriYTNxK2g" y="10"/>
1023 </children>
1024 <children xmi:type="notation:Node" xmi:id="_SmvKdNbNEeuymriYTNxK2g" type="6003">
1025 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SmvKddbNEeuymriYTNxK2g" y="10"/>
1026 </children>
1027 <styles xmi:type="notation:ConnectorStyle" xmi:id="_SmujYdbNEeuymriYTNxK2g" routing="Tree"/>
1028 <styles xmi:type="notation:FontStyle" xmi:id="_SmujYtbNEeuymriYTNxK2g" fontName="Noto Sans" fontHeight="8"/>
1029 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SmujY9bNEeuymriYTNxK2g" points="[0, 0, 84, 58]$[-84, -58, 0, 0]"/>
1030 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SmvKdtbNEeuymriYTNxK2g" id="(0.5423728813559322,0.07142857142857142)"/>
1031 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SmvKd9bNEeuymriYTNxK2g" id="(0.5,0.5)"/>
1032 </edges>
1033 <edges xmi:type="notation:Edge" xmi:id="_TuLToNbNEeuymriYTNxK2g" type="4001" element="_Tt9RRtbNEeuymriYTNxK2g" source="_jP6FkKA6EeuqkpDnuik1sg" target="_Kw-vINbNEeuymriYTNxK2g">
1034 <children xmi:type="notation:Node" xmi:id="_TuLTpNbNEeuymriYTNxK2g" type="6001">
1035 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TuLTpdbNEeuymriYTNxK2g" y="-10"/>
1036 </children>
1037 <children xmi:type="notation:Node" xmi:id="_TuL6sNbNEeuymriYTNxK2g" type="6002">
1038 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TuL6sdbNEeuymriYTNxK2g" y="10"/>
1039 </children>
1040 <children xmi:type="notation:Node" xmi:id="_TuL6stbNEeuymriYTNxK2g" type="6003">
1041 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TuL6s9bNEeuymriYTNxK2g" y="10"/>
1042 </children>
1043 <styles xmi:type="notation:ConnectorStyle" xmi:id="_TuLTodbNEeuymriYTNxK2g" routing="Tree"/>
1044 <styles xmi:type="notation:FontStyle" xmi:id="_TuLTotbNEeuymriYTNxK2g" fontName="Noto Sans" fontHeight="8"/>
1045 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_TuLTo9bNEeuymriYTNxK2g" points="[0, 0, 96, 442]$[-96, -442, 0, 0]"/>
1046 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TuL6tNbNEeuymriYTNxK2g" id="(0.4067796610169492,0.0)"/>
1047 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TuL6tdbNEeuymriYTNxK2g" id="(0.5,0.5)"/>
1048 </edges>
1049 <edges xmi:type="notation:Edge" xmi:id="_UosbINbNEeuymriYTNxK2g" type="4001" element="_T1fN5tYPEeuF_d0WEhR3Xw" source="_IwsqwNYPEeuF_d0WEhR3Xw" target="_Kw-vINbNEeuymriYTNxK2g">
1050 <children xmi:type="notation:Node" xmi:id="_UosbJNbNEeuymriYTNxK2g" type="6001">
1051 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UosbJdbNEeuymriYTNxK2g" x="-516" y="82"/>
1052 </children>
1053 <children xmi:type="notation:Node" xmi:id="_UotCMNbNEeuymriYTNxK2g" type="6002">
1054 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UotCMdbNEeuymriYTNxK2g" x="21" y="10"/>
1055 </children>
1056 <children xmi:type="notation:Node" xmi:id="_UotCMtbNEeuymriYTNxK2g" type="6003">
1057 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UotCM9bNEeuymriYTNxK2g" x="3" y="10"/>
1058 </children>
1059 <styles xmi:type="notation:ConnectorStyle" xmi:id="_UosbIdbNEeuymriYTNxK2g" routing="Rectilinear"/>
1060 <styles xmi:type="notation:FontStyle" xmi:id="_UosbItbNEeuymriYTNxK2g" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
1061 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_UosbI9bNEeuymriYTNxK2g" points="[-36, 50, 197, 1259]$[-213, 50, 20, 1259]$[-213, -1198, 20, 11]"/>
1062 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UotCNNbNEeuymriYTNxK2g" id="(0.3050847457627119,0.0)"/>
1063 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UotCNdbNEeuymriYTNxK2g" id="(0.16101694915254236,0.8877551020408163)"/>
1064 </edges>
983 </data> 1065 </data>
984 </ownedAnnotationEntries> 1066 </ownedAnnotationEntries>
985 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_Csiy8KA4EeuqkpDnuik1sg" source="DANNOTATION_CUSTOMIZATION_KEY"> 1067 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_Csiy8KA4EeuqkpDnuik1sg" source="DANNOTATION_CUSTOMIZATION_KEY">
@@ -1006,7 +1088,7 @@
1006 </ownedStyle> 1088 </ownedStyle>
1007 <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']"/> 1089 <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']"/>
1008 </ownedDiagramElements> 1090 </ownedDiagramElements>
1009 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_EfNqcKA4EeuqkpDnuik1sg" name="Relation" tooltipText="" outgoingEdges="_XWbypqA5EeuqkpDnuik1sg" incomingEdges="_ODPlcKA4EeuqkpDnuik1sg _gRoBcKA4EeuqkpDnuik1sg _rUgDkKA5EeuqkpDnuik1sg _VjwMzqA8EeuqkpDnuik1sg _w-iG36A8EeuqkpDnuik1sg" width="12" height="10"> 1091 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_EfNqcKA4EeuqkpDnuik1sg" name="Relation" tooltipText="" outgoingEdges="_XWbypqA5EeuqkpDnuik1sg" incomingEdges="_ODPlcKA4EeuqkpDnuik1sg _gRoBcKA4EeuqkpDnuik1sg _rUgDkKA5EeuqkpDnuik1sg _VjwMzqA8EeuqkpDnuik1sg _w-iG36A8EeuqkpDnuik1sg _Z7FrQKA6EeuqkpDnuik1sg _ufJ3IKA4EeuqkpDnuik1sg _VtPctqA4EeuqkpDnuik1sg _UwbfHtbGEeuymriYTNxK2g" width="12" height="10">
1010 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Relation"/> 1092 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Relation"/>
1011 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Relation"/> 1093 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Relation"/>
1012 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 1094 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -1018,7 +1100,7 @@
1018 </ownedStyle> 1100 </ownedStyle>
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']"/> 1101 <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']"/>
1020 </ownedDiagramElements> 1102 </ownedDiagramElements>
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"> 1103 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_JTstIKA4EeuqkpDnuik1sg" name="ClassDeclaration" tooltipText="" outgoingEdges="_ODPlcKA4EeuqkpDnuik1sg _VtPctqA4EeuqkpDnuik1sg _jk6-PKA4EeuqkpDnuik1sg _plK3JqA9EeuqkpDnuik1sg _-XLKltawEeuymriYTNxK2g" incomingEdges="_2kWqbKA9EeuqkpDnuik1sg" width="12" height="10">
1022 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ClassDeclaration"/> 1104 <target 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"/> 1105 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ClassDeclaration"/>
1024 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 1106 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -1049,7 +1131,7 @@
1049 </ownedStyle> 1131 </ownedStyle>
1050 <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']"/> 1132 <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']"/>
1051 </ownedDiagramElements> 1133 </ownedDiagramElements>
1052 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_VtPctqA4EeuqkpDnuik1sg" name="[0..*] superTypes" sourceNode="_JTstIKA4EeuqkpDnuik1sg" targetNode="_JTstIKA4EeuqkpDnuik1sg"> 1134 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_VtPctqA4EeuqkpDnuik1sg" name="[0..*] superTypes" sourceNode="_JTstIKA4EeuqkpDnuik1sg" targetNode="_EfNqcKA4EeuqkpDnuik1sg">
1053 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ClassDeclaration/superTypes"/> 1135 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ClassDeclaration/superTypes"/>
1054 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ClassDeclaration/superTypes"/> 1136 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ClassDeclaration/superTypes"/>
1055 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_VtQDwKA4EeuqkpDnuik1sg" routingStyle="manhattan" strokeColor="0,0,0"> 1137 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_VtQDwKA4EeuqkpDnuik1sg" routingStyle="manhattan" strokeColor="0,0,0">
@@ -1107,7 +1189,7 @@
1107 </ownedStyle> 1189 </ownedStyle>
1108 <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']"/> 1190 <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']"/>
1109 </ownedDiagramElements> 1191 </ownedDiagramElements>
1110 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_ufJ3IKA4EeuqkpDnuik1sg" name="[0..1] referenceType" sourceNode="_c-A7oKA4EeuqkpDnuik1sg" targetNode="_JTstIKA4EeuqkpDnuik1sg"> 1192 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_ufJ3IKA4EeuqkpDnuik1sg" name="[0..1] referenceType" sourceNode="_c-A7oKA4EeuqkpDnuik1sg" targetNode="_EfNqcKA4EeuqkpDnuik1sg">
1111 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration/referenceType"/> 1193 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration/referenceType"/>
1112 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration/referenceType"/> 1194 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration/referenceType"/>
1113 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_ufLFQKA4EeuqkpDnuik1sg" routingStyle="manhattan" strokeColor="0,0,0"> 1195 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_ufLFQKA4EeuqkpDnuik1sg" routingStyle="manhattan" strokeColor="0,0,0">
@@ -1135,7 +1217,7 @@
1135 </ownedStyle> 1217 </ownedStyle>
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']"/> 1218 <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']"/>
1137 </ownedDiagramElements> 1219 </ownedDiagramElements>
1138 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_RzK-YKA5EeuqkpDnuik1sg" name="NamedElement" tooltipText="" incomingEdges="_XWbypqA5EeuqkpDnuik1sg _l7apoqA6EeuqkpDnuik1sg _2U4ggqA8EeuqkpDnuik1sg _m-6OTNXtEeuF_d0WEhR3Xw" width="12" height="10"> 1220 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_RzK-YKA5EeuqkpDnuik1sg" name="NamedElement" tooltipText="" incomingEdges="_XWbypqA5EeuqkpDnuik1sg _m-6OTNXtEeuF_d0WEhR3Xw _Smi9eNbNEeuymriYTNxK2g" width="12" height="10">
1139 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//NamedElement"/> 1221 <target 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"/> 1222 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//NamedElement"/>
1141 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 1223 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -1222,7 +1304,7 @@
1222 </ownedStyle> 1304 </ownedStyle>
1223 <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']"/> 1305 <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']"/>
1224 </ownedDiagramElements> 1306 </ownedDiagramElements>
1225 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_Z7FrQKA6EeuqkpDnuik1sg" name="[0..1] parameterType" sourceNode="_QKD2EKA6EeuqkpDnuik1sg" targetNode="_JTstIKA4EeuqkpDnuik1sg"> 1307 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_Z7FrQKA6EeuqkpDnuik1sg" name="[0..1] parameterType" sourceNode="_QKD2EKA6EeuqkpDnuik1sg" targetNode="_EfNqcKA4EeuqkpDnuik1sg">
1226 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Parameter/parameterType"/> 1308 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Parameter/parameterType"/>
1227 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Parameter/parameterType"/> 1309 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Parameter/parameterType"/>
1228 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_Z7GSUKA6EeuqkpDnuik1sg" routingStyle="manhattan" strokeColor="0,0,0"> 1310 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_Z7GSUKA6EeuqkpDnuik1sg" routingStyle="manhattan" strokeColor="0,0,0">
@@ -1236,7 +1318,7 @@
1236 </ownedStyle> 1318 </ownedStyle>
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']"/> 1319 <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']"/>
1238 </ownedDiagramElements> 1320 </ownedDiagramElements>
1239 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_jPpm4KA6EeuqkpDnuik1sg" name="Variable" tooltipText="" outgoingEdges="_l7apoqA6EeuqkpDnuik1sg" incomingEdges="_oni4rKA6EeuqkpDnuik1sg _BVyUAKA7EeuqkpDnuik1sg _T1fN5tYPEeuF_d0WEhR3Xw" width="12" height="10"> 1321 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_jPpm4KA6EeuqkpDnuik1sg" name="Variable" tooltipText="" outgoingEdges="_Tt9RRtbNEeuymriYTNxK2g" incomingEdges="_oni4rKA6EeuqkpDnuik1sg _BVyUAKA7EeuqkpDnuik1sg" width="12" height="10">
1240 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Variable"/> 1322 <target 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"/> 1323 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Variable"/>
1242 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 1324 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -1248,18 +1330,6 @@
1248 </ownedStyle> 1330 </ownedStyle>
1249 <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']"/> 1331 <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']"/>
1250 </ownedDiagramElements> 1332 </ownedDiagramElements>
1251 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_l7apoqA6EeuqkpDnuik1sg" sourceNode="_jPpm4KA6EeuqkpDnuik1sg" targetNode="_RzK-YKA5EeuqkpDnuik1sg">
1252 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Variable"/>
1253 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Variable"/>
1254 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_l7apo6A6EeuqkpDnuik1sg" targetArrow="InputClosedArrow" routingStyle="tree">
1255 <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"/>
1256 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_l7appKA6EeuqkpDnuik1sg" showIcon="false">
1257 <labelFormat>italic</labelFormat>
1258 </beginLabelStyle>
1259 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_l7appaA6EeuqkpDnuik1sg" showIcon="false"/>
1260 </ownedStyle>
1261 <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']"/>
1262 </ownedDiagramElements>
1263 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_oni4rKA6EeuqkpDnuik1sg" sourceNode="_QKD2EKA6EeuqkpDnuik1sg" targetNode="_jPpm4KA6EeuqkpDnuik1sg"> 1333 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_oni4rKA6EeuqkpDnuik1sg" sourceNode="_QKD2EKA6EeuqkpDnuik1sg" targetNode="_jPpm4KA6EeuqkpDnuik1sg">
1264 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Parameter"/> 1334 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Parameter"/>
1265 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Parameter"/> 1335 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Parameter"/>
@@ -1494,7 +1564,7 @@
1494 </ownedStyle> 1564 </ownedStyle>
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']"/> 1565 <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']"/>
1496 </ownedDiagramElements> 1566 </ownedDiagramElements>
1497 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_xsYrUKA8EeuqkpDnuik1sg" name="Node" tooltipText="" outgoingEdges="_2U4ggqA8EeuqkpDnuik1sg" incomingEdges="_4eU5TqA8EeuqkpDnuik1sg _79nqlqA8EeuqkpDnuik1sg _-XLKltawEeuymriYTNxK2g" width="12" height="10"> 1567 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_xsYrUKA8EeuqkpDnuik1sg" name="Node" tooltipText="" outgoingEdges="_QlymotbNEeuymriYTNxK2g" incomingEdges="_4eU5TqA8EeuqkpDnuik1sg _79nqlqA8EeuqkpDnuik1sg _-XLKltawEeuymriYTNxK2g _gRDCgNbGEeuymriYTNxK2g" width="12" height="10">
1498 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Node"/> 1568 <target 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"/> 1569 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Node"/>
1500 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 1570 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -1505,18 +1575,6 @@
1505 </ownedStyle> 1575 </ownedStyle>
1506 <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']"/> 1576 <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']"/>
1507 </ownedDiagramElements> 1577 </ownedDiagramElements>
1508 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_2U4ggqA8EeuqkpDnuik1sg" sourceNode="_xsYrUKA8EeuqkpDnuik1sg" targetNode="_RzK-YKA5EeuqkpDnuik1sg">
1509 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Node"/>
1510 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Node"/>
1511 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_Mca_kqA9EeuqkpDnuik1sg" targetArrow="InputClosedArrow" routingStyle="tree">
1512 <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"/>
1513 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_Mca_k6A9EeuqkpDnuik1sg" showIcon="false">
1514 <labelFormat>italic</labelFormat>
1515 </beginLabelStyle>
1516 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_Mca_lKA9EeuqkpDnuik1sg" showIcon="false"/>
1517 </ownedStyle>
1518 <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']"/>
1519 </ownedDiagramElements>
1520 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_4eU5TqA8EeuqkpDnuik1sg" name="[0..*] nodes" sourceNode="_D05iIKA4EeuqkpDnuik1sg" targetNode="_xsYrUKA8EeuqkpDnuik1sg"> 1578 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_4eU5TqA8EeuqkpDnuik1sg" name="[0..*] nodes" sourceNode="_D05iIKA4EeuqkpDnuik1sg" targetNode="_xsYrUKA8EeuqkpDnuik1sg">
1521 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Problem/nodes"/> 1579 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Problem/nodes"/>
1522 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Problem/nodes"/> 1580 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Problem/nodes"/>
@@ -1590,7 +1648,7 @@
1590 </ownedStyle> 1648 </ownedStyle>
1591 <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']"/> 1649 <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']"/>
1592 </ownedDiagramElements> 1650 </ownedDiagramElements>
1593 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_e7ydoKA9EeuqkpDnuik1sg" name="Statement" tooltipText="" incomingEdges="_hU64ZqA9EeuqkpDnuik1sg _mQFKsqA9EeuqkpDnuik1sg _mzziwKA9EeuqkpDnuik1sg _plK3JqA9EeuqkpDnuik1sg _vdptgqA9EeuqkpDnuik1sg" width="12" height="10"> 1651 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_e7ydoKA9EeuqkpDnuik1sg" name="Statement" tooltipText="" incomingEdges="_hU64ZqA9EeuqkpDnuik1sg _mQFKsqA9EeuqkpDnuik1sg _mzziwKA9EeuqkpDnuik1sg _plK3JqA9EeuqkpDnuik1sg _vdptgqA9EeuqkpDnuik1sg _WX_5w9bGEeuymriYTNxK2g" width="12" height="10">
1594 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Statement"/> 1652 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Statement"/>
1595 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Statement"/> 1653 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Statement"/>
1596 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 1654 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -1885,9 +1943,9 @@
1885 </ownedStyle> 1943 </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']"/> 1944 <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> 1945 </ownedDiagramElements>
1888 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_T1fN5tYPEeuF_d0WEhR3Xw" name="[0..1] variable" sourceNode="_IwJ4MNYPEeuF_d0WEhR3Xw" targetNode="_jPpm4KA6EeuqkpDnuik1sg"> 1946 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_T1fN5tYPEeuF_d0WEhR3Xw" name="[0..1] variableOrNode" sourceNode="_IwJ4MNYPEeuF_d0WEhR3Xw" targetNode="_KwtCUNbNEeuymriYTNxK2g">
1889 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Argument/variable"/> 1947 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Argument/variableOrNode"/>
1890 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Argument/variable"/> 1948 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Argument/variableOrNode"/>
1891 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_T1fN59YPEeuF_d0WEhR3Xw" routingStyle="manhattan" strokeColor="0,0,0"> 1949 <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"/> 1950 <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"> 1951 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_T1fN6dYPEeuF_d0WEhR3Xw" showIcon="false">
@@ -1921,6 +1979,102 @@
1921 </ownedStyle> 1979 </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']"/> 1980 <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> 1981 </ownedDiagramElements>
1982 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_M58q8NbGEeuymriYTNxK2g" name="EnumDeclaration" tooltipText="" outgoingEdges="_UwbfHtbGEeuymriYTNxK2g _WX_5w9bGEeuymriYTNxK2g _gRDCgNbGEeuymriYTNxK2g" width="12" height="10">
1983 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//EnumDeclaration"/>
1984 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//EnumDeclaration"/>
1985 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1986 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1987 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1988 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_M59SANbGEeuymriYTNxK2g" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
1989 <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"/>
1990 </ownedStyle>
1991 <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']"/>
1992 </ownedDiagramElements>
1993 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_UwbfHtbGEeuymriYTNxK2g" sourceNode="_M58q8NbGEeuymriYTNxK2g" targetNode="_EfNqcKA4EeuqkpDnuik1sg">
1994 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//EnumDeclaration"/>
1995 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//EnumDeclaration"/>
1996 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_UwcGENbGEeuymriYTNxK2g" targetArrow="InputClosedArrow" routingStyle="tree">
1997 <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"/>
1998 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_UwcGEdbGEeuymriYTNxK2g" showIcon="false">
1999 <labelFormat>italic</labelFormat>
2000 </beginLabelStyle>
2001 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_UwcGEtbGEeuymriYTNxK2g" showIcon="false"/>
2002 </ownedStyle>
2003 <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']"/>
2004 </ownedDiagramElements>
2005 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_WX_5w9bGEeuymriYTNxK2g" sourceNode="_M58q8NbGEeuymriYTNxK2g" targetNode="_e7ydoKA9EeuqkpDnuik1sg">
2006 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//EnumDeclaration"/>
2007 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//EnumDeclaration"/>
2008 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_WYAg0NbGEeuymriYTNxK2g" lineStyle="dash" targetArrow="InputClosedArrow" routingStyle="tree">
2009 <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']/@conditionnalStyles.0/@style"/>
2010 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_WYAg0dbGEeuymriYTNxK2g" showIcon="false">
2011 <labelFormat>italic</labelFormat>
2012 </beginLabelStyle>
2013 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_WYAg0tbGEeuymriYTNxK2g" showIcon="false"/>
2014 </ownedStyle>
2015 <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']"/>
2016 </ownedDiagramElements>
2017 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_gRDCgNbGEeuymriYTNxK2g" name="[0..*] literals" sourceNode="_M58q8NbGEeuymriYTNxK2g" targetNode="_xsYrUKA8EeuqkpDnuik1sg">
2018 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//EnumDeclaration/literals"/>
2019 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//EnumDeclaration/literals"/>
2020 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_gRDpkNbGEeuymriYTNxK2g" description="_L-JhMKA4EeuqkpDnuik1sg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2021 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_gRDpktbGEeuymriYTNxK2g" showIcon="false">
2022 <customFeatures>labelSize</customFeatures>
2023 </centerLabelStyle>
2024 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_gRDpkdbGEeuymriYTNxK2g" showIcon="false" labelColor="39,76,114">
2025 <customFeatures>labelSize</customFeatures>
2026 </endLabelStyle>
2027 </ownedStyle>
2028 <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']"/>
2029 </ownedDiagramElements>
2030 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_KwtCUNbNEeuymriYTNxK2g" name="VariableOrNode" tooltipText="" outgoingEdges="_Smi9eNbNEeuymriYTNxK2g" incomingEdges="_QlymotbNEeuymriYTNxK2g _Tt9RRtbNEeuymriYTNxK2g _T1fN5tYPEeuF_d0WEhR3Xw" width="12" height="10">
2031 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//VariableOrNode"/>
2032 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//VariableOrNode"/>
2033 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2034 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2035 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2036 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_QMf8vdbNEeuymriYTNxK2g" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
2037 <labelFormat>italic</labelFormat>
2038 <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']/@conditionnalStyles.1/@style"/>
2039 </ownedStyle>
2040 <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']"/>
2041 </ownedDiagramElements>
2042 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_QlymotbNEeuymriYTNxK2g" sourceNode="_xsYrUKA8EeuqkpDnuik1sg" targetNode="_KwtCUNbNEeuymriYTNxK2g">
2043 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Node"/>
2044 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Node"/>
2045 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_QlzNcNbNEeuymriYTNxK2g" targetArrow="InputClosedArrow" routingStyle="tree">
2046 <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"/>
2047 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_QlzNcdbNEeuymriYTNxK2g" showIcon="false">
2048 <labelFormat>italic</labelFormat>
2049 </beginLabelStyle>
2050 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_QlzNctbNEeuymriYTNxK2g" showIcon="false"/>
2051 </ownedStyle>
2052 <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']"/>
2053 </ownedDiagramElements>
2054 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_Smi9eNbNEeuymriYTNxK2g" sourceNode="_KwtCUNbNEeuymriYTNxK2g" targetNode="_RzK-YKA5EeuqkpDnuik1sg">
2055 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//VariableOrNode"/>
2056 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//VariableOrNode"/>
2057 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_SmjkQNbNEeuymriYTNxK2g" targetArrow="InputClosedArrow" routingStyle="tree">
2058 <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"/>
2059 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_SmjkQdbNEeuymriYTNxK2g" showIcon="false">
2060 <labelFormat>italic</labelFormat>
2061 </beginLabelStyle>
2062 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_SmjkQtbNEeuymriYTNxK2g" showIcon="false"/>
2063 </ownedStyle>
2064 <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']"/>
2065 </ownedDiagramElements>
2066 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_Tt9RRtbNEeuymriYTNxK2g" sourceNode="_jPpm4KA6EeuqkpDnuik1sg" targetNode="_KwtCUNbNEeuymriYTNxK2g">
2067 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Variable"/>
2068 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Variable"/>
2069 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_Tt94QNbNEeuymriYTNxK2g" targetArrow="InputClosedArrow" routingStyle="tree">
2070 <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"/>
2071 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_Tt94QdbNEeuymriYTNxK2g" showIcon="false">
2072 <labelFormat>italic</labelFormat>
2073 </beginLabelStyle>
2074 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_Tt94QtbNEeuymriYTNxK2g" showIcon="false"/>
2075 </ownedStyle>
2076 <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']"/>
2077 </ownedDiagramElements>
1924 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/> 2078 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
1925 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_CsWlsKA4EeuqkpDnuik1sg"/> 2079 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_CsWlsKA4EeuqkpDnuik1sg"/>
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"/> 2080 <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
index 5442f8e0..4857b38a 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/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
@@ -13,7 +13,7 @@ import org.eclipse.emf.ecore.EObject;
13 * The following features are supported: 13 * The following features are supported:
14 * </p> 14 * </p>
15 * <ul> 15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Argument#getVariable <em>Variable</em>}</li> 16 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Argument#getVariableOrNode <em>Variable Or Node</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Argument#getSingletonVariable <em>Singleton Variable</em>}</li> 17 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Argument#getSingletonVariable <em>Singleton Variable</em>}</li>
18 * </ul> 18 * </ul>
19 * 19 *
@@ -23,26 +23,26 @@ import org.eclipse.emf.ecore.EObject;
23 */ 23 */
24public interface Argument extends EObject { 24public interface Argument extends EObject {
25 /** 25 /**
26 * Returns the value of the '<em><b>Variable</b></em>' reference. 26 * Returns the value of the '<em><b>Variable Or Node</b></em>' reference.
27 * <!-- begin-user-doc --> 27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc --> 28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Variable</em>' reference. 29 * @return the value of the '<em>Variable Or Node</em>' reference.
30 * @see #setVariable(Variable) 30 * @see #setVariableOrNode(VariableOrNode)
31 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getArgument_Variable() 31 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getArgument_VariableOrNode()
32 * @model 32 * @model
33 * @generated 33 * @generated
34 */ 34 */
35 Variable getVariable(); 35 VariableOrNode getVariableOrNode();
36 36
37 /** 37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.Argument#getVariable <em>Variable</em>}' reference. 38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.Argument#getVariableOrNode <em>Variable Or Node</em>}' reference.
39 * <!-- begin-user-doc --> 39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc --> 40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Variable</em>' reference. 41 * @param value the new value of the '<em>Variable Or Node</em>' reference.
42 * @see #getVariable() 42 * @see #getVariableOrNode()
43 * @generated 43 * @generated
44 */ 44 */
45 void setVariable(Variable value); 45 void setVariableOrNode(VariableOrNode value);
46 46
47 /** 47 /**
48 * Returns the value of the '<em><b>Singleton Variable</b></em>' containment reference. 48 * Returns the value of the '<em><b>Singleton Variable</b></em>' containment reference.
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 1387575a..d0f471be 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
@@ -48,7 +48,7 @@ public interface ClassDeclaration extends Relation, Statement {
48 48
49 /** 49 /**
50 * Returns the value of the '<em><b>Super Types</b></em>' reference list. 50 * Returns the value of the '<em><b>Super Types</b></em>' reference list.
51 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration}. 51 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.Relation}.
52 * <!-- begin-user-doc --> 52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc --> 53 * <!-- end-user-doc -->
54 * @return the value of the '<em>Super Types</em>' reference list. 54 * @return the value of the '<em>Super Types</em>' reference list.
@@ -56,7 +56,7 @@ public interface ClassDeclaration extends Relation, Statement {
56 * @model 56 * @model
57 * @generated 57 * @generated
58 */ 58 */
59 EList<ClassDeclaration> getSuperTypes(); 59 EList<Relation> getSuperTypes();
60 60
61 /** 61 /**
62 * Returns the value of the '<em><b>Reference Declarations</b></em>' containment reference list. 62 * Returns the value of the '<em><b>Reference Declarations</b></em>' containment reference list.
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/EnumDeclaration.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/EnumDeclaration.java
new file mode 100644
index 00000000..81f2967d
--- /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/EnumDeclaration.java
@@ -0,0 +1,36 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5import org.eclipse.emf.common.util.EList;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Enum Declaration</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.EnumDeclaration#getLiterals <em>Literals</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getEnumDeclaration()
20 * @model
21 * @generated
22 */
23public interface EnumDeclaration extends Relation, Statement {
24 /**
25 * Returns the value of the '<em><b>Literals</b></em>' containment reference list.
26 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.Node}.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Literals</em>' containment reference list.
30 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getEnumDeclaration_Literals()
31 * @model containment="true"
32 * @generated
33 */
34 EList<Node> getLiterals();
35
36} // EnumDeclaration
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/Node.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/Node.java
index e6547083..3da08af3 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/Node.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/Node.java
@@ -12,5 +12,5 @@ package org.eclipse.viatra.solver.language.model.problem;
12 * @model 12 * @model
13 * @generated 13 * @generated
14 */ 14 */
15public interface Node extends NamedElement { 15public interface Node extends VariableOrNode {
16} // Node 16} // 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/Parameter.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/Parameter.java
index 5ed8ac3c..7bedca1b 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/Parameter.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/Parameter.java
@@ -24,12 +24,12 @@ public interface Parameter extends Variable {
24 * <!-- begin-user-doc --> 24 * <!-- begin-user-doc -->
25 * <!-- end-user-doc --> 25 * <!-- end-user-doc -->
26 * @return the value of the '<em>Parameter Type</em>' reference. 26 * @return the value of the '<em>Parameter Type</em>' reference.
27 * @see #setParameterType(ClassDeclaration) 27 * @see #setParameterType(Relation)
28 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getParameter_ParameterType() 28 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getParameter_ParameterType()
29 * @model 29 * @model
30 * @generated 30 * @generated
31 */ 31 */
32 ClassDeclaration getParameterType(); 32 Relation getParameterType();
33 33
34 /** 34 /**
35 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.Parameter#getParameterType <em>Parameter Type</em>}' reference. 35 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.Parameter#getParameterType <em>Parameter Type</em>}' reference.
@@ -39,6 +39,6 @@ public interface Parameter extends Variable {
39 * @see #getParameterType() 39 * @see #getParameterType()
40 * @generated 40 * @generated
41 */ 41 */
42 void setParameterType(ClassDeclaration value); 42 void setParameterType(Relation value);
43 43
44} // Parameter 44} // Parameter
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 bdfc326b..e4332d19 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
@@ -175,6 +175,15 @@ public interface ProblemFactory extends EFactory {
175 Argument createArgument(); 175 Argument createArgument();
176 176
177 /** 177 /**
178 * Returns a new object of class '<em>Enum Declaration</em>'.
179 * <!-- begin-user-doc -->
180 * <!-- end-user-doc -->
181 * @return a new object of class '<em>Enum Declaration</em>'.
182 * @generated
183 */
184 EnumDeclaration createEnumDeclaration();
185
186 /**
178 * Returns the package supported by this factory. 187 * Returns the package supported by this factory.
179 * <!-- begin-user-doc --> 188 * <!-- begin-user-doc -->
180 * <!-- end-user-doc --> 189 * <!-- 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 1358eaeb..ec96501d 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
@@ -397,6 +397,43 @@ public interface ProblemPackage extends EPackage {
397 int PREDICATE_DEFINITION_OPERATION_COUNT = RELATION_OPERATION_COUNT + 0; 397 int PREDICATE_DEFINITION_OPERATION_COUNT = RELATION_OPERATION_COUNT + 0;
398 398
399 /** 399 /**
400 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.VariableOrNodeImpl <em>Variable Or Node</em>}' class.
401 * <!-- begin-user-doc -->
402 * <!-- end-user-doc -->
403 * @see org.eclipse.viatra.solver.language.model.problem.impl.VariableOrNodeImpl
404 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getVariableOrNode()
405 * @generated
406 */
407 int VARIABLE_OR_NODE = 25;
408
409 /**
410 * The feature id for the '<em><b>Name</b></em>' attribute.
411 * <!-- begin-user-doc -->
412 * <!-- end-user-doc -->
413 * @generated
414 * @ordered
415 */
416 int VARIABLE_OR_NODE__NAME = NAMED_ELEMENT__NAME;
417
418 /**
419 * The number of structural features of the '<em>Variable Or Node</em>' class.
420 * <!-- begin-user-doc -->
421 * <!-- end-user-doc -->
422 * @generated
423 * @ordered
424 */
425 int VARIABLE_OR_NODE_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 0;
426
427 /**
428 * The number of operations of the '<em>Variable Or Node</em>' class.
429 * <!-- begin-user-doc -->
430 * <!-- end-user-doc -->
431 * @generated
432 * @ordered
433 */
434 int VARIABLE_OR_NODE_OPERATION_COUNT = NAMED_ELEMENT_OPERATION_COUNT + 0;
435
436 /**
400 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.VariableImpl <em>Variable</em>}' class. 437 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.VariableImpl <em>Variable</em>}' class.
401 * <!-- begin-user-doc --> 438 * <!-- begin-user-doc -->
402 * <!-- end-user-doc --> 439 * <!-- end-user-doc -->
@@ -413,7 +450,7 @@ public interface ProblemPackage extends EPackage {
413 * @generated 450 * @generated
414 * @ordered 451 * @ordered
415 */ 452 */
416 int VARIABLE__NAME = NAMED_ELEMENT__NAME; 453 int VARIABLE__NAME = VARIABLE_OR_NODE__NAME;
417 454
418 /** 455 /**
419 * The number of structural features of the '<em>Variable</em>' class. 456 * The number of structural features of the '<em>Variable</em>' class.
@@ -422,7 +459,7 @@ public interface ProblemPackage extends EPackage {
422 * @generated 459 * @generated
423 * @ordered 460 * @ordered
424 */ 461 */
425 int VARIABLE_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 0; 462 int VARIABLE_FEATURE_COUNT = VARIABLE_OR_NODE_FEATURE_COUNT + 0;
426 463
427 /** 464 /**
428 * The number of operations of the '<em>Variable</em>' class. 465 * The number of operations of the '<em>Variable</em>' class.
@@ -431,7 +468,7 @@ public interface ProblemPackage extends EPackage {
431 * @generated 468 * @generated
432 * @ordered 469 * @ordered
433 */ 470 */
434 int VARIABLE_OPERATION_COUNT = NAMED_ELEMENT_OPERATION_COUNT + 0; 471 int VARIABLE_OPERATION_COUNT = VARIABLE_OR_NODE_OPERATION_COUNT + 0;
435 472
436 /** 473 /**
437 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ParameterImpl <em>Parameter</em>}' class. 474 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ParameterImpl <em>Parameter</em>}' class.
@@ -828,7 +865,7 @@ public interface ProblemPackage extends EPackage {
828 * @generated 865 * @generated
829 * @ordered 866 * @ordered
830 */ 867 */
831 int NODE__NAME = NAMED_ELEMENT__NAME; 868 int NODE__NAME = VARIABLE_OR_NODE__NAME;
832 869
833 /** 870 /**
834 * The number of structural features of the '<em>Node</em>' class. 871 * The number of structural features of the '<em>Node</em>' class.
@@ -837,7 +874,7 @@ public interface ProblemPackage extends EPackage {
837 * @generated 874 * @generated
838 * @ordered 875 * @ordered
839 */ 876 */
840 int NODE_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 0; 877 int NODE_FEATURE_COUNT = VARIABLE_OR_NODE_FEATURE_COUNT + 0;
841 878
842 /** 879 /**
843 * The number of operations of the '<em>Node</em>' class. 880 * The number of operations of the '<em>Node</em>' class.
@@ -846,7 +883,7 @@ public interface ProblemPackage extends EPackage {
846 * @generated 883 * @generated
847 * @ordered 884 * @ordered
848 */ 885 */
849 int NODE_OPERATION_COUNT = NAMED_ELEMENT_OPERATION_COUNT + 0; 886 int NODE_OPERATION_COUNT = VARIABLE_OR_NODE_OPERATION_COUNT + 0;
850 887
851 /** 888 /**
852 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ScopeDeclarationImpl <em>Scope Declaration</em>}' class. 889 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ScopeDeclarationImpl <em>Scope Declaration</em>}' class.
@@ -1090,13 +1127,13 @@ public interface ProblemPackage extends EPackage {
1090 int ARGUMENT = 23; 1127 int ARGUMENT = 23;
1091 1128
1092 /** 1129 /**
1093 * The feature id for the '<em><b>Variable</b></em>' reference. 1130 * The feature id for the '<em><b>Variable Or Node</b></em>' reference.
1094 * <!-- begin-user-doc --> 1131 * <!-- begin-user-doc -->
1095 * <!-- end-user-doc --> 1132 * <!-- end-user-doc -->
1096 * @generated 1133 * @generated
1097 * @ordered 1134 * @ordered
1098 */ 1135 */
1099 int ARGUMENT__VARIABLE = 0; 1136 int ARGUMENT__VARIABLE_OR_NODE = 0;
1100 1137
1101 /** 1138 /**
1102 * The feature id for the '<em><b>Singleton Variable</b></em>' containment reference. 1139 * The feature id for the '<em><b>Singleton Variable</b></em>' containment reference.
@@ -1126,6 +1163,52 @@ public interface ProblemPackage extends EPackage {
1126 int ARGUMENT_OPERATION_COUNT = 0; 1163 int ARGUMENT_OPERATION_COUNT = 0;
1127 1164
1128 /** 1165 /**
1166 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.EnumDeclarationImpl <em>Enum Declaration</em>}' class.
1167 * <!-- begin-user-doc -->
1168 * <!-- end-user-doc -->
1169 * @see org.eclipse.viatra.solver.language.model.problem.impl.EnumDeclarationImpl
1170 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getEnumDeclaration()
1171 * @generated
1172 */
1173 int ENUM_DECLARATION = 24;
1174
1175 /**
1176 * The feature id for the '<em><b>Name</b></em>' attribute.
1177 * <!-- begin-user-doc -->
1178 * <!-- end-user-doc -->
1179 * @generated
1180 * @ordered
1181 */
1182 int ENUM_DECLARATION__NAME = RELATION__NAME;
1183
1184 /**
1185 * The feature id for the '<em><b>Literals</b></em>' containment reference list.
1186 * <!-- begin-user-doc -->
1187 * <!-- end-user-doc -->
1188 * @generated
1189 * @ordered
1190 */
1191 int ENUM_DECLARATION__LITERALS = RELATION_FEATURE_COUNT + 0;
1192
1193 /**
1194 * The number of structural features of the '<em>Enum Declaration</em>' class.
1195 * <!-- begin-user-doc -->
1196 * <!-- end-user-doc -->
1197 * @generated
1198 * @ordered
1199 */
1200 int ENUM_DECLARATION_FEATURE_COUNT = RELATION_FEATURE_COUNT + 1;
1201
1202 /**
1203 * The number of operations of the '<em>Enum Declaration</em>' class.
1204 * <!-- begin-user-doc -->
1205 * <!-- end-user-doc -->
1206 * @generated
1207 * @ordered
1208 */
1209 int ENUM_DECLARATION_OPERATION_COUNT = RELATION_OPERATION_COUNT + 0;
1210
1211 /**
1129 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}' enum. 1212 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}' enum.
1130 * <!-- begin-user-doc --> 1213 * <!-- begin-user-doc -->
1131 * <!-- end-user-doc --> 1214 * <!-- end-user-doc -->
@@ -1133,7 +1216,7 @@ public interface ProblemPackage extends EPackage {
1133 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getLogicValue() 1216 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getLogicValue()
1134 * @generated 1217 * @generated
1135 */ 1218 */
1136 int LOGIC_VALUE = 24; 1219 int LOGIC_VALUE = 26;
1137 1220
1138 /** 1221 /**
1139 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Problem <em>Problem</em>}'. 1222 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Problem <em>Problem</em>}'.
@@ -1717,15 +1800,15 @@ public interface ProblemPackage extends EPackage {
1717 EClass getArgument(); 1800 EClass getArgument();
1718 1801
1719 /** 1802 /**
1720 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.model.problem.Argument#getVariable <em>Variable</em>}'. 1803 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.model.problem.Argument#getVariableOrNode <em>Variable Or Node</em>}'.
1721 * <!-- begin-user-doc --> 1804 * <!-- begin-user-doc -->
1722 * <!-- end-user-doc --> 1805 * <!-- end-user-doc -->
1723 * @return the meta object for the reference '<em>Variable</em>'. 1806 * @return the meta object for the reference '<em>Variable Or Node</em>'.
1724 * @see org.eclipse.viatra.solver.language.model.problem.Argument#getVariable() 1807 * @see org.eclipse.viatra.solver.language.model.problem.Argument#getVariableOrNode()
1725 * @see #getArgument() 1808 * @see #getArgument()
1726 * @generated 1809 * @generated
1727 */ 1810 */
1728 EReference getArgument_Variable(); 1811 EReference getArgument_VariableOrNode();
1729 1812
1730 /** 1813 /**
1731 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.model.problem.Argument#getSingletonVariable <em>Singleton Variable</em>}'. 1814 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.model.problem.Argument#getSingletonVariable <em>Singleton Variable</em>}'.
@@ -1739,6 +1822,37 @@ public interface ProblemPackage extends EPackage {
1739 EReference getArgument_SingletonVariable(); 1822 EReference getArgument_SingletonVariable();
1740 1823
1741 /** 1824 /**
1825 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.EnumDeclaration <em>Enum Declaration</em>}'.
1826 * <!-- begin-user-doc -->
1827 * <!-- end-user-doc -->
1828 * @return the meta object for class '<em>Enum Declaration</em>'.
1829 * @see org.eclipse.viatra.solver.language.model.problem.EnumDeclaration
1830 * @generated
1831 */
1832 EClass getEnumDeclaration();
1833
1834 /**
1835 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.model.problem.EnumDeclaration#getLiterals <em>Literals</em>}'.
1836 * <!-- begin-user-doc -->
1837 * <!-- end-user-doc -->
1838 * @return the meta object for the containment reference list '<em>Literals</em>'.
1839 * @see org.eclipse.viatra.solver.language.model.problem.EnumDeclaration#getLiterals()
1840 * @see #getEnumDeclaration()
1841 * @generated
1842 */
1843 EReference getEnumDeclaration_Literals();
1844
1845 /**
1846 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.VariableOrNode <em>Variable Or Node</em>}'.
1847 * <!-- begin-user-doc -->
1848 * <!-- end-user-doc -->
1849 * @return the meta object for class '<em>Variable Or Node</em>'.
1850 * @see org.eclipse.viatra.solver.language.model.problem.VariableOrNode
1851 * @generated
1852 */
1853 EClass getVariableOrNode();
1854
1855 /**
1742 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}'. 1856 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}'.
1743 * <!-- begin-user-doc --> 1857 * <!-- begin-user-doc -->
1744 * <!-- end-user-doc --> 1858 * <!-- end-user-doc -->
@@ -2260,12 +2374,12 @@ public interface ProblemPackage extends EPackage {
2260 EClass ARGUMENT = eINSTANCE.getArgument(); 2374 EClass ARGUMENT = eINSTANCE.getArgument();
2261 2375
2262 /** 2376 /**
2263 * The meta object literal for the '<em><b>Variable</b></em>' reference feature. 2377 * The meta object literal for the '<em><b>Variable Or Node</b></em>' reference feature.
2264 * <!-- begin-user-doc --> 2378 * <!-- begin-user-doc -->
2265 * <!-- end-user-doc --> 2379 * <!-- end-user-doc -->
2266 * @generated 2380 * @generated
2267 */ 2381 */
2268 EReference ARGUMENT__VARIABLE = eINSTANCE.getArgument_Variable(); 2382 EReference ARGUMENT__VARIABLE_OR_NODE = eINSTANCE.getArgument_VariableOrNode();
2269 2383
2270 /** 2384 /**
2271 * The meta object literal for the '<em><b>Singleton Variable</b></em>' containment reference feature. 2385 * The meta object literal for the '<em><b>Singleton Variable</b></em>' containment reference feature.
@@ -2276,6 +2390,34 @@ public interface ProblemPackage extends EPackage {
2276 EReference ARGUMENT__SINGLETON_VARIABLE = eINSTANCE.getArgument_SingletonVariable(); 2390 EReference ARGUMENT__SINGLETON_VARIABLE = eINSTANCE.getArgument_SingletonVariable();
2277 2391
2278 /** 2392 /**
2393 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.EnumDeclarationImpl <em>Enum Declaration</em>}' class.
2394 * <!-- begin-user-doc -->
2395 * <!-- end-user-doc -->
2396 * @see org.eclipse.viatra.solver.language.model.problem.impl.EnumDeclarationImpl
2397 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getEnumDeclaration()
2398 * @generated
2399 */
2400 EClass ENUM_DECLARATION = eINSTANCE.getEnumDeclaration();
2401
2402 /**
2403 * The meta object literal for the '<em><b>Literals</b></em>' containment reference list feature.
2404 * <!-- begin-user-doc -->
2405 * <!-- end-user-doc -->
2406 * @generated
2407 */
2408 EReference ENUM_DECLARATION__LITERALS = eINSTANCE.getEnumDeclaration_Literals();
2409
2410 /**
2411 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.VariableOrNodeImpl <em>Variable Or Node</em>}' class.
2412 * <!-- begin-user-doc -->
2413 * <!-- end-user-doc -->
2414 * @see org.eclipse.viatra.solver.language.model.problem.impl.VariableOrNodeImpl
2415 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getVariableOrNode()
2416 * @generated
2417 */
2418 EClass VARIABLE_OR_NODE = eINSTANCE.getVariableOrNode();
2419
2420 /**
2279 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}' enum. 2421 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}' enum.
2280 * <!-- begin-user-doc --> 2422 * <!-- begin-user-doc -->
2281 * <!-- end-user-doc --> 2423 * <!-- 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/ReferenceDeclaration.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/ReferenceDeclaration.java
index f07ee7d1..38650d66 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/ReferenceDeclaration.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/ReferenceDeclaration.java
@@ -27,12 +27,12 @@ public interface ReferenceDeclaration extends Relation {
27 * <!-- begin-user-doc --> 27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc --> 28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Reference Type</em>' reference. 29 * @return the value of the '<em>Reference Type</em>' reference.
30 * @see #setReferenceType(ClassDeclaration) 30 * @see #setReferenceType(Relation)
31 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getReferenceDeclaration_ReferenceType() 31 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getReferenceDeclaration_ReferenceType()
32 * @model 32 * @model
33 * @generated 33 * @generated
34 */ 34 */
35 ClassDeclaration getReferenceType(); 35 Relation getReferenceType();
36 36
37 /** 37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration#getReferenceType <em>Reference Type</em>}' reference. 38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration#getReferenceType <em>Reference Type</em>}' reference.
@@ -42,7 +42,7 @@ public interface ReferenceDeclaration extends Relation {
42 * @see #getReferenceType() 42 * @see #getReferenceType()
43 * @generated 43 * @generated
44 */ 44 */
45 void setReferenceType(ClassDeclaration value); 45 void setReferenceType(Relation value);
46 46
47 /** 47 /**
48 * Returns the value of the '<em><b>Opposite</b></em>' reference. 48 * Returns the value of the '<em><b>Opposite</b></em>' reference.
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/Variable.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/Variable.java
index 26637a35..cba5740c 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/Variable.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/Variable.java
@@ -12,5 +12,5 @@ package org.eclipse.viatra.solver.language.model.problem;
12 * @model abstract="true" 12 * @model abstract="true"
13 * @generated 13 * @generated
14 */ 14 */
15public interface Variable extends NamedElement { 15public interface Variable extends VariableOrNode {
16} // Variable 16} // Variable
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/VariableOrNode.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/VariableOrNode.java
new file mode 100644
index 00000000..65c315e2
--- /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/VariableOrNode.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>Variable Or Node</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 *
11 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getVariableOrNode()
12 * @model abstract="true"
13 * @generated
14 */
15public interface VariableOrNode extends NamedElement {
16} // VariableOrNode
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
index 9f6bc7ae..f7d045ca 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/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
@@ -14,7 +14,7 @@ import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
14import org.eclipse.viatra.solver.language.model.problem.Argument; 14import org.eclipse.viatra.solver.language.model.problem.Argument;
15import org.eclipse.viatra.solver.language.model.problem.ImplicitVariable; 15import org.eclipse.viatra.solver.language.model.problem.ImplicitVariable;
16import org.eclipse.viatra.solver.language.model.problem.ProblemPackage; 16import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
17import org.eclipse.viatra.solver.language.model.problem.Variable; 17import org.eclipse.viatra.solver.language.model.problem.VariableOrNode;
18 18
19/** 19/**
20 * <!-- begin-user-doc --> 20 * <!-- begin-user-doc -->
@@ -24,7 +24,7 @@ import org.eclipse.viatra.solver.language.model.problem.Variable;
24 * The following features are implemented: 24 * The following features are implemented:
25 * </p> 25 * </p>
26 * <ul> 26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ArgumentImpl#getVariable <em>Variable</em>}</li> 27 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ArgumentImpl#getVariableOrNode <em>Variable Or Node</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ArgumentImpl#getSingletonVariable <em>Singleton Variable</em>}</li> 28 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ArgumentImpl#getSingletonVariable <em>Singleton Variable</em>}</li>
29 * </ul> 29 * </ul>
30 * 30 *
@@ -32,14 +32,14 @@ import org.eclipse.viatra.solver.language.model.problem.Variable;
32 */ 32 */
33public class ArgumentImpl extends MinimalEObjectImpl.Container implements Argument { 33public class ArgumentImpl extends MinimalEObjectImpl.Container implements Argument {
34 /** 34 /**
35 * The cached value of the '{@link #getVariable() <em>Variable</em>}' reference. 35 * The cached value of the '{@link #getVariableOrNode() <em>Variable Or Node</em>}' reference.
36 * <!-- begin-user-doc --> 36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc --> 37 * <!-- end-user-doc -->
38 * @see #getVariable() 38 * @see #getVariableOrNode()
39 * @generated 39 * @generated
40 * @ordered 40 * @ordered
41 */ 41 */
42 protected Variable variable; 42 protected VariableOrNode variableOrNode;
43 43
44 /** 44 /**
45 * The cached value of the '{@link #getSingletonVariable() <em>Singleton Variable</em>}' containment reference. 45 * The cached value of the '{@link #getSingletonVariable() <em>Singleton Variable</em>}' containment reference.
@@ -75,17 +75,17 @@ public class ArgumentImpl extends MinimalEObjectImpl.Container implements Argume
75 * <!-- end-user-doc --> 75 * <!-- end-user-doc -->
76 * @generated 76 * @generated
77 */ 77 */
78 public Variable getVariable() { 78 public VariableOrNode getVariableOrNode() {
79 if (variable != null && variable.eIsProxy()) { 79 if (variableOrNode != null && variableOrNode.eIsProxy()) {
80 InternalEObject oldVariable = (InternalEObject) variable; 80 InternalEObject oldVariableOrNode = (InternalEObject) variableOrNode;
81 variable = (Variable) eResolveProxy(oldVariable); 81 variableOrNode = (VariableOrNode) eResolveProxy(oldVariableOrNode);
82 if (variable != oldVariable) { 82 if (variableOrNode != oldVariableOrNode) {
83 if (eNotificationRequired()) 83 if (eNotificationRequired())
84 eNotify(new ENotificationImpl(this, Notification.RESOLVE, ProblemPackage.ARGUMENT__VARIABLE, 84 eNotify(new ENotificationImpl(this, Notification.RESOLVE, ProblemPackage.ARGUMENT__VARIABLE_OR_NODE,
85 oldVariable, variable)); 85 oldVariableOrNode, variableOrNode));
86 } 86 }
87 } 87 }
88 return variable; 88 return variableOrNode;
89 } 89 }
90 90
91 /** 91 /**
@@ -93,8 +93,8 @@ public class ArgumentImpl extends MinimalEObjectImpl.Container implements Argume
93 * <!-- end-user-doc --> 93 * <!-- end-user-doc -->
94 * @generated 94 * @generated
95 */ 95 */
96 public Variable basicGetVariable() { 96 public VariableOrNode basicGetVariableOrNode() {
97 return variable; 97 return variableOrNode;
98 } 98 }
99 99
100 /** 100 /**
@@ -102,12 +102,12 @@ public class ArgumentImpl extends MinimalEObjectImpl.Container implements Argume
102 * <!-- end-user-doc --> 102 * <!-- end-user-doc -->
103 * @generated 103 * @generated
104 */ 104 */
105 public void setVariable(Variable newVariable) { 105 public void setVariableOrNode(VariableOrNode newVariableOrNode) {
106 Variable oldVariable = variable; 106 VariableOrNode oldVariableOrNode = variableOrNode;
107 variable = newVariable; 107 variableOrNode = newVariableOrNode;
108 if (eNotificationRequired()) 108 if (eNotificationRequired())
109 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.ARGUMENT__VARIABLE, oldVariable, 109 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.ARGUMENT__VARIABLE_OR_NODE,
110 variable)); 110 oldVariableOrNode, variableOrNode));
111 } 111 }
112 112
113 /** 113 /**
@@ -182,10 +182,10 @@ public class ArgumentImpl extends MinimalEObjectImpl.Container implements Argume
182 @Override 182 @Override
183 public Object eGet(int featureID, boolean resolve, boolean coreType) { 183 public Object eGet(int featureID, boolean resolve, boolean coreType) {
184 switch (featureID) { 184 switch (featureID) {
185 case ProblemPackage.ARGUMENT__VARIABLE: 185 case ProblemPackage.ARGUMENT__VARIABLE_OR_NODE:
186 if (resolve) 186 if (resolve)
187 return getVariable(); 187 return getVariableOrNode();
188 return basicGetVariable(); 188 return basicGetVariableOrNode();
189 case ProblemPackage.ARGUMENT__SINGLETON_VARIABLE: 189 case ProblemPackage.ARGUMENT__SINGLETON_VARIABLE:
190 return getSingletonVariable(); 190 return getSingletonVariable();
191 } 191 }
@@ -200,8 +200,8 @@ public class ArgumentImpl extends MinimalEObjectImpl.Container implements Argume
200 @Override 200 @Override
201 public void eSet(int featureID, Object newValue) { 201 public void eSet(int featureID, Object newValue) {
202 switch (featureID) { 202 switch (featureID) {
203 case ProblemPackage.ARGUMENT__VARIABLE: 203 case ProblemPackage.ARGUMENT__VARIABLE_OR_NODE:
204 setVariable((Variable) newValue); 204 setVariableOrNode((VariableOrNode) newValue);
205 return; 205 return;
206 case ProblemPackage.ARGUMENT__SINGLETON_VARIABLE: 206 case ProblemPackage.ARGUMENT__SINGLETON_VARIABLE:
207 setSingletonVariable((ImplicitVariable) newValue); 207 setSingletonVariable((ImplicitVariable) newValue);
@@ -218,8 +218,8 @@ public class ArgumentImpl extends MinimalEObjectImpl.Container implements Argume
218 @Override 218 @Override
219 public void eUnset(int featureID) { 219 public void eUnset(int featureID) {
220 switch (featureID) { 220 switch (featureID) {
221 case ProblemPackage.ARGUMENT__VARIABLE: 221 case ProblemPackage.ARGUMENT__VARIABLE_OR_NODE:
222 setVariable((Variable) null); 222 setVariableOrNode((VariableOrNode) null);
223 return; 223 return;
224 case ProblemPackage.ARGUMENT__SINGLETON_VARIABLE: 224 case ProblemPackage.ARGUMENT__SINGLETON_VARIABLE:
225 setSingletonVariable((ImplicitVariable) null); 225 setSingletonVariable((ImplicitVariable) null);
@@ -236,8 +236,8 @@ public class ArgumentImpl extends MinimalEObjectImpl.Container implements Argume
236 @Override 236 @Override
237 public boolean eIsSet(int featureID) { 237 public boolean eIsSet(int featureID) {
238 switch (featureID) { 238 switch (featureID) {
239 case ProblemPackage.ARGUMENT__VARIABLE: 239 case ProblemPackage.ARGUMENT__VARIABLE_OR_NODE:
240 return variable != null; 240 return variableOrNode != null;
241 case ProblemPackage.ARGUMENT__SINGLETON_VARIABLE: 241 case ProblemPackage.ARGUMENT__SINGLETON_VARIABLE:
242 return singletonVariable != null; 242 return singletonVariable != null;
243 } 243 }
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 89de4d01..774a6e33 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
@@ -22,6 +22,7 @@ import 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.Node;
23import org.eclipse.viatra.solver.language.model.problem.ProblemPackage; 23import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
24import org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration; 24import org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration;
25import org.eclipse.viatra.solver.language.model.problem.Relation;
25 26
26/** 27/**
27 * <!-- begin-user-doc --> 28 * <!-- begin-user-doc -->
@@ -68,7 +69,7 @@ public class ClassDeclarationImpl extends RelationImpl implements ClassDeclarati
68 * @generated 69 * @generated
69 * @ordered 70 * @ordered
70 */ 71 */
71 protected EList<ClassDeclaration> superTypes; 72 protected EList<Relation> superTypes;
72 73
73 /** 74 /**
74 * The cached value of the '{@link #getReferenceDeclarations() <em>Reference Declarations</em>}' containment reference list. 75 * The cached value of the '{@link #getReferenceDeclarations() <em>Reference Declarations</em>}' containment reference list.
@@ -136,9 +137,9 @@ public class ClassDeclarationImpl extends RelationImpl implements ClassDeclarati
136 * <!-- end-user-doc --> 137 * <!-- end-user-doc -->
137 * @generated 138 * @generated
138 */ 139 */
139 public EList<ClassDeclaration> getSuperTypes() { 140 public EList<Relation> getSuperTypes() {
140 if (superTypes == null) { 141 if (superTypes == null) {
141 superTypes = new EObjectResolvingEList<ClassDeclaration>(ClassDeclaration.class, this, 142 superTypes = new EObjectResolvingEList<Relation>(Relation.class, this,
142 ProblemPackage.CLASS_DECLARATION__SUPER_TYPES); 143 ProblemPackage.CLASS_DECLARATION__SUPER_TYPES);
143 } 144 }
144 return superTypes; 145 return superTypes;
@@ -257,7 +258,7 @@ public class ClassDeclarationImpl extends RelationImpl implements ClassDeclarati
257 return; 258 return;
258 case ProblemPackage.CLASS_DECLARATION__SUPER_TYPES: 259 case ProblemPackage.CLASS_DECLARATION__SUPER_TYPES:
259 getSuperTypes().clear(); 260 getSuperTypes().clear();
260 getSuperTypes().addAll((Collection<? extends ClassDeclaration>) newValue); 261 getSuperTypes().addAll((Collection<? extends Relation>) newValue);
261 return; 262 return;
262 case ProblemPackage.CLASS_DECLARATION__REFERENCE_DECLARATIONS: 263 case ProblemPackage.CLASS_DECLARATION__REFERENCE_DECLARATIONS:
263 getReferenceDeclarations().clear(); 264 getReferenceDeclarations().clear();
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/EnumDeclarationImpl.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/EnumDeclarationImpl.java
new file mode 100644
index 00000000..aac00423
--- /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/EnumDeclarationImpl.java
@@ -0,0 +1,150 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import java.util.Collection;
6
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.common.util.EList;
10
11import org.eclipse.emf.ecore.EClass;
12import org.eclipse.emf.ecore.InternalEObject;
13
14import org.eclipse.emf.ecore.util.EObjectContainmentEList;
15import org.eclipse.emf.ecore.util.InternalEList;
16
17import org.eclipse.viatra.solver.language.model.problem.EnumDeclaration;
18import org.eclipse.viatra.solver.language.model.problem.Node;
19import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
20
21/**
22 * <!-- begin-user-doc -->
23 * An implementation of the model object '<em><b>Enum Declaration</b></em>'.
24 * <!-- end-user-doc -->
25 * <p>
26 * The following features are implemented:
27 * </p>
28 * <ul>
29 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.EnumDeclarationImpl#getLiterals <em>Literals</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class EnumDeclarationImpl extends RelationImpl implements EnumDeclaration {
35 /**
36 * The cached value of the '{@link #getLiterals() <em>Literals</em>}' containment reference list.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getLiterals()
40 * @generated
41 * @ordered
42 */
43 protected EList<Node> literals;
44
45 /**
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @generated
49 */
50 protected EnumDeclarationImpl() {
51 super();
52 }
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 @Override
60 protected EClass eStaticClass() {
61 return ProblemPackage.Literals.ENUM_DECLARATION;
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 public EList<Node> getLiterals() {
70 if (literals == null) {
71 literals = new EObjectContainmentEList<Node>(Node.class, this, ProblemPackage.ENUM_DECLARATION__LITERALS);
72 }
73 return literals;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 @Override
82 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
83 switch (featureID) {
84 case ProblemPackage.ENUM_DECLARATION__LITERALS:
85 return ((InternalEList<?>) getLiterals()).basicRemove(otherEnd, msgs);
86 }
87 return super.eInverseRemove(otherEnd, featureID, msgs);
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 @Override
96 public Object eGet(int featureID, boolean resolve, boolean coreType) {
97 switch (featureID) {
98 case ProblemPackage.ENUM_DECLARATION__LITERALS:
99 return getLiterals();
100 }
101 return super.eGet(featureID, resolve, coreType);
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 @SuppressWarnings("unchecked")
110 @Override
111 public void eSet(int featureID, Object newValue) {
112 switch (featureID) {
113 case ProblemPackage.ENUM_DECLARATION__LITERALS:
114 getLiterals().clear();
115 getLiterals().addAll((Collection<? extends Node>) newValue);
116 return;
117 }
118 super.eSet(featureID, newValue);
119 }
120
121 /**
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @generated
125 */
126 @Override
127 public void eUnset(int featureID) {
128 switch (featureID) {
129 case ProblemPackage.ENUM_DECLARATION__LITERALS:
130 getLiterals().clear();
131 return;
132 }
133 super.eUnset(featureID);
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 @Override
142 public boolean eIsSet(int featureID) {
143 switch (featureID) {
144 case ProblemPackage.ENUM_DECLARATION__LITERALS:
145 return literals != null && !literals.isEmpty();
146 }
147 return super.eIsSet(featureID);
148 }
149
150} //EnumDeclarationImpl
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/NodeImpl.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/NodeImpl.java
index 23b85a9c..0c08bb1b 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/NodeImpl.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/NodeImpl.java
@@ -14,7 +14,7 @@ import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
14 * 14 *
15 * @generated 15 * @generated
16 */ 16 */
17public class NodeImpl extends NamedElementImpl implements Node { 17public class NodeImpl extends VariableOrNodeImpl implements Node {
18 /** 18 /**
19 * <!-- begin-user-doc --> 19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc --> 20 * <!-- 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/impl/ParameterImpl.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/ParameterImpl.java
index cfbf25b0..06eea3f3 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/ParameterImpl.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/ParameterImpl.java
@@ -8,10 +8,9 @@ import org.eclipse.emf.ecore.EClass;
8import org.eclipse.emf.ecore.InternalEObject; 8import org.eclipse.emf.ecore.InternalEObject;
9 9
10import org.eclipse.emf.ecore.impl.ENotificationImpl; 10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11
12import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration;
13import org.eclipse.viatra.solver.language.model.problem.Parameter; 11import org.eclipse.viatra.solver.language.model.problem.Parameter;
14import org.eclipse.viatra.solver.language.model.problem.ProblemPackage; 12import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
13import org.eclipse.viatra.solver.language.model.problem.Relation;
15 14
16/** 15/**
17 * <!-- begin-user-doc --> 16 * <!-- begin-user-doc -->
@@ -35,7 +34,7 @@ public class ParameterImpl extends VariableImpl implements Parameter {
35 * @generated 34 * @generated
36 * @ordered 35 * @ordered
37 */ 36 */
38 protected ClassDeclaration parameterType; 37 protected Relation parameterType;
39 38
40 /** 39 /**
41 * <!-- begin-user-doc --> 40 * <!-- begin-user-doc -->
@@ -61,10 +60,10 @@ public class ParameterImpl extends VariableImpl implements Parameter {
61 * <!-- end-user-doc --> 60 * <!-- end-user-doc -->
62 * @generated 61 * @generated
63 */ 62 */
64 public ClassDeclaration getParameterType() { 63 public Relation getParameterType() {
65 if (parameterType != null && parameterType.eIsProxy()) { 64 if (parameterType != null && parameterType.eIsProxy()) {
66 InternalEObject oldParameterType = (InternalEObject) parameterType; 65 InternalEObject oldParameterType = (InternalEObject) parameterType;
67 parameterType = (ClassDeclaration) eResolveProxy(oldParameterType); 66 parameterType = (Relation) eResolveProxy(oldParameterType);
68 if (parameterType != oldParameterType) { 67 if (parameterType != oldParameterType) {
69 if (eNotificationRequired()) 68 if (eNotificationRequired())
70 eNotify(new ENotificationImpl(this, Notification.RESOLVE, ProblemPackage.PARAMETER__PARAMETER_TYPE, 69 eNotify(new ENotificationImpl(this, Notification.RESOLVE, ProblemPackage.PARAMETER__PARAMETER_TYPE,
@@ -79,7 +78,7 @@ public class ParameterImpl extends VariableImpl implements Parameter {
79 * <!-- end-user-doc --> 78 * <!-- end-user-doc -->
80 * @generated 79 * @generated
81 */ 80 */
82 public ClassDeclaration basicGetParameterType() { 81 public Relation basicGetParameterType() {
83 return parameterType; 82 return parameterType;
84 } 83 }
85 84
@@ -88,8 +87,8 @@ public class ParameterImpl extends VariableImpl implements Parameter {
88 * <!-- end-user-doc --> 87 * <!-- end-user-doc -->
89 * @generated 88 * @generated
90 */ 89 */
91 public void setParameterType(ClassDeclaration newParameterType) { 90 public void setParameterType(Relation newParameterType) {
92 ClassDeclaration oldParameterType = parameterType; 91 Relation oldParameterType = parameterType;
93 parameterType = newParameterType; 92 parameterType = newParameterType;
94 if (eNotificationRequired()) 93 if (eNotificationRequired())
95 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.PARAMETER__PARAMETER_TYPE, 94 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.PARAMETER__PARAMETER_TYPE,
@@ -121,7 +120,7 @@ public class ParameterImpl extends VariableImpl implements Parameter {
121 public void eSet(int featureID, Object newValue) { 120 public void eSet(int featureID, Object newValue) {
122 switch (featureID) { 121 switch (featureID) {
123 case ProblemPackage.PARAMETER__PARAMETER_TYPE: 122 case ProblemPackage.PARAMETER__PARAMETER_TYPE:
124 setParameterType((ClassDeclaration) newValue); 123 setParameterType((Relation) newValue);
125 return; 124 return;
126 } 125 }
127 super.eSet(featureID, newValue); 126 super.eSet(featureID, newValue);
@@ -136,7 +135,7 @@ public class ParameterImpl extends VariableImpl implements Parameter {
136 public void eUnset(int featureID) { 135 public void eUnset(int featureID) {
137 switch (featureID) { 136 switch (featureID) {
138 case ProblemPackage.PARAMETER__PARAMETER_TYPE: 137 case ProblemPackage.PARAMETER__PARAMETER_TYPE:
139 setParameterType((ClassDeclaration) null); 138 setParameterType((Relation) null);
140 return; 139 return;
141 } 140 }
142 super.eUnset(featureID); 141 super.eUnset(featureID);
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 3bb50cfe..2f4144b9 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
@@ -91,6 +91,8 @@ public class ProblemFactoryImpl extends EFactoryImpl implements ProblemFactory {
91 return createUnboundedMultiplicity(); 91 return createUnboundedMultiplicity();
92 case ProblemPackage.ARGUMENT: 92 case ProblemPackage.ARGUMENT:
93 return createArgument(); 93 return createArgument();
94 case ProblemPackage.ENUM_DECLARATION:
95 return createEnumDeclaration();
94 default: 96 default:
95 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); 97 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
96 } 98 }
@@ -301,6 +303,16 @@ public class ProblemFactoryImpl extends EFactoryImpl implements ProblemFactory {
301 * <!-- end-user-doc --> 303 * <!-- end-user-doc -->
302 * @generated 304 * @generated
303 */ 305 */
306 public EnumDeclaration createEnumDeclaration() {
307 EnumDeclarationImpl enumDeclaration = new EnumDeclarationImpl();
308 return enumDeclaration;
309 }
310
311 /**
312 * <!-- begin-user-doc -->
313 * <!-- end-user-doc -->
314 * @generated
315 */
304 public LogicValue createLogicValueFromString(EDataType eDataType, String initialValue) { 316 public LogicValue createLogicValueFromString(EDataType eDataType, String initialValue) {
305 LogicValue result = LogicValue.get(initialValue); 317 LogicValue result = LogicValue.get(initialValue);
306 if (result == null) 318 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/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 f412addc..d10ff2f0 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
@@ -15,6 +15,7 @@ import org.eclipse.viatra.solver.language.model.problem.Assertion;
15import org.eclipse.viatra.solver.language.model.problem.Atom; 15import org.eclipse.viatra.solver.language.model.problem.Atom;
16import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration; 16import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration;
17import org.eclipse.viatra.solver.language.model.problem.Conjunction; 17import org.eclipse.viatra.solver.language.model.problem.Conjunction;
18import org.eclipse.viatra.solver.language.model.problem.EnumDeclaration;
18import org.eclipse.viatra.solver.language.model.problem.ExactMultiplicity; 19import org.eclipse.viatra.solver.language.model.problem.ExactMultiplicity;
19import org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier; 20import org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier;
20import org.eclipse.viatra.solver.language.model.problem.ImplicitVariable; 21import org.eclipse.viatra.solver.language.model.problem.ImplicitVariable;
@@ -37,6 +38,7 @@ import org.eclipse.viatra.solver.language.model.problem.Statement;
37import org.eclipse.viatra.solver.language.model.problem.TypeScope; 38import org.eclipse.viatra.solver.language.model.problem.TypeScope;
38import org.eclipse.viatra.solver.language.model.problem.UnboundedMultiplicity; 39import org.eclipse.viatra.solver.language.model.problem.UnboundedMultiplicity;
39import org.eclipse.viatra.solver.language.model.problem.Variable; 40import org.eclipse.viatra.solver.language.model.problem.Variable;
41import org.eclipse.viatra.solver.language.model.problem.VariableOrNode;
40 42
41/** 43/**
42 * <!-- begin-user-doc --> 44 * <!-- begin-user-doc -->
@@ -218,6 +220,20 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
218 * <!-- end-user-doc --> 220 * <!-- end-user-doc -->
219 * @generated 221 * @generated
220 */ 222 */
223 private EClass enumDeclarationEClass = null;
224
225 /**
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @generated
229 */
230 private EClass variableOrNodeEClass = null;
231
232 /**
233 * <!-- begin-user-doc -->
234 * <!-- end-user-doc -->
235 * @generated
236 */
221 private EEnum logicValueEEnum = null; 237 private EEnum logicValueEEnum = null;
222 238
223 /** 239 /**
@@ -784,7 +800,7 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
784 * <!-- end-user-doc --> 800 * <!-- end-user-doc -->
785 * @generated 801 * @generated
786 */ 802 */
787 public EReference getArgument_Variable() { 803 public EReference getArgument_VariableOrNode() {
788 return (EReference) argumentEClass.getEStructuralFeatures().get(0); 804 return (EReference) argumentEClass.getEStructuralFeatures().get(0);
789 } 805 }
790 806
@@ -802,6 +818,33 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
802 * <!-- end-user-doc --> 818 * <!-- end-user-doc -->
803 * @generated 819 * @generated
804 */ 820 */
821 public EClass getEnumDeclaration() {
822 return enumDeclarationEClass;
823 }
824
825 /**
826 * <!-- begin-user-doc -->
827 * <!-- end-user-doc -->
828 * @generated
829 */
830 public EReference getEnumDeclaration_Literals() {
831 return (EReference) enumDeclarationEClass.getEStructuralFeatures().get(0);
832 }
833
834 /**
835 * <!-- begin-user-doc -->
836 * <!-- end-user-doc -->
837 * @generated
838 */
839 public EClass getVariableOrNode() {
840 return variableOrNodeEClass;
841 }
842
843 /**
844 * <!-- begin-user-doc -->
845 * <!-- end-user-doc -->
846 * @generated
847 */
805 public EEnum getLogicValue() { 848 public EEnum getLogicValue() {
806 return logicValueEEnum; 849 return logicValueEEnum;
807 } 850 }
@@ -913,9 +956,14 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
913 unboundedMultiplicityEClass = createEClass(UNBOUNDED_MULTIPLICITY); 956 unboundedMultiplicityEClass = createEClass(UNBOUNDED_MULTIPLICITY);
914 957
915 argumentEClass = createEClass(ARGUMENT); 958 argumentEClass = createEClass(ARGUMENT);
916 createEReference(argumentEClass, ARGUMENT__VARIABLE); 959 createEReference(argumentEClass, ARGUMENT__VARIABLE_OR_NODE);
917 createEReference(argumentEClass, ARGUMENT__SINGLETON_VARIABLE); 960 createEReference(argumentEClass, ARGUMENT__SINGLETON_VARIABLE);
918 961
962 enumDeclarationEClass = createEClass(ENUM_DECLARATION);
963 createEReference(enumDeclarationEClass, ENUM_DECLARATION__LITERALS);
964
965 variableOrNodeEClass = createEClass(VARIABLE_OR_NODE);
966
919 // Create enums 967 // Create enums
920 logicValueEEnum = createEEnum(LOGIC_VALUE); 968 logicValueEEnum = createEEnum(LOGIC_VALUE);
921 } 969 }
@@ -957,18 +1005,21 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
957 predicateDefinitionEClass.getESuperTypes().add(this.getRelation()); 1005 predicateDefinitionEClass.getESuperTypes().add(this.getRelation());
958 predicateDefinitionEClass.getESuperTypes().add(this.getStatement()); 1006 predicateDefinitionEClass.getESuperTypes().add(this.getStatement());
959 parameterEClass.getESuperTypes().add(this.getVariable()); 1007 parameterEClass.getESuperTypes().add(this.getVariable());
960 variableEClass.getESuperTypes().add(this.getNamedElement()); 1008 variableEClass.getESuperTypes().add(this.getVariableOrNode());
961 conjunctionEClass.getESuperTypes().add(this.getExistentialQuantifier()); 1009 conjunctionEClass.getESuperTypes().add(this.getExistentialQuantifier());
962 atomEClass.getESuperTypes().add(this.getLiteral()); 1010 atomEClass.getESuperTypes().add(this.getLiteral());
963 implicitVariableEClass.getESuperTypes().add(this.getVariable()); 1011 implicitVariableEClass.getESuperTypes().add(this.getVariable());
964 negativeLiteralEClass.getESuperTypes().add(this.getExistentialQuantifier()); 1012 negativeLiteralEClass.getESuperTypes().add(this.getExistentialQuantifier());
965 negativeLiteralEClass.getESuperTypes().add(this.getLiteral()); 1013 negativeLiteralEClass.getESuperTypes().add(this.getLiteral());
966 assertionEClass.getESuperTypes().add(this.getStatement()); 1014 assertionEClass.getESuperTypes().add(this.getStatement());
967 nodeEClass.getESuperTypes().add(this.getNamedElement()); 1015 nodeEClass.getESuperTypes().add(this.getVariableOrNode());
968 scopeDeclarationEClass.getESuperTypes().add(this.getStatement()); 1016 scopeDeclarationEClass.getESuperTypes().add(this.getStatement());
969 rangeMultiplicityEClass.getESuperTypes().add(this.getMultiplicity()); 1017 rangeMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
970 exactMultiplicityEClass.getESuperTypes().add(this.getMultiplicity()); 1018 exactMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
971 unboundedMultiplicityEClass.getESuperTypes().add(this.getMultiplicity()); 1019 unboundedMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
1020 enumDeclarationEClass.getESuperTypes().add(this.getRelation());
1021 enumDeclarationEClass.getESuperTypes().add(this.getStatement());
1022 variableOrNodeEClass.getESuperTypes().add(this.getNamedElement());
972 1023
973 // Initialize classes, features, and operations; add parameters 1024 // Initialize classes, features, and operations; add parameters
974 initEClass(problemEClass, Problem.class, "Problem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 1025 initEClass(problemEClass, Problem.class, "Problem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
@@ -986,7 +1037,7 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
986 initEAttribute(getClassDeclaration_Abstract(), ecorePackage.getEBoolean(), "abstract", null, 0, 1, 1037 initEAttribute(getClassDeclaration_Abstract(), ecorePackage.getEBoolean(), "abstract", null, 0, 1,
987 ClassDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, 1038 ClassDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
988 !IS_DERIVED, IS_ORDERED); 1039 !IS_DERIVED, IS_ORDERED);
989 initEReference(getClassDeclaration_SuperTypes(), this.getClassDeclaration(), null, "superTypes", null, 0, -1, 1040 initEReference(getClassDeclaration_SuperTypes(), this.getRelation(), null, "superTypes", null, 0, -1,
990 ClassDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, 1041 ClassDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
991 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 1042 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
992 initEReference(getClassDeclaration_ReferenceDeclarations(), this.getReferenceDeclaration(), null, 1043 initEReference(getClassDeclaration_ReferenceDeclarations(), this.getReferenceDeclaration(), null,
@@ -998,8 +1049,8 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
998 1049
999 initEClass(referenceDeclarationEClass, ReferenceDeclaration.class, "ReferenceDeclaration", !IS_ABSTRACT, 1050 initEClass(referenceDeclarationEClass, ReferenceDeclaration.class, "ReferenceDeclaration", !IS_ABSTRACT,
1000 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 1051 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1001 initEReference(getReferenceDeclaration_ReferenceType(), this.getClassDeclaration(), null, "referenceType", null, 1052 initEReference(getReferenceDeclaration_ReferenceType(), this.getRelation(), null, "referenceType", null, 0, 1,
1002 0, 1, ReferenceDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, 1053 ReferenceDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
1003 IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 1054 IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1004 initEReference(getReferenceDeclaration_Opposite(), this.getReferenceDeclaration(), null, "opposite", null, 0, 1, 1055 initEReference(getReferenceDeclaration_Opposite(), this.getReferenceDeclaration(), null, "opposite", null, 0, 1,
1005 ReferenceDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, 1056 ReferenceDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
@@ -1030,7 +1081,7 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
1030 1081
1031 initEClass(parameterEClass, Parameter.class, "Parameter", !IS_ABSTRACT, !IS_INTERFACE, 1082 initEClass(parameterEClass, Parameter.class, "Parameter", !IS_ABSTRACT, !IS_INTERFACE,
1032 IS_GENERATED_INSTANCE_CLASS); 1083 IS_GENERATED_INSTANCE_CLASS);
1033 initEReference(getParameter_ParameterType(), this.getClassDeclaration(), null, "parameterType", null, 0, 1, 1084 initEReference(getParameter_ParameterType(), this.getRelation(), null, "parameterType", null, 0, 1,
1034 Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, 1085 Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
1035 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 1086 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1036 1087
@@ -1126,13 +1177,22 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
1126 1177
1127 initEClass(argumentEClass, Argument.class, "Argument", !IS_ABSTRACT, !IS_INTERFACE, 1178 initEClass(argumentEClass, Argument.class, "Argument", !IS_ABSTRACT, !IS_INTERFACE,
1128 IS_GENERATED_INSTANCE_CLASS); 1179 IS_GENERATED_INSTANCE_CLASS);
1129 initEReference(getArgument_Variable(), this.getVariable(), null, "variable", null, 0, 1, Argument.class, 1180 initEReference(getArgument_VariableOrNode(), this.getVariableOrNode(), null, "variableOrNode", null, 0, 1,
1130 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, 1181 Argument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
1131 IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 1182 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1132 initEReference(getArgument_SingletonVariable(), this.getImplicitVariable(), null, "singletonVariable", null, 0, 1183 initEReference(getArgument_SingletonVariable(), this.getImplicitVariable(), null, "singletonVariable", null, 0,
1133 1, Argument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, 1184 1, Argument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
1134 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 1185 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1135 1186
1187 initEClass(enumDeclarationEClass, EnumDeclaration.class, "EnumDeclaration", !IS_ABSTRACT, !IS_INTERFACE,
1188 IS_GENERATED_INSTANCE_CLASS);
1189 initEReference(getEnumDeclaration_Literals(), this.getNode(), null, "literals", null, 0, -1,
1190 EnumDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
1191 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1192
1193 initEClass(variableOrNodeEClass, VariableOrNode.class, "VariableOrNode", IS_ABSTRACT, !IS_INTERFACE,
1194 IS_GENERATED_INSTANCE_CLASS);
1195
1136 // Initialize enums and add enum literals 1196 // Initialize enums and add enum literals
1137 initEEnum(logicValueEEnum, LogicValue.class, "LogicValue"); 1197 initEEnum(logicValueEEnum, LogicValue.class, "LogicValue");
1138 addEEnumLiteral(logicValueEEnum, LogicValue.TRUE); 1198 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/ReferenceDeclarationImpl.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/ReferenceDeclarationImpl.java
index 424db23d..8df2715f 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/ReferenceDeclarationImpl.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/ReferenceDeclarationImpl.java
@@ -9,11 +9,10 @@ import org.eclipse.emf.ecore.EClass;
9import org.eclipse.emf.ecore.InternalEObject; 9import org.eclipse.emf.ecore.InternalEObject;
10 10
11import org.eclipse.emf.ecore.impl.ENotificationImpl; 11import org.eclipse.emf.ecore.impl.ENotificationImpl;
12
13import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration;
14import org.eclipse.viatra.solver.language.model.problem.Multiplicity; 12import org.eclipse.viatra.solver.language.model.problem.Multiplicity;
15import org.eclipse.viatra.solver.language.model.problem.ProblemPackage; 13import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
16import org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration; 14import org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration;
15import org.eclipse.viatra.solver.language.model.problem.Relation;
17 16
18/** 17/**
19 * <!-- begin-user-doc --> 18 * <!-- begin-user-doc -->
@@ -40,7 +39,7 @@ public class ReferenceDeclarationImpl extends RelationImpl implements ReferenceD
40 * @generated 39 * @generated
41 * @ordered 40 * @ordered
42 */ 41 */
43 protected ClassDeclaration referenceType; 42 protected Relation referenceType;
44 43
45 /** 44 /**
46 * The cached value of the '{@link #getOpposite() <em>Opposite</em>}' reference. 45 * The cached value of the '{@link #getOpposite() <em>Opposite</em>}' reference.
@@ -106,10 +105,10 @@ public class ReferenceDeclarationImpl extends RelationImpl implements ReferenceD
106 * <!-- end-user-doc --> 105 * <!-- end-user-doc -->
107 * @generated 106 * @generated
108 */ 107 */
109 public ClassDeclaration getReferenceType() { 108 public Relation getReferenceType() {
110 if (referenceType != null && referenceType.eIsProxy()) { 109 if (referenceType != null && referenceType.eIsProxy()) {
111 InternalEObject oldReferenceType = (InternalEObject) referenceType; 110 InternalEObject oldReferenceType = (InternalEObject) referenceType;
112 referenceType = (ClassDeclaration) eResolveProxy(oldReferenceType); 111 referenceType = (Relation) eResolveProxy(oldReferenceType);
113 if (referenceType != oldReferenceType) { 112 if (referenceType != oldReferenceType) {
114 if (eNotificationRequired()) 113 if (eNotificationRequired())
115 eNotify(new ENotificationImpl(this, Notification.RESOLVE, 114 eNotify(new ENotificationImpl(this, Notification.RESOLVE,
@@ -124,7 +123,7 @@ public class ReferenceDeclarationImpl extends RelationImpl implements ReferenceD
124 * <!-- end-user-doc --> 123 * <!-- end-user-doc -->
125 * @generated 124 * @generated
126 */ 125 */
127 public ClassDeclaration basicGetReferenceType() { 126 public Relation basicGetReferenceType() {
128 return referenceType; 127 return referenceType;
129 } 128 }
130 129
@@ -133,8 +132,8 @@ public class ReferenceDeclarationImpl extends RelationImpl implements ReferenceD
133 * <!-- end-user-doc --> 132 * <!-- end-user-doc -->
134 * @generated 133 * @generated
135 */ 134 */
136 public void setReferenceType(ClassDeclaration newReferenceType) { 135 public void setReferenceType(Relation newReferenceType) {
137 ClassDeclaration oldReferenceType = referenceType; 136 Relation oldReferenceType = referenceType;
138 referenceType = newReferenceType; 137 referenceType = newReferenceType;
139 if (eNotificationRequired()) 138 if (eNotificationRequired())
140 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.REFERENCE_DECLARATION__REFERENCE_TYPE, 139 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.REFERENCE_DECLARATION__REFERENCE_TYPE,
@@ -300,7 +299,7 @@ public class ReferenceDeclarationImpl extends RelationImpl implements ReferenceD
300 public void eSet(int featureID, Object newValue) { 299 public void eSet(int featureID, Object newValue) {
301 switch (featureID) { 300 switch (featureID) {
302 case ProblemPackage.REFERENCE_DECLARATION__REFERENCE_TYPE: 301 case ProblemPackage.REFERENCE_DECLARATION__REFERENCE_TYPE:
303 setReferenceType((ClassDeclaration) newValue); 302 setReferenceType((Relation) newValue);
304 return; 303 return;
305 case ProblemPackage.REFERENCE_DECLARATION__OPPOSITE: 304 case ProblemPackage.REFERENCE_DECLARATION__OPPOSITE:
306 setOpposite((ReferenceDeclaration) newValue); 305 setOpposite((ReferenceDeclaration) newValue);
@@ -324,7 +323,7 @@ public class ReferenceDeclarationImpl extends RelationImpl implements ReferenceD
324 public void eUnset(int featureID) { 323 public void eUnset(int featureID) {
325 switch (featureID) { 324 switch (featureID) {
326 case ProblemPackage.REFERENCE_DECLARATION__REFERENCE_TYPE: 325 case ProblemPackage.REFERENCE_DECLARATION__REFERENCE_TYPE:
327 setReferenceType((ClassDeclaration) null); 326 setReferenceType((Relation) null);
328 return; 327 return;
329 case ProblemPackage.REFERENCE_DECLARATION__OPPOSITE: 328 case ProblemPackage.REFERENCE_DECLARATION__OPPOSITE:
330 setOpposite((ReferenceDeclaration) null); 329 setOpposite((ReferenceDeclaration) 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/VariableImpl.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/VariableImpl.java
index 0a8cde48..645ac39c 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/VariableImpl.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/VariableImpl.java
@@ -14,7 +14,7 @@ import org.eclipse.viatra.solver.language.model.problem.Variable;
14 * 14 *
15 * @generated 15 * @generated
16 */ 16 */
17public abstract class VariableImpl extends NamedElementImpl implements Variable { 17public abstract class VariableImpl extends VariableOrNodeImpl implements Variable {
18 /** 18 /**
19 * <!-- begin-user-doc --> 19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc --> 20 * <!-- 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/impl/VariableOrNodeImpl.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/VariableOrNodeImpl.java
new file mode 100644
index 00000000..4964a019
--- /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/VariableOrNodeImpl.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.VariableOrNode;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Variable Or Node</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public abstract class VariableOrNodeImpl extends NamedElementImpl implements VariableOrNode {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected VariableOrNodeImpl() {
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.VARIABLE_OR_NODE;
35 }
36
37} //VariableOrNodeImpl
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 c41a4034..3fc3ca75 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
@@ -187,6 +187,16 @@ public class ProblemAdapterFactory extends AdapterFactoryImpl {
187 } 187 }
188 188
189 @Override 189 @Override
190 public Adapter caseEnumDeclaration(EnumDeclaration object) {
191 return createEnumDeclarationAdapter();
192 }
193
194 @Override
195 public Adapter caseVariableOrNode(VariableOrNode object) {
196 return createVariableOrNodeAdapter();
197 }
198
199 @Override
190 public Adapter defaultCase(EObject object) { 200 public Adapter defaultCase(EObject object) {
191 return createEObjectAdapter(); 201 return createEObjectAdapter();
192 } 202 }
@@ -542,6 +552,34 @@ public class ProblemAdapterFactory extends AdapterFactoryImpl {
542 } 552 }
543 553
544 /** 554 /**
555 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.EnumDeclaration <em>Enum Declaration</em>}'.
556 * <!-- begin-user-doc -->
557 * This default implementation returns null so that we can easily ignore cases;
558 * it's useful to ignore a case when inheritance will catch all the cases anyway.
559 * <!-- end-user-doc -->
560 * @return the new adapter.
561 * @see org.eclipse.viatra.solver.language.model.problem.EnumDeclaration
562 * @generated
563 */
564 public Adapter createEnumDeclarationAdapter() {
565 return null;
566 }
567
568 /**
569 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.VariableOrNode <em>Variable Or Node</em>}'.
570 * <!-- begin-user-doc -->
571 * This default implementation returns null so that we can easily ignore cases;
572 * it's useful to ignore a case when inheritance will catch all the cases anyway.
573 * <!-- end-user-doc -->
574 * @return the new adapter.
575 * @see org.eclipse.viatra.solver.language.model.problem.VariableOrNode
576 * @generated
577 */
578 public Adapter createVariableOrNodeAdapter() {
579 return null;
580 }
581
582 /**
545 * Creates a new adapter for the default case. 583 * Creates a new adapter for the default case.
546 * <!-- begin-user-doc --> 584 * <!-- begin-user-doc -->
547 * This default implementation returns null. 585 * 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 361b663c..b74718b5 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
@@ -134,6 +134,8 @@ public class ProblemSwitch<T> extends Switch<T> {
134 if (result == null) 134 if (result == null)
135 result = caseVariable(parameter); 135 result = caseVariable(parameter);
136 if (result == null) 136 if (result == null)
137 result = caseVariableOrNode(parameter);
138 if (result == null)
137 result = caseNamedElement(parameter); 139 result = caseNamedElement(parameter);
138 if (result == null) 140 if (result == null)
139 result = defaultCase(theEObject); 141 result = defaultCase(theEObject);
@@ -143,6 +145,8 @@ public class ProblemSwitch<T> extends Switch<T> {
143 Variable variable = (Variable) theEObject; 145 Variable variable = (Variable) theEObject;
144 T result = caseVariable(variable); 146 T result = caseVariable(variable);
145 if (result == null) 147 if (result == null)
148 result = caseVariableOrNode(variable);
149 if (result == null)
146 result = caseNamedElement(variable); 150 result = caseNamedElement(variable);
147 if (result == null) 151 if (result == null)
148 result = defaultCase(theEObject); 152 result = defaultCase(theEObject);
@@ -179,6 +183,8 @@ public class ProblemSwitch<T> extends Switch<T> {
179 if (result == null) 183 if (result == null)
180 result = caseVariable(implicitVariable); 184 result = caseVariable(implicitVariable);
181 if (result == null) 185 if (result == null)
186 result = caseVariableOrNode(implicitVariable);
187 if (result == null)
182 result = caseNamedElement(implicitVariable); 188 result = caseNamedElement(implicitVariable);
183 if (result == null) 189 if (result == null)
184 result = defaultCase(theEObject); 190 result = defaultCase(theEObject);
@@ -215,6 +221,8 @@ public class ProblemSwitch<T> extends Switch<T> {
215 Node node = (Node) theEObject; 221 Node node = (Node) theEObject;
216 T result = caseNode(node); 222 T result = caseNode(node);
217 if (result == null) 223 if (result == null)
224 result = caseVariableOrNode(node);
225 if (result == null)
218 result = caseNamedElement(node); 226 result = caseNamedElement(node);
219 if (result == null) 227 if (result == null)
220 result = defaultCase(theEObject); 228 result = defaultCase(theEObject);
@@ -284,6 +292,28 @@ public class ProblemSwitch<T> extends Switch<T> {
284 result = defaultCase(theEObject); 292 result = defaultCase(theEObject);
285 return result; 293 return result;
286 } 294 }
295 case ProblemPackage.ENUM_DECLARATION: {
296 EnumDeclaration enumDeclaration = (EnumDeclaration) theEObject;
297 T result = caseEnumDeclaration(enumDeclaration);
298 if (result == null)
299 result = caseRelation(enumDeclaration);
300 if (result == null)
301 result = caseStatement(enumDeclaration);
302 if (result == null)
303 result = caseNamedElement(enumDeclaration);
304 if (result == null)
305 result = defaultCase(theEObject);
306 return result;
307 }
308 case ProblemPackage.VARIABLE_OR_NODE: {
309 VariableOrNode variableOrNode = (VariableOrNode) theEObject;
310 T result = caseVariableOrNode(variableOrNode);
311 if (result == null)
312 result = caseNamedElement(variableOrNode);
313 if (result == null)
314 result = defaultCase(theEObject);
315 return result;
316 }
287 default: 317 default:
288 return defaultCase(theEObject); 318 return defaultCase(theEObject);
289 } 319 }
@@ -650,6 +680,36 @@ public class ProblemSwitch<T> extends Switch<T> {
650 } 680 }
651 681
652 /** 682 /**
683 * Returns the result of interpreting the object as an instance of '<em>Enum Declaration</em>'.
684 * <!-- begin-user-doc -->
685 * This implementation returns null;
686 * returning a non-null result will terminate the switch.
687 * <!-- end-user-doc -->
688 * @param object the target of the switch.
689 * @return the result of interpreting the object as an instance of '<em>Enum Declaration</em>'.
690 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
691 * @generated
692 */
693 public T caseEnumDeclaration(EnumDeclaration object) {
694 return null;
695 }
696
697 /**
698 * Returns the result of interpreting the object as an instance of '<em>Variable Or Node</em>'.
699 * <!-- begin-user-doc -->
700 * This implementation returns null;
701 * returning a non-null result will terminate the switch.
702 * <!-- end-user-doc -->
703 * @param object the target of the switch.
704 * @return the result of interpreting the object as an instance of '<em>Variable Or Node</em>'.
705 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
706 * @generated
707 */
708 public T caseVariableOrNode(VariableOrNode object) {
709 return null;
710 }
711
712 /**
653 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'. 713 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
654 * <!-- begin-user-doc --> 714 * <!-- begin-user-doc -->
655 * This implementation returns null; 715 * 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 dd52134b..99404f61 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
@@ -12,14 +12,14 @@
12 <eClassifiers xsi:type="ecore:EClass" name="ClassDeclaration" eSuperTypes="#//Relation #//Statement"> 12 <eClassifiers xsi:type="ecore:EClass" name="ClassDeclaration" eSuperTypes="#//Relation #//Statement">
13 <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> 13 <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
14 <eStructuralFeatures xsi:type="ecore:EReference" name="superTypes" upperBound="-1" 14 <eStructuralFeatures xsi:type="ecore:EReference" name="superTypes" upperBound="-1"
15 eType="#//ClassDeclaration"/> 15 eType="#//Relation"/>
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" 18 <eStructuralFeatures xsi:type="ecore:EReference" name="newNode" eType="#//Node"
19 containment="true"/> 19 containment="true"/>
20 </eClassifiers> 20 </eClassifiers>
21 <eClassifiers xsi:type="ecore:EClass" name="ReferenceDeclaration" eSuperTypes="#//Relation"> 21 <eClassifiers xsi:type="ecore:EClass" name="ReferenceDeclaration" eSuperTypes="#//Relation">
22 <eStructuralFeatures xsi:type="ecore:EReference" name="referenceType" eType="#//ClassDeclaration"/> 22 <eStructuralFeatures xsi:type="ecore:EReference" name="referenceType" eType="#//Relation"/>
23 <eStructuralFeatures xsi:type="ecore:EReference" name="opposite" eType="#//ReferenceDeclaration"/> 23 <eStructuralFeatures xsi:type="ecore:EReference" name="opposite" eType="#//ReferenceDeclaration"/>
24 <eStructuralFeatures xsi:type="ecore:EAttribute" name="containment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> 24 <eStructuralFeatures xsi:type="ecore:EAttribute" name="containment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
25 <eStructuralFeatures xsi:type="ecore:EReference" name="multiplicity" eType="#//Multiplicity" 25 <eStructuralFeatures xsi:type="ecore:EReference" name="multiplicity" eType="#//Multiplicity"
@@ -36,9 +36,9 @@
36 eType="#//Conjunction" containment="true"/> 36 eType="#//Conjunction" containment="true"/>
37 </eClassifiers> 37 </eClassifiers>
38 <eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//Variable"> 38 <eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//Variable">
39 <eStructuralFeatures xsi:type="ecore:EReference" name="parameterType" eType="#//ClassDeclaration"/> 39 <eStructuralFeatures xsi:type="ecore:EReference" name="parameterType" eType="#//Relation"/>
40 </eClassifiers> 40 </eClassifiers>
41 <eClassifiers xsi:type="ecore:EClass" name="Variable" abstract="true" eSuperTypes="#//NamedElement"/> 41 <eClassifiers xsi:type="ecore:EClass" name="Variable" abstract="true" eSuperTypes="#//VariableOrNode"/>
42 <eClassifiers xsi:type="ecore:EClass" name="Conjunction" eSuperTypes="#//ExistentialQuantifier"> 42 <eClassifiers xsi:type="ecore:EClass" name="Conjunction" eSuperTypes="#//ExistentialQuantifier">
43 <eStructuralFeatures xsi:type="ecore:EReference" name="literals" upperBound="-1" 43 <eStructuralFeatures xsi:type="ecore:EReference" name="literals" upperBound="-1"
44 eType="#//Literal" containment="true"/> 44 eType="#//Literal" containment="true"/>
@@ -65,7 +65,7 @@
65 eType="#//Node"/> 65 eType="#//Node"/>
66 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//LogicValue"/> 66 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//LogicValue"/>
67 </eClassifiers> 67 </eClassifiers>
68 <eClassifiers xsi:type="ecore:EClass" name="Node" eSuperTypes="#//NamedElement"/> 68 <eClassifiers xsi:type="ecore:EClass" name="Node" eSuperTypes="#//VariableOrNode"/>
69 <eClassifiers xsi:type="ecore:EEnum" name="LogicValue"> 69 <eClassifiers xsi:type="ecore:EEnum" name="LogicValue">
70 <eLiterals name="TRUE" literal="TRUE"/> 70 <eLiterals name="TRUE" literal="TRUE"/>
71 <eLiterals name="FALSE" value="1"/> 71 <eLiterals name="FALSE" value="1"/>
@@ -95,8 +95,13 @@
95 </eClassifiers> 95 </eClassifiers>
96 <eClassifiers xsi:type="ecore:EClass" name="UnboundedMultiplicity" eSuperTypes="#//Multiplicity"/> 96 <eClassifiers xsi:type="ecore:EClass" name="UnboundedMultiplicity" eSuperTypes="#//Multiplicity"/>
97 <eClassifiers xsi:type="ecore:EClass" name="Argument"> 97 <eClassifiers xsi:type="ecore:EClass" name="Argument">
98 <eStructuralFeatures xsi:type="ecore:EReference" name="variable" eType="#//Variable"/> 98 <eStructuralFeatures xsi:type="ecore:EReference" name="variableOrNode" eType="#//VariableOrNode"/>
99 <eStructuralFeatures xsi:type="ecore:EReference" name="singletonVariable" eType="#//ImplicitVariable" 99 <eStructuralFeatures xsi:type="ecore:EReference" name="singletonVariable" eType="#//ImplicitVariable"
100 containment="true"/> 100 containment="true"/>
101 </eClassifiers> 101 </eClassifiers>
102 <eClassifiers xsi:type="ecore:EClass" name="EnumDeclaration" eSuperTypes="#//Relation #//Statement">
103 <eStructuralFeatures xsi:type="ecore:EReference" name="literals" upperBound="-1"
104 eType="#//Node" containment="true"/>
105 </eClassifiers>
106 <eClassifiers xsi:type="ecore:EClass" name="VariableOrNode" abstract="true" eSuperTypes="#//NamedElement"/>
102</ecore:EPackage> 107</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 379cb028..2eb9a988 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
@@ -86,8 +86,12 @@
86 </genClasses> 86 </genClasses>
87 <genClasses ecoreClass="problem.ecore#//UnboundedMultiplicity"/> 87 <genClasses ecoreClass="problem.ecore#//UnboundedMultiplicity"/>
88 <genClasses ecoreClass="problem.ecore#//Argument"> 88 <genClasses ecoreClass="problem.ecore#//Argument">
89 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Argument/variable"/> 89 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Argument/variableOrNode"/>
90 <genFeatures children="true" createChild="true" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Argument/singletonVariable"/> 90 <genFeatures children="true" createChild="true" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Argument/singletonVariable"/>
91 </genClasses> 91 </genClasses>
92 <genClasses ecoreClass="problem.ecore#//EnumDeclaration">
93 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//EnumDeclaration/literals"/>
94 </genClasses>
95 <genClasses ecoreClass="problem.ecore#//VariableOrNode"/>
92 </genPackages> 96 </genPackages>
93</genmodel:GenModel> 97</genmodel:GenModel>
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 112adb74..3fb66d62 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
@@ -21,14 +21,17 @@
21} 21}
22 22
23class Person { 23class Person {
24 refers Person[] children opposite parent 24 Person[] children opposite parent
25 refers Person parent opposite children 25 Person parent opposite children
26 TaxStatus[1] taxStatus
26} 27}
27 28
28error loop(Person p) :- children+(p, p). 29enum TaxStatus {
30 child, student, adult, retired
31}
29 32
30error multipleRoots(Person p, Person q) :- 33error invalidTaxStatus(Person p) :-
31 !equals(p, q), !parent(p, _), !parent(q, _). 34 taxStatus(p, child), children(p, _q).
32 35
33Family('family'). 36Family('family').
34members('family', anne). 37members('family', anne).
@@ -36,6 +39,7 @@ members('family', bob).
36members('family', ciri). 39members('family', ciri).
37children(anne, ciri). 40children(anne, ciri).
38?children(bob, ciri). 41?children(bob, ciri).
42taxStatus(anne, adult).
39 43
40scope Family = 1, Person += 5..10.</pre></div> 44scope Family = 1, Person += 5..10.</pre></div>
41 </div> 45 </div>
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 b24610f4..9a89dd81 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,6 +70,10 @@ a:hover {
70 color: #8b8816; 70 color: #8b8816;
71} 71}
72 72
73.problem-enum {
74 color: #644632;
75}
76
73.problem-reference { 77.problem-reference {
74 color: #0000c0; 78 color: #0000c0;
75} 79}
@@ -78,11 +82,13 @@ a:hover {
78 font-weight: bold; 82 font-weight: bold;
79} 83}
80 84
81.problem-node { 85
82 color: inherit !important; 86.CodeMirror .problem-node {
87 color: inherit;
83} 88}
84 89
85.problem-enum-node { 90.problem-enum-node {
91 color: #1a1a1a !important;
86 font-weight: bold; 92 font-weight: bold;
87} 93}
88 94
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 0abfa5ee..84515ad6 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|problem|refers|scope|true|unknown"; 2 var keywords = "abstract|class|contains|enum|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: "\\/\\/.*$"},
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 2d4eb1b9..5f8b35f3 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,34 +4,42 @@ 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 ("problem" name=Identifier ".")?
8 statements+=Statement*; 8 statements+=Statement*;
9 9
10Statement: 10Statement:
11 ClassDeclaration | PredicateDefinition | Assertion | ScopeDeclaration; 11 ClassDeclaration | EnumDeclaration | PredicateDefinition | Assertion | ScopeDeclaration;
12 12
13ClassDeclaration: 13ClassDeclaration:
14 abstract?="abstract"? "class" 14 abstract?="abstract"? "class"
15 name=ID 15 name=Identifier
16 ("extends" superTypes+=[ClassDeclaration|QualifiedName] ("," superTypes+=[ClassDeclaration|QualifiedName])*)? 16 ("extends" superTypes+=[Relation|QualifiedName] ("," superTypes+=[Relation|QualifiedName])*)?
17 ("{" (referenceDeclarations+=ReferenceDeclaration ";"?)* "}" | "."); 17 ("{" (referenceDeclarations+=ReferenceDeclaration ";"?)* "}" | ".");
18 18
19EnumDeclaration:
20 "enum"
21 name=Identifier
22 ("{" (literals+=EnumLiteral ("," literals+=EnumLiteral)* ("," | ";")?)? "}" | ".");
23
24EnumLiteral returns Node:
25 name=QuotedOrUnquotedId;
26
19ReferenceDeclaration: 27ReferenceDeclaration:
20 (containment?="contains" | "refers") 28 (containment?="contains" | "refers")?
21 referenceType=[ClassDeclaration|QualifiedName] 29 referenceType=[Relation|QualifiedName]
22 ("[" multiplicity=Multiplicity "]")? 30 ("[" multiplicity=Multiplicity "]")?
23 name=ID 31 name=Identifier
24 ("opposite" opposite=[ReferenceDeclaration|QualifiedName])?; 32 ("opposite" opposite=[ReferenceDeclaration|QualifiedName])?;
25 33
26PredicateDefinition: 34PredicateDefinition:
27 (error?="error" "pred"? | "pred") 35 (error?="error" "pred"? | "pred")
28 name=ID 36 name=Identifier
29 "(" (parameters+=Parameter ("," parameters+=Parameter)*)? ")" 37 "(" (parameters+=Parameter ("," parameters+=Parameter)*)? ")"
30 (":-" bodies+=Conjunction (";" bodies+=Conjunction)*)? 38 (":-" bodies+=Conjunction (";" bodies+=Conjunction)*)?
31 "."; 39 ".";
32 40
33Parameter: 41Parameter:
34 parameterType=[ClassDeclaration] name=ID; 42 parameterType=[Relation|QualifiedName]? name=Identifier;
35 43
36Conjunction: 44Conjunction:
37 literals+=Literal ("," literals+=Literal)*; 45 literals+=Literal ("," literals+=Literal)*;
@@ -48,7 +56,7 @@ Atom:
48 "(" (arguments+=Argument ("," arguments+=Argument)*)? ")"; 56 "(" (arguments+=Argument ("," arguments+=Argument)*)? ")";
49 57
50Argument: 58Argument:
51 variable=[Variable]; 59 variableOrNode=[VariableOrNode|QualifiedName];
52 60
53Assertion: 61Assertion:
54 (relation=[Relation|QualifiedName] 62 (relation=[Relation|QualifiedName]
@@ -91,10 +99,18 @@ ExactMultiplicity:
91UpperBound returns ecore::EInt: 99UpperBound returns ecore::EInt:
92 INT | "*"; 100 INT | "*";
93 101
102QuotedOrUnquotedId:
103 QUOTED_ID | Identifier;
104
94QualifiedName: 105QualifiedName:
95 QUOTED_ID | ID (":" ID)* (":" QUOTED_ID)?; 106 QUOTED_ID | Identifier (":" Identifier)* (":" QUOTED_ID)?;
107
108Identifier:
109 ID | "true" | "false";
96 110
97@Override 111@Override
98terminal STRING: '"' ( '\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\'|'"') )* '"'; 112terminal STRING:
113 '"' ('\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\' | '"'))* '"';
99 114
100terminal QUOTED_ID: "'" ( '\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\'|"'") )* "'"; 115terminal QUOTED_ID:
116 "'" ('\\' . /* '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/ProblemUtil.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/ProblemUtil.java
index 3e7d515f..09f062f5 100644
--- 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
@@ -14,6 +14,7 @@ import org.eclipse.viatra.solver.language.model.problem.Node;
14import org.eclipse.viatra.solver.language.model.problem.Problem; 14import org.eclipse.viatra.solver.language.model.problem.Problem;
15import org.eclipse.viatra.solver.language.model.problem.ProblemPackage; 15import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
16import org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration; 16import org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration;
17import org.eclipse.viatra.solver.language.model.problem.Relation;
17import org.eclipse.viatra.solver.language.model.problem.Variable; 18import org.eclipse.viatra.solver.language.model.problem.Variable;
18import org.eclipse.viatra.solver.language.scoping.ProblemGlobalScopeProvider; 19import org.eclipse.viatra.solver.language.scoping.ProblemGlobalScopeProvider;
19 20
@@ -40,9 +41,15 @@ public final class ProblemUtil {
40 return variable.eContainingFeature() == ProblemPackage.Literals.ARGUMENT__SINGLETON_VARIABLE; 41 return variable.eContainingFeature() == ProblemPackage.Literals.ARGUMENT__SINGLETON_VARIABLE;
41 } 42 }
42 43
44 public static boolean isEnumLiteral(Node node) {
45 return node.eContainingFeature() == ProblemPackage.Literals.ENUM_DECLARATION__LITERALS;
46 }
47
43 public static boolean isEnumNode(Node node) { 48 public static boolean isEnumNode(Node node) {
44 String name = node.getName(); 49 String name = node.getName();
45 return name != null && name.startsWith(ENUM_NODE_NAME_QUOTE) && name.endsWith(ENUM_NODE_NAME_QUOTE); 50 boolean isNameQuoted = name != null && name.startsWith(ENUM_NODE_NAME_QUOTE)
51 && name.endsWith(ENUM_NODE_NAME_QUOTE);
52 return isNameQuoted || isEnumLiteral(node);
46 } 53 }
47 54
48 public static boolean isNewNode(Node node) { 55 public static boolean isNewNode(Node node) {
@@ -71,7 +78,11 @@ public final class ProblemUtil {
71 ClassDeclaration current = queue.removeFirst(); 78 ClassDeclaration current = queue.removeFirst();
72 if (!found.contains(current)) { 79 if (!found.contains(current)) {
73 found.add(current); 80 found.add(current);
74 queue.addAll(current.getSuperTypes()); 81 for (Relation superType : current.getSuperTypes()) {
82 if (superType instanceof ClassDeclaration) {
83 queue.addLast((ClassDeclaration) superType);
84 }
85 }
75 } 86 }
76 } 87 }
77 return found; 88 return found;
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 c161de22..b885ce0e 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
@@ -3,9 +3,11 @@ package org.eclipse.viatra.solver.language.resource;
3import java.util.HashSet; 3import java.util.HashSet;
4import java.util.List; 4import java.util.List;
5import java.util.Set; 5import java.util.Set;
6import java.util.function.Predicate;
6import java.util.regex.Pattern; 7import java.util.regex.Pattern;
7 8
8import org.eclipse.emf.ecore.EObject; 9import org.eclipse.emf.ecore.EObject;
10import org.eclipse.emf.ecore.EStructuralFeature;
9import org.eclipse.viatra.solver.language.ProblemUtil; 11import org.eclipse.viatra.solver.language.ProblemUtil;
10import org.eclipse.viatra.solver.language.model.problem.Argument; 12import org.eclipse.viatra.solver.language.model.problem.Argument;
11import org.eclipse.viatra.solver.language.model.problem.Assertion; 13import org.eclipse.viatra.solver.language.model.problem.Assertion;
@@ -30,18 +32,21 @@ import org.eclipse.xtext.nodemodel.INode;
30import org.eclipse.xtext.nodemodel.util.NodeModelUtils; 32import org.eclipse.xtext.nodemodel.util.NodeModelUtils;
31import org.eclipse.xtext.resource.DerivedStateAwareResource; 33import org.eclipse.xtext.resource.DerivedStateAwareResource;
32import org.eclipse.xtext.resource.IDerivedStateComputer; 34import org.eclipse.xtext.resource.IDerivedStateComputer;
33import org.eclipse.xtext.scoping.IGlobalScopeProvider;
34import org.eclipse.xtext.scoping.IScope; 35import org.eclipse.xtext.scoping.IScope;
36import org.eclipse.xtext.scoping.IScopeProvider;
37import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider;
35 38
36import com.google.common.base.Predicates;
37import com.google.inject.Inject; 39import com.google.inject.Inject;
38import com.google.inject.Singleton; 40import com.google.inject.Singleton;
41import com.google.inject.name.Named;
39 42
40@Singleton 43@Singleton
41public class ProblemDerivedStateComputer implements IDerivedStateComputer { 44public class ProblemDerivedStateComputer implements IDerivedStateComputer {
42 public static final String NEW_NODE = "new"; 45 public static final String NEW_NODE = "new";
43 46
44 private static final Pattern ID_REGEX = Pattern.compile("[_a-zA-Z][_0-9a-zA-Z]*|'(\\\\.|[^\\'])*'"); 47 private static final Pattern ID_REGEX = Pattern.compile("[_a-zA-Z][_0-9a-zA-Z]*");
48
49 private static final Pattern QUOTED_ID_REGEX = Pattern.compile("'(\\\\.|[^\\'])*'");
45 50
46 @Inject 51 @Inject
47 private LinkingHelper linkingHelper; 52 private LinkingHelper linkingHelper;
@@ -50,7 +55,8 @@ public class ProblemDerivedStateComputer implements IDerivedStateComputer {
50 private IQualifiedNameConverter qualifiedNameConverter; 55 private IQualifiedNameConverter qualifiedNameConverter;
51 56
52 @Inject 57 @Inject
53 private IGlobalScopeProvider scopeProvider; 58 @Named(AbstractDeclarativeScopeProvider.NAMED_DELEGATE)
59 private IScopeProvider scopeProvider;
54 60
55 @Override 61 @Override
56 public void installDerivedState(DerivedStateAwareResource resource, boolean preLinkingPhase) { 62 public void installDerivedState(DerivedStateAwareResource resource, boolean preLinkingPhase) {
@@ -65,11 +71,11 @@ public class ProblemDerivedStateComputer implements IDerivedStateComputer {
65 installNewNodes(problem); 71 installNewNodes(problem);
66 if (!preLinkingPhase) { 72 if (!preLinkingPhase) {
67 installDerivedNodes(problem); 73 installDerivedNodes(problem);
68 } 74 for (Statement statement : problem.getStatements()) {
69 for (Statement statement : problem.getStatements()) { 75 if (statement instanceof PredicateDefinition) {
70 if (statement instanceof PredicateDefinition) { 76 PredicateDefinition definition = (PredicateDefinition) statement;
71 PredicateDefinition definition = (PredicateDefinition) statement; 77 installDerivedPredicateDefinitionState(definition);
72 installDerivedPredicateDefinitionState(definition); 78 }
73 } 79 }
74 } 80 }
75 } 81 }
@@ -87,20 +93,30 @@ public class ProblemDerivedStateComputer implements IDerivedStateComputer {
87 } 93 }
88 94
89 protected void installDerivedNodes(Problem problem) { 95 protected void installDerivedNodes(Problem problem) {
90 IScope nodeScope = scopeProvider.getScope(problem.eResource(), ProblemPackage.Literals.ASSERTION__ARGUMENTS, 96 IScope nodeScope = scopeProvider.getScope(problem, ProblemPackage.Literals.ASSERTION__ARGUMENTS);
91 Predicates.alwaysTrue());
92 Set<String> nodeNames = new HashSet<>(); 97 Set<String> nodeNames = new HashSet<>();
93 for (Statement statement : problem.getStatements()) { 98 for (Statement statement : problem.getStatements()) {
94 if (statement instanceof Assertion) { 99 if (statement instanceof Assertion) {
95 Assertion assertion = (Assertion) statement; 100 addNodeNames(nodeNames, nodeScope, statement, ProblemPackage.Literals.ASSERTION__ARGUMENTS,
96 List<INode> nodes = NodeModelUtils.findNodesForFeature(assertion, 101 ProblemDerivedStateComputer::validNodeName);
97 ProblemPackage.Literals.ASSERTION__ARGUMENTS); 102 } else if (statement instanceof PredicateDefinition) {
98 for (INode node : nodes) { 103 PredicateDefinition predicateDefinition = (PredicateDefinition) statement;
99 String nodeName = linkingHelper.getCrossRefNodeAsString(node, true); 104 for (Conjunction body : predicateDefinition.getBodies()) {
100 if (validId(nodeName)) { 105 for (Literal literal : body.getLiterals()) {
101 QualifiedName qualifiedName = qualifiedNameConverter.toQualifiedName(nodeName); 106 Atom atom = null;
102 if (!nodeNames.contains(nodeName) && nodeScope.getSingleElement(qualifiedName) == null) { 107 if (literal instanceof Atom) {
103 nodeNames.add(nodeName); 108 atom = (Atom) literal;
109 } else if (literal instanceof NegativeLiteral) {
110 NegativeLiteral negativeLiteral = (NegativeLiteral) literal;
111 atom = negativeLiteral.getAtom();
112 }
113 if (atom == null) {
114 continue;
115 }
116 for (Argument argument : atom.getArguments()) {
117 addNodeNames(nodeNames, nodeScope, argument,
118 ProblemPackage.Literals.ARGUMENT__VARIABLE_OR_NODE,
119 ProblemDerivedStateComputer::validQuotedId);
104 } 120 }
105 } 121 }
106 } 122 }
@@ -113,6 +129,21 @@ public class ProblemDerivedStateComputer implements IDerivedStateComputer {
113 } 129 }
114 } 130 }
115 131
132 private void addNodeNames(Set<String> nodeNames, IScope nodeScope, EObject eObject, EStructuralFeature feature,
133 Predicate<String> condition) {
134 List<INode> nodes = NodeModelUtils.findNodesForFeature(eObject, feature);
135 for (INode node : nodes) {
136 String nodeName = linkingHelper.getCrossRefNodeAsString(node, true);
137 if (!condition.test(nodeName)) {
138 continue;
139 }
140 QualifiedName qualifiedName = qualifiedNameConverter.toQualifiedName(nodeName);
141 if (!nodeNames.contains(nodeName) && nodeScope.getSingleElement(qualifiedName) == null) {
142 nodeNames.add(nodeName);
143 }
144 }
145 }
146
116 protected Node createNode(String name) { 147 protected Node createNode(String name) {
117 Node node = ProblemFactory.eINSTANCE.createNode(); 148 Node node = ProblemFactory.eINSTANCE.createNode();
118 node.setName(name); 149 node.setName(name);
@@ -158,6 +189,7 @@ public class ProblemDerivedStateComputer implements IDerivedStateComputer {
158 189
159 protected void createSigletonVariablesAndCollectVariables(Atom atom, Set<String> knownVariables, 190 protected void createSigletonVariablesAndCollectVariables(Atom atom, Set<String> knownVariables,
160 Set<String> newVariables) { 191 Set<String> newVariables) {
192 IScope scope = scopeProvider.getScope(atom, ProblemPackage.Literals.ARGUMENT__VARIABLE_OR_NODE);
161 List<INode> nodes = NodeModelUtils.findNodesForFeature(atom, ProblemPackage.Literals.ATOM__ARGUMENTS); 193 List<INode> nodes = NodeModelUtils.findNodesForFeature(atom, ProblemPackage.Literals.ATOM__ARGUMENTS);
162 int nodesSize = nodes.size(); 194 int nodesSize = nodes.size();
163 List<Argument> arguments = atom.getArguments(); 195 List<Argument> arguments = atom.getArguments();
@@ -165,6 +197,13 @@ public class ProblemDerivedStateComputer implements IDerivedStateComputer {
165 for (int i = 0; i < nodesSize; i++) { 197 for (int i = 0; i < nodesSize; i++) {
166 INode node = nodes.get(i); 198 INode node = nodes.get(i);
167 String variableName = linkingHelper.getCrossRefNodeAsString(node, true); 199 String variableName = linkingHelper.getCrossRefNodeAsString(node, true);
200 if (!validId(variableName)) {
201 continue;
202 }
203 QualifiedName qualifiedName = qualifiedNameConverter.toQualifiedName(variableName);
204 if (scope.getSingleElement(qualifiedName) != null) {
205 continue;
206 }
168 if (ProblemUtil.isSingletonVariableName(variableName)) { 207 if (ProblemUtil.isSingletonVariableName(variableName)) {
169 if (i < argumentsSize) { 208 if (i < argumentsSize) {
170 createSingletonVariable(arguments.get(i), variableName); 209 createSingletonVariable(arguments.get(i), variableName);
@@ -223,9 +262,13 @@ public class ProblemDerivedStateComputer implements IDerivedStateComputer {
223 for (Conjunction body : definition.getBodies()) { 262 for (Conjunction body : definition.getBodies()) {
224 body.getImplicitVariables().clear(); 263 body.getImplicitVariables().clear();
225 for (Literal literal : body.getLiterals()) { 264 for (Literal literal : body.getLiterals()) {
265 if (literal instanceof Atom) {
266 discardDerivedAtomState((Atom) literal);
267 }
226 if (literal instanceof NegativeLiteral) { 268 if (literal instanceof NegativeLiteral) {
227 NegativeLiteral negativeLiteral = (NegativeLiteral) literal; 269 NegativeLiteral negativeLiteral = (NegativeLiteral) literal;
228 negativeLiteral.getImplicitVariables().clear(); 270 negativeLiteral.getImplicitVariables().clear();
271 discardDerivedAtomState(negativeLiteral.getAtom());
229 } 272 }
230 } 273 }
231 } 274 }
@@ -233,7 +276,24 @@ public class ProblemDerivedStateComputer implements IDerivedStateComputer {
233 } 276 }
234 } 277 }
235 278
279 protected void discardDerivedAtomState(Atom atom) {
280 if (atom == null) {
281 return;
282 }
283 for (Argument argument : atom.getArguments()) {
284 argument.setSingletonVariable(null);
285 }
286 }
287
236 protected static boolean validId(String name) { 288 protected static boolean validId(String name) {
237 return name != null && ID_REGEX.matcher(name).matches(); 289 return name != null && ID_REGEX.matcher(name).matches();
238 } 290 }
291
292 protected static boolean validQuotedId(String name) {
293 return name != null && QUOTED_ID_REGEX.matcher(name).matches();
294 }
295
296 protected static boolean validNodeName(String name) {
297 return validId(name) || validQuotedId(name);
298 }
239} 299}
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 d3976ec5..94dbdfee 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
@@ -1,21 +1,9 @@
1package org.eclipse.viatra.solver.language.resource; 1package org.eclipse.viatra.solver.language.resource;
2 2
3import java.util.Iterator;
4
5import org.eclipse.emf.ecore.EObject; 3import org.eclipse.emf.ecore.EObject;
6import org.eclipse.viatra.solver.language.ProblemUtil; 4import org.eclipse.viatra.solver.language.ProblemUtil;
7import org.eclipse.viatra.solver.language.model.problem.Argument;
8import org.eclipse.viatra.solver.language.model.problem.Assertion;
9import org.eclipse.viatra.solver.language.model.problem.Atom;
10import org.eclipse.viatra.solver.language.model.problem.Conjunction;
11import org.eclipse.viatra.solver.language.model.problem.ImplicitVariable; 5import org.eclipse.viatra.solver.language.model.problem.ImplicitVariable;
12import org.eclipse.viatra.solver.language.model.problem.Literal;
13import org.eclipse.viatra.solver.language.model.problem.NegativeLiteral;
14import org.eclipse.viatra.solver.language.model.problem.Node; 6import org.eclipse.viatra.solver.language.model.problem.Node;
15import org.eclipse.viatra.solver.language.model.problem.Problem;
16import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
17import org.eclipse.viatra.solver.language.model.problem.Statement;
18import org.eclipse.xtext.EcoreUtil2;
19import org.eclipse.xtext.resource.DefaultLocationInFileProvider; 7import org.eclipse.xtext.resource.DefaultLocationInFileProvider;
20import org.eclipse.xtext.util.ITextRegion; 8import org.eclipse.xtext.util.ITextRegion;
21 9
@@ -26,90 +14,19 @@ public class ProblemLocationInFileProvider extends DefaultLocationInFileProvider
26 return getNodeTextRegion((Node) obj, query); 14 return getNodeTextRegion((Node) obj, query);
27 } 15 }
28 if (obj instanceof ImplicitVariable) { 16 if (obj instanceof ImplicitVariable) {
29 return getVariableTextRegion((ImplicitVariable) obj, query); 17 return ITextRegion.EMPTY_REGION;
30 } 18 }
31 return super.doGetTextRegion(obj, query); 19 return super.doGetTextRegion(obj, query);
32 } 20 }
33 21
34 protected ITextRegion getNodeTextRegion(Node node, RegionDescription query) { 22 protected ITextRegion getNodeTextRegion(Node node, RegionDescription query) {
35 ITextRegion newNodeRegion = getNewNodeTextRegion(node, query); 23 if (ProblemUtil.isEnumLiteral(node)) {
36 if (newNodeRegion != null) { 24 return super.doGetTextRegion(node, query);
37 return newNodeRegion;
38 } 25 }
39 return getNodeFirstReferenceTextRegion(node, query);
40 }
41
42 protected ITextRegion getNewNodeTextRegion(Node node, RegionDescription query) {
43 if (ProblemUtil.isNewNode(node)) { 26 if (ProblemUtil.isNewNode(node)) {
44 EObject container = node.eContainer(); 27 EObject container = node.eContainer();
45 return doGetTextRegion(container, query); 28 return doGetTextRegion(container, query);
46 } 29 }
47 return null;
48 }
49
50 protected ITextRegion getNodeFirstReferenceTextRegion(Node node, RegionDescription query) {
51 Problem problem = EcoreUtil2.getContainerOfType(node, Problem.class);
52 if (problem == null) {
53 return ITextRegion.EMPTY_REGION;
54 }
55 for (Statement statement : problem.getStatements()) {
56 if (statement instanceof Assertion) {
57 Assertion assertion = (Assertion) statement;
58 int index = assertion.getArguments().indexOf(node);
59 if (index >= 0) {
60 return doGetLocationOfFeature(assertion, ProblemPackage.Literals.ASSERTION__ARGUMENTS, index,
61 query);
62 }
63 }
64 }
65 return ITextRegion.EMPTY_REGION;
66 }
67
68 protected ITextRegion getVariableTextRegion(ImplicitVariable variable, RegionDescription query) {
69 EObject container = variable.eContainer();
70 if (container instanceof Argument) {
71 return getArgumentTextRegion((Argument) container, query);
72 }
73 if (container instanceof Conjunction) {
74 return getFirstReferenceToVariableInConjunction(variable, (Conjunction) container, query);
75 }
76 if (container instanceof NegativeLiteral) {
77 return getFirstReferenceToVariableInNegativeLiteral(variable, (NegativeLiteral) container, query);
78 }
79 return ITextRegion.EMPTY_REGION;
80 }
81
82 protected ITextRegion getFirstReferenceToVariableInConjunction(ImplicitVariable variable, Conjunction conjunction,
83 RegionDescription query) {
84 Iterator<Literal> iterator = conjunction.getLiterals().iterator();
85 ITextRegion found = ITextRegion.EMPTY_REGION;
86 while (found == ITextRegion.EMPTY_REGION && iterator.hasNext()) {
87 Literal literal = iterator.next();
88 if (literal instanceof Atom) {
89 found = getFirstReferenceToVariableInAtom(variable, (Atom) literal, query);
90 } else if (literal instanceof NegativeLiteral) {
91 found = getFirstReferenceToVariableInNegativeLiteral(variable, (NegativeLiteral) literal, query);
92 }
93 }
94 return found;
95 }
96
97 protected ITextRegion getFirstReferenceToVariableInNegativeLiteral(ImplicitVariable variable,
98 NegativeLiteral literal, RegionDescription query) {
99 return getFirstReferenceToVariableInAtom(variable, literal.getAtom(), query);
100 }
101
102 protected ITextRegion getFirstReferenceToVariableInAtom(ImplicitVariable variable, Atom atom,
103 RegionDescription query) {
104 for (Argument argument : atom.getArguments()) {
105 if (argument.getVariable().equals(variable)) {
106 return getArgumentTextRegion(argument, query);
107 }
108 }
109 return ITextRegion.EMPTY_REGION; 30 return ITextRegion.EMPTY_REGION;
110 } 31 }
111
112 protected ITextRegion getArgumentTextRegion(Argument argument, RegionDescription query) {
113 return doGetLocationOfFeature(argument, ProblemPackage.Literals.ARGUMENT__VARIABLE, 0, query);
114 }
115} 32}
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 95a9fe6b..edb25a1c 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,7 +1,9 @@
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.ProblemUtil;
4import org.eclipse.viatra.solver.language.model.problem.NamedElement; 5import org.eclipse.viatra.solver.language.model.problem.NamedElement;
6import org.eclipse.viatra.solver.language.model.problem.Node;
5import org.eclipse.viatra.solver.language.model.problem.Problem; 7import org.eclipse.viatra.solver.language.model.problem.Problem;
6import org.eclipse.viatra.solver.language.model.problem.Variable; 8import org.eclipse.viatra.solver.language.model.problem.Variable;
7import org.eclipse.xtext.EcoreUtil2; 9import org.eclipse.xtext.EcoreUtil2;
@@ -73,6 +75,9 @@ public class ProblemResourceDescriptionStrategy extends DefaultResourceDescripti
73 } 75 }
74 76
75 protected boolean shouldExportSimpleName(EObject eObject) { 77 protected boolean shouldExportSimpleName(EObject eObject) {
78 if (eObject instanceof Node) {
79 return !ProblemUtil.isNewNode((Node) eObject);
80 }
76 return true; 81 return true;
77 } 82 }
78 83
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 c639f24c..fc4034ae 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
@@ -16,6 +16,7 @@ import org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier;
16import org.eclipse.viatra.solver.language.model.problem.PredicateDefinition; 16import org.eclipse.viatra.solver.language.model.problem.PredicateDefinition;
17import org.eclipse.viatra.solver.language.model.problem.ProblemPackage; 17import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
18import org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration; 18import org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration;
19import org.eclipse.viatra.solver.language.model.problem.Relation;
19import org.eclipse.viatra.solver.language.model.problem.Variable; 20import org.eclipse.viatra.solver.language.model.problem.Variable;
20import org.eclipse.xtext.EcoreUtil2; 21import org.eclipse.xtext.EcoreUtil2;
21import org.eclipse.xtext.scoping.IScope; 22import org.eclipse.xtext.scoping.IScope;
@@ -33,7 +34,7 @@ public class ProblemScopeProvider extends AbstractProblemScopeProvider {
33 @Override 34 @Override
34 public IScope getScope(EObject context, EReference reference) { 35 public IScope getScope(EObject context, EReference reference) {
35 IScope scope = super.getScope(context, reference); 36 IScope scope = super.getScope(context, reference);
36 if (reference == ProblemPackage.Literals.ARGUMENT__VARIABLE) { 37 if (reference == ProblemPackage.Literals.ARGUMENT__VARIABLE_OR_NODE) {
37 return getVariableScope(context, scope); 38 return getVariableScope(context, scope);
38 } else if (reference == ProblemPackage.Literals.REFERENCE_DECLARATION__OPPOSITE) { 39 } else if (reference == ProblemPackage.Literals.REFERENCE_DECLARATION__OPPOSITE) {
39 return getOppositeScope(context, scope); 40 return getOppositeScope(context, scope);
@@ -62,7 +63,7 @@ public class ProblemScopeProvider extends AbstractProblemScopeProvider {
62 PredicateDefinition definition = (PredicateDefinition) currentContext; 63 PredicateDefinition definition = (PredicateDefinition) currentContext;
63 variables.addAll(definition.getParameters()); 64 variables.addAll(definition.getParameters());
64 } 65 }
65 return Scopes.scopeFor(variables); 66 return Scopes.scopeFor(variables, delegateScope);
66 } 67 }
67 68
68 protected IScope getOppositeScope(EObject context, IScope delegateScope) { 69 protected IScope getOppositeScope(EObject context, IScope delegateScope) {
@@ -70,10 +71,11 @@ public class ProblemScopeProvider extends AbstractProblemScopeProvider {
70 if (referenceDeclaration == null) { 71 if (referenceDeclaration == null) {
71 return delegateScope; 72 return delegateScope;
72 } 73 }
73 ClassDeclaration classDeclaration = referenceDeclaration.getReferenceType(); 74 Relation relation = referenceDeclaration.getReferenceType();
74 if (classDeclaration == null) { 75 if (!(relation instanceof ClassDeclaration)) {
75 return delegateScope; 76 return delegateScope;
76 } 77 }
78 ClassDeclaration classDeclaration = (ClassDeclaration) relation;
77 Collection<ReferenceDeclaration> referenceDeclarations = ProblemUtil 79 Collection<ReferenceDeclaration> referenceDeclarations = ProblemUtil
78 .getAllReferenceDeclarations(classDeclaration); 80 .getAllReferenceDeclarations(classDeclaration);
79 return Scopes.scopeFor(referenceDeclarations, delegateScope); 81 return Scopes.scopeFor(referenceDeclarations, delegateScope);
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
index 4975dad6..49b67d5a 100644
--- 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
@@ -1,7 +1,17 @@
1problem builtin. 1problem builtin.
2 2
3abstract class node { 3abstract class node {
4 refers node[0..*] equals opposite equals 4 node[] equals opposite equals
5} 5}
6 6
7predicate exists(node node). \ No newline at end of file 7pred exists(node node).
8
9enum bool {
10 true, false
11}
12
13class double.
14
15class int extends double.
16
17class string. \ 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 6b594f53..cabf6537 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 bbce5660..64db0417 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
@@ -84,19 +84,20 @@ ruleProblem returns [EObject current=null]
84 } 84 }
85 ( 85 (
86 ( 86 (
87 lv_name_1_0=RULE_ID
88 { 87 {
89 newLeafNode(lv_name_1_0, grammarAccess.getProblemAccess().getNameIDTerminalRuleCall_0_1_0()); 88 newCompositeNode(grammarAccess.getProblemAccess().getNameIdentifierParserRuleCall_0_1_0());
90 } 89 }
90 lv_name_1_0=ruleIdentifier
91 { 91 {
92 if ($current==null) { 92 if ($current==null) {
93 $current = createModelElement(grammarAccess.getProblemRule()); 93 $current = createModelElementForParent(grammarAccess.getProblemRule());
94 } 94 }
95 setWithLastConsumed( 95 set(
96 $current, 96 $current,
97 "name", 97 "name",
98 lv_name_1_0, 98 lv_name_1_0,
99 "org.eclipse.xtext.common.Terminals.ID"); 99 "org.eclipse.viatra.solver.language.Problem.Identifier");
100 afterParserOrEnumRuleCall();
100 } 101 }
101 ) 102 )
102 ) 103 )
@@ -153,29 +154,38 @@ ruleStatement returns [EObject current=null]
153 } 154 }
154 | 155 |
155 { 156 {
156 newCompositeNode(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_1()); 157 newCompositeNode(grammarAccess.getStatementAccess().getEnumDeclarationParserRuleCall_1());
158 }
159 this_EnumDeclaration_1=ruleEnumDeclaration
160 {
161 $current = $this_EnumDeclaration_1.current;
162 afterParserOrEnumRuleCall();
163 }
164 |
165 {
166 newCompositeNode(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_2());
157 } 167 }
158 this_PredicateDefinition_1=rulePredicateDefinition 168 this_PredicateDefinition_2=rulePredicateDefinition
159 { 169 {
160 $current = $this_PredicateDefinition_1.current; 170 $current = $this_PredicateDefinition_2.current;
161 afterParserOrEnumRuleCall(); 171 afterParserOrEnumRuleCall();
162 } 172 }
163 | 173 |
164 { 174 {
165 newCompositeNode(grammarAccess.getStatementAccess().getAssertionParserRuleCall_2()); 175 newCompositeNode(grammarAccess.getStatementAccess().getAssertionParserRuleCall_3());
166 } 176 }
167 this_Assertion_2=ruleAssertion 177 this_Assertion_3=ruleAssertion
168 { 178 {
169 $current = $this_Assertion_2.current; 179 $current = $this_Assertion_3.current;
170 afterParserOrEnumRuleCall(); 180 afterParserOrEnumRuleCall();
171 } 181 }
172 | 182 |
173 { 183 {
174 newCompositeNode(grammarAccess.getStatementAccess().getScopeDeclarationParserRuleCall_3()); 184 newCompositeNode(grammarAccess.getStatementAccess().getScopeDeclarationParserRuleCall_4());
175 } 185 }
176 this_ScopeDeclaration_3=ruleScopeDeclaration 186 this_ScopeDeclaration_4=ruleScopeDeclaration
177 { 187 {
178 $current = $this_ScopeDeclaration_3.current; 188 $current = $this_ScopeDeclaration_4.current;
179 afterParserOrEnumRuleCall(); 189 afterParserOrEnumRuleCall();
180 } 190 }
181 ) 191 )
@@ -217,19 +227,20 @@ ruleClassDeclaration returns [EObject current=null]
217 } 227 }
218 ( 228 (
219 ( 229 (
220 lv_name_2_0=RULE_ID
221 { 230 {
222 newLeafNode(lv_name_2_0, grammarAccess.getClassDeclarationAccess().getNameIDTerminalRuleCall_2_0()); 231 newCompositeNode(grammarAccess.getClassDeclarationAccess().getNameIdentifierParserRuleCall_2_0());
223 } 232 }
233 lv_name_2_0=ruleIdentifier
224 { 234 {
225 if ($current==null) { 235 if ($current==null) {
226 $current = createModelElement(grammarAccess.getClassDeclarationRule()); 236 $current = createModelElementForParent(grammarAccess.getClassDeclarationRule());
227 } 237 }
228 setWithLastConsumed( 238 set(
229 $current, 239 $current,
230 "name", 240 "name",
231 lv_name_2_0, 241 lv_name_2_0,
232 "org.eclipse.xtext.common.Terminals.ID"); 242 "org.eclipse.viatra.solver.language.Problem.Identifier");
243 afterParserOrEnumRuleCall();
233 } 244 }
234 ) 245 )
235 ) 246 )
@@ -246,7 +257,7 @@ ruleClassDeclaration returns [EObject current=null]
246 } 257 }
247 } 258 }
248 { 259 {
249 newCompositeNode(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_1_0()); 260 newCompositeNode(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationCrossReference_3_1_0());
250 } 261 }
251 ruleQualifiedName 262 ruleQualifiedName
252 { 263 {
@@ -267,7 +278,7 @@ ruleClassDeclaration returns [EObject current=null]
267 } 278 }
268 } 279 }
269 { 280 {
270 newCompositeNode(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_2_1_0()); 281 newCompositeNode(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationCrossReference_3_2_1_0());
271 } 282 }
272 ruleQualifiedName 283 ruleQualifiedName
273 { 284 {
@@ -324,6 +335,158 @@ ruleClassDeclaration returns [EObject current=null]
324 ) 335 )
325; 336;
326 337
338// Entry rule entryRuleEnumDeclaration
339entryRuleEnumDeclaration returns [EObject current=null]:
340 { newCompositeNode(grammarAccess.getEnumDeclarationRule()); }
341 iv_ruleEnumDeclaration=ruleEnumDeclaration
342 { $current=$iv_ruleEnumDeclaration.current; }
343 EOF;
344
345// Rule EnumDeclaration
346ruleEnumDeclaration returns [EObject current=null]
347@init {
348 enterRule();
349}
350@after {
351 leaveRule();
352}:
353 (
354 otherlv_0='enum'
355 {
356 newLeafNode(otherlv_0, grammarAccess.getEnumDeclarationAccess().getEnumKeyword_0());
357 }
358 (
359 (
360 {
361 newCompositeNode(grammarAccess.getEnumDeclarationAccess().getNameIdentifierParserRuleCall_1_0());
362 }
363 lv_name_1_0=ruleIdentifier
364 {
365 if ($current==null) {
366 $current = createModelElementForParent(grammarAccess.getEnumDeclarationRule());
367 }
368 set(
369 $current,
370 "name",
371 lv_name_1_0,
372 "org.eclipse.viatra.solver.language.Problem.Identifier");
373 afterParserOrEnumRuleCall();
374 }
375 )
376 )
377 (
378 (
379 otherlv_2='{'
380 {
381 newLeafNode(otherlv_2, grammarAccess.getEnumDeclarationAccess().getLeftCurlyBracketKeyword_2_0_0());
382 }
383 (
384 (
385 (
386 {
387 newCompositeNode(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_0_0());
388 }
389 lv_literals_3_0=ruleEnumLiteral
390 {
391 if ($current==null) {
392 $current = createModelElementForParent(grammarAccess.getEnumDeclarationRule());
393 }
394 add(
395 $current,
396 "literals",
397 lv_literals_3_0,
398 "org.eclipse.viatra.solver.language.Problem.EnumLiteral");
399 afterParserOrEnumRuleCall();
400 }
401 )
402 )
403 (
404 otherlv_4=','
405 {
406 newLeafNode(otherlv_4, grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_1_0());
407 }
408 (
409 (
410 {
411 newCompositeNode(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0());
412 }
413 lv_literals_5_0=ruleEnumLiteral
414 {
415 if ($current==null) {
416 $current = createModelElementForParent(grammarAccess.getEnumDeclarationRule());
417 }
418 add(
419 $current,
420 "literals",
421 lv_literals_5_0,
422 "org.eclipse.viatra.solver.language.Problem.EnumLiteral");
423 afterParserOrEnumRuleCall();
424 }
425 )
426 )
427 )*
428 (
429 otherlv_6=','
430 {
431 newLeafNode(otherlv_6, grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_2_0());
432 }
433 |
434 otherlv_7=';'
435 {
436 newLeafNode(otherlv_7, grammarAccess.getEnumDeclarationAccess().getSemicolonKeyword_2_0_1_2_1());
437 }
438 )?
439 )?
440 otherlv_8='}'
441 {
442 newLeafNode(otherlv_8, grammarAccess.getEnumDeclarationAccess().getRightCurlyBracketKeyword_2_0_2());
443 }
444 )
445 |
446 otherlv_9='.'
447 {
448 newLeafNode(otherlv_9, grammarAccess.getEnumDeclarationAccess().getFullStopKeyword_2_1());
449 }
450 )
451 )
452;
453
454// Entry rule entryRuleEnumLiteral
455entryRuleEnumLiteral returns [EObject current=null]:
456 { newCompositeNode(grammarAccess.getEnumLiteralRule()); }
457 iv_ruleEnumLiteral=ruleEnumLiteral
458 { $current=$iv_ruleEnumLiteral.current; }
459 EOF;
460
461// Rule EnumLiteral
462ruleEnumLiteral returns [EObject current=null]
463@init {
464 enterRule();
465}
466@after {
467 leaveRule();
468}:
469 (
470 (
471 {
472 newCompositeNode(grammarAccess.getEnumLiteralAccess().getNameQuotedOrUnquotedIdParserRuleCall_0());
473 }
474 lv_name_0_0=ruleQuotedOrUnquotedId
475 {
476 if ($current==null) {
477 $current = createModelElementForParent(grammarAccess.getEnumLiteralRule());
478 }
479 set(
480 $current,
481 "name",
482 lv_name_0_0,
483 "org.eclipse.viatra.solver.language.Problem.QuotedOrUnquotedId");
484 afterParserOrEnumRuleCall();
485 }
486 )
487 )
488;
489
327// Entry rule entryRuleReferenceDeclaration 490// Entry rule entryRuleReferenceDeclaration
328entryRuleReferenceDeclaration returns [EObject current=null]: 491entryRuleReferenceDeclaration returns [EObject current=null]:
329 { newCompositeNode(grammarAccess.getReferenceDeclarationRule()); } 492 { newCompositeNode(grammarAccess.getReferenceDeclarationRule()); }
@@ -360,7 +523,7 @@ ruleReferenceDeclaration returns [EObject current=null]
360 { 523 {
361 newLeafNode(otherlv_1, grammarAccess.getReferenceDeclarationAccess().getRefersKeyword_0_1()); 524 newLeafNode(otherlv_1, grammarAccess.getReferenceDeclarationAccess().getRefersKeyword_0_1());
362 } 525 }
363 ) 526 )?
364 ( 527 (
365 ( 528 (
366 { 529 {
@@ -369,7 +532,7 @@ ruleReferenceDeclaration returns [EObject current=null]
369 } 532 }
370 } 533 }
371 { 534 {
372 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeClassDeclarationCrossReference_1_0()); 535 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeRelationCrossReference_1_0());
373 } 536 }
374 ruleQualifiedName 537 ruleQualifiedName
375 { 538 {
@@ -408,19 +571,20 @@ ruleReferenceDeclaration returns [EObject current=null]
408 )? 571 )?
409 ( 572 (
410 ( 573 (
411 lv_name_6_0=RULE_ID
412 { 574 {
413 newLeafNode(lv_name_6_0, grammarAccess.getReferenceDeclarationAccess().getNameIDTerminalRuleCall_3_0()); 575 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getNameIdentifierParserRuleCall_3_0());
414 } 576 }
577 lv_name_6_0=ruleIdentifier
415 { 578 {
416 if ($current==null) { 579 if ($current==null) {
417 $current = createModelElement(grammarAccess.getReferenceDeclarationRule()); 580 $current = createModelElementForParent(grammarAccess.getReferenceDeclarationRule());
418 } 581 }
419 setWithLastConsumed( 582 set(
420 $current, 583 $current,
421 "name", 584 "name",
422 lv_name_6_0, 585 lv_name_6_0,
423 "org.eclipse.xtext.common.Terminals.ID"); 586 "org.eclipse.viatra.solver.language.Problem.Identifier");
587 afterParserOrEnumRuleCall();
424 } 588 }
425 ) 589 )
426 ) 590 )
@@ -496,19 +660,20 @@ rulePredicateDefinition returns [EObject current=null]
496 ) 660 )
497 ( 661 (
498 ( 662 (
499 lv_name_3_0=RULE_ID
500 { 663 {
501 newLeafNode(lv_name_3_0, grammarAccess.getPredicateDefinitionAccess().getNameIDTerminalRuleCall_1_0()); 664 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getNameIdentifierParserRuleCall_1_0());
502 } 665 }
666 lv_name_3_0=ruleIdentifier
503 { 667 {
504 if ($current==null) { 668 if ($current==null) {
505 $current = createModelElement(grammarAccess.getPredicateDefinitionRule()); 669 $current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule());
506 } 670 }
507 setWithLastConsumed( 671 set(
508 $current, 672 $current,
509 "name", 673 "name",
510 lv_name_3_0, 674 lv_name_3_0,
511 "org.eclipse.xtext.common.Terminals.ID"); 675 "org.eclipse.viatra.solver.language.Problem.Identifier");
676 afterParserOrEnumRuleCall();
512 } 677 }
513 ) 678 )
514 ) 679 )
@@ -646,27 +811,31 @@ ruleParameter returns [EObject current=null]
646 $current = createModelElement(grammarAccess.getParameterRule()); 811 $current = createModelElement(grammarAccess.getParameterRule());
647 } 812 }
648 } 813 }
649 otherlv_0=RULE_ID
650 { 814 {
651 newLeafNode(otherlv_0, grammarAccess.getParameterAccess().getParameterTypeClassDeclarationCrossReference_0_0()); 815 newCompositeNode(grammarAccess.getParameterAccess().getParameterTypeRelationCrossReference_0_0());
816 }
817 ruleQualifiedName
818 {
819 afterParserOrEnumRuleCall();
652 } 820 }
653 ) 821 )
654 ) 822 )?
655 ( 823 (
656 ( 824 (
657 lv_name_1_0=RULE_ID
658 { 825 {
659 newLeafNode(lv_name_1_0, grammarAccess.getParameterAccess().getNameIDTerminalRuleCall_1_0()); 826 newCompositeNode(grammarAccess.getParameterAccess().getNameIdentifierParserRuleCall_1_0());
660 } 827 }
828 lv_name_1_0=ruleIdentifier
661 { 829 {
662 if ($current==null) { 830 if ($current==null) {
663 $current = createModelElement(grammarAccess.getParameterRule()); 831 $current = createModelElementForParent(grammarAccess.getParameterRule());
664 } 832 }
665 setWithLastConsumed( 833 set(
666 $current, 834 $current,
667 "name", 835 "name",
668 lv_name_1_0, 836 lv_name_1_0,
669 "org.eclipse.xtext.common.Terminals.ID"); 837 "org.eclipse.viatra.solver.language.Problem.Identifier");
838 afterParserOrEnumRuleCall();
670 } 839 }
671 ) 840 )
672 ) 841 )
@@ -939,9 +1108,12 @@ ruleArgument returns [EObject current=null]
939 $current = createModelElement(grammarAccess.getArgumentRule()); 1108 $current = createModelElement(grammarAccess.getArgumentRule());
940 } 1109 }
941 } 1110 }
942 otherlv_0=RULE_ID
943 { 1111 {
944 newLeafNode(otherlv_0, grammarAccess.getArgumentAccess().getVariableVariableCrossReference_0()); 1112 newCompositeNode(grammarAccess.getArgumentAccess().getVariableOrNodeVariableOrNodeCrossReference_0());
1113 }
1114 ruleQualifiedName
1115 {
1116 afterParserOrEnumRuleCall();
945 } 1117 }
946 ) 1118 )
947 ) 1119 )
@@ -1513,6 +1685,43 @@ ruleUpperBound returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToke
1513 ) 1685 )
1514; 1686;
1515 1687
1688// Entry rule entryRuleQuotedOrUnquotedId
1689entryRuleQuotedOrUnquotedId returns [String current=null]:
1690 { newCompositeNode(grammarAccess.getQuotedOrUnquotedIdRule()); }
1691 iv_ruleQuotedOrUnquotedId=ruleQuotedOrUnquotedId
1692 { $current=$iv_ruleQuotedOrUnquotedId.current.getText(); }
1693 EOF;
1694
1695// Rule QuotedOrUnquotedId
1696ruleQuotedOrUnquotedId returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
1697@init {
1698 enterRule();
1699}
1700@after {
1701 leaveRule();
1702}:
1703 (
1704 this_QUOTED_ID_0=RULE_QUOTED_ID
1705 {
1706 $current.merge(this_QUOTED_ID_0);
1707 }
1708 {
1709 newLeafNode(this_QUOTED_ID_0, grammarAccess.getQuotedOrUnquotedIdAccess().getQUOTED_IDTerminalRuleCall_0());
1710 }
1711 |
1712 {
1713 newCompositeNode(grammarAccess.getQuotedOrUnquotedIdAccess().getIdentifierParserRuleCall_1());
1714 }
1715 this_Identifier_1=ruleIdentifier
1716 {
1717 $current.merge(this_Identifier_1);
1718 }
1719 {
1720 afterParserOrEnumRuleCall();
1721 }
1722 )
1723;
1724
1516// Entry rule entryRuleQualifiedName 1725// Entry rule entryRuleQualifiedName
1517entryRuleQualifiedName returns [String current=null]: 1726entryRuleQualifiedName returns [String current=null]:
1518 { newCompositeNode(grammarAccess.getQualifiedNameRule()); } 1727 { newCompositeNode(grammarAccess.getQualifiedNameRule()); }
@@ -1538,12 +1747,15 @@ ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleT
1538 } 1747 }
1539 | 1748 |
1540 ( 1749 (
1541 this_ID_1=RULE_ID
1542 { 1750 {
1543 $current.merge(this_ID_1); 1751 newCompositeNode(grammarAccess.getQualifiedNameAccess().getIdentifierParserRuleCall_1_0());
1544 } 1752 }
1753 this_Identifier_1=ruleIdentifier
1545 { 1754 {
1546 newLeafNode(this_ID_1, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_0()); 1755 $current.merge(this_Identifier_1);
1756 }
1757 {
1758 afterParserOrEnumRuleCall();
1547 } 1759 }
1548 ( 1760 (
1549 kw=':' 1761 kw=':'
@@ -1551,12 +1763,15 @@ ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleT
1551 $current.merge(kw); 1763 $current.merge(kw);
1552 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getColonKeyword_1_1_0()); 1764 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getColonKeyword_1_1_0());
1553 } 1765 }
1554 this_ID_3=RULE_ID
1555 { 1766 {
1556 $current.merge(this_ID_3); 1767 newCompositeNode(grammarAccess.getQualifiedNameAccess().getIdentifierParserRuleCall_1_1_1());
1557 } 1768 }
1769 this_Identifier_3=ruleIdentifier
1558 { 1770 {
1559 newLeafNode(this_ID_3, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1_1()); 1771 $current.merge(this_Identifier_3);
1772 }
1773 {
1774 afterParserOrEnumRuleCall();
1560 } 1775 }
1561 )* 1776 )*
1562 ( 1777 (
@@ -1577,6 +1792,44 @@ ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleT
1577 ) 1792 )
1578; 1793;
1579 1794
1795// Entry rule entryRuleIdentifier
1796entryRuleIdentifier returns [String current=null]:
1797 { newCompositeNode(grammarAccess.getIdentifierRule()); }
1798 iv_ruleIdentifier=ruleIdentifier
1799 { $current=$iv_ruleIdentifier.current.getText(); }
1800 EOF;
1801
1802// Rule Identifier
1803ruleIdentifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
1804@init {
1805 enterRule();
1806}
1807@after {
1808 leaveRule();
1809}:
1810 (
1811 this_ID_0=RULE_ID
1812 {
1813 $current.merge(this_ID_0);
1814 }
1815 {
1816 newLeafNode(this_ID_0, grammarAccess.getIdentifierAccess().getIDTerminalRuleCall_0());
1817 }
1818 |
1819 kw='true'
1820 {
1821 $current.merge(kw);
1822 newLeafNode(kw, grammarAccess.getIdentifierAccess().getTrueKeyword_1());
1823 }
1824 |
1825 kw='false'
1826 {
1827 $current.merge(kw);
1828 newLeafNode(kw, grammarAccess.getIdentifierAccess().getFalseKeyword_2());
1829 }
1830 )
1831;
1832
1580// Rule LogicValue 1833// Rule LogicValue
1581ruleLogicValue returns [Enumerator current=null] 1834ruleLogicValue returns [Enumerator current=null]
1582@init { 1835@init {
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 862a9a36..e968ac14 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,32 +1,33 @@
1'!'=31 1'!'=32
2'('=28 2'('=29
3')'=29 3')'=30
4'*'=38 4'*'=39
5'+'=32 5'+'=33
6'+='=35 6'+='=36
7','=17 7','=17
8'.'=13 8'.'=13
9'..'=37 9'..'=38
10':'=33 10':'=34
11':-'=30 11':-'=31
12';'=19 12';'=19
13'='=36 13'='=37
14'?'=42 14'?'=43
15'['=23 15'['=24
16']'=24 16']'=25
17'abstract'=14 17'abstract'=14
18'class'=15 18'class'=15
19'contains'=21 19'contains'=22
20'error'=26 20'enum'=21
21'error'=27
21'extends'=16 22'extends'=16
22'false'=40 23'false'=41
23'opposite'=25 24'opposite'=26
24'pred'=27 25'pred'=28
25'problem'=12 26'problem'=12
26'refers'=22 27'refers'=23
27'scope'=34 28'scope'=35
28'true'=39 29'true'=40
29'unknown'=41 30'unknown'=42
30'{'=18 31'{'=18
31'}'=20 32'}'=20
32RULE_ANY_OTHER=11 33RULE_ANY_OTHER=11
@@ -68,3 +69,4 @@ T__39=39
68T__40=40 69T__40=40
69T__41=41 70T__41=41
70T__42=42 71T__42=42
72T__43=43
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 a1703c93..1fd1e166 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,31 +12,16 @@ 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=7;
16 public static final int RULE_SL_COMMENT=9;
17 public static final int T__19=19; 15 public static final int T__19=19;
18 public static final int T__15=15; 16 public static final int T__15=15;
19 public static final int T__37=37;
20 public static final int T__16=16; 17 public static final int T__16=16;
21 public static final int T__38=38;
22 public static final int T__17=17; 18 public static final int T__17=17;
23 public static final int T__39=39;
24 public static final int T__18=18; 19 public static final int T__18=18;
25 public static final int T__33=33;
26 public static final int T__12=12; 20 public static final int T__12=12;
27 public static final int T__34=34;
28 public static final int T__13=13; 21 public static final int T__13=13;
29 public static final int T__35=35;
30 public static final int T__14=14; 22 public static final int T__14=14;
31 public static final int T__36=36;
32 public static final int EOF=-1;
33 public static final int T__30=30;
34 public static final int T__31=31;
35 public static final int T__32=32;
36 public static final int RULE_ID=4; 23 public static final int RULE_ID=4;
37 public static final int RULE_WS=10;
38 public static final int RULE_QUOTED_ID=6; 24 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; 25 public static final int T__26=26;
41 public static final int T__27=27; 26 public static final int T__27=27;
42 public static final int T__28=28; 27 public static final int T__28=28;
@@ -47,11 +32,27 @@ public class InternalProblemLexer extends Lexer {
47 public static final int T__23=23; 32 public static final int T__23=23;
48 public static final int T__24=24; 33 public static final int T__24=24;
49 public static final int T__25=25; 34 public static final int T__25=25;
35 public static final int T__20=20;
36 public static final int T__21=21;
37 public static final int RULE_STRING=7;
38 public static final int RULE_SL_COMMENT=9;
39 public static final int T__37=37;
40 public static final int T__38=38;
41 public static final int T__39=39;
42 public static final int T__33=33;
43 public static final int T__34=34;
44 public static final int T__35=35;
45 public static final int T__36=36;
46 public static final int EOF=-1;
47 public static final int T__30=30;
48 public static final int T__31=31;
49 public static final int T__32=32;
50 public static final int RULE_WS=10;
51 public static final int RULE_ANY_OTHER=11;
50 public static final int T__40=40; 52 public static final int T__40=40;
51 public static final int T__41=41; 53 public static final int T__41=41;
52 public static final int T__20=20;
53 public static final int T__42=42; 54 public static final int T__42=42;
54 public static final int T__21=21; 55 public static final int T__43=43;
55 56
56 // delegates 57 // delegates
57 // delegators 58 // delegators
@@ -255,10 +256,10 @@ public class InternalProblemLexer extends Lexer {
255 try { 256 try {
256 int _type = T__21; 257 int _type = T__21;
257 int _channel = DEFAULT_TOKEN_CHANNEL; 258 int _channel = DEFAULT_TOKEN_CHANNEL;
258 // InternalProblem.g:20:7: ( 'contains' ) 259 // InternalProblem.g:20:7: ( 'enum' )
259 // InternalProblem.g:20:9: 'contains' 260 // InternalProblem.g:20:9: 'enum'
260 { 261 {
261 match("contains"); 262 match("enum");
262 263
263 264
264 } 265 }
@@ -276,10 +277,10 @@ public class InternalProblemLexer extends Lexer {
276 try { 277 try {
277 int _type = T__22; 278 int _type = T__22;
278 int _channel = DEFAULT_TOKEN_CHANNEL; 279 int _channel = DEFAULT_TOKEN_CHANNEL;
279 // InternalProblem.g:21:7: ( 'refers' ) 280 // InternalProblem.g:21:7: ( 'contains' )
280 // InternalProblem.g:21:9: 'refers' 281 // InternalProblem.g:21:9: 'contains'
281 { 282 {
282 match("refers"); 283 match("contains");
283 284
284 285
285 } 286 }
@@ -297,10 +298,11 @@ public class InternalProblemLexer extends Lexer {
297 try { 298 try {
298 int _type = T__23; 299 int _type = T__23;
299 int _channel = DEFAULT_TOKEN_CHANNEL; 300 int _channel = DEFAULT_TOKEN_CHANNEL;
300 // InternalProblem.g:22:7: ( '[' ) 301 // InternalProblem.g:22:7: ( 'refers' )
301 // InternalProblem.g:22:9: '[' 302 // InternalProblem.g:22:9: 'refers'
302 { 303 {
303 match('['); 304 match("refers");
305
304 306
305 } 307 }
306 308
@@ -317,10 +319,10 @@ public class InternalProblemLexer extends Lexer {
317 try { 319 try {
318 int _type = T__24; 320 int _type = T__24;
319 int _channel = DEFAULT_TOKEN_CHANNEL; 321 int _channel = DEFAULT_TOKEN_CHANNEL;
320 // InternalProblem.g:23:7: ( ']' ) 322 // InternalProblem.g:23:7: ( '[' )
321 // InternalProblem.g:23:9: ']' 323 // InternalProblem.g:23:9: '['
322 { 324 {
323 match(']'); 325 match('[');
324 326
325 } 327 }
326 328
@@ -337,11 +339,10 @@ public class InternalProblemLexer extends Lexer {
337 try { 339 try {
338 int _type = T__25; 340 int _type = T__25;
339 int _channel = DEFAULT_TOKEN_CHANNEL; 341 int _channel = DEFAULT_TOKEN_CHANNEL;
340 // InternalProblem.g:24:7: ( 'opposite' ) 342 // InternalProblem.g:24:7: ( ']' )
341 // InternalProblem.g:24:9: 'opposite' 343 // InternalProblem.g:24:9: ']'
342 { 344 {
343 match("opposite"); 345 match(']');
344
345 346
346 } 347 }
347 348
@@ -358,10 +359,10 @@ public class InternalProblemLexer extends Lexer {
358 try { 359 try {
359 int _type = T__26; 360 int _type = T__26;
360 int _channel = DEFAULT_TOKEN_CHANNEL; 361 int _channel = DEFAULT_TOKEN_CHANNEL;
361 // InternalProblem.g:25:7: ( 'error' ) 362 // InternalProblem.g:25:7: ( 'opposite' )
362 // InternalProblem.g:25:9: 'error' 363 // InternalProblem.g:25:9: 'opposite'
363 { 364 {
364 match("error"); 365 match("opposite");
365 366
366 367
367 } 368 }
@@ -379,10 +380,10 @@ public class InternalProblemLexer extends Lexer {
379 try { 380 try {
380 int _type = T__27; 381 int _type = T__27;
381 int _channel = DEFAULT_TOKEN_CHANNEL; 382 int _channel = DEFAULT_TOKEN_CHANNEL;
382 // InternalProblem.g:26:7: ( 'pred' ) 383 // InternalProblem.g:26:7: ( 'error' )
383 // InternalProblem.g:26:9: 'pred' 384 // InternalProblem.g:26:9: 'error'
384 { 385 {
385 match("pred"); 386 match("error");
386 387
387 388
388 } 389 }
@@ -400,10 +401,11 @@ public class InternalProblemLexer extends Lexer {
400 try { 401 try {
401 int _type = T__28; 402 int _type = T__28;
402 int _channel = DEFAULT_TOKEN_CHANNEL; 403 int _channel = DEFAULT_TOKEN_CHANNEL;
403 // InternalProblem.g:27:7: ( '(' ) 404 // InternalProblem.g:27:7: ( 'pred' )
404 // InternalProblem.g:27:9: '(' 405 // InternalProblem.g:27:9: 'pred'
405 { 406 {
406 match('('); 407 match("pred");
408
407 409
408 } 410 }
409 411
@@ -420,10 +422,10 @@ public class InternalProblemLexer extends Lexer {
420 try { 422 try {
421 int _type = T__29; 423 int _type = T__29;
422 int _channel = DEFAULT_TOKEN_CHANNEL; 424 int _channel = DEFAULT_TOKEN_CHANNEL;
423 // InternalProblem.g:28:7: ( ')' ) 425 // InternalProblem.g:28:7: ( '(' )
424 // InternalProblem.g:28:9: ')' 426 // InternalProblem.g:28:9: '('
425 { 427 {
426 match(')'); 428 match('(');
427 429
428 } 430 }
429 431
@@ -440,11 +442,10 @@ public class InternalProblemLexer extends Lexer {
440 try { 442 try {
441 int _type = T__30; 443 int _type = T__30;
442 int _channel = DEFAULT_TOKEN_CHANNEL; 444 int _channel = DEFAULT_TOKEN_CHANNEL;
443 // InternalProblem.g:29:7: ( ':-' ) 445 // InternalProblem.g:29:7: ( ')' )
444 // InternalProblem.g:29:9: ':-' 446 // InternalProblem.g:29:9: ')'
445 { 447 {
446 match(":-"); 448 match(')');
447
448 449
449 } 450 }
450 451
@@ -461,10 +462,11 @@ public class InternalProblemLexer extends Lexer {
461 try { 462 try {
462 int _type = T__31; 463 int _type = T__31;
463 int _channel = DEFAULT_TOKEN_CHANNEL; 464 int _channel = DEFAULT_TOKEN_CHANNEL;
464 // InternalProblem.g:30:7: ( '!' ) 465 // InternalProblem.g:30:7: ( ':-' )
465 // InternalProblem.g:30:9: '!' 466 // InternalProblem.g:30:9: ':-'
466 { 467 {
467 match('!'); 468 match(":-");
469
468 470
469 } 471 }
470 472
@@ -481,10 +483,10 @@ public class InternalProblemLexer extends Lexer {
481 try { 483 try {
482 int _type = T__32; 484 int _type = T__32;
483 int _channel = DEFAULT_TOKEN_CHANNEL; 485 int _channel = DEFAULT_TOKEN_CHANNEL;
484 // InternalProblem.g:31:7: ( '+' ) 486 // InternalProblem.g:31:7: ( '!' )
485 // InternalProblem.g:31:9: '+' 487 // InternalProblem.g:31:9: '!'
486 { 488 {
487 match('+'); 489 match('!');
488 490
489 } 491 }
490 492
@@ -501,10 +503,10 @@ public class InternalProblemLexer extends Lexer {
501 try { 503 try {
502 int _type = T__33; 504 int _type = T__33;
503 int _channel = DEFAULT_TOKEN_CHANNEL; 505 int _channel = DEFAULT_TOKEN_CHANNEL;
504 // InternalProblem.g:32:7: ( ':' ) 506 // InternalProblem.g:32:7: ( '+' )
505 // InternalProblem.g:32:9: ':' 507 // InternalProblem.g:32:9: '+'
506 { 508 {
507 match(':'); 509 match('+');
508 510
509 } 511 }
510 512
@@ -521,11 +523,10 @@ public class InternalProblemLexer extends Lexer {
521 try { 523 try {
522 int _type = T__34; 524 int _type = T__34;
523 int _channel = DEFAULT_TOKEN_CHANNEL; 525 int _channel = DEFAULT_TOKEN_CHANNEL;
524 // InternalProblem.g:33:7: ( 'scope' ) 526 // InternalProblem.g:33:7: ( ':' )
525 // InternalProblem.g:33:9: 'scope' 527 // InternalProblem.g:33:9: ':'
526 { 528 {
527 match("scope"); 529 match(':');
528
529 530
530 } 531 }
531 532
@@ -542,10 +543,10 @@ public class InternalProblemLexer extends Lexer {
542 try { 543 try {
543 int _type = T__35; 544 int _type = T__35;
544 int _channel = DEFAULT_TOKEN_CHANNEL; 545 int _channel = DEFAULT_TOKEN_CHANNEL;
545 // InternalProblem.g:34:7: ( '+=' ) 546 // InternalProblem.g:34:7: ( 'scope' )
546 // InternalProblem.g:34:9: '+=' 547 // InternalProblem.g:34:9: 'scope'
547 { 548 {
548 match("+="); 549 match("scope");
549 550
550 551
551 } 552 }
@@ -563,10 +564,11 @@ public class InternalProblemLexer extends Lexer {
563 try { 564 try {
564 int _type = T__36; 565 int _type = T__36;
565 int _channel = DEFAULT_TOKEN_CHANNEL; 566 int _channel = DEFAULT_TOKEN_CHANNEL;
566 // InternalProblem.g:35:7: ( '=' ) 567 // InternalProblem.g:35:7: ( '+=' )
567 // InternalProblem.g:35:9: '=' 568 // InternalProblem.g:35:9: '+='
568 { 569 {
569 match('='); 570 match("+=");
571
570 572
571 } 573 }
572 574
@@ -583,11 +585,10 @@ public class InternalProblemLexer extends Lexer {
583 try { 585 try {
584 int _type = T__37; 586 int _type = T__37;
585 int _channel = DEFAULT_TOKEN_CHANNEL; 587 int _channel = DEFAULT_TOKEN_CHANNEL;
586 // InternalProblem.g:36:7: ( '..' ) 588 // InternalProblem.g:36:7: ( '=' )
587 // InternalProblem.g:36:9: '..' 589 // InternalProblem.g:36:9: '='
588 { 590 {
589 match(".."); 591 match('=');
590
591 592
592 } 593 }
593 594
@@ -604,10 +605,11 @@ public class InternalProblemLexer extends Lexer {
604 try { 605 try {
605 int _type = T__38; 606 int _type = T__38;
606 int _channel = DEFAULT_TOKEN_CHANNEL; 607 int _channel = DEFAULT_TOKEN_CHANNEL;
607 // InternalProblem.g:37:7: ( '*' ) 608 // InternalProblem.g:37:7: ( '..' )
608 // InternalProblem.g:37:9: '*' 609 // InternalProblem.g:37:9: '..'
609 { 610 {
610 match('*'); 611 match("..");
612
611 613
612 } 614 }
613 615
@@ -624,11 +626,10 @@ public class InternalProblemLexer extends Lexer {
624 try { 626 try {
625 int _type = T__39; 627 int _type = T__39;
626 int _channel = DEFAULT_TOKEN_CHANNEL; 628 int _channel = DEFAULT_TOKEN_CHANNEL;
627 // InternalProblem.g:38:7: ( 'true' ) 629 // InternalProblem.g:38:7: ( '*' )
628 // InternalProblem.g:38:9: 'true' 630 // InternalProblem.g:38:9: '*'
629 { 631 {
630 match("true"); 632 match('*');
631
632 633
633 } 634 }
634 635
@@ -645,10 +646,10 @@ public class InternalProblemLexer extends Lexer {
645 try { 646 try {
646 int _type = T__40; 647 int _type = T__40;
647 int _channel = DEFAULT_TOKEN_CHANNEL; 648 int _channel = DEFAULT_TOKEN_CHANNEL;
648 // InternalProblem.g:39:7: ( 'false' ) 649 // InternalProblem.g:39:7: ( 'true' )
649 // InternalProblem.g:39:9: 'false' 650 // InternalProblem.g:39:9: 'true'
650 { 651 {
651 match("false"); 652 match("true");
652 653
653 654
654 } 655 }
@@ -666,10 +667,10 @@ public class InternalProblemLexer extends Lexer {
666 try { 667 try {
667 int _type = T__41; 668 int _type = T__41;
668 int _channel = DEFAULT_TOKEN_CHANNEL; 669 int _channel = DEFAULT_TOKEN_CHANNEL;
669 // InternalProblem.g:40:7: ( 'unknown' ) 670 // InternalProblem.g:40:7: ( 'false' )
670 // InternalProblem.g:40:9: 'unknown' 671 // InternalProblem.g:40:9: 'false'
671 { 672 {
672 match("unknown"); 673 match("false");
673 674
674 675
675 } 676 }
@@ -687,10 +688,11 @@ public class InternalProblemLexer extends Lexer {
687 try { 688 try {
688 int _type = T__42; 689 int _type = T__42;
689 int _channel = DEFAULT_TOKEN_CHANNEL; 690 int _channel = DEFAULT_TOKEN_CHANNEL;
690 // InternalProblem.g:41:7: ( '?' ) 691 // InternalProblem.g:41:7: ( 'unknown' )
691 // InternalProblem.g:41:9: '?' 692 // InternalProblem.g:41:9: 'unknown'
692 { 693 {
693 match('?'); 694 match("unknown");
695
694 696
695 } 697 }
696 698
@@ -702,16 +704,36 @@ public class InternalProblemLexer extends Lexer {
702 } 704 }
703 // $ANTLR end "T__42" 705 // $ANTLR end "T__42"
704 706
707 // $ANTLR start "T__43"
708 public final void mT__43() throws RecognitionException {
709 try {
710 int _type = T__43;
711 int _channel = DEFAULT_TOKEN_CHANNEL;
712 // InternalProblem.g:42:7: ( '?' )
713 // InternalProblem.g:42:9: '?'
714 {
715 match('?');
716
717 }
718
719 state.type = _type;
720 state.channel = _channel;
721 }
722 finally {
723 }
724 }
725 // $ANTLR end "T__43"
726
705 // $ANTLR start "RULE_STRING" 727 // $ANTLR start "RULE_STRING"
706 public final void mRULE_STRING() throws RecognitionException { 728 public final void mRULE_STRING() throws RecognitionException {
707 try { 729 try {
708 int _type = RULE_STRING; 730 int _type = RULE_STRING;
709 int _channel = DEFAULT_TOKEN_CHANNEL; 731 int _channel = DEFAULT_TOKEN_CHANNEL;
710 // InternalProblem.g:1642:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' ) 732 // InternalProblem.g:1895:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' )
711 // InternalProblem.g:1642:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' 733 // InternalProblem.g:1895:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
712 { 734 {
713 match('\"'); 735 match('\"');
714 // InternalProblem.g:1642:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* 736 // InternalProblem.g:1895:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
715 loop1: 737 loop1:
716 do { 738 do {
717 int alt1=3; 739 int alt1=3;
@@ -727,7 +749,7 @@ public class InternalProblemLexer extends Lexer {
727 749
728 switch (alt1) { 750 switch (alt1) {
729 case 1 : 751 case 1 :
730 // InternalProblem.g:1642:20: '\\\\' . 752 // InternalProblem.g:1895:20: '\\\\' .
731 { 753 {
732 match('\\'); 754 match('\\');
733 matchAny(); 755 matchAny();
@@ -735,7 +757,7 @@ public class InternalProblemLexer extends Lexer {
735 } 757 }
736 break; 758 break;
737 case 2 : 759 case 2 :
738 // InternalProblem.g:1642:27: ~ ( ( '\\\\' | '\"' ) ) 760 // InternalProblem.g:1895:27: ~ ( ( '\\\\' | '\"' ) )
739 { 761 {
740 if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { 762 if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
741 input.consume(); 763 input.consume();
@@ -772,11 +794,11 @@ public class InternalProblemLexer extends Lexer {
772 try { 794 try {
773 int _type = RULE_QUOTED_ID; 795 int _type = RULE_QUOTED_ID;
774 int _channel = DEFAULT_TOKEN_CHANNEL; 796 int _channel = DEFAULT_TOKEN_CHANNEL;
775 // InternalProblem.g:1644:16: ( '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) 797 // InternalProblem.g:1897:16: ( '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
776 // InternalProblem.g:1644:18: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' 798 // InternalProblem.g:1897:18: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
777 { 799 {
778 match('\''); 800 match('\'');
779 // InternalProblem.g:1644:23: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* 801 // InternalProblem.g:1897:23: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
780 loop2: 802 loop2:
781 do { 803 do {
782 int alt2=3; 804 int alt2=3;
@@ -792,7 +814,7 @@ public class InternalProblemLexer extends Lexer {
792 814
793 switch (alt2) { 815 switch (alt2) {
794 case 1 : 816 case 1 :
795 // InternalProblem.g:1644:24: '\\\\' . 817 // InternalProblem.g:1897:24: '\\\\' .
796 { 818 {
797 match('\\'); 819 match('\\');
798 matchAny(); 820 matchAny();
@@ -800,7 +822,7 @@ public class InternalProblemLexer extends Lexer {
800 } 822 }
801 break; 823 break;
802 case 2 : 824 case 2 :
803 // InternalProblem.g:1644:31: ~ ( ( '\\\\' | '\\'' ) ) 825 // InternalProblem.g:1897:31: ~ ( ( '\\\\' | '\\'' ) )
804 { 826 {
805 if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { 827 if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
806 input.consume(); 828 input.consume();
@@ -837,10 +859,10 @@ public class InternalProblemLexer extends Lexer {
837 try { 859 try {
838 int _type = RULE_ID; 860 int _type = RULE_ID;
839 int _channel = DEFAULT_TOKEN_CHANNEL; 861 int _channel = DEFAULT_TOKEN_CHANNEL;
840 // InternalProblem.g:1646:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) 862 // InternalProblem.g:1899:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
841 // InternalProblem.g:1646:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* 863 // InternalProblem.g:1899:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
842 { 864 {
843 // InternalProblem.g:1646:11: ( '^' )? 865 // InternalProblem.g:1899:11: ( '^' )?
844 int alt3=2; 866 int alt3=2;
845 int LA3_0 = input.LA(1); 867 int LA3_0 = input.LA(1);
846 868
@@ -849,7 +871,7 @@ public class InternalProblemLexer extends Lexer {
849 } 871 }
850 switch (alt3) { 872 switch (alt3) {
851 case 1 : 873 case 1 :
852 // InternalProblem.g:1646:11: '^' 874 // InternalProblem.g:1899:11: '^'
853 { 875 {
854 match('^'); 876 match('^');
855 877
@@ -867,7 +889,7 @@ public class InternalProblemLexer extends Lexer {
867 recover(mse); 889 recover(mse);
868 throw mse;} 890 throw mse;}
869 891
870 // InternalProblem.g:1646:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* 892 // InternalProblem.g:1899:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
871 loop4: 893 loop4:
872 do { 894 do {
873 int alt4=2; 895 int alt4=2;
@@ -916,10 +938,10 @@ public class InternalProblemLexer extends Lexer {
916 try { 938 try {
917 int _type = RULE_INT; 939 int _type = RULE_INT;
918 int _channel = DEFAULT_TOKEN_CHANNEL; 940 int _channel = DEFAULT_TOKEN_CHANNEL;
919 // InternalProblem.g:1648:10: ( ( '0' .. '9' )+ ) 941 // InternalProblem.g:1901:10: ( ( '0' .. '9' )+ )
920 // InternalProblem.g:1648:12: ( '0' .. '9' )+ 942 // InternalProblem.g:1901:12: ( '0' .. '9' )+
921 { 943 {
922 // InternalProblem.g:1648:12: ( '0' .. '9' )+ 944 // InternalProblem.g:1901:12: ( '0' .. '9' )+
923 int cnt5=0; 945 int cnt5=0;
924 loop5: 946 loop5:
925 do { 947 do {
@@ -933,7 +955,7 @@ public class InternalProblemLexer extends Lexer {
933 955
934 switch (alt5) { 956 switch (alt5) {
935 case 1 : 957 case 1 :
936 // InternalProblem.g:1648:13: '0' .. '9' 958 // InternalProblem.g:1901:13: '0' .. '9'
937 { 959 {
938 matchRange('0','9'); 960 matchRange('0','9');
939 961
@@ -965,12 +987,12 @@ public class InternalProblemLexer extends Lexer {
965 try { 987 try {
966 int _type = RULE_ML_COMMENT; 988 int _type = RULE_ML_COMMENT;
967 int _channel = DEFAULT_TOKEN_CHANNEL; 989 int _channel = DEFAULT_TOKEN_CHANNEL;
968 // InternalProblem.g:1650:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) 990 // InternalProblem.g:1903:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
969 // InternalProblem.g:1650:19: '/*' ( options {greedy=false; } : . )* '*/' 991 // InternalProblem.g:1903:19: '/*' ( options {greedy=false; } : . )* '*/'
970 { 992 {
971 match("/*"); 993 match("/*");
972 994
973 // InternalProblem.g:1650:24: ( options {greedy=false; } : . )* 995 // InternalProblem.g:1903:24: ( options {greedy=false; } : . )*
974 loop6: 996 loop6:
975 do { 997 do {
976 int alt6=2; 998 int alt6=2;
@@ -995,7 +1017,7 @@ public class InternalProblemLexer extends Lexer {
995 1017
996 switch (alt6) { 1018 switch (alt6) {
997 case 1 : 1019 case 1 :
998 // InternalProblem.g:1650:52: . 1020 // InternalProblem.g:1903:52: .
999 { 1021 {
1000 matchAny(); 1022 matchAny();
1001 1023
@@ -1025,12 +1047,12 @@ public class InternalProblemLexer extends Lexer {
1025 try { 1047 try {
1026 int _type = RULE_SL_COMMENT; 1048 int _type = RULE_SL_COMMENT;
1027 int _channel = DEFAULT_TOKEN_CHANNEL; 1049 int _channel = DEFAULT_TOKEN_CHANNEL;
1028 // InternalProblem.g:1652:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) 1050 // InternalProblem.g:1905:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
1029 // InternalProblem.g:1652:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? 1051 // InternalProblem.g:1905:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
1030 { 1052 {
1031 match("//"); 1053 match("//");
1032 1054
1033 // InternalProblem.g:1652:24: (~ ( ( '\\n' | '\\r' ) ) )* 1055 // InternalProblem.g:1905:24: (~ ( ( '\\n' | '\\r' ) ) )*
1034 loop7: 1056 loop7:
1035 do { 1057 do {
1036 int alt7=2; 1058 int alt7=2;
@@ -1043,7 +1065,7 @@ public class InternalProblemLexer extends Lexer {
1043 1065
1044 switch (alt7) { 1066 switch (alt7) {
1045 case 1 : 1067 case 1 :
1046 // InternalProblem.g:1652:24: ~ ( ( '\\n' | '\\r' ) ) 1068 // InternalProblem.g:1905:24: ~ ( ( '\\n' | '\\r' ) )
1047 { 1069 {
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') ) { 1070 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') ) {
1049 input.consume(); 1071 input.consume();
@@ -1063,7 +1085,7 @@ public class InternalProblemLexer extends Lexer {
1063 } 1085 }
1064 } while (true); 1086 } while (true);
1065 1087
1066 // InternalProblem.g:1652:40: ( ( '\\r' )? '\\n' )? 1088 // InternalProblem.g:1905:40: ( ( '\\r' )? '\\n' )?
1067 int alt9=2; 1089 int alt9=2;
1068 int LA9_0 = input.LA(1); 1090 int LA9_0 = input.LA(1);
1069 1091
@@ -1072,9 +1094,9 @@ public class InternalProblemLexer extends Lexer {
1072 } 1094 }
1073 switch (alt9) { 1095 switch (alt9) {
1074 case 1 : 1096 case 1 :
1075 // InternalProblem.g:1652:41: ( '\\r' )? '\\n' 1097 // InternalProblem.g:1905:41: ( '\\r' )? '\\n'
1076 { 1098 {
1077 // InternalProblem.g:1652:41: ( '\\r' )? 1099 // InternalProblem.g:1905:41: ( '\\r' )?
1078 int alt8=2; 1100 int alt8=2;
1079 int LA8_0 = input.LA(1); 1101 int LA8_0 = input.LA(1);
1080 1102
@@ -1083,7 +1105,7 @@ public class InternalProblemLexer extends Lexer {
1083 } 1105 }
1084 switch (alt8) { 1106 switch (alt8) {
1085 case 1 : 1107 case 1 :
1086 // InternalProblem.g:1652:41: '\\r' 1108 // InternalProblem.g:1905:41: '\\r'
1087 { 1109 {
1088 match('\r'); 1110 match('\r');
1089 1111
@@ -1115,10 +1137,10 @@ public class InternalProblemLexer extends Lexer {
1115 try { 1137 try {
1116 int _type = RULE_WS; 1138 int _type = RULE_WS;
1117 int _channel = DEFAULT_TOKEN_CHANNEL; 1139 int _channel = DEFAULT_TOKEN_CHANNEL;
1118 // InternalProblem.g:1654:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) 1140 // InternalProblem.g:1907:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
1119 // InternalProblem.g:1654:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ 1141 // InternalProblem.g:1907:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
1120 { 1142 {
1121 // InternalProblem.g:1654:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ 1143 // InternalProblem.g:1907:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
1122 int cnt10=0; 1144 int cnt10=0;
1123 loop10: 1145 loop10:
1124 do { 1146 do {
@@ -1172,8 +1194,8 @@ public class InternalProblemLexer extends Lexer {
1172 try { 1194 try {
1173 int _type = RULE_ANY_OTHER; 1195 int _type = RULE_ANY_OTHER;
1174 int _channel = DEFAULT_TOKEN_CHANNEL; 1196 int _channel = DEFAULT_TOKEN_CHANNEL;
1175 // InternalProblem.g:1656:16: ( . ) 1197 // InternalProblem.g:1909:16: ( . )
1176 // InternalProblem.g:1656:18: . 1198 // InternalProblem.g:1909:18: .
1177 { 1199 {
1178 matchAny(); 1200 matchAny();
1179 1201
@@ -1188,8 +1210,8 @@ public class InternalProblemLexer extends Lexer {
1188 // $ANTLR end "RULE_ANY_OTHER" 1210 // $ANTLR end "RULE_ANY_OTHER"
1189 1211
1190 public void mTokens() throws RecognitionException { 1212 public void mTokens() throws RecognitionException {
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 ) 1213 // 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 | T__43 | RULE_STRING | RULE_QUOTED_ID | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
1192 int alt11=39; 1214 int alt11=40;
1193 alt11 = dfa11.predict(input); 1215 alt11 = dfa11.predict(input);
1194 switch (alt11) { 1216 switch (alt11) {
1195 case 1 : 1217 case 1 :
@@ -1410,56 +1432,63 @@ public class InternalProblemLexer extends Lexer {
1410 } 1432 }
1411 break; 1433 break;
1412 case 32 : 1434 case 32 :
1413 // InternalProblem.g:1:196: RULE_STRING 1435 // InternalProblem.g:1:196: T__43
1414 { 1436 {
1415 mRULE_STRING(); 1437 mT__43();
1416 1438
1417 } 1439 }
1418 break; 1440 break;
1419 case 33 : 1441 case 33 :
1420 // InternalProblem.g:1:208: RULE_QUOTED_ID 1442 // InternalProblem.g:1:202: RULE_STRING
1421 { 1443 {
1422 mRULE_QUOTED_ID(); 1444 mRULE_STRING();
1423 1445
1424 } 1446 }
1425 break; 1447 break;
1426 case 34 : 1448 case 34 :
1427 // InternalProblem.g:1:223: RULE_ID 1449 // InternalProblem.g:1:214: RULE_QUOTED_ID
1428 { 1450 {
1429 mRULE_ID(); 1451 mRULE_QUOTED_ID();
1430 1452
1431 } 1453 }
1432 break; 1454 break;
1433 case 35 : 1455 case 35 :
1434 // InternalProblem.g:1:231: RULE_INT 1456 // InternalProblem.g:1:229: RULE_ID
1435 { 1457 {
1436 mRULE_INT(); 1458 mRULE_ID();
1437 1459
1438 } 1460 }
1439 break; 1461 break;
1440 case 36 : 1462 case 36 :
1441 // InternalProblem.g:1:240: RULE_ML_COMMENT 1463 // InternalProblem.g:1:237: RULE_INT
1442 { 1464 {
1443 mRULE_ML_COMMENT(); 1465 mRULE_INT();
1444 1466
1445 } 1467 }
1446 break; 1468 break;
1447 case 37 : 1469 case 37 :
1448 // InternalProblem.g:1:256: RULE_SL_COMMENT 1470 // InternalProblem.g:1:246: RULE_ML_COMMENT
1449 { 1471 {
1450 mRULE_SL_COMMENT(); 1472 mRULE_ML_COMMENT();
1451 1473
1452 } 1474 }
1453 break; 1475 break;
1454 case 38 : 1476 case 38 :
1455 // InternalProblem.g:1:272: RULE_WS 1477 // InternalProblem.g:1:262: RULE_SL_COMMENT
1456 { 1478 {
1457 mRULE_WS(); 1479 mRULE_SL_COMMENT();
1458 1480
1459 } 1481 }
1460 break; 1482 break;
1461 case 39 : 1483 case 39 :
1462 // InternalProblem.g:1:280: RULE_ANY_OTHER 1484 // InternalProblem.g:1:278: RULE_WS
1485 {
1486 mRULE_WS();
1487
1488 }
1489 break;
1490 case 40 :
1491 // InternalProblem.g:1:286: RULE_ANY_OTHER
1463 { 1492 {
1464 mRULE_ANY_OTHER(); 1493 mRULE_ANY_OTHER();
1465 1494
@@ -1473,69 +1502,70 @@ public class InternalProblemLexer extends Lexer {
1473 1502
1474 protected DFA11 dfa11 = new DFA11(this); 1503 protected DFA11 dfa11 = new DFA11(this);
1475 static final String DFA11_eotS = 1504 static final String DFA11_eotS =
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"; 1505 "\1\uffff\1\43\1\45\3\43\4\uffff\1\43\2\uffff\1\43\2\uffff\1\67\1\uffff\1\72\1\43\2\uffff\3\43\1\uffff\3\41\2\uffff\1\41\2\uffff\1\43\3\uffff\6\43\4\uffff\1\43\2\uffff\1\43\7\uffff\1\43\2\uffff\3\43\7\uffff\17\43\1\145\4\43\1\152\4\43\1\157\3\43\1\uffff\1\43\1\164\2\43\1\uffff\1\167\2\43\1\172\1\uffff\1\173\3\43\1\uffff\2\43\1\uffff\1\u0081\1\43\2\uffff\1\43\1\u0084\2\43\1\u0087\1\uffff\1\43\1\u0089\1\uffff\1\u008a\1\u008b\1\uffff\1\u008c\4\uffff";
1477 static final String DFA11_eofS = 1506 static final String DFA11_eofS =
1478 "\u0089\uffff"; 1507 "\u008d\uffff";
1479 static final String DFA11_minS = 1508 static final String DFA11_minS =
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"; 1509 "\1\0\1\162\1\56\1\142\1\154\1\156\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\165\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\155\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\1\60\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\uffff\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";
1481 static final String DFA11_maxS = 1510 static final String DFA11_maxS =
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"; 1511 "\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\165\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\155\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\1\172\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\uffff\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";
1483 static final String DFA11_acceptS = 1512 static final String DFA11_acceptS =
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"; 1513 "\6\uffff\1\6\1\7\1\10\1\11\1\uffff\1\15\1\16\1\uffff\1\22\1\23\1\uffff\1\25\2\uffff\1\32\1\34\3\uffff\1\40\3\uffff\1\43\1\44\1\uffff\1\47\1\50\1\uffff\1\43\1\33\1\2\6\uffff\1\6\1\7\1\10\1\11\1\uffff\1\15\1\16\1\uffff\1\22\1\23\1\24\1\27\1\25\1\31\1\26\1\uffff\1\32\1\34\3\uffff\1\40\1\41\1\42\1\44\1\45\1\46\1\47\35\uffff\1\21\4\uffff\1\12\4\uffff\1\35\4\uffff\1\4\2\uffff\1\20\2\uffff\1\30\1\36\5\uffff\1\14\2\uffff\1\1\2\uffff\1\5\1\uffff\1\37\1\3\1\13\1\17";
1485 static final String DFA11_specialS = 1514 static final String DFA11_specialS =
1486 "\1\1\31\uffff\1\2\1\0\155\uffff}>"; 1515 "\1\2\31\uffff\1\1\1\0\161\uffff}>";
1487 static final String[] DFA11_transitionS = { 1516 static final String[] DFA11_transitionS = {
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", 1517 "\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",
1489 "\1\42", 1518 "\1\42",
1490 "\1\44", 1519 "\1\44",
1491 "\1\46", 1520 "\1\46",
1492 "\1\47\2\uffff\1\50", 1521 "\1\47\2\uffff\1\50",
1493 "\1\52\5\uffff\1\51", 1522 "\1\52\3\uffff\1\53\5\uffff\1\51",
1494 "", 1523 "",
1495 "", 1524 "",
1496 "", 1525 "",
1497 "", 1526 "",
1498 "\1\57", 1527 "\1\60",
1499 "", 1528 "",
1500 "", 1529 "",
1501 "\1\62", 1530 "\1\63",
1502 "", 1531 "",
1503 "", 1532 "",
1504 "\1\65", 1533 "\1\66",
1505 "", 1534 "",
1506 "\1\70", 1535 "\1\71",
1507 "\1\72", 1536 "\1\73",
1508 "", 1537 "",
1509 "", 1538 "",
1510 "\1\75",
1511 "\1\76", 1539 "\1\76",
1512 "\1\77", 1540 "\1\77",
1541 "\1\100",
1513 "", 1542 "",
1514 "\0\101",
1515 "\0\102", 1543 "\0\102",
1544 "\0\103",
1516 "\32\43\4\uffff\1\43\1\uffff\32\43", 1545 "\32\43\4\uffff\1\43\1\uffff\32\43",
1517 "", 1546 "",
1518 "", 1547 "",
1519 "\1\104\4\uffff\1\105", 1548 "\1\105\4\uffff\1\106",
1520 "", 1549 "",
1521 "", 1550 "",
1522 "\1\110\11\uffff\1\107", 1551 "\1\111\11\uffff\1\110",
1523 "", 1552 "",
1524 "", 1553 "",
1525 "", 1554 "",
1526 "\1\111",
1527 "\1\112", 1555 "\1\112",
1528 "\1\113", 1556 "\1\113",
1529 "\1\114", 1557 "\1\114",
1530 "\1\115", 1558 "\1\115",
1559 "\1\116",
1560 "\1\117",
1531 "", 1561 "",
1532 "", 1562 "",
1533 "", 1563 "",
1534 "", 1564 "",
1535 "\1\116", 1565 "\1\120",
1536 "", 1566 "",
1537 "", 1567 "",
1538 "\1\117", 1568 "\1\121",
1539 "", 1569 "",
1540 "", 1570 "",
1541 "", 1571 "",
@@ -1543,12 +1573,12 @@ public class InternalProblemLexer extends Lexer {
1543 "", 1573 "",
1544 "", 1574 "",
1545 "", 1575 "",
1546 "\1\120", 1576 "\1\122",
1547 "", 1577 "",
1548 "", 1578 "",
1549 "\1\121",
1550 "\1\122",
1551 "\1\123", 1579 "\1\123",
1580 "\1\124",
1581 "\1\125",
1552 "", 1582 "",
1553 "", 1583 "",
1554 "", 1584 "",
@@ -1556,8 +1586,6 @@ public class InternalProblemLexer extends Lexer {
1556 "", 1586 "",
1557 "", 1587 "",
1558 "", 1588 "",
1559 "\1\124",
1560 "\1\125",
1561 "\1\126", 1589 "\1\126",
1562 "\1\127", 1590 "\1\127",
1563 "\1\130", 1591 "\1\130",
@@ -1570,48 +1598,53 @@ public class InternalProblemLexer extends Lexer {
1570 "\1\137", 1598 "\1\137",
1571 "\1\140", 1599 "\1\140",
1572 "\1\141", 1600 "\1\141",
1573 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", 1601 "\1\142",
1574 "\1\143", 1602 "\1\143",
1575 "\1\144", 1603 "\1\144",
1576 "\1\145", 1604 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1577 "\1\146", 1605 "\1\146",
1578 "\1\147", 1606 "\1\147",
1579 "\1\150", 1607 "\1\150",
1580 "\1\151", 1608 "\1\151",
1581 "\1\152",
1582 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", 1609 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1610 "\1\153",
1583 "\1\154", 1611 "\1\154",
1584 "\1\155", 1612 "\1\155",
1585 "\1\156", 1613 "\1\156",
1586 "",
1587 "\1\157",
1588 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", 1614 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1615 "\1\160",
1589 "\1\161", 1616 "\1\161",
1590 "\1\162", 1617 "\1\162",
1618 "",
1619 "\1\163",
1591 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", 1620 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1592 "\1\164",
1593 "\1\165", 1621 "\1\165",
1594 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", 1622 "\1\166",
1595 "", 1623 "",
1596 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", 1624 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1597 "\1\170", 1625 "\1\170",
1598 "\1\171", 1626 "\1\171",
1599 "\1\172", 1627 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1600 "",
1601 "\1\173",
1602 "\1\174",
1603 "", 1628 "",
1604 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", 1629 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1630 "\1\174",
1631 "\1\175",
1605 "\1\176", 1632 "\1\176",
1606 "", 1633 "",
1607 "",
1608 "\1\177", 1634 "\1\177",
1635 "\1\u0080",
1636 "",
1609 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", 1637 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1610 "\1\u0081",
1611 "\1\u0082", 1638 "\1\u0082",
1639 "",
1640 "",
1641 "\1\u0083",
1642 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1643 "\1\u0085",
1644 "\1\u0086",
1612 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", 1645 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1613 "", 1646 "",
1614 "\1\u0084", 1647 "\1\u0088",
1615 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", 1648 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
1616 "", 1649 "",
1617 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43", 1650 "\12\43\7\uffff\32\43\4\uffff\1\43\1\uffff\32\43",
@@ -1654,7 +1687,7 @@ public class InternalProblemLexer extends Lexer {
1654 this.transition = DFA11_transition; 1687 this.transition = DFA11_transition;
1655 } 1688 }
1656 public String getDescription() { 1689 public String getDescription() {
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 );"; 1690 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 | T__43 | RULE_STRING | RULE_QUOTED_ID | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
1658 } 1691 }
1659 public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { 1692 public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
1660 IntStream input = _input; 1693 IntStream input = _input;
@@ -1664,13 +1697,23 @@ public class InternalProblemLexer extends Lexer {
1664 int LA11_27 = input.LA(1); 1697 int LA11_27 = input.LA(1);
1665 1698
1666 s = -1; 1699 s = -1;
1667 if ( ((LA11_27>='\u0000' && LA11_27<='\uFFFF')) ) {s = 66;} 1700 if ( ((LA11_27>='\u0000' && LA11_27<='\uFFFF')) ) {s = 67;}
1668 1701
1669 else s = 33; 1702 else s = 33;
1670 1703
1671 if ( s>=0 ) return s; 1704 if ( s>=0 ) return s;
1672 break; 1705 break;
1673 case 1 : 1706 case 1 :
1707 int LA11_26 = input.LA(1);
1708
1709 s = -1;
1710 if ( ((LA11_26>='\u0000' && LA11_26<='\uFFFF')) ) {s = 66;}
1711
1712 else s = 33;
1713
1714 if ( s>=0 ) return s;
1715 break;
1716 case 2 :
1674 int LA11_0 = input.LA(1); 1717 int LA11_0 = input.LA(1);
1675 1718
1676 s = -1; 1719 s = -1;
@@ -1742,16 +1785,6 @@ public class InternalProblemLexer extends Lexer {
1742 1785
1743 if ( s>=0 ) return s; 1786 if ( s>=0 ) return s;
1744 break; 1787 break;
1745 case 2 :
1746 int LA11_26 = input.LA(1);
1747
1748 s = -1;
1749 if ( ((LA11_26>='\u0000' && LA11_26<='\uFFFF')) ) {s = 65;}
1750
1751 else s = 33;
1752
1753 if ( s>=0 ) return s;
1754 break;
1755 } 1788 }
1756 NoViableAltException nvae = 1789 NoViableAltException nvae =
1757 new NoViableAltException(getDescription(), 11, _s, input); 1790 new NoViableAltException(getDescription(), 11, _s, input);
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemParser.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemParser.java
index c4f19943..28b54551 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemParser.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/xtext-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalProblemParser.java
@@ -22,33 +22,18 @@ import java.util.ArrayList;
22@SuppressWarnings("all") 22@SuppressWarnings("all")
23public class InternalProblemParser extends AbstractInternalAntlrParser { 23public class InternalProblemParser extends AbstractInternalAntlrParser {
24 public static final String[] tokenNames = new String[] { 24 public static final String[] tokenNames = new String[] {
25 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_INT", "RULE_QUOTED_ID", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'problem'", "'.'", "'abstract'", "'class'", "'extends'", "','", "'{'", "';'", "'}'", "'contains'", "'refers'", "'['", "']'", "'opposite'", "'error'", "'pred'", "'('", "')'", "':-'", "'!'", "'+'", "':'", "'scope'", "'+='", "'='", "'..'", "'*'", "'true'", "'false'", "'unknown'", "'?'" 25 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_INT", "RULE_QUOTED_ID", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'problem'", "'.'", "'abstract'", "'class'", "'extends'", "','", "'{'", "';'", "'}'", "'enum'", "'contains'", "'refers'", "'['", "']'", "'opposite'", "'error'", "'pred'", "'('", "')'", "':-'", "'!'", "'+'", "':'", "'scope'", "'+='", "'='", "'..'", "'*'", "'true'", "'false'", "'unknown'", "'?'"
26 }; 26 };
27 public static final int RULE_STRING=7;
28 public static final int RULE_SL_COMMENT=9;
29 public static final int T__19=19; 27 public static final int T__19=19;
30 public static final int T__15=15; 28 public static final int T__15=15;
31 public static final int T__37=37;
32 public static final int T__16=16; 29 public static final int T__16=16;
33 public static final int T__38=38;
34 public static final int T__17=17; 30 public static final int T__17=17;
35 public static final int T__39=39;
36 public static final int T__18=18; 31 public static final int T__18=18;
37 public static final int T__33=33;
38 public static final int T__12=12; 32 public static final int T__12=12;
39 public static final int T__34=34;
40 public static final int T__13=13; 33 public static final int T__13=13;
41 public static final int T__35=35;
42 public static final int T__14=14; 34 public static final int T__14=14;
43 public static final int T__36=36;
44 public static final int EOF=-1;
45 public static final int T__30=30;
46 public static final int T__31=31;
47 public static final int T__32=32;
48 public static final int RULE_ID=4; 35 public static final int RULE_ID=4;
49 public static final int RULE_WS=10;
50 public static final int RULE_QUOTED_ID=6; 36 public static final int RULE_QUOTED_ID=6;
51 public static final int RULE_ANY_OTHER=11;
52 public static final int T__26=26; 37 public static final int T__26=26;
53 public static final int T__27=27; 38 public static final int T__27=27;
54 public static final int T__28=28; 39 public static final int T__28=28;
@@ -59,11 +44,27 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
59 public static final int T__23=23; 44 public static final int T__23=23;
60 public static final int T__24=24; 45 public static final int T__24=24;
61 public static final int T__25=25; 46 public static final int T__25=25;
47 public static final int T__20=20;
48 public static final int T__21=21;
49 public static final int RULE_STRING=7;
50 public static final int RULE_SL_COMMENT=9;
51 public static final int T__37=37;
52 public static final int T__38=38;
53 public static final int T__39=39;
54 public static final int T__33=33;
55 public static final int T__34=34;
56 public static final int T__35=35;
57 public static final int T__36=36;
58 public static final int EOF=-1;
59 public static final int T__30=30;
60 public static final int T__31=31;
61 public static final int T__32=32;
62 public static final int RULE_WS=10;
63 public static final int RULE_ANY_OTHER=11;
62 public static final int T__40=40; 64 public static final int T__40=40;
63 public static final int T__41=41; 65 public static final int T__41=41;
64 public static final int T__20=20;
65 public static final int T__42=42; 66 public static final int T__42=42;
66 public static final int T__21=21; 67 public static final int T__43=43;
67 68
68 // delegates 69 // delegates
69 // delegators 70 // delegators
@@ -141,13 +142,14 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
141 142
142 143
143 // $ANTLR start "ruleProblem" 144 // $ANTLR start "ruleProblem"
144 // InternalProblem.g:72:1: ruleProblem returns [EObject current=null] : ( (otherlv_0= 'problem' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )* ) ; 145 // InternalProblem.g:72:1: ruleProblem returns [EObject current=null] : ( (otherlv_0= 'problem' ( (lv_name_1_0= ruleIdentifier ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )* ) ;
145 public final EObject ruleProblem() throws RecognitionException { 146 public final EObject ruleProblem() throws RecognitionException {
146 EObject current = null; 147 EObject current = null;
147 148
148 Token otherlv_0=null; 149 Token otherlv_0=null;
149 Token lv_name_1_0=null;
150 Token otherlv_2=null; 150 Token otherlv_2=null;
151 AntlrDatatypeRuleToken lv_name_1_0 = null;
152
151 EObject lv_statements_3_0 = null; 153 EObject lv_statements_3_0 = null;
152 154
153 155
@@ -155,13 +157,13 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
155 enterRule(); 157 enterRule();
156 158
157 try { 159 try {
158 // InternalProblem.g:78:2: ( ( (otherlv_0= 'problem' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )* ) ) 160 // InternalProblem.g:78:2: ( ( (otherlv_0= 'problem' ( (lv_name_1_0= ruleIdentifier ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )* ) )
159 // InternalProblem.g:79:2: ( (otherlv_0= 'problem' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )* ) 161 // InternalProblem.g:79:2: ( (otherlv_0= 'problem' ( (lv_name_1_0= ruleIdentifier ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )* )
160 { 162 {
161 // InternalProblem.g:79:2: ( (otherlv_0= 'problem' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )* ) 163 // InternalProblem.g:79:2: ( (otherlv_0= 'problem' ( (lv_name_1_0= ruleIdentifier ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )* )
162 // InternalProblem.g:80:3: (otherlv_0= 'problem' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )* 164 // InternalProblem.g:80:3: (otherlv_0= 'problem' ( (lv_name_1_0= ruleIdentifier ) ) otherlv_2= '.' )? ( (lv_statements_3_0= ruleStatement ) )*
163 { 165 {
164 // InternalProblem.g:80:3: (otherlv_0= 'problem' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '.' )? 166 // InternalProblem.g:80:3: (otherlv_0= 'problem' ( (lv_name_1_0= ruleIdentifier ) ) otherlv_2= '.' )?
165 int alt1=2; 167 int alt1=2;
166 int LA1_0 = input.LA(1); 168 int LA1_0 = input.LA(1);
167 169
@@ -170,31 +172,36 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
170 } 172 }
171 switch (alt1) { 173 switch (alt1) {
172 case 1 : 174 case 1 :
173 // InternalProblem.g:81:4: otherlv_0= 'problem' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '.' 175 // InternalProblem.g:81:4: otherlv_0= 'problem' ( (lv_name_1_0= ruleIdentifier ) ) otherlv_2= '.'
174 { 176 {
175 otherlv_0=(Token)match(input,12,FOLLOW_3); 177 otherlv_0=(Token)match(input,12,FOLLOW_3);
176 178
177 newLeafNode(otherlv_0, grammarAccess.getProblemAccess().getProblemKeyword_0_0()); 179 newLeafNode(otherlv_0, grammarAccess.getProblemAccess().getProblemKeyword_0_0());
178 180
179 // InternalProblem.g:85:4: ( (lv_name_1_0= RULE_ID ) ) 181 // InternalProblem.g:85:4: ( (lv_name_1_0= ruleIdentifier ) )
180 // InternalProblem.g:86:5: (lv_name_1_0= RULE_ID ) 182 // InternalProblem.g:86:5: (lv_name_1_0= ruleIdentifier )
181 { 183 {
182 // InternalProblem.g:86:5: (lv_name_1_0= RULE_ID ) 184 // InternalProblem.g:86:5: (lv_name_1_0= ruleIdentifier )
183 // InternalProblem.g:87:6: lv_name_1_0= RULE_ID 185 // InternalProblem.g:87:6: lv_name_1_0= ruleIdentifier
184 { 186 {
185 lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_4);
186 187
187 newLeafNode(lv_name_1_0, grammarAccess.getProblemAccess().getNameIDTerminalRuleCall_0_1_0()); 188 newCompositeNode(grammarAccess.getProblemAccess().getNameIdentifierParserRuleCall_0_1_0());
188 189
190 pushFollow(FOLLOW_4);
191 lv_name_1_0=ruleIdentifier();
192
193 state._fsp--;
194
189 195
190 if (current==null) { 196 if (current==null) {
191 current = createModelElement(grammarAccess.getProblemRule()); 197 current = createModelElementForParent(grammarAccess.getProblemRule());
192 } 198 }
193 setWithLastConsumed( 199 set(
194 current, 200 current,
195 "name", 201 "name",
196 lv_name_1_0, 202 lv_name_1_0,
197 "org.eclipse.xtext.common.Terminals.ID"); 203 "org.eclipse.viatra.solver.language.Problem.Identifier");
204 afterParserOrEnumRuleCall();
198 205
199 206
200 } 207 }
@@ -212,23 +219,23 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
212 219
213 } 220 }
214 221
215 // InternalProblem.g:108:3: ( (lv_statements_3_0= ruleStatement ) )* 222 // InternalProblem.g:109:3: ( (lv_statements_3_0= ruleStatement ) )*
216 loop2: 223 loop2:
217 do { 224 do {
218 int alt2=2; 225 int alt2=2;
219 int LA2_0 = input.LA(1); 226 int LA2_0 = input.LA(1);
220 227
221 if ( (LA2_0==RULE_ID||LA2_0==RULE_QUOTED_ID||(LA2_0>=14 && LA2_0<=15)||(LA2_0>=26 && LA2_0<=27)||LA2_0==31||LA2_0==34||LA2_0==42) ) { 228 if ( (LA2_0==RULE_ID||LA2_0==RULE_QUOTED_ID||(LA2_0>=14 && LA2_0<=15)||LA2_0==21||(LA2_0>=27 && LA2_0<=28)||LA2_0==32||LA2_0==35||(LA2_0>=40 && LA2_0<=41)||LA2_0==43) ) {
222 alt2=1; 229 alt2=1;
223 } 230 }
224 231
225 232
226 switch (alt2) { 233 switch (alt2) {
227 case 1 : 234 case 1 :
228 // InternalProblem.g:109:4: (lv_statements_3_0= ruleStatement ) 235 // InternalProblem.g:110:4: (lv_statements_3_0= ruleStatement )
229 { 236 {
230 // InternalProblem.g:109:4: (lv_statements_3_0= ruleStatement ) 237 // InternalProblem.g:110:4: (lv_statements_3_0= ruleStatement )
231 // InternalProblem.g:110:5: lv_statements_3_0= ruleStatement 238 // InternalProblem.g:111:5: lv_statements_3_0= ruleStatement
232 { 239 {
233 240
234 newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_1_0()); 241 newCompositeNode(grammarAccess.getProblemAccess().getStatementsStatementParserRuleCall_1_0());
@@ -284,7 +291,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
284 291
285 292
286 // $ANTLR start "entryRuleStatement" 293 // $ANTLR start "entryRuleStatement"
287 // InternalProblem.g:131:1: entryRuleStatement returns [EObject current=null] : iv_ruleStatement= ruleStatement EOF ; 294 // InternalProblem.g:132:1: entryRuleStatement returns [EObject current=null] : iv_ruleStatement= ruleStatement EOF ;
288 public final EObject entryRuleStatement() throws RecognitionException { 295 public final EObject entryRuleStatement() throws RecognitionException {
289 EObject current = null; 296 EObject current = null;
290 297
@@ -292,8 +299,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
292 299
293 300
294 try { 301 try {
295 // InternalProblem.g:131:50: (iv_ruleStatement= ruleStatement EOF ) 302 // InternalProblem.g:132:50: (iv_ruleStatement= ruleStatement EOF )
296 // InternalProblem.g:132:2: iv_ruleStatement= ruleStatement EOF 303 // InternalProblem.g:133:2: iv_ruleStatement= ruleStatement EOF
297 { 304 {
298 newCompositeNode(grammarAccess.getStatementRule()); 305 newCompositeNode(grammarAccess.getStatementRule());
299 pushFollow(FOLLOW_1); 306 pushFollow(FOLLOW_1);
@@ -320,28 +327,30 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
320 327
321 328
322 // $ANTLR start "ruleStatement" 329 // $ANTLR start "ruleStatement"
323 // InternalProblem.g:138:1: ruleStatement returns [EObject current=null] : (this_ClassDeclaration_0= ruleClassDeclaration | this_PredicateDefinition_1= rulePredicateDefinition | this_Assertion_2= ruleAssertion | this_ScopeDeclaration_3= ruleScopeDeclaration ) ; 330 // InternalProblem.g:139:1: ruleStatement returns [EObject current=null] : (this_ClassDeclaration_0= ruleClassDeclaration | this_EnumDeclaration_1= ruleEnumDeclaration | this_PredicateDefinition_2= rulePredicateDefinition | this_Assertion_3= ruleAssertion | this_ScopeDeclaration_4= ruleScopeDeclaration ) ;
324 public final EObject ruleStatement() throws RecognitionException { 331 public final EObject ruleStatement() throws RecognitionException {
325 EObject current = null; 332 EObject current = null;
326 333
327 EObject this_ClassDeclaration_0 = null; 334 EObject this_ClassDeclaration_0 = null;
328 335
329 EObject this_PredicateDefinition_1 = null; 336 EObject this_EnumDeclaration_1 = null;
337
338 EObject this_PredicateDefinition_2 = null;
330 339
331 EObject this_Assertion_2 = null; 340 EObject this_Assertion_3 = null;
332 341
333 EObject this_ScopeDeclaration_3 = null; 342 EObject this_ScopeDeclaration_4 = null;
334 343
335 344
336 345
337 enterRule(); 346 enterRule();
338 347
339 try { 348 try {
340 // InternalProblem.g:144:2: ( (this_ClassDeclaration_0= ruleClassDeclaration | this_PredicateDefinition_1= rulePredicateDefinition | this_Assertion_2= ruleAssertion | this_ScopeDeclaration_3= ruleScopeDeclaration ) ) 349 // InternalProblem.g:145:2: ( (this_ClassDeclaration_0= ruleClassDeclaration | this_EnumDeclaration_1= ruleEnumDeclaration | this_PredicateDefinition_2= rulePredicateDefinition | this_Assertion_3= ruleAssertion | this_ScopeDeclaration_4= ruleScopeDeclaration ) )
341 // InternalProblem.g:145:2: (this_ClassDeclaration_0= ruleClassDeclaration | this_PredicateDefinition_1= rulePredicateDefinition | this_Assertion_2= ruleAssertion | this_ScopeDeclaration_3= ruleScopeDeclaration ) 350 // InternalProblem.g:146:2: (this_ClassDeclaration_0= ruleClassDeclaration | this_EnumDeclaration_1= ruleEnumDeclaration | this_PredicateDefinition_2= rulePredicateDefinition | this_Assertion_3= ruleAssertion | this_ScopeDeclaration_4= ruleScopeDeclaration )
342 { 351 {
343 // InternalProblem.g:145:2: (this_ClassDeclaration_0= ruleClassDeclaration | this_PredicateDefinition_1= rulePredicateDefinition | this_Assertion_2= ruleAssertion | this_ScopeDeclaration_3= ruleScopeDeclaration ) 352 // InternalProblem.g:146:2: (this_ClassDeclaration_0= ruleClassDeclaration | this_EnumDeclaration_1= ruleEnumDeclaration | this_PredicateDefinition_2= rulePredicateDefinition | this_Assertion_3= ruleAssertion | this_ScopeDeclaration_4= ruleScopeDeclaration )
344 int alt3=4; 353 int alt3=5;
345 switch ( input.LA(1) ) { 354 switch ( input.LA(1) ) {
346 case 14: 355 case 14:
347 case 15: 356 case 15:
@@ -349,25 +358,32 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
349 alt3=1; 358 alt3=1;
350 } 359 }
351 break; 360 break;
352 case 26: 361 case 21:
353 case 27:
354 { 362 {
355 alt3=2; 363 alt3=2;
356 } 364 }
357 break; 365 break;
358 case RULE_ID: 366 case 27:
359 case RULE_QUOTED_ID: 367 case 28:
360 case 31:
361 case 42:
362 { 368 {
363 alt3=3; 369 alt3=3;
364 } 370 }
365 break; 371 break;
366 case 34: 372 case RULE_ID:
373 case RULE_QUOTED_ID:
374 case 32:
375 case 40:
376 case 41:
377 case 43:
367 { 378 {
368 alt3=4; 379 alt3=4;
369 } 380 }
370 break; 381 break;
382 case 35:
383 {
384 alt3=5;
385 }
386 break;
371 default: 387 default:
372 NoViableAltException nvae = 388 NoViableAltException nvae =
373 new NoViableAltException("", 3, 0, input); 389 new NoViableAltException("", 3, 0, input);
@@ -377,7 +393,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
377 393
378 switch (alt3) { 394 switch (alt3) {
379 case 1 : 395 case 1 :
380 // InternalProblem.g:146:3: this_ClassDeclaration_0= ruleClassDeclaration 396 // InternalProblem.g:147:3: this_ClassDeclaration_0= ruleClassDeclaration
381 { 397 {
382 398
383 newCompositeNode(grammarAccess.getStatementAccess().getClassDeclarationParserRuleCall_0()); 399 newCompositeNode(grammarAccess.getStatementAccess().getClassDeclarationParserRuleCall_0());
@@ -395,54 +411,72 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
395 } 411 }
396 break; 412 break;
397 case 2 : 413 case 2 :
398 // InternalProblem.g:155:3: this_PredicateDefinition_1= rulePredicateDefinition 414 // InternalProblem.g:156:3: this_EnumDeclaration_1= ruleEnumDeclaration
399 { 415 {
400 416
401 newCompositeNode(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_1()); 417 newCompositeNode(grammarAccess.getStatementAccess().getEnumDeclarationParserRuleCall_1());
402 418
403 pushFollow(FOLLOW_2); 419 pushFollow(FOLLOW_2);
404 this_PredicateDefinition_1=rulePredicateDefinition(); 420 this_EnumDeclaration_1=ruleEnumDeclaration();
405 421
406 state._fsp--; 422 state._fsp--;
407 423
408 424
409 current = this_PredicateDefinition_1; 425 current = this_EnumDeclaration_1;
410 afterParserOrEnumRuleCall(); 426 afterParserOrEnumRuleCall();
411 427
412 428
413 } 429 }
414 break; 430 break;
415 case 3 : 431 case 3 :
416 // InternalProblem.g:164:3: this_Assertion_2= ruleAssertion 432 // InternalProblem.g:165:3: this_PredicateDefinition_2= rulePredicateDefinition
417 { 433 {
418 434
419 newCompositeNode(grammarAccess.getStatementAccess().getAssertionParserRuleCall_2()); 435 newCompositeNode(grammarAccess.getStatementAccess().getPredicateDefinitionParserRuleCall_2());
420 436
421 pushFollow(FOLLOW_2); 437 pushFollow(FOLLOW_2);
422 this_Assertion_2=ruleAssertion(); 438 this_PredicateDefinition_2=rulePredicateDefinition();
423 439
424 state._fsp--; 440 state._fsp--;
425 441
426 442
427 current = this_Assertion_2; 443 current = this_PredicateDefinition_2;
428 afterParserOrEnumRuleCall(); 444 afterParserOrEnumRuleCall();
429 445
430 446
431 } 447 }
432 break; 448 break;
433 case 4 : 449 case 4 :
434 // InternalProblem.g:173:3: this_ScopeDeclaration_3= ruleScopeDeclaration 450 // InternalProblem.g:174:3: this_Assertion_3= ruleAssertion
451 {
452
453 newCompositeNode(grammarAccess.getStatementAccess().getAssertionParserRuleCall_3());
454
455 pushFollow(FOLLOW_2);
456 this_Assertion_3=ruleAssertion();
457
458 state._fsp--;
459
460
461 current = this_Assertion_3;
462 afterParserOrEnumRuleCall();
463
464
465 }
466 break;
467 case 5 :
468 // InternalProblem.g:183:3: this_ScopeDeclaration_4= ruleScopeDeclaration
435 { 469 {
436 470
437 newCompositeNode(grammarAccess.getStatementAccess().getScopeDeclarationParserRuleCall_3()); 471 newCompositeNode(grammarAccess.getStatementAccess().getScopeDeclarationParserRuleCall_4());
438 472
439 pushFollow(FOLLOW_2); 473 pushFollow(FOLLOW_2);
440 this_ScopeDeclaration_3=ruleScopeDeclaration(); 474 this_ScopeDeclaration_4=ruleScopeDeclaration();
441 475
442 state._fsp--; 476 state._fsp--;
443 477
444 478
445 current = this_ScopeDeclaration_3; 479 current = this_ScopeDeclaration_4;
446 afterParserOrEnumRuleCall(); 480 afterParserOrEnumRuleCall();
447 481
448 482
@@ -471,7 +505,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
471 505
472 506
473 // $ANTLR start "entryRuleClassDeclaration" 507 // $ANTLR start "entryRuleClassDeclaration"
474 // InternalProblem.g:185:1: entryRuleClassDeclaration returns [EObject current=null] : iv_ruleClassDeclaration= ruleClassDeclaration EOF ; 508 // InternalProblem.g:195:1: entryRuleClassDeclaration returns [EObject current=null] : iv_ruleClassDeclaration= ruleClassDeclaration EOF ;
475 public final EObject entryRuleClassDeclaration() throws RecognitionException { 509 public final EObject entryRuleClassDeclaration() throws RecognitionException {
476 EObject current = null; 510 EObject current = null;
477 511
@@ -479,8 +513,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
479 513
480 514
481 try { 515 try {
482 // InternalProblem.g:185:57: (iv_ruleClassDeclaration= ruleClassDeclaration EOF ) 516 // InternalProblem.g:195:57: (iv_ruleClassDeclaration= ruleClassDeclaration EOF )
483 // InternalProblem.g:186:2: iv_ruleClassDeclaration= ruleClassDeclaration EOF 517 // InternalProblem.g:196:2: iv_ruleClassDeclaration= ruleClassDeclaration EOF
484 { 518 {
485 newCompositeNode(grammarAccess.getClassDeclarationRule()); 519 newCompositeNode(grammarAccess.getClassDeclarationRule());
486 pushFollow(FOLLOW_1); 520 pushFollow(FOLLOW_1);
@@ -507,19 +541,20 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
507 541
508 542
509 // $ANTLR start "ruleClassDeclaration" 543 // $ANTLR start "ruleClassDeclaration"
510 // InternalProblem.g:192:1: ruleClassDeclaration returns [EObject current=null] : ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' ) ) ; 544 // InternalProblem.g:202:1: ruleClassDeclaration returns [EObject current=null] : ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleIdentifier ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' ) ) ;
511 public final EObject ruleClassDeclaration() throws RecognitionException { 545 public final EObject ruleClassDeclaration() throws RecognitionException {
512 EObject current = null; 546 EObject current = null;
513 547
514 Token lv_abstract_0_0=null; 548 Token lv_abstract_0_0=null;
515 Token otherlv_1=null; 549 Token otherlv_1=null;
516 Token lv_name_2_0=null;
517 Token otherlv_3=null; 550 Token otherlv_3=null;
518 Token otherlv_5=null; 551 Token otherlv_5=null;
519 Token otherlv_7=null; 552 Token otherlv_7=null;
520 Token otherlv_9=null; 553 Token otherlv_9=null;
521 Token otherlv_10=null; 554 Token otherlv_10=null;
522 Token otherlv_11=null; 555 Token otherlv_11=null;
556 AntlrDatatypeRuleToken lv_name_2_0 = null;
557
523 EObject lv_referenceDeclarations_8_0 = null; 558 EObject lv_referenceDeclarations_8_0 = null;
524 559
525 560
@@ -527,13 +562,13 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
527 enterRule(); 562 enterRule();
528 563
529 try { 564 try {
530 // InternalProblem.g:198:2: ( ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' ) ) ) 565 // InternalProblem.g:208:2: ( ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleIdentifier ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' ) ) )
531 // InternalProblem.g:199:2: ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' ) ) 566 // InternalProblem.g:209:2: ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleIdentifier ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' ) )
532 { 567 {
533 // InternalProblem.g:199:2: ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' ) ) 568 // InternalProblem.g:209:2: ( ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleIdentifier ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' ) )
534 // InternalProblem.g:200:3: ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' ) 569 // InternalProblem.g:210:3: ( (lv_abstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleIdentifier ) ) (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' )
535 { 570 {
536 // InternalProblem.g:200:3: ( (lv_abstract_0_0= 'abstract' ) )? 571 // InternalProblem.g:210:3: ( (lv_abstract_0_0= 'abstract' ) )?
537 int alt4=2; 572 int alt4=2;
538 int LA4_0 = input.LA(1); 573 int LA4_0 = input.LA(1);
539 574
@@ -542,10 +577,10 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
542 } 577 }
543 switch (alt4) { 578 switch (alt4) {
544 case 1 : 579 case 1 :
545 // InternalProblem.g:201:4: (lv_abstract_0_0= 'abstract' ) 580 // InternalProblem.g:211:4: (lv_abstract_0_0= 'abstract' )
546 { 581 {
547 // InternalProblem.g:201:4: (lv_abstract_0_0= 'abstract' ) 582 // InternalProblem.g:211:4: (lv_abstract_0_0= 'abstract' )
548 // InternalProblem.g:202:5: lv_abstract_0_0= 'abstract' 583 // InternalProblem.g:212:5: lv_abstract_0_0= 'abstract'
549 { 584 {
550 lv_abstract_0_0=(Token)match(input,14,FOLLOW_6); 585 lv_abstract_0_0=(Token)match(input,14,FOLLOW_6);
551 586
@@ -570,25 +605,30 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
570 605
571 newLeafNode(otherlv_1, grammarAccess.getClassDeclarationAccess().getClassKeyword_1()); 606 newLeafNode(otherlv_1, grammarAccess.getClassDeclarationAccess().getClassKeyword_1());
572 607
573 // InternalProblem.g:218:3: ( (lv_name_2_0= RULE_ID ) ) 608 // InternalProblem.g:228:3: ( (lv_name_2_0= ruleIdentifier ) )
574 // InternalProblem.g:219:4: (lv_name_2_0= RULE_ID ) 609 // InternalProblem.g:229:4: (lv_name_2_0= ruleIdentifier )
575 { 610 {
576 // InternalProblem.g:219:4: (lv_name_2_0= RULE_ID ) 611 // InternalProblem.g:229:4: (lv_name_2_0= ruleIdentifier )
577 // InternalProblem.g:220:5: lv_name_2_0= RULE_ID 612 // InternalProblem.g:230:5: lv_name_2_0= ruleIdentifier
578 { 613 {
579 lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_7);
580 614
581 newLeafNode(lv_name_2_0, grammarAccess.getClassDeclarationAccess().getNameIDTerminalRuleCall_2_0()); 615 newCompositeNode(grammarAccess.getClassDeclarationAccess().getNameIdentifierParserRuleCall_2_0());
582 616
617 pushFollow(FOLLOW_7);
618 lv_name_2_0=ruleIdentifier();
619
620 state._fsp--;
621
583 622
584 if (current==null) { 623 if (current==null) {
585 current = createModelElement(grammarAccess.getClassDeclarationRule()); 624 current = createModelElementForParent(grammarAccess.getClassDeclarationRule());
586 } 625 }
587 setWithLastConsumed( 626 set(
588 current, 627 current,
589 "name", 628 "name",
590 lv_name_2_0, 629 lv_name_2_0,
591 "org.eclipse.xtext.common.Terminals.ID"); 630 "org.eclipse.viatra.solver.language.Problem.Identifier");
631 afterParserOrEnumRuleCall();
592 632
593 633
594 } 634 }
@@ -596,7 +636,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
596 636
597 } 637 }
598 638
599 // InternalProblem.g:236:3: (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? 639 // InternalProblem.g:247:3: (otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )?
600 int alt6=2; 640 int alt6=2;
601 int LA6_0 = input.LA(1); 641 int LA6_0 = input.LA(1);
602 642
@@ -605,17 +645,17 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
605 } 645 }
606 switch (alt6) { 646 switch (alt6) {
607 case 1 : 647 case 1 :
608 // InternalProblem.g:237:4: otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* 648 // InternalProblem.g:248:4: otherlv_3= 'extends' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )*
609 { 649 {
610 otherlv_3=(Token)match(input,16,FOLLOW_8); 650 otherlv_3=(Token)match(input,16,FOLLOW_8);
611 651
612 newLeafNode(otherlv_3, grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0()); 652 newLeafNode(otherlv_3, grammarAccess.getClassDeclarationAccess().getExtendsKeyword_3_0());
613 653
614 // InternalProblem.g:241:4: ( ( ruleQualifiedName ) ) 654 // InternalProblem.g:252:4: ( ( ruleQualifiedName ) )
615 // InternalProblem.g:242:5: ( ruleQualifiedName ) 655 // InternalProblem.g:253:5: ( ruleQualifiedName )
616 { 656 {
617 // InternalProblem.g:242:5: ( ruleQualifiedName ) 657 // InternalProblem.g:253:5: ( ruleQualifiedName )
618 // InternalProblem.g:243:6: ruleQualifiedName 658 // InternalProblem.g:254:6: ruleQualifiedName
619 { 659 {
620 660
621 if (current==null) { 661 if (current==null) {
@@ -623,7 +663,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
623 } 663 }
624 664
625 665
626 newCompositeNode(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_1_0()); 666 newCompositeNode(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationCrossReference_3_1_0());
627 667
628 pushFollow(FOLLOW_9); 668 pushFollow(FOLLOW_9);
629 ruleQualifiedName(); 669 ruleQualifiedName();
@@ -639,7 +679,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
639 679
640 } 680 }
641 681
642 // InternalProblem.g:257:4: (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* 682 // InternalProblem.g:268:4: (otherlv_5= ',' ( ( ruleQualifiedName ) ) )*
643 loop5: 683 loop5:
644 do { 684 do {
645 int alt5=2; 685 int alt5=2;
@@ -652,17 +692,17 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
652 692
653 switch (alt5) { 693 switch (alt5) {
654 case 1 : 694 case 1 :
655 // InternalProblem.g:258:5: otherlv_5= ',' ( ( ruleQualifiedName ) ) 695 // InternalProblem.g:269:5: otherlv_5= ',' ( ( ruleQualifiedName ) )
656 { 696 {
657 otherlv_5=(Token)match(input,17,FOLLOW_8); 697 otherlv_5=(Token)match(input,17,FOLLOW_8);
658 698
659 newLeafNode(otherlv_5, grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_2_0()); 699 newLeafNode(otherlv_5, grammarAccess.getClassDeclarationAccess().getCommaKeyword_3_2_0());
660 700
661 // InternalProblem.g:262:5: ( ( ruleQualifiedName ) ) 701 // InternalProblem.g:273:5: ( ( ruleQualifiedName ) )
662 // InternalProblem.g:263:6: ( ruleQualifiedName ) 702 // InternalProblem.g:274:6: ( ruleQualifiedName )
663 { 703 {
664 // InternalProblem.g:263:6: ( ruleQualifiedName ) 704 // InternalProblem.g:274:6: ( ruleQualifiedName )
665 // InternalProblem.g:264:7: ruleQualifiedName 705 // InternalProblem.g:275:7: ruleQualifiedName
666 { 706 {
667 707
668 if (current==null) { 708 if (current==null) {
@@ -670,7 +710,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
670 } 710 }
671 711
672 712
673 newCompositeNode(grammarAccess.getClassDeclarationAccess().getSuperTypesClassDeclarationCrossReference_3_2_1_0()); 713 newCompositeNode(grammarAccess.getClassDeclarationAccess().getSuperTypesRelationCrossReference_3_2_1_0());
674 714
675 pushFollow(FOLLOW_9); 715 pushFollow(FOLLOW_9);
676 ruleQualifiedName(); 716 ruleQualifiedName();
@@ -701,7 +741,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
701 741
702 } 742 }
703 743
704 // InternalProblem.g:280:3: ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' ) 744 // InternalProblem.g:291:3: ( (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) | otherlv_11= '.' )
705 int alt9=2; 745 int alt9=2;
706 int LA9_0 = input.LA(1); 746 int LA9_0 = input.LA(1);
707 747
@@ -719,35 +759,35 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
719 } 759 }
720 switch (alt9) { 760 switch (alt9) {
721 case 1 : 761 case 1 :
722 // InternalProblem.g:281:4: (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) 762 // InternalProblem.g:292:4: (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' )
723 { 763 {
724 // InternalProblem.g:281:4: (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' ) 764 // InternalProblem.g:292:4: (otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' )
725 // InternalProblem.g:282:5: otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}' 765 // InternalProblem.g:293:5: otherlv_7= '{' ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* otherlv_10= '}'
726 { 766 {
727 otherlv_7=(Token)match(input,18,FOLLOW_10); 767 otherlv_7=(Token)match(input,18,FOLLOW_10);
728 768
729 newLeafNode(otherlv_7, grammarAccess.getClassDeclarationAccess().getLeftCurlyBracketKeyword_4_0_0()); 769 newLeafNode(otherlv_7, grammarAccess.getClassDeclarationAccess().getLeftCurlyBracketKeyword_4_0_0());
730 770
731 // InternalProblem.g:286:5: ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )* 771 // InternalProblem.g:297:5: ( ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? )*
732 loop8: 772 loop8:
733 do { 773 do {
734 int alt8=2; 774 int alt8=2;
735 int LA8_0 = input.LA(1); 775 int LA8_0 = input.LA(1);
736 776
737 if ( ((LA8_0>=21 && LA8_0<=22)) ) { 777 if ( (LA8_0==RULE_ID||LA8_0==RULE_QUOTED_ID||(LA8_0>=22 && LA8_0<=23)||(LA8_0>=40 && LA8_0<=41)) ) {
738 alt8=1; 778 alt8=1;
739 } 779 }
740 780
741 781
742 switch (alt8) { 782 switch (alt8) {
743 case 1 : 783 case 1 :
744 // InternalProblem.g:287:6: ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )? 784 // InternalProblem.g:298:6: ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) (otherlv_9= ';' )?
745 { 785 {
746 // InternalProblem.g:287:6: ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) ) 786 // InternalProblem.g:298:6: ( (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) )
747 // InternalProblem.g:288:7: (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) 787 // InternalProblem.g:299:7: (lv_referenceDeclarations_8_0= ruleReferenceDeclaration )
748 { 788 {
749 // InternalProblem.g:288:7: (lv_referenceDeclarations_8_0= ruleReferenceDeclaration ) 789 // InternalProblem.g:299:7: (lv_referenceDeclarations_8_0= ruleReferenceDeclaration )
750 // InternalProblem.g:289:8: lv_referenceDeclarations_8_0= ruleReferenceDeclaration 790 // InternalProblem.g:300:8: lv_referenceDeclarations_8_0= ruleReferenceDeclaration
751 { 791 {
752 792
753 newCompositeNode(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_4_0_1_0_0()); 793 newCompositeNode(grammarAccess.getClassDeclarationAccess().getReferenceDeclarationsReferenceDeclarationParserRuleCall_4_0_1_0_0());
@@ -774,7 +814,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
774 814
775 } 815 }
776 816
777 // InternalProblem.g:306:6: (otherlv_9= ';' )? 817 // InternalProblem.g:317:6: (otherlv_9= ';' )?
778 int alt7=2; 818 int alt7=2;
779 int LA7_0 = input.LA(1); 819 int LA7_0 = input.LA(1);
780 820
@@ -783,7 +823,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
783 } 823 }
784 switch (alt7) { 824 switch (alt7) {
785 case 1 : 825 case 1 :
786 // InternalProblem.g:307:7: otherlv_9= ';' 826 // InternalProblem.g:318:7: otherlv_9= ';'
787 { 827 {
788 otherlv_9=(Token)match(input,19,FOLLOW_10); 828 otherlv_9=(Token)match(input,19,FOLLOW_10);
789 829
@@ -815,7 +855,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
815 } 855 }
816 break; 856 break;
817 case 2 : 857 case 2 :
818 // InternalProblem.g:319:4: otherlv_11= '.' 858 // InternalProblem.g:330:4: otherlv_11= '.'
819 { 859 {
820 otherlv_11=(Token)match(input,13,FOLLOW_2); 860 otherlv_11=(Token)match(input,13,FOLLOW_2);
821 861
@@ -849,8 +889,428 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
849 // $ANTLR end "ruleClassDeclaration" 889 // $ANTLR end "ruleClassDeclaration"
850 890
851 891
892 // $ANTLR start "entryRuleEnumDeclaration"
893 // InternalProblem.g:339:1: entryRuleEnumDeclaration returns [EObject current=null] : iv_ruleEnumDeclaration= ruleEnumDeclaration EOF ;
894 public final EObject entryRuleEnumDeclaration() throws RecognitionException {
895 EObject current = null;
896
897 EObject iv_ruleEnumDeclaration = null;
898
899
900 try {
901 // InternalProblem.g:339:56: (iv_ruleEnumDeclaration= ruleEnumDeclaration EOF )
902 // InternalProblem.g:340:2: iv_ruleEnumDeclaration= ruleEnumDeclaration EOF
903 {
904 newCompositeNode(grammarAccess.getEnumDeclarationRule());
905 pushFollow(FOLLOW_1);
906 iv_ruleEnumDeclaration=ruleEnumDeclaration();
907
908 state._fsp--;
909
910 current =iv_ruleEnumDeclaration;
911 match(input,EOF,FOLLOW_2);
912
913 }
914
915 }
916
917 catch (RecognitionException re) {
918 recover(input,re);
919 appendSkippedTokens();
920 }
921 finally {
922 }
923 return current;
924 }
925 // $ANTLR end "entryRuleEnumDeclaration"
926
927
928 // $ANTLR start "ruleEnumDeclaration"
929 // InternalProblem.g:346:1: ruleEnumDeclaration returns [EObject current=null] : (otherlv_0= 'enum' ( (lv_name_1_0= ruleIdentifier ) ) ( (otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' ) | otherlv_9= '.' ) ) ;
930 public final EObject ruleEnumDeclaration() throws RecognitionException {
931 EObject current = null;
932
933 Token otherlv_0=null;
934 Token otherlv_2=null;
935 Token otherlv_4=null;
936 Token otherlv_6=null;
937 Token otherlv_7=null;
938 Token otherlv_8=null;
939 Token otherlv_9=null;
940 AntlrDatatypeRuleToken lv_name_1_0 = null;
941
942 EObject lv_literals_3_0 = null;
943
944 EObject lv_literals_5_0 = null;
945
946
947
948 enterRule();
949
950 try {
951 // InternalProblem.g:352:2: ( (otherlv_0= 'enum' ( (lv_name_1_0= ruleIdentifier ) ) ( (otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' ) | otherlv_9= '.' ) ) )
952 // InternalProblem.g:353:2: (otherlv_0= 'enum' ( (lv_name_1_0= ruleIdentifier ) ) ( (otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' ) | otherlv_9= '.' ) )
953 {
954 // InternalProblem.g:353:2: (otherlv_0= 'enum' ( (lv_name_1_0= ruleIdentifier ) ) ( (otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' ) | otherlv_9= '.' ) )
955 // InternalProblem.g:354:3: otherlv_0= 'enum' ( (lv_name_1_0= ruleIdentifier ) ) ( (otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' ) | otherlv_9= '.' )
956 {
957 otherlv_0=(Token)match(input,21,FOLLOW_3);
958
959 newLeafNode(otherlv_0, grammarAccess.getEnumDeclarationAccess().getEnumKeyword_0());
960
961 // InternalProblem.g:358:3: ( (lv_name_1_0= ruleIdentifier ) )
962 // InternalProblem.g:359:4: (lv_name_1_0= ruleIdentifier )
963 {
964 // InternalProblem.g:359:4: (lv_name_1_0= ruleIdentifier )
965 // InternalProblem.g:360:5: lv_name_1_0= ruleIdentifier
966 {
967
968 newCompositeNode(grammarAccess.getEnumDeclarationAccess().getNameIdentifierParserRuleCall_1_0());
969
970 pushFollow(FOLLOW_12);
971 lv_name_1_0=ruleIdentifier();
972
973 state._fsp--;
974
975
976 if (current==null) {
977 current = createModelElementForParent(grammarAccess.getEnumDeclarationRule());
978 }
979 set(
980 current,
981 "name",
982 lv_name_1_0,
983 "org.eclipse.viatra.solver.language.Problem.Identifier");
984 afterParserOrEnumRuleCall();
985
986
987 }
988
989
990 }
991
992 // InternalProblem.g:377:3: ( (otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' ) | otherlv_9= '.' )
993 int alt13=2;
994 int LA13_0 = input.LA(1);
995
996 if ( (LA13_0==18) ) {
997 alt13=1;
998 }
999 else if ( (LA13_0==13) ) {
1000 alt13=2;
1001 }
1002 else {
1003 NoViableAltException nvae =
1004 new NoViableAltException("", 13, 0, input);
1005
1006 throw nvae;
1007 }
1008 switch (alt13) {
1009 case 1 :
1010 // InternalProblem.g:378:4: (otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' )
1011 {
1012 // InternalProblem.g:378:4: (otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' )
1013 // InternalProblem.g:379:5: otherlv_2= '{' ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}'
1014 {
1015 otherlv_2=(Token)match(input,18,FOLLOW_13);
1016
1017 newLeafNode(otherlv_2, grammarAccess.getEnumDeclarationAccess().getLeftCurlyBracketKeyword_2_0_0());
1018
1019 // InternalProblem.g:383:5: ( ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )?
1020 int alt12=2;
1021 int LA12_0 = input.LA(1);
1022
1023 if ( (LA12_0==RULE_ID||LA12_0==RULE_QUOTED_ID||(LA12_0>=40 && LA12_0<=41)) ) {
1024 alt12=1;
1025 }
1026 switch (alt12) {
1027 case 1 :
1028 // InternalProblem.g:384:6: ( (lv_literals_3_0= ruleEnumLiteral ) ) (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )* (otherlv_6= ',' | otherlv_7= ';' )?
1029 {
1030 // InternalProblem.g:384:6: ( (lv_literals_3_0= ruleEnumLiteral ) )
1031 // InternalProblem.g:385:7: (lv_literals_3_0= ruleEnumLiteral )
1032 {
1033 // InternalProblem.g:385:7: (lv_literals_3_0= ruleEnumLiteral )
1034 // InternalProblem.g:386:8: lv_literals_3_0= ruleEnumLiteral
1035 {
1036
1037 newCompositeNode(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_0_0());
1038
1039 pushFollow(FOLLOW_14);
1040 lv_literals_3_0=ruleEnumLiteral();
1041
1042 state._fsp--;
1043
1044
1045 if (current==null) {
1046 current = createModelElementForParent(grammarAccess.getEnumDeclarationRule());
1047 }
1048 add(
1049 current,
1050 "literals",
1051 lv_literals_3_0,
1052 "org.eclipse.viatra.solver.language.Problem.EnumLiteral");
1053 afterParserOrEnumRuleCall();
1054
1055
1056 }
1057
1058
1059 }
1060
1061 // InternalProblem.g:403:6: (otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) ) )*
1062 loop10:
1063 do {
1064 int alt10=2;
1065 int LA10_0 = input.LA(1);
1066
1067 if ( (LA10_0==17) ) {
1068 int LA10_1 = input.LA(2);
1069
1070 if ( (LA10_1==RULE_ID||LA10_1==RULE_QUOTED_ID||(LA10_1>=40 && LA10_1<=41)) ) {
1071 alt10=1;
1072 }
1073
1074
1075 }
1076
1077
1078 switch (alt10) {
1079 case 1 :
1080 // InternalProblem.g:404:7: otherlv_4= ',' ( (lv_literals_5_0= ruleEnumLiteral ) )
1081 {
1082 otherlv_4=(Token)match(input,17,FOLLOW_8);
1083
1084 newLeafNode(otherlv_4, grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_1_0());
1085
1086 // InternalProblem.g:408:7: ( (lv_literals_5_0= ruleEnumLiteral ) )
1087 // InternalProblem.g:409:8: (lv_literals_5_0= ruleEnumLiteral )
1088 {
1089 // InternalProblem.g:409:8: (lv_literals_5_0= ruleEnumLiteral )
1090 // InternalProblem.g:410:9: lv_literals_5_0= ruleEnumLiteral
1091 {
1092
1093 newCompositeNode(grammarAccess.getEnumDeclarationAccess().getLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0());
1094
1095 pushFollow(FOLLOW_14);
1096 lv_literals_5_0=ruleEnumLiteral();
1097
1098 state._fsp--;
1099
1100
1101 if (current==null) {
1102 current = createModelElementForParent(grammarAccess.getEnumDeclarationRule());
1103 }
1104 add(
1105 current,
1106 "literals",
1107 lv_literals_5_0,
1108 "org.eclipse.viatra.solver.language.Problem.EnumLiteral");
1109 afterParserOrEnumRuleCall();
1110
1111
1112 }
1113
1114
1115 }
1116
1117
1118 }
1119 break;
1120
1121 default :
1122 break loop10;
1123 }
1124 } while (true);
1125
1126 // InternalProblem.g:428:6: (otherlv_6= ',' | otherlv_7= ';' )?
1127 int alt11=3;
1128 int LA11_0 = input.LA(1);
1129
1130 if ( (LA11_0==17) ) {
1131 alt11=1;
1132 }
1133 else if ( (LA11_0==19) ) {
1134 alt11=2;
1135 }
1136 switch (alt11) {
1137 case 1 :
1138 // InternalProblem.g:429:7: otherlv_6= ','
1139 {
1140 otherlv_6=(Token)match(input,17,FOLLOW_15);
1141
1142 newLeafNode(otherlv_6, grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_2_0());
1143
1144
1145 }
1146 break;
1147 case 2 :
1148 // InternalProblem.g:434:7: otherlv_7= ';'
1149 {
1150 otherlv_7=(Token)match(input,19,FOLLOW_15);
1151
1152 newLeafNode(otherlv_7, grammarAccess.getEnumDeclarationAccess().getSemicolonKeyword_2_0_1_2_1());
1153
1154
1155 }
1156 break;
1157
1158 }
1159
1160
1161 }
1162 break;
1163
1164 }
1165
1166 otherlv_8=(Token)match(input,20,FOLLOW_2);
1167
1168 newLeafNode(otherlv_8, grammarAccess.getEnumDeclarationAccess().getRightCurlyBracketKeyword_2_0_2());
1169
1170
1171 }
1172
1173
1174 }
1175 break;
1176 case 2 :
1177 // InternalProblem.g:446:4: otherlv_9= '.'
1178 {
1179 otherlv_9=(Token)match(input,13,FOLLOW_2);
1180
1181 newLeafNode(otherlv_9, grammarAccess.getEnumDeclarationAccess().getFullStopKeyword_2_1());
1182
1183
1184 }
1185 break;
1186
1187 }
1188
1189
1190 }
1191
1192
1193 }
1194
1195
1196 leaveRule();
1197
1198 }
1199
1200 catch (RecognitionException re) {
1201 recover(input,re);
1202 appendSkippedTokens();
1203 }
1204 finally {
1205 }
1206 return current;
1207 }
1208 // $ANTLR end "ruleEnumDeclaration"
1209
1210
1211 // $ANTLR start "entryRuleEnumLiteral"
1212 // InternalProblem.g:455:1: entryRuleEnumLiteral returns [EObject current=null] : iv_ruleEnumLiteral= ruleEnumLiteral EOF ;
1213 public final EObject entryRuleEnumLiteral() throws RecognitionException {
1214 EObject current = null;
1215
1216 EObject iv_ruleEnumLiteral = null;
1217
1218
1219 try {
1220 // InternalProblem.g:455:52: (iv_ruleEnumLiteral= ruleEnumLiteral EOF )
1221 // InternalProblem.g:456:2: iv_ruleEnumLiteral= ruleEnumLiteral EOF
1222 {
1223 newCompositeNode(grammarAccess.getEnumLiteralRule());
1224 pushFollow(FOLLOW_1);
1225 iv_ruleEnumLiteral=ruleEnumLiteral();
1226
1227 state._fsp--;
1228
1229 current =iv_ruleEnumLiteral;
1230 match(input,EOF,FOLLOW_2);
1231
1232 }
1233
1234 }
1235
1236 catch (RecognitionException re) {
1237 recover(input,re);
1238 appendSkippedTokens();
1239 }
1240 finally {
1241 }
1242 return current;
1243 }
1244 // $ANTLR end "entryRuleEnumLiteral"
1245
1246
1247 // $ANTLR start "ruleEnumLiteral"
1248 // InternalProblem.g:462:1: ruleEnumLiteral returns [EObject current=null] : ( (lv_name_0_0= ruleQuotedOrUnquotedId ) ) ;
1249 public final EObject ruleEnumLiteral() throws RecognitionException {
1250 EObject current = null;
1251
1252 AntlrDatatypeRuleToken lv_name_0_0 = null;
1253
1254
1255
1256 enterRule();
1257
1258 try {
1259 // InternalProblem.g:468:2: ( ( (lv_name_0_0= ruleQuotedOrUnquotedId ) ) )
1260 // InternalProblem.g:469:2: ( (lv_name_0_0= ruleQuotedOrUnquotedId ) )
1261 {
1262 // InternalProblem.g:469:2: ( (lv_name_0_0= ruleQuotedOrUnquotedId ) )
1263 // InternalProblem.g:470:3: (lv_name_0_0= ruleQuotedOrUnquotedId )
1264 {
1265 // InternalProblem.g:470:3: (lv_name_0_0= ruleQuotedOrUnquotedId )
1266 // InternalProblem.g:471:4: lv_name_0_0= ruleQuotedOrUnquotedId
1267 {
1268
1269 newCompositeNode(grammarAccess.getEnumLiteralAccess().getNameQuotedOrUnquotedIdParserRuleCall_0());
1270
1271 pushFollow(FOLLOW_2);
1272 lv_name_0_0=ruleQuotedOrUnquotedId();
1273
1274 state._fsp--;
1275
1276
1277 if (current==null) {
1278 current = createModelElementForParent(grammarAccess.getEnumLiteralRule());
1279 }
1280 set(
1281 current,
1282 "name",
1283 lv_name_0_0,
1284 "org.eclipse.viatra.solver.language.Problem.QuotedOrUnquotedId");
1285 afterParserOrEnumRuleCall();
1286
1287
1288 }
1289
1290
1291 }
1292
1293
1294 }
1295
1296
1297 leaveRule();
1298
1299 }
1300
1301 catch (RecognitionException re) {
1302 recover(input,re);
1303 appendSkippedTokens();
1304 }
1305 finally {
1306 }
1307 return current;
1308 }
1309 // $ANTLR end "ruleEnumLiteral"
1310
1311
852 // $ANTLR start "entryRuleReferenceDeclaration" 1312 // $ANTLR start "entryRuleReferenceDeclaration"
853 // InternalProblem.g:328:1: entryRuleReferenceDeclaration returns [EObject current=null] : iv_ruleReferenceDeclaration= ruleReferenceDeclaration EOF ; 1313 // InternalProblem.g:491:1: entryRuleReferenceDeclaration returns [EObject current=null] : iv_ruleReferenceDeclaration= ruleReferenceDeclaration EOF ;
854 public final EObject entryRuleReferenceDeclaration() throws RecognitionException { 1314 public final EObject entryRuleReferenceDeclaration() throws RecognitionException {
855 EObject current = null; 1315 EObject current = null;
856 1316
@@ -858,8 +1318,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
858 1318
859 1319
860 try { 1320 try {
861 // InternalProblem.g:328:61: (iv_ruleReferenceDeclaration= ruleReferenceDeclaration EOF ) 1321 // InternalProblem.g:491:61: (iv_ruleReferenceDeclaration= ruleReferenceDeclaration EOF )
862 // InternalProblem.g:329:2: iv_ruleReferenceDeclaration= ruleReferenceDeclaration EOF 1322 // InternalProblem.g:492:2: iv_ruleReferenceDeclaration= ruleReferenceDeclaration EOF
863 { 1323 {
864 newCompositeNode(grammarAccess.getReferenceDeclarationRule()); 1324 newCompositeNode(grammarAccess.getReferenceDeclarationRule());
865 pushFollow(FOLLOW_1); 1325 pushFollow(FOLLOW_1);
@@ -886,7 +1346,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
886 1346
887 1347
888 // $ANTLR start "ruleReferenceDeclaration" 1348 // $ANTLR start "ruleReferenceDeclaration"
889 // InternalProblem.g:335:1: ruleReferenceDeclaration returns [EObject current=null] : ( ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' ) ( ( ruleQualifiedName ) ) (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? ( (lv_name_6_0= RULE_ID ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? ) ; 1349 // InternalProblem.g:498:1: ruleReferenceDeclaration returns [EObject current=null] : ( ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' )? ( ( ruleQualifiedName ) ) (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? ( (lv_name_6_0= ruleIdentifier ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? ) ;
890 public final EObject ruleReferenceDeclaration() throws RecognitionException { 1350 public final EObject ruleReferenceDeclaration() throws RecognitionException {
891 EObject current = null; 1351 EObject current = null;
892 1352
@@ -894,48 +1354,43 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
894 Token otherlv_1=null; 1354 Token otherlv_1=null;
895 Token otherlv_3=null; 1355 Token otherlv_3=null;
896 Token otherlv_5=null; 1356 Token otherlv_5=null;
897 Token lv_name_6_0=null;
898 Token otherlv_7=null; 1357 Token otherlv_7=null;
899 EObject lv_multiplicity_4_0 = null; 1358 EObject lv_multiplicity_4_0 = null;
900 1359
1360 AntlrDatatypeRuleToken lv_name_6_0 = null;
1361
901 1362
902 1363
903 enterRule(); 1364 enterRule();
904 1365
905 try { 1366 try {
906 // InternalProblem.g:341:2: ( ( ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' ) ( ( ruleQualifiedName ) ) (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? ( (lv_name_6_0= RULE_ID ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? ) ) 1367 // InternalProblem.g:504:2: ( ( ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' )? ( ( ruleQualifiedName ) ) (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? ( (lv_name_6_0= ruleIdentifier ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? ) )
907 // InternalProblem.g:342:2: ( ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' ) ( ( ruleQualifiedName ) ) (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? ( (lv_name_6_0= RULE_ID ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? ) 1368 // InternalProblem.g:505:2: ( ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' )? ( ( ruleQualifiedName ) ) (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? ( (lv_name_6_0= ruleIdentifier ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? )
908 { 1369 {
909 // InternalProblem.g:342:2: ( ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' ) ( ( ruleQualifiedName ) ) (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? ( (lv_name_6_0= RULE_ID ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? ) 1370 // InternalProblem.g:505:2: ( ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' )? ( ( ruleQualifiedName ) ) (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? ( (lv_name_6_0= ruleIdentifier ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? )
910 // InternalProblem.g:343:3: ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' ) ( ( ruleQualifiedName ) ) (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? ( (lv_name_6_0= RULE_ID ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? 1371 // InternalProblem.g:506:3: ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' )? ( ( ruleQualifiedName ) ) (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? ( (lv_name_6_0= ruleIdentifier ) ) (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )?
911 { 1372 {
912 // InternalProblem.g:343:3: ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' ) 1373 // InternalProblem.g:506:3: ( ( (lv_containment_0_0= 'contains' ) ) | otherlv_1= 'refers' )?
913 int alt10=2; 1374 int alt14=3;
914 int LA10_0 = input.LA(1); 1375 int LA14_0 = input.LA(1);
915 1376
916 if ( (LA10_0==21) ) { 1377 if ( (LA14_0==22) ) {
917 alt10=1; 1378 alt14=1;
918 }
919 else if ( (LA10_0==22) ) {
920 alt10=2;
921 } 1379 }
922 else { 1380 else if ( (LA14_0==23) ) {
923 NoViableAltException nvae = 1381 alt14=2;
924 new NoViableAltException("", 10, 0, input);
925
926 throw nvae;
927 } 1382 }
928 switch (alt10) { 1383 switch (alt14) {
929 case 1 : 1384 case 1 :
930 // InternalProblem.g:344:4: ( (lv_containment_0_0= 'contains' ) ) 1385 // InternalProblem.g:507:4: ( (lv_containment_0_0= 'contains' ) )
931 { 1386 {
932 // InternalProblem.g:344:4: ( (lv_containment_0_0= 'contains' ) ) 1387 // InternalProblem.g:507:4: ( (lv_containment_0_0= 'contains' ) )
933 // InternalProblem.g:345:5: (lv_containment_0_0= 'contains' ) 1388 // InternalProblem.g:508:5: (lv_containment_0_0= 'contains' )
934 { 1389 {
935 // InternalProblem.g:345:5: (lv_containment_0_0= 'contains' ) 1390 // InternalProblem.g:508:5: (lv_containment_0_0= 'contains' )
936 // InternalProblem.g:346:6: lv_containment_0_0= 'contains' 1391 // InternalProblem.g:509:6: lv_containment_0_0= 'contains'
937 { 1392 {
938 lv_containment_0_0=(Token)match(input,21,FOLLOW_8); 1393 lv_containment_0_0=(Token)match(input,22,FOLLOW_8);
939 1394
940 newLeafNode(lv_containment_0_0, grammarAccess.getReferenceDeclarationAccess().getContainmentContainsKeyword_0_0_0()); 1395 newLeafNode(lv_containment_0_0, grammarAccess.getReferenceDeclarationAccess().getContainmentContainsKeyword_0_0_0());
941 1396
@@ -955,9 +1410,9 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
955 } 1410 }
956 break; 1411 break;
957 case 2 : 1412 case 2 :
958 // InternalProblem.g:359:4: otherlv_1= 'refers' 1413 // InternalProblem.g:522:4: otherlv_1= 'refers'
959 { 1414 {
960 otherlv_1=(Token)match(input,22,FOLLOW_8); 1415 otherlv_1=(Token)match(input,23,FOLLOW_8);
961 1416
962 newLeafNode(otherlv_1, grammarAccess.getReferenceDeclarationAccess().getRefersKeyword_0_1()); 1417 newLeafNode(otherlv_1, grammarAccess.getReferenceDeclarationAccess().getRefersKeyword_0_1());
963 1418
@@ -967,11 +1422,11 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
967 1422
968 } 1423 }
969 1424
970 // InternalProblem.g:364:3: ( ( ruleQualifiedName ) ) 1425 // InternalProblem.g:527:3: ( ( ruleQualifiedName ) )
971 // InternalProblem.g:365:4: ( ruleQualifiedName ) 1426 // InternalProblem.g:528:4: ( ruleQualifiedName )
972 { 1427 {
973 // InternalProblem.g:365:4: ( ruleQualifiedName ) 1428 // InternalProblem.g:528:4: ( ruleQualifiedName )
974 // InternalProblem.g:366:5: ruleQualifiedName 1429 // InternalProblem.g:529:5: ruleQualifiedName
975 { 1430 {
976 1431
977 if (current==null) { 1432 if (current==null) {
@@ -979,9 +1434,9 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
979 } 1434 }
980 1435
981 1436
982 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeClassDeclarationCrossReference_1_0()); 1437 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getReferenceTypeRelationCrossReference_1_0());
983 1438
984 pushFollow(FOLLOW_12); 1439 pushFollow(FOLLOW_16);
985 ruleQualifiedName(); 1440 ruleQualifiedName();
986 1441
987 state._fsp--; 1442 state._fsp--;
@@ -995,31 +1450,31 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
995 1450
996 } 1451 }
997 1452
998 // InternalProblem.g:380:3: (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )? 1453 // InternalProblem.g:543:3: (otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' )?
999 int alt11=2; 1454 int alt15=2;
1000 int LA11_0 = input.LA(1); 1455 int LA15_0 = input.LA(1);
1001 1456
1002 if ( (LA11_0==23) ) { 1457 if ( (LA15_0==24) ) {
1003 alt11=1; 1458 alt15=1;
1004 } 1459 }
1005 switch (alt11) { 1460 switch (alt15) {
1006 case 1 : 1461 case 1 :
1007 // InternalProblem.g:381:4: otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']' 1462 // InternalProblem.g:544:4: otherlv_3= '[' ( (lv_multiplicity_4_0= ruleMultiplicity ) ) otherlv_5= ']'
1008 { 1463 {
1009 otherlv_3=(Token)match(input,23,FOLLOW_13); 1464 otherlv_3=(Token)match(input,24,FOLLOW_17);
1010 1465
1011 newLeafNode(otherlv_3, grammarAccess.getReferenceDeclarationAccess().getLeftSquareBracketKeyword_2_0()); 1466 newLeafNode(otherlv_3, grammarAccess.getReferenceDeclarationAccess().getLeftSquareBracketKeyword_2_0());
1012 1467
1013 // InternalProblem.g:385:4: ( (lv_multiplicity_4_0= ruleMultiplicity ) ) 1468 // InternalProblem.g:548:4: ( (lv_multiplicity_4_0= ruleMultiplicity ) )
1014 // InternalProblem.g:386:5: (lv_multiplicity_4_0= ruleMultiplicity ) 1469 // InternalProblem.g:549:5: (lv_multiplicity_4_0= ruleMultiplicity )
1015 { 1470 {
1016 // InternalProblem.g:386:5: (lv_multiplicity_4_0= ruleMultiplicity ) 1471 // InternalProblem.g:549:5: (lv_multiplicity_4_0= ruleMultiplicity )
1017 // InternalProblem.g:387:6: lv_multiplicity_4_0= ruleMultiplicity 1472 // InternalProblem.g:550:6: lv_multiplicity_4_0= ruleMultiplicity
1018 { 1473 {
1019 1474
1020 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getMultiplicityMultiplicityParserRuleCall_2_1_0()); 1475 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getMultiplicityMultiplicityParserRuleCall_2_1_0());
1021 1476
1022 pushFollow(FOLLOW_14); 1477 pushFollow(FOLLOW_18);
1023 lv_multiplicity_4_0=ruleMultiplicity(); 1478 lv_multiplicity_4_0=ruleMultiplicity();
1024 1479
1025 state._fsp--; 1480 state._fsp--;
@@ -1041,7 +1496,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1041 1496
1042 } 1497 }
1043 1498
1044 otherlv_5=(Token)match(input,24,FOLLOW_3); 1499 otherlv_5=(Token)match(input,25,FOLLOW_3);
1045 1500
1046 newLeafNode(otherlv_5, grammarAccess.getReferenceDeclarationAccess().getRightSquareBracketKeyword_2_2()); 1501 newLeafNode(otherlv_5, grammarAccess.getReferenceDeclarationAccess().getRightSquareBracketKeyword_2_2());
1047 1502
@@ -1051,25 +1506,30 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1051 1506
1052 } 1507 }
1053 1508
1054 // InternalProblem.g:409:3: ( (lv_name_6_0= RULE_ID ) ) 1509 // InternalProblem.g:572:3: ( (lv_name_6_0= ruleIdentifier ) )
1055 // InternalProblem.g:410:4: (lv_name_6_0= RULE_ID ) 1510 // InternalProblem.g:573:4: (lv_name_6_0= ruleIdentifier )
1056 { 1511 {
1057 // InternalProblem.g:410:4: (lv_name_6_0= RULE_ID ) 1512 // InternalProblem.g:573:4: (lv_name_6_0= ruleIdentifier )
1058 // InternalProblem.g:411:5: lv_name_6_0= RULE_ID 1513 // InternalProblem.g:574:5: lv_name_6_0= ruleIdentifier
1059 { 1514 {
1060 lv_name_6_0=(Token)match(input,RULE_ID,FOLLOW_15);
1061 1515
1062 newLeafNode(lv_name_6_0, grammarAccess.getReferenceDeclarationAccess().getNameIDTerminalRuleCall_3_0()); 1516 newCompositeNode(grammarAccess.getReferenceDeclarationAccess().getNameIdentifierParserRuleCall_3_0());
1063 1517
1518 pushFollow(FOLLOW_19);
1519 lv_name_6_0=ruleIdentifier();
1520
1521 state._fsp--;
1522
1064 1523
1065 if (current==null) { 1524 if (current==null) {
1066 current = createModelElement(grammarAccess.getReferenceDeclarationRule()); 1525 current = createModelElementForParent(grammarAccess.getReferenceDeclarationRule());
1067 } 1526 }
1068 setWithLastConsumed( 1527 set(
1069 current, 1528 current,
1070 "name", 1529 "name",
1071 lv_name_6_0, 1530 lv_name_6_0,
1072 "org.eclipse.xtext.common.Terminals.ID"); 1531 "org.eclipse.viatra.solver.language.Problem.Identifier");
1532 afterParserOrEnumRuleCall();
1073 1533
1074 1534
1075 } 1535 }
@@ -1077,26 +1537,26 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1077 1537
1078 } 1538 }
1079 1539
1080 // InternalProblem.g:427:3: (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )? 1540 // InternalProblem.g:591:3: (otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) )?
1081 int alt12=2; 1541 int alt16=2;
1082 int LA12_0 = input.LA(1); 1542 int LA16_0 = input.LA(1);
1083 1543
1084 if ( (LA12_0==25) ) { 1544 if ( (LA16_0==26) ) {
1085 alt12=1; 1545 alt16=1;
1086 } 1546 }
1087 switch (alt12) { 1547 switch (alt16) {
1088 case 1 : 1548 case 1 :
1089 // InternalProblem.g:428:4: otherlv_7= 'opposite' ( ( ruleQualifiedName ) ) 1549 // InternalProblem.g:592:4: otherlv_7= 'opposite' ( ( ruleQualifiedName ) )
1090 { 1550 {
1091 otherlv_7=(Token)match(input,25,FOLLOW_8); 1551 otherlv_7=(Token)match(input,26,FOLLOW_8);
1092 1552
1093 newLeafNode(otherlv_7, grammarAccess.getReferenceDeclarationAccess().getOppositeKeyword_4_0()); 1553 newLeafNode(otherlv_7, grammarAccess.getReferenceDeclarationAccess().getOppositeKeyword_4_0());
1094 1554
1095 // InternalProblem.g:432:4: ( ( ruleQualifiedName ) ) 1555 // InternalProblem.g:596:4: ( ( ruleQualifiedName ) )
1096 // InternalProblem.g:433:5: ( ruleQualifiedName ) 1556 // InternalProblem.g:597:5: ( ruleQualifiedName )
1097 { 1557 {
1098 // InternalProblem.g:433:5: ( ruleQualifiedName ) 1558 // InternalProblem.g:597:5: ( ruleQualifiedName )
1099 // InternalProblem.g:434:6: ruleQualifiedName 1559 // InternalProblem.g:598:6: ruleQualifiedName
1100 { 1560 {
1101 1561
1102 if (current==null) { 1562 if (current==null) {
@@ -1149,7 +1609,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1149 1609
1150 1610
1151 // $ANTLR start "entryRulePredicateDefinition" 1611 // $ANTLR start "entryRulePredicateDefinition"
1152 // InternalProblem.g:453:1: entryRulePredicateDefinition returns [EObject current=null] : iv_rulePredicateDefinition= rulePredicateDefinition EOF ; 1612 // InternalProblem.g:617:1: entryRulePredicateDefinition returns [EObject current=null] : iv_rulePredicateDefinition= rulePredicateDefinition EOF ;
1153 public final EObject entryRulePredicateDefinition() throws RecognitionException { 1613 public final EObject entryRulePredicateDefinition() throws RecognitionException {
1154 EObject current = null; 1614 EObject current = null;
1155 1615
@@ -1157,8 +1617,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1157 1617
1158 1618
1159 try { 1619 try {
1160 // InternalProblem.g:453:60: (iv_rulePredicateDefinition= rulePredicateDefinition EOF ) 1620 // InternalProblem.g:617:60: (iv_rulePredicateDefinition= rulePredicateDefinition EOF )
1161 // InternalProblem.g:454:2: iv_rulePredicateDefinition= rulePredicateDefinition EOF 1621 // InternalProblem.g:618:2: iv_rulePredicateDefinition= rulePredicateDefinition EOF
1162 { 1622 {
1163 newCompositeNode(grammarAccess.getPredicateDefinitionRule()); 1623 newCompositeNode(grammarAccess.getPredicateDefinitionRule());
1164 pushFollow(FOLLOW_1); 1624 pushFollow(FOLLOW_1);
@@ -1185,20 +1645,21 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1185 1645
1186 1646
1187 // $ANTLR start "rulePredicateDefinition" 1647 // $ANTLR start "rulePredicateDefinition"
1188 // InternalProblem.g:460:1: rulePredicateDefinition returns [EObject current=null] : ( ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= RULE_ID ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? otherlv_8= ')' (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? otherlv_13= '.' ) ; 1648 // InternalProblem.g:624:1: rulePredicateDefinition returns [EObject current=null] : ( ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= ruleIdentifier ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? otherlv_8= ')' (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? otherlv_13= '.' ) ;
1189 public final EObject rulePredicateDefinition() throws RecognitionException { 1649 public final EObject rulePredicateDefinition() throws RecognitionException {
1190 EObject current = null; 1650 EObject current = null;
1191 1651
1192 Token lv_error_0_0=null; 1652 Token lv_error_0_0=null;
1193 Token otherlv_1=null; 1653 Token otherlv_1=null;
1194 Token otherlv_2=null; 1654 Token otherlv_2=null;
1195 Token lv_name_3_0=null;
1196 Token otherlv_4=null; 1655 Token otherlv_4=null;
1197 Token otherlv_6=null; 1656 Token otherlv_6=null;
1198 Token otherlv_8=null; 1657 Token otherlv_8=null;
1199 Token otherlv_9=null; 1658 Token otherlv_9=null;
1200 Token otherlv_11=null; 1659 Token otherlv_11=null;
1201 Token otherlv_13=null; 1660 Token otherlv_13=null;
1661 AntlrDatatypeRuleToken lv_name_3_0 = null;
1662
1202 EObject lv_parameters_5_0 = null; 1663 EObject lv_parameters_5_0 = null;
1203 1664
1204 EObject lv_parameters_7_0 = null; 1665 EObject lv_parameters_7_0 = null;
@@ -1212,42 +1673,42 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1212 enterRule(); 1673 enterRule();
1213 1674
1214 try { 1675 try {
1215 // InternalProblem.g:466:2: ( ( ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= RULE_ID ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? otherlv_8= ')' (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? otherlv_13= '.' ) ) 1676 // InternalProblem.g:630:2: ( ( ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= ruleIdentifier ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? otherlv_8= ')' (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? otherlv_13= '.' ) )
1216 // InternalProblem.g:467:2: ( ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= RULE_ID ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? otherlv_8= ')' (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? otherlv_13= '.' ) 1677 // InternalProblem.g:631:2: ( ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= ruleIdentifier ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? otherlv_8= ')' (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? otherlv_13= '.' )
1217 { 1678 {
1218 // InternalProblem.g:467:2: ( ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= RULE_ID ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? otherlv_8= ')' (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? otherlv_13= '.' ) 1679 // InternalProblem.g:631:2: ( ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= ruleIdentifier ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? otherlv_8= ')' (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? otherlv_13= '.' )
1219 // InternalProblem.g:468:3: ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= RULE_ID ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? otherlv_8= ')' (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? otherlv_13= '.' 1680 // InternalProblem.g:632:3: ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) ( (lv_name_3_0= ruleIdentifier ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? otherlv_8= ')' (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? otherlv_13= '.'
1220 { 1681 {
1221 // InternalProblem.g:468:3: ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' ) 1682 // InternalProblem.g:632:3: ( ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) | otherlv_2= 'pred' )
1222 int alt14=2; 1683 int alt18=2;
1223 int LA14_0 = input.LA(1); 1684 int LA18_0 = input.LA(1);
1224 1685
1225 if ( (LA14_0==26) ) { 1686 if ( (LA18_0==27) ) {
1226 alt14=1; 1687 alt18=1;
1227 } 1688 }
1228 else if ( (LA14_0==27) ) { 1689 else if ( (LA18_0==28) ) {
1229 alt14=2; 1690 alt18=2;
1230 } 1691 }
1231 else { 1692 else {
1232 NoViableAltException nvae = 1693 NoViableAltException nvae =
1233 new NoViableAltException("", 14, 0, input); 1694 new NoViableAltException("", 18, 0, input);
1234 1695
1235 throw nvae; 1696 throw nvae;
1236 } 1697 }
1237 switch (alt14) { 1698 switch (alt18) {
1238 case 1 : 1699 case 1 :
1239 // InternalProblem.g:469:4: ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) 1700 // InternalProblem.g:633:4: ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? )
1240 { 1701 {
1241 // InternalProblem.g:469:4: ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? ) 1702 // InternalProblem.g:633:4: ( ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? )
1242 // InternalProblem.g:470:5: ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )? 1703 // InternalProblem.g:634:5: ( (lv_error_0_0= 'error' ) ) (otherlv_1= 'pred' )?
1243 { 1704 {
1244 // InternalProblem.g:470:5: ( (lv_error_0_0= 'error' ) ) 1705 // InternalProblem.g:634:5: ( (lv_error_0_0= 'error' ) )
1245 // InternalProblem.g:471:6: (lv_error_0_0= 'error' ) 1706 // InternalProblem.g:635:6: (lv_error_0_0= 'error' )
1246 { 1707 {
1247 // InternalProblem.g:471:6: (lv_error_0_0= 'error' ) 1708 // InternalProblem.g:635:6: (lv_error_0_0= 'error' )
1248 // InternalProblem.g:472:7: lv_error_0_0= 'error' 1709 // InternalProblem.g:636:7: lv_error_0_0= 'error'
1249 { 1710 {
1250 lv_error_0_0=(Token)match(input,26,FOLLOW_16); 1711 lv_error_0_0=(Token)match(input,27,FOLLOW_20);
1251 1712
1252 newLeafNode(lv_error_0_0, grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_0_0()); 1713 newLeafNode(lv_error_0_0, grammarAccess.getPredicateDefinitionAccess().getErrorErrorKeyword_0_0_0_0());
1253 1714
@@ -1263,18 +1724,18 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1263 1724
1264 } 1725 }
1265 1726
1266 // InternalProblem.g:484:5: (otherlv_1= 'pred' )? 1727 // InternalProblem.g:648:5: (otherlv_1= 'pred' )?
1267 int alt13=2; 1728 int alt17=2;
1268 int LA13_0 = input.LA(1); 1729 int LA17_0 = input.LA(1);
1269 1730
1270 if ( (LA13_0==27) ) { 1731 if ( (LA17_0==28) ) {
1271 alt13=1; 1732 alt17=1;
1272 } 1733 }
1273 switch (alt13) { 1734 switch (alt17) {
1274 case 1 : 1735 case 1 :
1275 // InternalProblem.g:485:6: otherlv_1= 'pred' 1736 // InternalProblem.g:649:6: otherlv_1= 'pred'
1276 { 1737 {
1277 otherlv_1=(Token)match(input,27,FOLLOW_3); 1738 otherlv_1=(Token)match(input,28,FOLLOW_3);
1278 1739
1279 newLeafNode(otherlv_1, grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_0_1()); 1740 newLeafNode(otherlv_1, grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_0_1());
1280 1741
@@ -1291,9 +1752,9 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1291 } 1752 }
1292 break; 1753 break;
1293 case 2 : 1754 case 2 :
1294 // InternalProblem.g:492:4: otherlv_2= 'pred' 1755 // InternalProblem.g:656:4: otherlv_2= 'pred'
1295 { 1756 {
1296 otherlv_2=(Token)match(input,27,FOLLOW_3); 1757 otherlv_2=(Token)match(input,28,FOLLOW_3);
1297 1758
1298 newLeafNode(otherlv_2, grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_1()); 1759 newLeafNode(otherlv_2, grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_1());
1299 1760
@@ -1303,25 +1764,30 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1303 1764
1304 } 1765 }
1305 1766
1306 // InternalProblem.g:497:3: ( (lv_name_3_0= RULE_ID ) ) 1767 // InternalProblem.g:661:3: ( (lv_name_3_0= ruleIdentifier ) )
1307 // InternalProblem.g:498:4: (lv_name_3_0= RULE_ID ) 1768 // InternalProblem.g:662:4: (lv_name_3_0= ruleIdentifier )
1308 { 1769 {
1309 // InternalProblem.g:498:4: (lv_name_3_0= RULE_ID ) 1770 // InternalProblem.g:662:4: (lv_name_3_0= ruleIdentifier )
1310 // InternalProblem.g:499:5: lv_name_3_0= RULE_ID 1771 // InternalProblem.g:663:5: lv_name_3_0= ruleIdentifier
1311 { 1772 {
1312 lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_17);
1313 1773
1314 newLeafNode(lv_name_3_0, grammarAccess.getPredicateDefinitionAccess().getNameIDTerminalRuleCall_1_0()); 1774 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getNameIdentifierParserRuleCall_1_0());
1315 1775
1776 pushFollow(FOLLOW_21);
1777 lv_name_3_0=ruleIdentifier();
1778
1779 state._fsp--;
1780
1316 1781
1317 if (current==null) { 1782 if (current==null) {
1318 current = createModelElement(grammarAccess.getPredicateDefinitionRule()); 1783 current = createModelElementForParent(grammarAccess.getPredicateDefinitionRule());
1319 } 1784 }
1320 setWithLastConsumed( 1785 set(
1321 current, 1786 current,
1322 "name", 1787 "name",
1323 lv_name_3_0, 1788 lv_name_3_0,
1324 "org.eclipse.xtext.common.Terminals.ID"); 1789 "org.eclipse.viatra.solver.language.Problem.Identifier");
1790 afterParserOrEnumRuleCall();
1325 1791
1326 1792
1327 } 1793 }
@@ -1329,31 +1795,31 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1329 1795
1330 } 1796 }
1331 1797
1332 otherlv_4=(Token)match(input,28,FOLLOW_18); 1798 otherlv_4=(Token)match(input,29,FOLLOW_22);
1333 1799
1334 newLeafNode(otherlv_4, grammarAccess.getPredicateDefinitionAccess().getLeftParenthesisKeyword_2()); 1800 newLeafNode(otherlv_4, grammarAccess.getPredicateDefinitionAccess().getLeftParenthesisKeyword_2());
1335 1801
1336 // InternalProblem.g:519:3: ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )? 1802 // InternalProblem.g:684:3: ( ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* )?
1337 int alt16=2; 1803 int alt20=2;
1338 int LA16_0 = input.LA(1); 1804 int LA20_0 = input.LA(1);
1339 1805
1340 if ( (LA16_0==RULE_ID) ) { 1806 if ( (LA20_0==RULE_ID||LA20_0==RULE_QUOTED_ID||(LA20_0>=40 && LA20_0<=41)) ) {
1341 alt16=1; 1807 alt20=1;
1342 } 1808 }
1343 switch (alt16) { 1809 switch (alt20) {
1344 case 1 : 1810 case 1 :
1345 // InternalProblem.g:520:4: ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* 1811 // InternalProblem.g:685:4: ( (lv_parameters_5_0= ruleParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )*
1346 { 1812 {
1347 // InternalProblem.g:520:4: ( (lv_parameters_5_0= ruleParameter ) ) 1813 // InternalProblem.g:685:4: ( (lv_parameters_5_0= ruleParameter ) )
1348 // InternalProblem.g:521:5: (lv_parameters_5_0= ruleParameter ) 1814 // InternalProblem.g:686:5: (lv_parameters_5_0= ruleParameter )
1349 { 1815 {
1350 // InternalProblem.g:521:5: (lv_parameters_5_0= ruleParameter ) 1816 // InternalProblem.g:686:5: (lv_parameters_5_0= ruleParameter )
1351 // InternalProblem.g:522:6: lv_parameters_5_0= ruleParameter 1817 // InternalProblem.g:687:6: lv_parameters_5_0= ruleParameter
1352 { 1818 {
1353 1819
1354 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_0_0()); 1820 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_0_0());
1355 1821
1356 pushFollow(FOLLOW_19); 1822 pushFollow(FOLLOW_23);
1357 lv_parameters_5_0=ruleParameter(); 1823 lv_parameters_5_0=ruleParameter();
1358 1824
1359 state._fsp--; 1825 state._fsp--;
@@ -1375,35 +1841,35 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1375 1841
1376 } 1842 }
1377 1843
1378 // InternalProblem.g:539:4: (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )* 1844 // InternalProblem.g:704:4: (otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) )*
1379 loop15: 1845 loop19:
1380 do { 1846 do {
1381 int alt15=2; 1847 int alt19=2;
1382 int LA15_0 = input.LA(1); 1848 int LA19_0 = input.LA(1);
1383 1849
1384 if ( (LA15_0==17) ) { 1850 if ( (LA19_0==17) ) {
1385 alt15=1; 1851 alt19=1;
1386 } 1852 }
1387 1853
1388 1854
1389 switch (alt15) { 1855 switch (alt19) {
1390 case 1 : 1856 case 1 :
1391 // InternalProblem.g:540:5: otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) ) 1857 // InternalProblem.g:705:5: otherlv_6= ',' ( (lv_parameters_7_0= ruleParameter ) )
1392 { 1858 {
1393 otherlv_6=(Token)match(input,17,FOLLOW_3); 1859 otherlv_6=(Token)match(input,17,FOLLOW_8);
1394 1860
1395 newLeafNode(otherlv_6, grammarAccess.getPredicateDefinitionAccess().getCommaKeyword_3_1_0()); 1861 newLeafNode(otherlv_6, grammarAccess.getPredicateDefinitionAccess().getCommaKeyword_3_1_0());
1396 1862
1397 // InternalProblem.g:544:5: ( (lv_parameters_7_0= ruleParameter ) ) 1863 // InternalProblem.g:709:5: ( (lv_parameters_7_0= ruleParameter ) )
1398 // InternalProblem.g:545:6: (lv_parameters_7_0= ruleParameter ) 1864 // InternalProblem.g:710:6: (lv_parameters_7_0= ruleParameter )
1399 { 1865 {
1400 // InternalProblem.g:545:6: (lv_parameters_7_0= ruleParameter ) 1866 // InternalProblem.g:710:6: (lv_parameters_7_0= ruleParameter )
1401 // InternalProblem.g:546:7: lv_parameters_7_0= ruleParameter 1867 // InternalProblem.g:711:7: lv_parameters_7_0= ruleParameter
1402 { 1868 {
1403 1869
1404 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_1_1_0()); 1870 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getParametersParameterParserRuleCall_3_1_1_0());
1405 1871
1406 pushFollow(FOLLOW_19); 1872 pushFollow(FOLLOW_23);
1407 lv_parameters_7_0=ruleParameter(); 1873 lv_parameters_7_0=ruleParameter();
1408 1874
1409 state._fsp--; 1875 state._fsp--;
@@ -1430,7 +1896,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1430 break; 1896 break;
1431 1897
1432 default : 1898 default :
1433 break loop15; 1899 break loop19;
1434 } 1900 }
1435 } while (true); 1901 } while (true);
1436 1902
@@ -1440,35 +1906,35 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1440 1906
1441 } 1907 }
1442 1908
1443 otherlv_8=(Token)match(input,29,FOLLOW_20); 1909 otherlv_8=(Token)match(input,30,FOLLOW_24);
1444 1910
1445 newLeafNode(otherlv_8, grammarAccess.getPredicateDefinitionAccess().getRightParenthesisKeyword_4()); 1911 newLeafNode(otherlv_8, grammarAccess.getPredicateDefinitionAccess().getRightParenthesisKeyword_4());
1446 1912
1447 // InternalProblem.g:569:3: (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )? 1913 // InternalProblem.g:734:3: (otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* )?
1448 int alt18=2; 1914 int alt22=2;
1449 int LA18_0 = input.LA(1); 1915 int LA22_0 = input.LA(1);
1450 1916
1451 if ( (LA18_0==30) ) { 1917 if ( (LA22_0==31) ) {
1452 alt18=1; 1918 alt22=1;
1453 } 1919 }
1454 switch (alt18) { 1920 switch (alt22) {
1455 case 1 : 1921 case 1 :
1456 // InternalProblem.g:570:4: otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* 1922 // InternalProblem.g:735:4: otherlv_9= ':-' ( (lv_bodies_10_0= ruleConjunction ) ) (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )*
1457 { 1923 {
1458 otherlv_9=(Token)match(input,30,FOLLOW_21); 1924 otherlv_9=(Token)match(input,31,FOLLOW_25);
1459 1925
1460 newLeafNode(otherlv_9, grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_5_0()); 1926 newLeafNode(otherlv_9, grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_5_0());
1461 1927
1462 // InternalProblem.g:574:4: ( (lv_bodies_10_0= ruleConjunction ) ) 1928 // InternalProblem.g:739:4: ( (lv_bodies_10_0= ruleConjunction ) )
1463 // InternalProblem.g:575:5: (lv_bodies_10_0= ruleConjunction ) 1929 // InternalProblem.g:740:5: (lv_bodies_10_0= ruleConjunction )
1464 { 1930 {
1465 // InternalProblem.g:575:5: (lv_bodies_10_0= ruleConjunction ) 1931 // InternalProblem.g:740:5: (lv_bodies_10_0= ruleConjunction )
1466 // InternalProblem.g:576:6: lv_bodies_10_0= ruleConjunction 1932 // InternalProblem.g:741:6: lv_bodies_10_0= ruleConjunction
1467 { 1933 {
1468 1934
1469 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_1_0()); 1935 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_1_0());
1470 1936
1471 pushFollow(FOLLOW_22); 1937 pushFollow(FOLLOW_26);
1472 lv_bodies_10_0=ruleConjunction(); 1938 lv_bodies_10_0=ruleConjunction();
1473 1939
1474 state._fsp--; 1940 state._fsp--;
@@ -1490,35 +1956,35 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1490 1956
1491 } 1957 }
1492 1958
1493 // InternalProblem.g:593:4: (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )* 1959 // InternalProblem.g:758:4: (otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) )*
1494 loop17: 1960 loop21:
1495 do { 1961 do {
1496 int alt17=2; 1962 int alt21=2;
1497 int LA17_0 = input.LA(1); 1963 int LA21_0 = input.LA(1);
1498 1964
1499 if ( (LA17_0==19) ) { 1965 if ( (LA21_0==19) ) {
1500 alt17=1; 1966 alt21=1;
1501 } 1967 }
1502 1968
1503 1969
1504 switch (alt17) { 1970 switch (alt21) {
1505 case 1 : 1971 case 1 :
1506 // InternalProblem.g:594:5: otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) ) 1972 // InternalProblem.g:759:5: otherlv_11= ';' ( (lv_bodies_12_0= ruleConjunction ) )
1507 { 1973 {
1508 otherlv_11=(Token)match(input,19,FOLLOW_21); 1974 otherlv_11=(Token)match(input,19,FOLLOW_25);
1509 1975
1510 newLeafNode(otherlv_11, grammarAccess.getPredicateDefinitionAccess().getSemicolonKeyword_5_2_0()); 1976 newLeafNode(otherlv_11, grammarAccess.getPredicateDefinitionAccess().getSemicolonKeyword_5_2_0());
1511 1977
1512 // InternalProblem.g:598:5: ( (lv_bodies_12_0= ruleConjunction ) ) 1978 // InternalProblem.g:763:5: ( (lv_bodies_12_0= ruleConjunction ) )
1513 // InternalProblem.g:599:6: (lv_bodies_12_0= ruleConjunction ) 1979 // InternalProblem.g:764:6: (lv_bodies_12_0= ruleConjunction )
1514 { 1980 {
1515 // InternalProblem.g:599:6: (lv_bodies_12_0= ruleConjunction ) 1981 // InternalProblem.g:764:6: (lv_bodies_12_0= ruleConjunction )
1516 // InternalProblem.g:600:7: lv_bodies_12_0= ruleConjunction 1982 // InternalProblem.g:765:7: lv_bodies_12_0= ruleConjunction
1517 { 1983 {
1518 1984
1519 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_2_1_0()); 1985 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodiesConjunctionParserRuleCall_5_2_1_0());
1520 1986
1521 pushFollow(FOLLOW_22); 1987 pushFollow(FOLLOW_26);
1522 lv_bodies_12_0=ruleConjunction(); 1988 lv_bodies_12_0=ruleConjunction();
1523 1989
1524 state._fsp--; 1990 state._fsp--;
@@ -1545,7 +2011,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1545 break; 2011 break;
1546 2012
1547 default : 2013 default :
1548 break loop17; 2014 break loop21;
1549 } 2015 }
1550 } while (true); 2016 } while (true);
1551 2017
@@ -1582,7 +2048,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1582 2048
1583 2049
1584 // $ANTLR start "entryRuleParameter" 2050 // $ANTLR start "entryRuleParameter"
1585 // InternalProblem.g:627:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ; 2051 // InternalProblem.g:792:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ;
1586 public final EObject entryRuleParameter() throws RecognitionException { 2052 public final EObject entryRuleParameter() throws RecognitionException {
1587 EObject current = null; 2053 EObject current = null;
1588 2054
@@ -1590,8 +2056,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1590 2056
1591 2057
1592 try { 2058 try {
1593 // InternalProblem.g:627:50: (iv_ruleParameter= ruleParameter EOF ) 2059 // InternalProblem.g:792:50: (iv_ruleParameter= ruleParameter EOF )
1594 // InternalProblem.g:628:2: iv_ruleParameter= ruleParameter EOF 2060 // InternalProblem.g:793:2: iv_ruleParameter= ruleParameter EOF
1595 { 2061 {
1596 newCompositeNode(grammarAccess.getParameterRule()); 2062 newCompositeNode(grammarAccess.getParameterRule());
1597 pushFollow(FOLLOW_1); 2063 pushFollow(FOLLOW_1);
@@ -1618,63 +2084,116 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1618 2084
1619 2085
1620 // $ANTLR start "ruleParameter" 2086 // $ANTLR start "ruleParameter"
1621 // InternalProblem.g:634:1: ruleParameter returns [EObject current=null] : ( ( (otherlv_0= RULE_ID ) ) ( (lv_name_1_0= RULE_ID ) ) ) ; 2087 // InternalProblem.g:799:1: ruleParameter returns [EObject current=null] : ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= ruleIdentifier ) ) ) ;
1622 public final EObject ruleParameter() throws RecognitionException { 2088 public final EObject ruleParameter() throws RecognitionException {
1623 EObject current = null; 2089 EObject current = null;
1624 2090
1625 Token otherlv_0=null; 2091 AntlrDatatypeRuleToken lv_name_1_0 = null;
1626 Token lv_name_1_0=null; 2092
1627 2093
1628 2094
1629 enterRule(); 2095 enterRule();
1630 2096
1631 try { 2097 try {
1632 // InternalProblem.g:640:2: ( ( ( (otherlv_0= RULE_ID ) ) ( (lv_name_1_0= RULE_ID ) ) ) ) 2098 // InternalProblem.g:805:2: ( ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= ruleIdentifier ) ) ) )
1633 // InternalProblem.g:641:2: ( ( (otherlv_0= RULE_ID ) ) ( (lv_name_1_0= RULE_ID ) ) ) 2099 // InternalProblem.g:806:2: ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= ruleIdentifier ) ) )
1634 {
1635 // InternalProblem.g:641:2: ( ( (otherlv_0= RULE_ID ) ) ( (lv_name_1_0= RULE_ID ) ) )
1636 // InternalProblem.g:642:3: ( (otherlv_0= RULE_ID ) ) ( (lv_name_1_0= RULE_ID ) )
1637 {
1638 // InternalProblem.g:642:3: ( (otherlv_0= RULE_ID ) )
1639 // InternalProblem.g:643:4: (otherlv_0= RULE_ID )
1640 { 2100 {
1641 // InternalProblem.g:643:4: (otherlv_0= RULE_ID ) 2101 // InternalProblem.g:806:2: ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= ruleIdentifier ) ) )
1642 // InternalProblem.g:644:5: otherlv_0= RULE_ID 2102 // InternalProblem.g:807:3: ( ( ruleQualifiedName ) )? ( (lv_name_1_0= ruleIdentifier ) )
1643 { 2103 {
2104 // InternalProblem.g:807:3: ( ( ruleQualifiedName ) )?
2105 int alt23=2;
2106 switch ( input.LA(1) ) {
2107 case RULE_QUOTED_ID:
2108 {
2109 alt23=1;
2110 }
2111 break;
2112 case RULE_ID:
2113 {
2114 int LA23_2 = input.LA(2);
1644 2115
1645 if (current==null) { 2116 if ( (LA23_2==RULE_ID||LA23_2==34||(LA23_2>=40 && LA23_2<=41)) ) {
1646 current = createModelElement(grammarAccess.getParameterRule()); 2117 alt23=1;
1647 } 2118 }
1648 2119 }
1649 otherlv_0=(Token)match(input,RULE_ID,FOLLOW_3); 2120 break;
2121 case 40:
2122 {
2123 int LA23_3 = input.LA(2);
1650 2124
1651 newLeafNode(otherlv_0, grammarAccess.getParameterAccess().getParameterTypeClassDeclarationCrossReference_0_0()); 2125 if ( (LA23_3==RULE_ID||LA23_3==34||(LA23_3>=40 && LA23_3<=41)) ) {
1652 2126 alt23=1;
2127 }
2128 }
2129 break;
2130 case 41:
2131 {
2132 int LA23_4 = input.LA(2);
1653 2133
2134 if ( (LA23_4==RULE_ID||LA23_4==34||(LA23_4>=40 && LA23_4<=41)) ) {
2135 alt23=1;
2136 }
2137 }
2138 break;
1654 } 2139 }
1655 2140
2141 switch (alt23) {
2142 case 1 :
2143 // InternalProblem.g:808:4: ( ruleQualifiedName )
2144 {
2145 // InternalProblem.g:808:4: ( ruleQualifiedName )
2146 // InternalProblem.g:809:5: ruleQualifiedName
2147 {
2148
2149 if (current==null) {
2150 current = createModelElement(grammarAccess.getParameterRule());
2151 }
2152
2153
2154 newCompositeNode(grammarAccess.getParameterAccess().getParameterTypeRelationCrossReference_0_0());
2155
2156 pushFollow(FOLLOW_3);
2157 ruleQualifiedName();
2158
2159 state._fsp--;
2160
2161
2162 afterParserOrEnumRuleCall();
2163
2164
2165 }
2166
2167
2168 }
2169 break;
1656 2170
1657 } 2171 }
1658 2172
1659 // InternalProblem.g:655:3: ( (lv_name_1_0= RULE_ID ) ) 2173 // InternalProblem.g:823:3: ( (lv_name_1_0= ruleIdentifier ) )
1660 // InternalProblem.g:656:4: (lv_name_1_0= RULE_ID ) 2174 // InternalProblem.g:824:4: (lv_name_1_0= ruleIdentifier )
1661 { 2175 {
1662 // InternalProblem.g:656:4: (lv_name_1_0= RULE_ID ) 2176 // InternalProblem.g:824:4: (lv_name_1_0= ruleIdentifier )
1663 // InternalProblem.g:657:5: lv_name_1_0= RULE_ID 2177 // InternalProblem.g:825:5: lv_name_1_0= ruleIdentifier
1664 { 2178 {
1665 lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_2);
1666 2179
1667 newLeafNode(lv_name_1_0, grammarAccess.getParameterAccess().getNameIDTerminalRuleCall_1_0()); 2180 newCompositeNode(grammarAccess.getParameterAccess().getNameIdentifierParserRuleCall_1_0());
1668 2181
2182 pushFollow(FOLLOW_2);
2183 lv_name_1_0=ruleIdentifier();
2184
2185 state._fsp--;
2186
1669 2187
1670 if (current==null) { 2188 if (current==null) {
1671 current = createModelElement(grammarAccess.getParameterRule()); 2189 current = createModelElementForParent(grammarAccess.getParameterRule());
1672 } 2190 }
1673 setWithLastConsumed( 2191 set(
1674 current, 2192 current,
1675 "name", 2193 "name",
1676 lv_name_1_0, 2194 lv_name_1_0,
1677 "org.eclipse.xtext.common.Terminals.ID"); 2195 "org.eclipse.viatra.solver.language.Problem.Identifier");
2196 afterParserOrEnumRuleCall();
1678 2197
1679 2198
1680 } 2199 }
@@ -1705,7 +2224,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1705 2224
1706 2225
1707 // $ANTLR start "entryRuleConjunction" 2226 // $ANTLR start "entryRuleConjunction"
1708 // InternalProblem.g:677:1: entryRuleConjunction returns [EObject current=null] : iv_ruleConjunction= ruleConjunction EOF ; 2227 // InternalProblem.g:846:1: entryRuleConjunction returns [EObject current=null] : iv_ruleConjunction= ruleConjunction EOF ;
1709 public final EObject entryRuleConjunction() throws RecognitionException { 2228 public final EObject entryRuleConjunction() throws RecognitionException {
1710 EObject current = null; 2229 EObject current = null;
1711 2230
@@ -1713,8 +2232,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1713 2232
1714 2233
1715 try { 2234 try {
1716 // InternalProblem.g:677:52: (iv_ruleConjunction= ruleConjunction EOF ) 2235 // InternalProblem.g:846:52: (iv_ruleConjunction= ruleConjunction EOF )
1717 // InternalProblem.g:678:2: iv_ruleConjunction= ruleConjunction EOF 2236 // InternalProblem.g:847:2: iv_ruleConjunction= ruleConjunction EOF
1718 { 2237 {
1719 newCompositeNode(grammarAccess.getConjunctionRule()); 2238 newCompositeNode(grammarAccess.getConjunctionRule());
1720 pushFollow(FOLLOW_1); 2239 pushFollow(FOLLOW_1);
@@ -1741,7 +2260,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1741 2260
1742 2261
1743 // $ANTLR start "ruleConjunction" 2262 // $ANTLR start "ruleConjunction"
1744 // InternalProblem.g:684:1: ruleConjunction returns [EObject current=null] : ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* ) ; 2263 // InternalProblem.g:853:1: ruleConjunction returns [EObject current=null] : ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* ) ;
1745 public final EObject ruleConjunction() throws RecognitionException { 2264 public final EObject ruleConjunction() throws RecognitionException {
1746 EObject current = null; 2265 EObject current = null;
1747 2266
@@ -1755,22 +2274,22 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1755 enterRule(); 2274 enterRule();
1756 2275
1757 try { 2276 try {
1758 // InternalProblem.g:690:2: ( ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* ) ) 2277 // InternalProblem.g:859:2: ( ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* ) )
1759 // InternalProblem.g:691:2: ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* ) 2278 // InternalProblem.g:860:2: ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* )
1760 { 2279 {
1761 // InternalProblem.g:691:2: ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* ) 2280 // InternalProblem.g:860:2: ( ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* )
1762 // InternalProblem.g:692:3: ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* 2281 // InternalProblem.g:861:3: ( (lv_literals_0_0= ruleLiteral ) ) (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )*
1763 { 2282 {
1764 // InternalProblem.g:692:3: ( (lv_literals_0_0= ruleLiteral ) ) 2283 // InternalProblem.g:861:3: ( (lv_literals_0_0= ruleLiteral ) )
1765 // InternalProblem.g:693:4: (lv_literals_0_0= ruleLiteral ) 2284 // InternalProblem.g:862:4: (lv_literals_0_0= ruleLiteral )
1766 { 2285 {
1767 // InternalProblem.g:693:4: (lv_literals_0_0= ruleLiteral ) 2286 // InternalProblem.g:862:4: (lv_literals_0_0= ruleLiteral )
1768 // InternalProblem.g:694:5: lv_literals_0_0= ruleLiteral 2287 // InternalProblem.g:863:5: lv_literals_0_0= ruleLiteral
1769 { 2288 {
1770 2289
1771 newCompositeNode(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_0_0()); 2290 newCompositeNode(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_0_0());
1772 2291
1773 pushFollow(FOLLOW_23); 2292 pushFollow(FOLLOW_27);
1774 lv_literals_0_0=ruleLiteral(); 2293 lv_literals_0_0=ruleLiteral();
1775 2294
1776 state._fsp--; 2295 state._fsp--;
@@ -1792,35 +2311,35 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1792 2311
1793 } 2312 }
1794 2313
1795 // InternalProblem.g:711:3: (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )* 2314 // InternalProblem.g:880:3: (otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) )*
1796 loop19: 2315 loop24:
1797 do { 2316 do {
1798 int alt19=2; 2317 int alt24=2;
1799 int LA19_0 = input.LA(1); 2318 int LA24_0 = input.LA(1);
1800 2319
1801 if ( (LA19_0==17) ) { 2320 if ( (LA24_0==17) ) {
1802 alt19=1; 2321 alt24=1;
1803 } 2322 }
1804 2323
1805 2324
1806 switch (alt19) { 2325 switch (alt24) {
1807 case 1 : 2326 case 1 :
1808 // InternalProblem.g:712:4: otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) ) 2327 // InternalProblem.g:881:4: otherlv_1= ',' ( (lv_literals_2_0= ruleLiteral ) )
1809 { 2328 {
1810 otherlv_1=(Token)match(input,17,FOLLOW_21); 2329 otherlv_1=(Token)match(input,17,FOLLOW_25);
1811 2330
1812 newLeafNode(otherlv_1, grammarAccess.getConjunctionAccess().getCommaKeyword_1_0()); 2331 newLeafNode(otherlv_1, grammarAccess.getConjunctionAccess().getCommaKeyword_1_0());
1813 2332
1814 // InternalProblem.g:716:4: ( (lv_literals_2_0= ruleLiteral ) ) 2333 // InternalProblem.g:885:4: ( (lv_literals_2_0= ruleLiteral ) )
1815 // InternalProblem.g:717:5: (lv_literals_2_0= ruleLiteral ) 2334 // InternalProblem.g:886:5: (lv_literals_2_0= ruleLiteral )
1816 { 2335 {
1817 // InternalProblem.g:717:5: (lv_literals_2_0= ruleLiteral ) 2336 // InternalProblem.g:886:5: (lv_literals_2_0= ruleLiteral )
1818 // InternalProblem.g:718:6: lv_literals_2_0= ruleLiteral 2337 // InternalProblem.g:887:6: lv_literals_2_0= ruleLiteral
1819 { 2338 {
1820 2339
1821 newCompositeNode(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_1_1_0()); 2340 newCompositeNode(grammarAccess.getConjunctionAccess().getLiteralsLiteralParserRuleCall_1_1_0());
1822 2341
1823 pushFollow(FOLLOW_23); 2342 pushFollow(FOLLOW_27);
1824 lv_literals_2_0=ruleLiteral(); 2343 lv_literals_2_0=ruleLiteral();
1825 2344
1826 state._fsp--; 2345 state._fsp--;
@@ -1847,7 +2366,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1847 break; 2366 break;
1848 2367
1849 default : 2368 default :
1850 break loop19; 2369 break loop24;
1851 } 2370 }
1852 } while (true); 2371 } while (true);
1853 2372
@@ -1874,7 +2393,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1874 2393
1875 2394
1876 // $ANTLR start "entryRuleLiteral" 2395 // $ANTLR start "entryRuleLiteral"
1877 // InternalProblem.g:740:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ; 2396 // InternalProblem.g:909:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ;
1878 public final EObject entryRuleLiteral() throws RecognitionException { 2397 public final EObject entryRuleLiteral() throws RecognitionException {
1879 EObject current = null; 2398 EObject current = null;
1880 2399
@@ -1882,8 +2401,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1882 2401
1883 2402
1884 try { 2403 try {
1885 // InternalProblem.g:740:48: (iv_ruleLiteral= ruleLiteral EOF ) 2404 // InternalProblem.g:909:48: (iv_ruleLiteral= ruleLiteral EOF )
1886 // InternalProblem.g:741:2: iv_ruleLiteral= ruleLiteral EOF 2405 // InternalProblem.g:910:2: iv_ruleLiteral= ruleLiteral EOF
1887 { 2406 {
1888 newCompositeNode(grammarAccess.getLiteralRule()); 2407 newCompositeNode(grammarAccess.getLiteralRule());
1889 pushFollow(FOLLOW_1); 2408 pushFollow(FOLLOW_1);
@@ -1910,7 +2429,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1910 2429
1911 2430
1912 // $ANTLR start "ruleLiteral" 2431 // $ANTLR start "ruleLiteral"
1913 // InternalProblem.g:747:1: ruleLiteral returns [EObject current=null] : (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral ) ; 2432 // InternalProblem.g:916:1: ruleLiteral returns [EObject current=null] : (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral ) ;
1914 public final EObject ruleLiteral() throws RecognitionException { 2433 public final EObject ruleLiteral() throws RecognitionException {
1915 EObject current = null; 2434 EObject current = null;
1916 2435
@@ -1923,28 +2442,28 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1923 enterRule(); 2442 enterRule();
1924 2443
1925 try { 2444 try {
1926 // InternalProblem.g:753:2: ( (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral ) ) 2445 // InternalProblem.g:922:2: ( (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral ) )
1927 // InternalProblem.g:754:2: (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral ) 2446 // InternalProblem.g:923:2: (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral )
1928 { 2447 {
1929 // InternalProblem.g:754:2: (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral ) 2448 // InternalProblem.g:923:2: (this_Atom_0= ruleAtom | this_NegativeLiteral_1= ruleNegativeLiteral )
1930 int alt20=2; 2449 int alt25=2;
1931 int LA20_0 = input.LA(1); 2450 int LA25_0 = input.LA(1);
1932 2451
1933 if ( (LA20_0==RULE_ID||LA20_0==RULE_QUOTED_ID) ) { 2452 if ( (LA25_0==RULE_ID||LA25_0==RULE_QUOTED_ID||(LA25_0>=40 && LA25_0<=41)) ) {
1934 alt20=1; 2453 alt25=1;
1935 } 2454 }
1936 else if ( (LA20_0==31) ) { 2455 else if ( (LA25_0==32) ) {
1937 alt20=2; 2456 alt25=2;
1938 } 2457 }
1939 else { 2458 else {
1940 NoViableAltException nvae = 2459 NoViableAltException nvae =
1941 new NoViableAltException("", 20, 0, input); 2460 new NoViableAltException("", 25, 0, input);
1942 2461
1943 throw nvae; 2462 throw nvae;
1944 } 2463 }
1945 switch (alt20) { 2464 switch (alt25) {
1946 case 1 : 2465 case 1 :
1947 // InternalProblem.g:755:3: this_Atom_0= ruleAtom 2466 // InternalProblem.g:924:3: this_Atom_0= ruleAtom
1948 { 2467 {
1949 2468
1950 newCompositeNode(grammarAccess.getLiteralAccess().getAtomParserRuleCall_0()); 2469 newCompositeNode(grammarAccess.getLiteralAccess().getAtomParserRuleCall_0());
@@ -1962,7 +2481,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
1962 } 2481 }
1963 break; 2482 break;
1964 case 2 : 2483 case 2 :
1965 // InternalProblem.g:764:3: this_NegativeLiteral_1= ruleNegativeLiteral 2484 // InternalProblem.g:933:3: this_NegativeLiteral_1= ruleNegativeLiteral
1966 { 2485 {
1967 2486
1968 newCompositeNode(grammarAccess.getLiteralAccess().getNegativeLiteralParserRuleCall_1()); 2487 newCompositeNode(grammarAccess.getLiteralAccess().getNegativeLiteralParserRuleCall_1());
@@ -2002,7 +2521,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2002 2521
2003 2522
2004 // $ANTLR start "entryRuleNegativeLiteral" 2523 // $ANTLR start "entryRuleNegativeLiteral"
2005 // InternalProblem.g:776:1: entryRuleNegativeLiteral returns [EObject current=null] : iv_ruleNegativeLiteral= ruleNegativeLiteral EOF ; 2524 // InternalProblem.g:945:1: entryRuleNegativeLiteral returns [EObject current=null] : iv_ruleNegativeLiteral= ruleNegativeLiteral EOF ;
2006 public final EObject entryRuleNegativeLiteral() throws RecognitionException { 2525 public final EObject entryRuleNegativeLiteral() throws RecognitionException {
2007 EObject current = null; 2526 EObject current = null;
2008 2527
@@ -2010,8 +2529,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2010 2529
2011 2530
2012 try { 2531 try {
2013 // InternalProblem.g:776:56: (iv_ruleNegativeLiteral= ruleNegativeLiteral EOF ) 2532 // InternalProblem.g:945:56: (iv_ruleNegativeLiteral= ruleNegativeLiteral EOF )
2014 // InternalProblem.g:777:2: iv_ruleNegativeLiteral= ruleNegativeLiteral EOF 2533 // InternalProblem.g:946:2: iv_ruleNegativeLiteral= ruleNegativeLiteral EOF
2015 { 2534 {
2016 newCompositeNode(grammarAccess.getNegativeLiteralRule()); 2535 newCompositeNode(grammarAccess.getNegativeLiteralRule());
2017 pushFollow(FOLLOW_1); 2536 pushFollow(FOLLOW_1);
@@ -2038,7 +2557,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2038 2557
2039 2558
2040 // $ANTLR start "ruleNegativeLiteral" 2559 // $ANTLR start "ruleNegativeLiteral"
2041 // InternalProblem.g:783:1: ruleNegativeLiteral returns [EObject current=null] : (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) ) ; 2560 // InternalProblem.g:952:1: ruleNegativeLiteral returns [EObject current=null] : (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) ) ;
2042 public final EObject ruleNegativeLiteral() throws RecognitionException { 2561 public final EObject ruleNegativeLiteral() throws RecognitionException {
2043 EObject current = null; 2562 EObject current = null;
2044 2563
@@ -2050,21 +2569,21 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2050 enterRule(); 2569 enterRule();
2051 2570
2052 try { 2571 try {
2053 // InternalProblem.g:789:2: ( (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) ) ) 2572 // InternalProblem.g:958:2: ( (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) ) )
2054 // InternalProblem.g:790:2: (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) ) 2573 // InternalProblem.g:959:2: (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) )
2055 { 2574 {
2056 // InternalProblem.g:790:2: (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) ) 2575 // InternalProblem.g:959:2: (otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) )
2057 // InternalProblem.g:791:3: otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) ) 2576 // InternalProblem.g:960:3: otherlv_0= '!' ( (lv_atom_1_0= ruleAtom ) )
2058 { 2577 {
2059 otherlv_0=(Token)match(input,31,FOLLOW_8); 2578 otherlv_0=(Token)match(input,32,FOLLOW_8);
2060 2579
2061 newLeafNode(otherlv_0, grammarAccess.getNegativeLiteralAccess().getExclamationMarkKeyword_0()); 2580 newLeafNode(otherlv_0, grammarAccess.getNegativeLiteralAccess().getExclamationMarkKeyword_0());
2062 2581
2063 // InternalProblem.g:795:3: ( (lv_atom_1_0= ruleAtom ) ) 2582 // InternalProblem.g:964:3: ( (lv_atom_1_0= ruleAtom ) )
2064 // InternalProblem.g:796:4: (lv_atom_1_0= ruleAtom ) 2583 // InternalProblem.g:965:4: (lv_atom_1_0= ruleAtom )
2065 { 2584 {
2066 // InternalProblem.g:796:4: (lv_atom_1_0= ruleAtom ) 2585 // InternalProblem.g:965:4: (lv_atom_1_0= ruleAtom )
2067 // InternalProblem.g:797:5: lv_atom_1_0= ruleAtom 2586 // InternalProblem.g:966:5: lv_atom_1_0= ruleAtom
2068 { 2587 {
2069 2588
2070 newCompositeNode(grammarAccess.getNegativeLiteralAccess().getAtomAtomParserRuleCall_1_0()); 2589 newCompositeNode(grammarAccess.getNegativeLiteralAccess().getAtomAtomParserRuleCall_1_0());
@@ -2114,7 +2633,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2114 2633
2115 2634
2116 // $ANTLR start "entryRuleAtom" 2635 // $ANTLR start "entryRuleAtom"
2117 // InternalProblem.g:818:1: entryRuleAtom returns [EObject current=null] : iv_ruleAtom= ruleAtom EOF ; 2636 // InternalProblem.g:987:1: entryRuleAtom returns [EObject current=null] : iv_ruleAtom= ruleAtom EOF ;
2118 public final EObject entryRuleAtom() throws RecognitionException { 2637 public final EObject entryRuleAtom() throws RecognitionException {
2119 EObject current = null; 2638 EObject current = null;
2120 2639
@@ -2122,8 +2641,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2122 2641
2123 2642
2124 try { 2643 try {
2125 // InternalProblem.g:818:45: (iv_ruleAtom= ruleAtom EOF ) 2644 // InternalProblem.g:987:45: (iv_ruleAtom= ruleAtom EOF )
2126 // InternalProblem.g:819:2: iv_ruleAtom= ruleAtom EOF 2645 // InternalProblem.g:988:2: iv_ruleAtom= ruleAtom EOF
2127 { 2646 {
2128 newCompositeNode(grammarAccess.getAtomRule()); 2647 newCompositeNode(grammarAccess.getAtomRule());
2129 pushFollow(FOLLOW_1); 2648 pushFollow(FOLLOW_1);
@@ -2150,7 +2669,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2150 2669
2151 2670
2152 // $ANTLR start "ruleAtom" 2671 // $ANTLR start "ruleAtom"
2153 // InternalProblem.g:825:1: ruleAtom returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )? otherlv_6= ')' ) ; 2672 // InternalProblem.g:994:1: ruleAtom returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )? otherlv_6= ')' ) ;
2154 public final EObject ruleAtom() throws RecognitionException { 2673 public final EObject ruleAtom() throws RecognitionException {
2155 EObject current = null; 2674 EObject current = null;
2156 2675
@@ -2167,17 +2686,17 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2167 enterRule(); 2686 enterRule();
2168 2687
2169 try { 2688 try {
2170 // InternalProblem.g:831:2: ( ( ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )? otherlv_6= ')' ) ) 2689 // InternalProblem.g:1000:2: ( ( ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )? otherlv_6= ')' ) )
2171 // InternalProblem.g:832:2: ( ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )? otherlv_6= ')' ) 2690 // InternalProblem.g:1001:2: ( ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )? otherlv_6= ')' )
2172 { 2691 {
2173 // InternalProblem.g:832:2: ( ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )? otherlv_6= ')' ) 2692 // InternalProblem.g:1001:2: ( ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )? otherlv_6= ')' )
2174 // InternalProblem.g:833:3: ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )? otherlv_6= ')' 2693 // InternalProblem.g:1002:3: ( ( ruleQualifiedName ) ) ( (lv_transitiveClosure_1_0= '+' ) )? otherlv_2= '(' ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )? otherlv_6= ')'
2175 { 2694 {
2176 // InternalProblem.g:833:3: ( ( ruleQualifiedName ) ) 2695 // InternalProblem.g:1002:3: ( ( ruleQualifiedName ) )
2177 // InternalProblem.g:834:4: ( ruleQualifiedName ) 2696 // InternalProblem.g:1003:4: ( ruleQualifiedName )
2178 { 2697 {
2179 // InternalProblem.g:834:4: ( ruleQualifiedName ) 2698 // InternalProblem.g:1003:4: ( ruleQualifiedName )
2180 // InternalProblem.g:835:5: ruleQualifiedName 2699 // InternalProblem.g:1004:5: ruleQualifiedName
2181 { 2700 {
2182 2701
2183 if (current==null) { 2702 if (current==null) {
@@ -2187,7 +2706,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2187 2706
2188 newCompositeNode(grammarAccess.getAtomAccess().getRelationRelationCrossReference_0_0()); 2707 newCompositeNode(grammarAccess.getAtomAccess().getRelationRelationCrossReference_0_0());
2189 2708
2190 pushFollow(FOLLOW_24); 2709 pushFollow(FOLLOW_28);
2191 ruleQualifiedName(); 2710 ruleQualifiedName();
2192 2711
2193 state._fsp--; 2712 state._fsp--;
@@ -2201,21 +2720,21 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2201 2720
2202 } 2721 }
2203 2722
2204 // InternalProblem.g:849:3: ( (lv_transitiveClosure_1_0= '+' ) )? 2723 // InternalProblem.g:1018:3: ( (lv_transitiveClosure_1_0= '+' ) )?
2205 int alt21=2; 2724 int alt26=2;
2206 int LA21_0 = input.LA(1); 2725 int LA26_0 = input.LA(1);
2207 2726
2208 if ( (LA21_0==32) ) { 2727 if ( (LA26_0==33) ) {
2209 alt21=1; 2728 alt26=1;
2210 } 2729 }
2211 switch (alt21) { 2730 switch (alt26) {
2212 case 1 : 2731 case 1 :
2213 // InternalProblem.g:850:4: (lv_transitiveClosure_1_0= '+' ) 2732 // InternalProblem.g:1019:4: (lv_transitiveClosure_1_0= '+' )
2214 { 2733 {
2215 // InternalProblem.g:850:4: (lv_transitiveClosure_1_0= '+' ) 2734 // InternalProblem.g:1019:4: (lv_transitiveClosure_1_0= '+' )
2216 // InternalProblem.g:851:5: lv_transitiveClosure_1_0= '+' 2735 // InternalProblem.g:1020:5: lv_transitiveClosure_1_0= '+'
2217 { 2736 {
2218 lv_transitiveClosure_1_0=(Token)match(input,32,FOLLOW_17); 2737 lv_transitiveClosure_1_0=(Token)match(input,33,FOLLOW_21);
2219 2738
2220 newLeafNode(lv_transitiveClosure_1_0, grammarAccess.getAtomAccess().getTransitiveClosurePlusSignKeyword_1_0()); 2739 newLeafNode(lv_transitiveClosure_1_0, grammarAccess.getAtomAccess().getTransitiveClosurePlusSignKeyword_1_0());
2221 2740
@@ -2234,31 +2753,31 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2234 2753
2235 } 2754 }
2236 2755
2237 otherlv_2=(Token)match(input,28,FOLLOW_18); 2756 otherlv_2=(Token)match(input,29,FOLLOW_22);
2238 2757
2239 newLeafNode(otherlv_2, grammarAccess.getAtomAccess().getLeftParenthesisKeyword_2()); 2758 newLeafNode(otherlv_2, grammarAccess.getAtomAccess().getLeftParenthesisKeyword_2());
2240 2759
2241 // InternalProblem.g:867:3: ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )? 2760 // InternalProblem.g:1036:3: ( ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* )?
2242 int alt23=2; 2761 int alt28=2;
2243 int LA23_0 = input.LA(1); 2762 int LA28_0 = input.LA(1);
2244 2763
2245 if ( (LA23_0==RULE_ID) ) { 2764 if ( (LA28_0==RULE_ID||LA28_0==RULE_QUOTED_ID||(LA28_0>=40 && LA28_0<=41)) ) {
2246 alt23=1; 2765 alt28=1;
2247 } 2766 }
2248 switch (alt23) { 2767 switch (alt28) {
2249 case 1 : 2768 case 1 :
2250 // InternalProblem.g:868:4: ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* 2769 // InternalProblem.g:1037:4: ( (lv_arguments_3_0= ruleArgument ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )*
2251 { 2770 {
2252 // InternalProblem.g:868:4: ( (lv_arguments_3_0= ruleArgument ) ) 2771 // InternalProblem.g:1037:4: ( (lv_arguments_3_0= ruleArgument ) )
2253 // InternalProblem.g:869:5: (lv_arguments_3_0= ruleArgument ) 2772 // InternalProblem.g:1038:5: (lv_arguments_3_0= ruleArgument )
2254 { 2773 {
2255 // InternalProblem.g:869:5: (lv_arguments_3_0= ruleArgument ) 2774 // InternalProblem.g:1038:5: (lv_arguments_3_0= ruleArgument )
2256 // InternalProblem.g:870:6: lv_arguments_3_0= ruleArgument 2775 // InternalProblem.g:1039:6: lv_arguments_3_0= ruleArgument
2257 { 2776 {
2258 2777
2259 newCompositeNode(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_0_0()); 2778 newCompositeNode(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_0_0());
2260 2779
2261 pushFollow(FOLLOW_19); 2780 pushFollow(FOLLOW_23);
2262 lv_arguments_3_0=ruleArgument(); 2781 lv_arguments_3_0=ruleArgument();
2263 2782
2264 state._fsp--; 2783 state._fsp--;
@@ -2280,35 +2799,35 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2280 2799
2281 } 2800 }
2282 2801
2283 // InternalProblem.g:887:4: (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )* 2802 // InternalProblem.g:1056:4: (otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) )*
2284 loop22: 2803 loop27:
2285 do { 2804 do {
2286 int alt22=2; 2805 int alt27=2;
2287 int LA22_0 = input.LA(1); 2806 int LA27_0 = input.LA(1);
2288 2807
2289 if ( (LA22_0==17) ) { 2808 if ( (LA27_0==17) ) {
2290 alt22=1; 2809 alt27=1;
2291 } 2810 }
2292 2811
2293 2812
2294 switch (alt22) { 2813 switch (alt27) {
2295 case 1 : 2814 case 1 :
2296 // InternalProblem.g:888:5: otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) ) 2815 // InternalProblem.g:1057:5: otherlv_4= ',' ( (lv_arguments_5_0= ruleArgument ) )
2297 { 2816 {
2298 otherlv_4=(Token)match(input,17,FOLLOW_3); 2817 otherlv_4=(Token)match(input,17,FOLLOW_8);
2299 2818
2300 newLeafNode(otherlv_4, grammarAccess.getAtomAccess().getCommaKeyword_3_1_0()); 2819 newLeafNode(otherlv_4, grammarAccess.getAtomAccess().getCommaKeyword_3_1_0());
2301 2820
2302 // InternalProblem.g:892:5: ( (lv_arguments_5_0= ruleArgument ) ) 2821 // InternalProblem.g:1061:5: ( (lv_arguments_5_0= ruleArgument ) )
2303 // InternalProblem.g:893:6: (lv_arguments_5_0= ruleArgument ) 2822 // InternalProblem.g:1062:6: (lv_arguments_5_0= ruleArgument )
2304 { 2823 {
2305 // InternalProblem.g:893:6: (lv_arguments_5_0= ruleArgument ) 2824 // InternalProblem.g:1062:6: (lv_arguments_5_0= ruleArgument )
2306 // InternalProblem.g:894:7: lv_arguments_5_0= ruleArgument 2825 // InternalProblem.g:1063:7: lv_arguments_5_0= ruleArgument
2307 { 2826 {
2308 2827
2309 newCompositeNode(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_1_1_0()); 2828 newCompositeNode(grammarAccess.getAtomAccess().getArgumentsArgumentParserRuleCall_3_1_1_0());
2310 2829
2311 pushFollow(FOLLOW_19); 2830 pushFollow(FOLLOW_23);
2312 lv_arguments_5_0=ruleArgument(); 2831 lv_arguments_5_0=ruleArgument();
2313 2832
2314 state._fsp--; 2833 state._fsp--;
@@ -2335,7 +2854,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2335 break; 2854 break;
2336 2855
2337 default : 2856 default :
2338 break loop22; 2857 break loop27;
2339 } 2858 }
2340 } while (true); 2859 } while (true);
2341 2860
@@ -2345,7 +2864,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2345 2864
2346 } 2865 }
2347 2866
2348 otherlv_6=(Token)match(input,29,FOLLOW_2); 2867 otherlv_6=(Token)match(input,30,FOLLOW_2);
2349 2868
2350 newLeafNode(otherlv_6, grammarAccess.getAtomAccess().getRightParenthesisKeyword_4()); 2869 newLeafNode(otherlv_6, grammarAccess.getAtomAccess().getRightParenthesisKeyword_4());
2351 2870
@@ -2372,7 +2891,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2372 2891
2373 2892
2374 // $ANTLR start "entryRuleArgument" 2893 // $ANTLR start "entryRuleArgument"
2375 // InternalProblem.g:921:1: entryRuleArgument returns [EObject current=null] : iv_ruleArgument= ruleArgument EOF ; 2894 // InternalProblem.g:1090:1: entryRuleArgument returns [EObject current=null] : iv_ruleArgument= ruleArgument EOF ;
2376 public final EObject entryRuleArgument() throws RecognitionException { 2895 public final EObject entryRuleArgument() throws RecognitionException {
2377 EObject current = null; 2896 EObject current = null;
2378 2897
@@ -2380,8 +2899,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2380 2899
2381 2900
2382 try { 2901 try {
2383 // InternalProblem.g:921:49: (iv_ruleArgument= ruleArgument EOF ) 2902 // InternalProblem.g:1090:49: (iv_ruleArgument= ruleArgument EOF )
2384 // InternalProblem.g:922:2: iv_ruleArgument= ruleArgument EOF 2903 // InternalProblem.g:1091:2: iv_ruleArgument= ruleArgument EOF
2385 { 2904 {
2386 newCompositeNode(grammarAccess.getArgumentRule()); 2905 newCompositeNode(grammarAccess.getArgumentRule());
2387 pushFollow(FOLLOW_1); 2906 pushFollow(FOLLOW_1);
@@ -2408,33 +2927,38 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2408 2927
2409 2928
2410 // $ANTLR start "ruleArgument" 2929 // $ANTLR start "ruleArgument"
2411 // InternalProblem.g:928:1: ruleArgument returns [EObject current=null] : ( (otherlv_0= RULE_ID ) ) ; 2930 // InternalProblem.g:1097:1: ruleArgument returns [EObject current=null] : ( ( ruleQualifiedName ) ) ;
2412 public final EObject ruleArgument() throws RecognitionException { 2931 public final EObject ruleArgument() throws RecognitionException {
2413 EObject current = null; 2932 EObject current = null;
2414 2933
2415 Token otherlv_0=null;
2416
2417 2934
2418 enterRule(); 2935 enterRule();
2419 2936
2420 try { 2937 try {
2421 // InternalProblem.g:934:2: ( ( (otherlv_0= RULE_ID ) ) ) 2938 // InternalProblem.g:1103:2: ( ( ( ruleQualifiedName ) ) )
2422 // InternalProblem.g:935:2: ( (otherlv_0= RULE_ID ) ) 2939 // InternalProblem.g:1104:2: ( ( ruleQualifiedName ) )
2423 { 2940 {
2424 // InternalProblem.g:935:2: ( (otherlv_0= RULE_ID ) ) 2941 // InternalProblem.g:1104:2: ( ( ruleQualifiedName ) )
2425 // InternalProblem.g:936:3: (otherlv_0= RULE_ID ) 2942 // InternalProblem.g:1105:3: ( ruleQualifiedName )
2426 { 2943 {
2427 // InternalProblem.g:936:3: (otherlv_0= RULE_ID ) 2944 // InternalProblem.g:1105:3: ( ruleQualifiedName )
2428 // InternalProblem.g:937:4: otherlv_0= RULE_ID 2945 // InternalProblem.g:1106:4: ruleQualifiedName
2429 { 2946 {
2430 2947
2431 if (current==null) { 2948 if (current==null) {
2432 current = createModelElement(grammarAccess.getArgumentRule()); 2949 current = createModelElement(grammarAccess.getArgumentRule());
2433 } 2950 }
2434 2951
2435 otherlv_0=(Token)match(input,RULE_ID,FOLLOW_2);
2436 2952
2437 newLeafNode(otherlv_0, grammarAccess.getArgumentAccess().getVariableVariableCrossReference_0()); 2953 newCompositeNode(grammarAccess.getArgumentAccess().getVariableOrNodeVariableOrNodeCrossReference_0());
2954
2955 pushFollow(FOLLOW_2);
2956 ruleQualifiedName();
2957
2958 state._fsp--;
2959
2960
2961 afterParserOrEnumRuleCall();
2438 2962
2439 2963
2440 } 2964 }
@@ -2462,7 +2986,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2462 2986
2463 2987
2464 // $ANTLR start "entryRuleAssertion" 2988 // $ANTLR start "entryRuleAssertion"
2465 // InternalProblem.g:951:1: entryRuleAssertion returns [EObject current=null] : iv_ruleAssertion= ruleAssertion EOF ; 2989 // InternalProblem.g:1123:1: entryRuleAssertion returns [EObject current=null] : iv_ruleAssertion= ruleAssertion EOF ;
2466 public final EObject entryRuleAssertion() throws RecognitionException { 2990 public final EObject entryRuleAssertion() throws RecognitionException {
2467 EObject current = null; 2991 EObject current = null;
2468 2992
@@ -2470,8 +2994,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2470 2994
2471 2995
2472 try { 2996 try {
2473 // InternalProblem.g:951:50: (iv_ruleAssertion= ruleAssertion EOF ) 2997 // InternalProblem.g:1123:50: (iv_ruleAssertion= ruleAssertion EOF )
2474 // InternalProblem.g:952:2: iv_ruleAssertion= ruleAssertion EOF 2998 // InternalProblem.g:1124:2: iv_ruleAssertion= ruleAssertion EOF
2475 { 2999 {
2476 newCompositeNode(grammarAccess.getAssertionRule()); 3000 newCompositeNode(grammarAccess.getAssertionRule());
2477 pushFollow(FOLLOW_1); 3001 pushFollow(FOLLOW_1);
@@ -2498,7 +3022,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2498 3022
2499 3023
2500 // $ANTLR start "ruleAssertion" 3024 // $ANTLR start "ruleAssertion"
2501 // InternalProblem.g:958:1: ruleAssertion returns [EObject current=null] : ( ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) otherlv_15= '.' ) ; 3025 // InternalProblem.g:1130:1: ruleAssertion returns [EObject current=null] : ( ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) otherlv_15= '.' ) ;
2502 public final EObject ruleAssertion() throws RecognitionException { 3026 public final EObject ruleAssertion() throws RecognitionException {
2503 EObject current = null; 3027 EObject current = null;
2504 3028
@@ -2519,27 +3043,27 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2519 enterRule(); 3043 enterRule();
2520 3044
2521 try { 3045 try {
2522 // InternalProblem.g:964:2: ( ( ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) otherlv_15= '.' ) ) 3046 // InternalProblem.g:1136:2: ( ( ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) otherlv_15= '.' ) )
2523 // InternalProblem.g:965:2: ( ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) otherlv_15= '.' ) 3047 // InternalProblem.g:1137:2: ( ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) otherlv_15= '.' )
2524 { 3048 {
2525 // InternalProblem.g:965:2: ( ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) otherlv_15= '.' ) 3049 // InternalProblem.g:1137:2: ( ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) otherlv_15= '.' )
2526 // InternalProblem.g:966:3: ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) otherlv_15= '.' 3050 // InternalProblem.g:1138:3: ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) otherlv_15= '.'
2527 { 3051 {
2528 // InternalProblem.g:966:3: ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) ) 3052 // InternalProblem.g:1138:3: ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) )
2529 int alt29=2; 3053 int alt34=2;
2530 alt29 = dfa29.predict(input); 3054 alt34 = dfa34.predict(input);
2531 switch (alt29) { 3055 switch (alt34) {
2532 case 1 : 3056 case 1 :
2533 // InternalProblem.g:967:4: ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) 3057 // InternalProblem.g:1139:4: ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) )
2534 { 3058 {
2535 // InternalProblem.g:967:4: ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) 3059 // InternalProblem.g:1139:4: ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) )
2536 // InternalProblem.g:968:5: ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) 3060 // InternalProblem.g:1140:5: ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) )
2537 { 3061 {
2538 // InternalProblem.g:968:5: ( ( ruleQualifiedName ) ) 3062 // InternalProblem.g:1140:5: ( ( ruleQualifiedName ) )
2539 // InternalProblem.g:969:6: ( ruleQualifiedName ) 3063 // InternalProblem.g:1141:6: ( ruleQualifiedName )
2540 { 3064 {
2541 // InternalProblem.g:969:6: ( ruleQualifiedName ) 3065 // InternalProblem.g:1141:6: ( ruleQualifiedName )
2542 // InternalProblem.g:970:7: ruleQualifiedName 3066 // InternalProblem.g:1142:7: ruleQualifiedName
2543 { 3067 {
2544 3068
2545 if (current==null) { 3069 if (current==null) {
@@ -2549,7 +3073,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2549 3073
2550 newCompositeNode(grammarAccess.getAssertionAccess().getRelationRelationCrossReference_0_0_0_0()); 3074 newCompositeNode(grammarAccess.getAssertionAccess().getRelationRelationCrossReference_0_0_0_0());
2551 3075
2552 pushFollow(FOLLOW_17); 3076 pushFollow(FOLLOW_21);
2553 ruleQualifiedName(); 3077 ruleQualifiedName();
2554 3078
2555 state._fsp--; 3079 state._fsp--;
@@ -2563,26 +3087,26 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2563 3087
2564 } 3088 }
2565 3089
2566 otherlv_1=(Token)match(input,28,FOLLOW_25); 3090 otherlv_1=(Token)match(input,29,FOLLOW_22);
2567 3091
2568 newLeafNode(otherlv_1, grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_0_1()); 3092 newLeafNode(otherlv_1, grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_0_1());
2569 3093
2570 // InternalProblem.g:988:5: ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? 3094 // InternalProblem.g:1160:5: ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )?
2571 int alt25=2; 3095 int alt30=2;
2572 int LA25_0 = input.LA(1); 3096 int LA30_0 = input.LA(1);
2573 3097
2574 if ( (LA25_0==RULE_ID||LA25_0==RULE_QUOTED_ID) ) { 3098 if ( (LA30_0==RULE_ID||LA30_0==RULE_QUOTED_ID||(LA30_0>=40 && LA30_0<=41)) ) {
2575 alt25=1; 3099 alt30=1;
2576 } 3100 }
2577 switch (alt25) { 3101 switch (alt30) {
2578 case 1 : 3102 case 1 :
2579 // InternalProblem.g:989:6: ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* 3103 // InternalProblem.g:1161:6: ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )*
2580 { 3104 {
2581 // InternalProblem.g:989:6: ( ( ruleQualifiedName ) ) 3105 // InternalProblem.g:1161:6: ( ( ruleQualifiedName ) )
2582 // InternalProblem.g:990:7: ( ruleQualifiedName ) 3106 // InternalProblem.g:1162:7: ( ruleQualifiedName )
2583 { 3107 {
2584 // InternalProblem.g:990:7: ( ruleQualifiedName ) 3108 // InternalProblem.g:1162:7: ( ruleQualifiedName )
2585 // InternalProblem.g:991:8: ruleQualifiedName 3109 // InternalProblem.g:1163:8: ruleQualifiedName
2586 { 3110 {
2587 3111
2588 if (current==null) { 3112 if (current==null) {
@@ -2592,7 +3116,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2592 3116
2593 newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_0_2_0_0()); 3117 newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_0_2_0_0());
2594 3118
2595 pushFollow(FOLLOW_19); 3119 pushFollow(FOLLOW_23);
2596 ruleQualifiedName(); 3120 ruleQualifiedName();
2597 3121
2598 state._fsp--; 3122 state._fsp--;
@@ -2606,30 +3130,30 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2606 3130
2607 } 3131 }
2608 3132
2609 // InternalProblem.g:1005:6: (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* 3133 // InternalProblem.g:1177:6: (otherlv_3= ',' ( ( ruleQualifiedName ) ) )*
2610 loop24: 3134 loop29:
2611 do { 3135 do {
2612 int alt24=2; 3136 int alt29=2;
2613 int LA24_0 = input.LA(1); 3137 int LA29_0 = input.LA(1);
2614 3138
2615 if ( (LA24_0==17) ) { 3139 if ( (LA29_0==17) ) {
2616 alt24=1; 3140 alt29=1;
2617 } 3141 }
2618 3142
2619 3143
2620 switch (alt24) { 3144 switch (alt29) {
2621 case 1 : 3145 case 1 :
2622 // InternalProblem.g:1006:7: otherlv_3= ',' ( ( ruleQualifiedName ) ) 3146 // InternalProblem.g:1178:7: otherlv_3= ',' ( ( ruleQualifiedName ) )
2623 { 3147 {
2624 otherlv_3=(Token)match(input,17,FOLLOW_8); 3148 otherlv_3=(Token)match(input,17,FOLLOW_8);
2625 3149
2626 newLeafNode(otherlv_3, grammarAccess.getAssertionAccess().getCommaKeyword_0_0_2_1_0()); 3150 newLeafNode(otherlv_3, grammarAccess.getAssertionAccess().getCommaKeyword_0_0_2_1_0());
2627 3151
2628 // InternalProblem.g:1010:7: ( ( ruleQualifiedName ) ) 3152 // InternalProblem.g:1182:7: ( ( ruleQualifiedName ) )
2629 // InternalProblem.g:1011:8: ( ruleQualifiedName ) 3153 // InternalProblem.g:1183:8: ( ruleQualifiedName )
2630 { 3154 {
2631 // InternalProblem.g:1011:8: ( ruleQualifiedName ) 3155 // InternalProblem.g:1183:8: ( ruleQualifiedName )
2632 // InternalProblem.g:1012:9: ruleQualifiedName 3156 // InternalProblem.g:1184:9: ruleQualifiedName
2633 { 3157 {
2634 3158
2635 if (current==null) { 3159 if (current==null) {
@@ -2639,7 +3163,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2639 3163
2640 newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_0_2_1_1_0()); 3164 newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_0_2_1_1_0());
2641 3165
2642 pushFollow(FOLLOW_19); 3166 pushFollow(FOLLOW_23);
2643 ruleQualifiedName(); 3167 ruleQualifiedName();
2644 3168
2645 state._fsp--; 3169 state._fsp--;
@@ -2658,7 +3182,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2658 break; 3182 break;
2659 3183
2660 default : 3184 default :
2661 break loop24; 3185 break loop29;
2662 } 3186 }
2663 } while (true); 3187 } while (true);
2664 3188
@@ -2668,19 +3192,19 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2668 3192
2669 } 3193 }
2670 3194
2671 otherlv_5=(Token)match(input,29,FOLLOW_26); 3195 otherlv_5=(Token)match(input,30,FOLLOW_29);
2672 3196
2673 newLeafNode(otherlv_5, grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_0_3()); 3197 newLeafNode(otherlv_5, grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_0_3());
2674 3198
2675 otherlv_6=(Token)match(input,33,FOLLOW_27); 3199 otherlv_6=(Token)match(input,34,FOLLOW_30);
2676 3200
2677 newLeafNode(otherlv_6, grammarAccess.getAssertionAccess().getColonKeyword_0_0_4()); 3201 newLeafNode(otherlv_6, grammarAccess.getAssertionAccess().getColonKeyword_0_0_4());
2678 3202
2679 // InternalProblem.g:1036:5: ( (lv_value_7_0= ruleLogicValue ) ) 3203 // InternalProblem.g:1208:5: ( (lv_value_7_0= ruleLogicValue ) )
2680 // InternalProblem.g:1037:6: (lv_value_7_0= ruleLogicValue ) 3204 // InternalProblem.g:1209:6: (lv_value_7_0= ruleLogicValue )
2681 { 3205 {
2682 // InternalProblem.g:1037:6: (lv_value_7_0= ruleLogicValue ) 3206 // InternalProblem.g:1209:6: (lv_value_7_0= ruleLogicValue )
2683 // InternalProblem.g:1038:7: lv_value_7_0= ruleLogicValue 3207 // InternalProblem.g:1210:7: lv_value_7_0= ruleLogicValue
2684 { 3208 {
2685 3209
2686 newCompositeNode(grammarAccess.getAssertionAccess().getValueLogicValueEnumRuleCall_0_0_5_0()); 3210 newCompositeNode(grammarAccess.getAssertionAccess().getValueLogicValueEnumRuleCall_0_0_5_0());
@@ -2714,24 +3238,24 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2714 } 3238 }
2715 break; 3239 break;
2716 case 2 : 3240 case 2 :
2717 // InternalProblem.g:1057:4: ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) 3241 // InternalProblem.g:1229:4: ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' )
2718 { 3242 {
2719 // InternalProblem.g:1057:4: ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) 3243 // InternalProblem.g:1229:4: ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' )
2720 // InternalProblem.g:1058:5: ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' 3244 // InternalProblem.g:1230:5: ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')'
2721 { 3245 {
2722 // InternalProblem.g:1058:5: ( (lv_value_8_0= ruleShortLogicValue ) )? 3246 // InternalProblem.g:1230:5: ( (lv_value_8_0= ruleShortLogicValue ) )?
2723 int alt26=2; 3247 int alt31=2;
2724 int LA26_0 = input.LA(1); 3248 int LA31_0 = input.LA(1);
2725 3249
2726 if ( (LA26_0==31||LA26_0==42) ) { 3250 if ( (LA31_0==32||LA31_0==43) ) {
2727 alt26=1; 3251 alt31=1;
2728 } 3252 }
2729 switch (alt26) { 3253 switch (alt31) {
2730 case 1 : 3254 case 1 :
2731 // InternalProblem.g:1059:6: (lv_value_8_0= ruleShortLogicValue ) 3255 // InternalProblem.g:1231:6: (lv_value_8_0= ruleShortLogicValue )
2732 { 3256 {
2733 // InternalProblem.g:1059:6: (lv_value_8_0= ruleShortLogicValue ) 3257 // InternalProblem.g:1231:6: (lv_value_8_0= ruleShortLogicValue )
2734 // InternalProblem.g:1060:7: lv_value_8_0= ruleShortLogicValue 3258 // InternalProblem.g:1232:7: lv_value_8_0= ruleShortLogicValue
2735 { 3259 {
2736 3260
2737 newCompositeNode(grammarAccess.getAssertionAccess().getValueShortLogicValueEnumRuleCall_0_1_0_0()); 3261 newCompositeNode(grammarAccess.getAssertionAccess().getValueShortLogicValueEnumRuleCall_0_1_0_0());
@@ -2761,11 +3285,11 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2761 3285
2762 } 3286 }
2763 3287
2764 // InternalProblem.g:1077:5: ( ( ruleQualifiedName ) ) 3288 // InternalProblem.g:1249:5: ( ( ruleQualifiedName ) )
2765 // InternalProblem.g:1078:6: ( ruleQualifiedName ) 3289 // InternalProblem.g:1250:6: ( ruleQualifiedName )
2766 { 3290 {
2767 // InternalProblem.g:1078:6: ( ruleQualifiedName ) 3291 // InternalProblem.g:1250:6: ( ruleQualifiedName )
2768 // InternalProblem.g:1079:7: ruleQualifiedName 3292 // InternalProblem.g:1251:7: ruleQualifiedName
2769 { 3293 {
2770 3294
2771 if (current==null) { 3295 if (current==null) {
@@ -2775,7 +3299,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2775 3299
2776 newCompositeNode(grammarAccess.getAssertionAccess().getRelationRelationCrossReference_0_1_1_0()); 3300 newCompositeNode(grammarAccess.getAssertionAccess().getRelationRelationCrossReference_0_1_1_0());
2777 3301
2778 pushFollow(FOLLOW_17); 3302 pushFollow(FOLLOW_21);
2779 ruleQualifiedName(); 3303 ruleQualifiedName();
2780 3304
2781 state._fsp--; 3305 state._fsp--;
@@ -2789,26 +3313,26 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2789 3313
2790 } 3314 }
2791 3315
2792 otherlv_10=(Token)match(input,28,FOLLOW_25); 3316 otherlv_10=(Token)match(input,29,FOLLOW_22);
2793 3317
2794 newLeafNode(otherlv_10, grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_1_2()); 3318 newLeafNode(otherlv_10, grammarAccess.getAssertionAccess().getLeftParenthesisKeyword_0_1_2());
2795 3319
2796 // InternalProblem.g:1097:5: ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? 3320 // InternalProblem.g:1269:5: ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )?
2797 int alt28=2; 3321 int alt33=2;
2798 int LA28_0 = input.LA(1); 3322 int LA33_0 = input.LA(1);
2799 3323
2800 if ( (LA28_0==RULE_ID||LA28_0==RULE_QUOTED_ID) ) { 3324 if ( (LA33_0==RULE_ID||LA33_0==RULE_QUOTED_ID||(LA33_0>=40 && LA33_0<=41)) ) {
2801 alt28=1; 3325 alt33=1;
2802 } 3326 }
2803 switch (alt28) { 3327 switch (alt33) {
2804 case 1 : 3328 case 1 :
2805 // InternalProblem.g:1098:6: ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* 3329 // InternalProblem.g:1270:6: ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )*
2806 { 3330 {
2807 // InternalProblem.g:1098:6: ( ( ruleQualifiedName ) ) 3331 // InternalProblem.g:1270:6: ( ( ruleQualifiedName ) )
2808 // InternalProblem.g:1099:7: ( ruleQualifiedName ) 3332 // InternalProblem.g:1271:7: ( ruleQualifiedName )
2809 { 3333 {
2810 // InternalProblem.g:1099:7: ( ruleQualifiedName ) 3334 // InternalProblem.g:1271:7: ( ruleQualifiedName )
2811 // InternalProblem.g:1100:8: ruleQualifiedName 3335 // InternalProblem.g:1272:8: ruleQualifiedName
2812 { 3336 {
2813 3337
2814 if (current==null) { 3338 if (current==null) {
@@ -2818,7 +3342,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2818 3342
2819 newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_1_3_0_0()); 3343 newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_1_3_0_0());
2820 3344
2821 pushFollow(FOLLOW_19); 3345 pushFollow(FOLLOW_23);
2822 ruleQualifiedName(); 3346 ruleQualifiedName();
2823 3347
2824 state._fsp--; 3348 state._fsp--;
@@ -2832,30 +3356,30 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2832 3356
2833 } 3357 }
2834 3358
2835 // InternalProblem.g:1114:6: (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* 3359 // InternalProblem.g:1286:6: (otherlv_12= ',' ( ( ruleQualifiedName ) ) )*
2836 loop27: 3360 loop32:
2837 do { 3361 do {
2838 int alt27=2; 3362 int alt32=2;
2839 int LA27_0 = input.LA(1); 3363 int LA32_0 = input.LA(1);
2840 3364
2841 if ( (LA27_0==17) ) { 3365 if ( (LA32_0==17) ) {
2842 alt27=1; 3366 alt32=1;
2843 } 3367 }
2844 3368
2845 3369
2846 switch (alt27) { 3370 switch (alt32) {
2847 case 1 : 3371 case 1 :
2848 // InternalProblem.g:1115:7: otherlv_12= ',' ( ( ruleQualifiedName ) ) 3372 // InternalProblem.g:1287:7: otherlv_12= ',' ( ( ruleQualifiedName ) )
2849 { 3373 {
2850 otherlv_12=(Token)match(input,17,FOLLOW_8); 3374 otherlv_12=(Token)match(input,17,FOLLOW_8);
2851 3375
2852 newLeafNode(otherlv_12, grammarAccess.getAssertionAccess().getCommaKeyword_0_1_3_1_0()); 3376 newLeafNode(otherlv_12, grammarAccess.getAssertionAccess().getCommaKeyword_0_1_3_1_0());
2853 3377
2854 // InternalProblem.g:1119:7: ( ( ruleQualifiedName ) ) 3378 // InternalProblem.g:1291:7: ( ( ruleQualifiedName ) )
2855 // InternalProblem.g:1120:8: ( ruleQualifiedName ) 3379 // InternalProblem.g:1292:8: ( ruleQualifiedName )
2856 { 3380 {
2857 // InternalProblem.g:1120:8: ( ruleQualifiedName ) 3381 // InternalProblem.g:1292:8: ( ruleQualifiedName )
2858 // InternalProblem.g:1121:9: ruleQualifiedName 3382 // InternalProblem.g:1293:9: ruleQualifiedName
2859 { 3383 {
2860 3384
2861 if (current==null) { 3385 if (current==null) {
@@ -2865,7 +3389,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2865 3389
2866 newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_1_3_1_1_0()); 3390 newCompositeNode(grammarAccess.getAssertionAccess().getArgumentsNodeCrossReference_0_1_3_1_1_0());
2867 3391
2868 pushFollow(FOLLOW_19); 3392 pushFollow(FOLLOW_23);
2869 ruleQualifiedName(); 3393 ruleQualifiedName();
2870 3394
2871 state._fsp--; 3395 state._fsp--;
@@ -2884,7 +3408,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2884 break; 3408 break;
2885 3409
2886 default : 3410 default :
2887 break loop27; 3411 break loop32;
2888 } 3412 }
2889 } while (true); 3413 } while (true);
2890 3414
@@ -2894,7 +3418,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2894 3418
2895 } 3419 }
2896 3420
2897 otherlv_14=(Token)match(input,29,FOLLOW_4); 3421 otherlv_14=(Token)match(input,30,FOLLOW_4);
2898 3422
2899 newLeafNode(otherlv_14, grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_1_4()); 3423 newLeafNode(otherlv_14, grammarAccess.getAssertionAccess().getRightParenthesisKeyword_0_1_4());
2900 3424
@@ -2934,7 +3458,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2934 3458
2935 3459
2936 // $ANTLR start "entryRuleScopeDeclaration" 3460 // $ANTLR start "entryRuleScopeDeclaration"
2937 // InternalProblem.g:1151:1: entryRuleScopeDeclaration returns [EObject current=null] : iv_ruleScopeDeclaration= ruleScopeDeclaration EOF ; 3461 // InternalProblem.g:1323:1: entryRuleScopeDeclaration returns [EObject current=null] : iv_ruleScopeDeclaration= ruleScopeDeclaration EOF ;
2938 public final EObject entryRuleScopeDeclaration() throws RecognitionException { 3462 public final EObject entryRuleScopeDeclaration() throws RecognitionException {
2939 EObject current = null; 3463 EObject current = null;
2940 3464
@@ -2942,8 +3466,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2942 3466
2943 3467
2944 try { 3468 try {
2945 // InternalProblem.g:1151:57: (iv_ruleScopeDeclaration= ruleScopeDeclaration EOF ) 3469 // InternalProblem.g:1323:57: (iv_ruleScopeDeclaration= ruleScopeDeclaration EOF )
2946 // InternalProblem.g:1152:2: iv_ruleScopeDeclaration= ruleScopeDeclaration EOF 3470 // InternalProblem.g:1324:2: iv_ruleScopeDeclaration= ruleScopeDeclaration EOF
2947 { 3471 {
2948 newCompositeNode(grammarAccess.getScopeDeclarationRule()); 3472 newCompositeNode(grammarAccess.getScopeDeclarationRule());
2949 pushFollow(FOLLOW_1); 3473 pushFollow(FOLLOW_1);
@@ -2970,7 +3494,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2970 3494
2971 3495
2972 // $ANTLR start "ruleScopeDeclaration" 3496 // $ANTLR start "ruleScopeDeclaration"
2973 // InternalProblem.g:1158:1: ruleScopeDeclaration returns [EObject current=null] : (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' ) ; 3497 // InternalProblem.g:1330:1: ruleScopeDeclaration returns [EObject current=null] : (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' ) ;
2974 public final EObject ruleScopeDeclaration() throws RecognitionException { 3498 public final EObject ruleScopeDeclaration() throws RecognitionException {
2975 EObject current = null; 3499 EObject current = null;
2976 3500
@@ -2986,26 +3510,26 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
2986 enterRule(); 3510 enterRule();
2987 3511
2988 try { 3512 try {
2989 // InternalProblem.g:1164:2: ( (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' ) ) 3513 // InternalProblem.g:1336:2: ( (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' ) )
2990 // InternalProblem.g:1165:2: (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' ) 3514 // InternalProblem.g:1337:2: (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' )
2991 { 3515 {
2992 // InternalProblem.g:1165:2: (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' ) 3516 // InternalProblem.g:1337:2: (otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' )
2993 // InternalProblem.g:1166:3: otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.' 3517 // InternalProblem.g:1338:3: otherlv_0= 'scope' ( (lv_typeScopes_1_0= ruleTypeScope ) ) (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* otherlv_4= '.'
2994 { 3518 {
2995 otherlv_0=(Token)match(input,34,FOLLOW_3); 3519 otherlv_0=(Token)match(input,35,FOLLOW_31);
2996 3520
2997 newLeafNode(otherlv_0, grammarAccess.getScopeDeclarationAccess().getScopeKeyword_0()); 3521 newLeafNode(otherlv_0, grammarAccess.getScopeDeclarationAccess().getScopeKeyword_0());
2998 3522
2999 // InternalProblem.g:1170:3: ( (lv_typeScopes_1_0= ruleTypeScope ) ) 3523 // InternalProblem.g:1342:3: ( (lv_typeScopes_1_0= ruleTypeScope ) )
3000 // InternalProblem.g:1171:4: (lv_typeScopes_1_0= ruleTypeScope ) 3524 // InternalProblem.g:1343:4: (lv_typeScopes_1_0= ruleTypeScope )
3001 { 3525 {
3002 // InternalProblem.g:1171:4: (lv_typeScopes_1_0= ruleTypeScope ) 3526 // InternalProblem.g:1343:4: (lv_typeScopes_1_0= ruleTypeScope )
3003 // InternalProblem.g:1172:5: lv_typeScopes_1_0= ruleTypeScope 3527 // InternalProblem.g:1344:5: lv_typeScopes_1_0= ruleTypeScope
3004 { 3528 {
3005 3529
3006 newCompositeNode(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_1_0()); 3530 newCompositeNode(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_1_0());
3007 3531
3008 pushFollow(FOLLOW_28); 3532 pushFollow(FOLLOW_32);
3009 lv_typeScopes_1_0=ruleTypeScope(); 3533 lv_typeScopes_1_0=ruleTypeScope();
3010 3534
3011 state._fsp--; 3535 state._fsp--;
@@ -3027,35 +3551,35 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3027 3551
3028 } 3552 }
3029 3553
3030 // InternalProblem.g:1189:3: (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )* 3554 // InternalProblem.g:1361:3: (otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) )*
3031 loop30: 3555 loop35:
3032 do { 3556 do {
3033 int alt30=2; 3557 int alt35=2;
3034 int LA30_0 = input.LA(1); 3558 int LA35_0 = input.LA(1);
3035 3559
3036 if ( (LA30_0==17) ) { 3560 if ( (LA35_0==17) ) {
3037 alt30=1; 3561 alt35=1;
3038 } 3562 }
3039 3563
3040 3564
3041 switch (alt30) { 3565 switch (alt35) {
3042 case 1 : 3566 case 1 :
3043 // InternalProblem.g:1190:4: otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) ) 3567 // InternalProblem.g:1362:4: otherlv_2= ',' ( (lv_typeScopes_3_0= ruleTypeScope ) )
3044 { 3568 {
3045 otherlv_2=(Token)match(input,17,FOLLOW_3); 3569 otherlv_2=(Token)match(input,17,FOLLOW_31);
3046 3570
3047 newLeafNode(otherlv_2, grammarAccess.getScopeDeclarationAccess().getCommaKeyword_2_0()); 3571 newLeafNode(otherlv_2, grammarAccess.getScopeDeclarationAccess().getCommaKeyword_2_0());
3048 3572
3049 // InternalProblem.g:1194:4: ( (lv_typeScopes_3_0= ruleTypeScope ) ) 3573 // InternalProblem.g:1366:4: ( (lv_typeScopes_3_0= ruleTypeScope ) )
3050 // InternalProblem.g:1195:5: (lv_typeScopes_3_0= ruleTypeScope ) 3574 // InternalProblem.g:1367:5: (lv_typeScopes_3_0= ruleTypeScope )
3051 { 3575 {
3052 // InternalProblem.g:1195:5: (lv_typeScopes_3_0= ruleTypeScope ) 3576 // InternalProblem.g:1367:5: (lv_typeScopes_3_0= ruleTypeScope )
3053 // InternalProblem.g:1196:6: lv_typeScopes_3_0= ruleTypeScope 3577 // InternalProblem.g:1368:6: lv_typeScopes_3_0= ruleTypeScope
3054 { 3578 {
3055 3579
3056 newCompositeNode(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_2_1_0()); 3580 newCompositeNode(grammarAccess.getScopeDeclarationAccess().getTypeScopesTypeScopeParserRuleCall_2_1_0());
3057 3581
3058 pushFollow(FOLLOW_28); 3582 pushFollow(FOLLOW_32);
3059 lv_typeScopes_3_0=ruleTypeScope(); 3583 lv_typeScopes_3_0=ruleTypeScope();
3060 3584
3061 state._fsp--; 3585 state._fsp--;
@@ -3082,7 +3606,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3082 break; 3606 break;
3083 3607
3084 default : 3608 default :
3085 break loop30; 3609 break loop35;
3086 } 3610 }
3087 } while (true); 3611 } while (true);
3088 3612
@@ -3113,7 +3637,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3113 3637
3114 3638
3115 // $ANTLR start "entryRuleTypeScope" 3639 // $ANTLR start "entryRuleTypeScope"
3116 // InternalProblem.g:1222:1: entryRuleTypeScope returns [EObject current=null] : iv_ruleTypeScope= ruleTypeScope EOF ; 3640 // InternalProblem.g:1394:1: entryRuleTypeScope returns [EObject current=null] : iv_ruleTypeScope= ruleTypeScope EOF ;
3117 public final EObject entryRuleTypeScope() throws RecognitionException { 3641 public final EObject entryRuleTypeScope() throws RecognitionException {
3118 EObject current = null; 3642 EObject current = null;
3119 3643
@@ -3121,8 +3645,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3121 3645
3122 3646
3123 try { 3647 try {
3124 // InternalProblem.g:1222:50: (iv_ruleTypeScope= ruleTypeScope EOF ) 3648 // InternalProblem.g:1394:50: (iv_ruleTypeScope= ruleTypeScope EOF )
3125 // InternalProblem.g:1223:2: iv_ruleTypeScope= ruleTypeScope EOF 3649 // InternalProblem.g:1395:2: iv_ruleTypeScope= ruleTypeScope EOF
3126 { 3650 {
3127 newCompositeNode(grammarAccess.getTypeScopeRule()); 3651 newCompositeNode(grammarAccess.getTypeScopeRule());
3128 pushFollow(FOLLOW_1); 3652 pushFollow(FOLLOW_1);
@@ -3149,7 +3673,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3149 3673
3150 3674
3151 // $ANTLR start "ruleTypeScope" 3675 // $ANTLR start "ruleTypeScope"
3152 // InternalProblem.g:1229:1: ruleTypeScope returns [EObject current=null] : ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) ) ; 3676 // InternalProblem.g:1401:1: ruleTypeScope returns [EObject current=null] : ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) ) ;
3153 public final EObject ruleTypeScope() throws RecognitionException { 3677 public final EObject ruleTypeScope() throws RecognitionException {
3154 EObject current = null; 3678 EObject current = null;
3155 3679
@@ -3163,24 +3687,24 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3163 enterRule(); 3687 enterRule();
3164 3688
3165 try { 3689 try {
3166 // InternalProblem.g:1235:2: ( ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) ) ) 3690 // InternalProblem.g:1407:2: ( ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) ) )
3167 // InternalProblem.g:1236:2: ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) ) 3691 // InternalProblem.g:1408:2: ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) )
3168 { 3692 {
3169 // InternalProblem.g:1236:2: ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) ) 3693 // InternalProblem.g:1408:2: ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) )
3170 // InternalProblem.g:1237:3: ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) 3694 // InternalProblem.g:1409:3: ( (otherlv_0= RULE_ID ) ) ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) )
3171 { 3695 {
3172 // InternalProblem.g:1237:3: ( (otherlv_0= RULE_ID ) ) 3696 // InternalProblem.g:1409:3: ( (otherlv_0= RULE_ID ) )
3173 // InternalProblem.g:1238:4: (otherlv_0= RULE_ID ) 3697 // InternalProblem.g:1410:4: (otherlv_0= RULE_ID )
3174 { 3698 {
3175 // InternalProblem.g:1238:4: (otherlv_0= RULE_ID ) 3699 // InternalProblem.g:1410:4: (otherlv_0= RULE_ID )
3176 // InternalProblem.g:1239:5: otherlv_0= RULE_ID 3700 // InternalProblem.g:1411:5: otherlv_0= RULE_ID
3177 { 3701 {
3178 3702
3179 if (current==null) { 3703 if (current==null) {
3180 current = createModelElement(grammarAccess.getTypeScopeRule()); 3704 current = createModelElement(grammarAccess.getTypeScopeRule());
3181 } 3705 }
3182 3706
3183 otherlv_0=(Token)match(input,RULE_ID,FOLLOW_29); 3707 otherlv_0=(Token)match(input,RULE_ID,FOLLOW_33);
3184 3708
3185 newLeafNode(otherlv_0, grammarAccess.getTypeScopeAccess().getTargetTypeClassDeclarationCrossReference_0_0()); 3709 newLeafNode(otherlv_0, grammarAccess.getTypeScopeAccess().getTargetTypeClassDeclarationCrossReference_0_0());
3186 3710
@@ -3190,33 +3714,33 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3190 3714
3191 } 3715 }
3192 3716
3193 // InternalProblem.g:1250:3: ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' ) 3717 // InternalProblem.g:1422:3: ( ( (lv_increment_1_0= '+=' ) ) | otherlv_2= '=' )
3194 int alt31=2; 3718 int alt36=2;
3195 int LA31_0 = input.LA(1); 3719 int LA36_0 = input.LA(1);
3196 3720
3197 if ( (LA31_0==35) ) { 3721 if ( (LA36_0==36) ) {
3198 alt31=1; 3722 alt36=1;
3199 } 3723 }
3200 else if ( (LA31_0==36) ) { 3724 else if ( (LA36_0==37) ) {
3201 alt31=2; 3725 alt36=2;
3202 } 3726 }
3203 else { 3727 else {
3204 NoViableAltException nvae = 3728 NoViableAltException nvae =
3205 new NoViableAltException("", 31, 0, input); 3729 new NoViableAltException("", 36, 0, input);
3206 3730
3207 throw nvae; 3731 throw nvae;
3208 } 3732 }
3209 switch (alt31) { 3733 switch (alt36) {
3210 case 1 : 3734 case 1 :
3211 // InternalProblem.g:1251:4: ( (lv_increment_1_0= '+=' ) ) 3735 // InternalProblem.g:1423:4: ( (lv_increment_1_0= '+=' ) )
3212 { 3736 {
3213 // InternalProblem.g:1251:4: ( (lv_increment_1_0= '+=' ) ) 3737 // InternalProblem.g:1423:4: ( (lv_increment_1_0= '+=' ) )
3214 // InternalProblem.g:1252:5: (lv_increment_1_0= '+=' ) 3738 // InternalProblem.g:1424:5: (lv_increment_1_0= '+=' )
3215 { 3739 {
3216 // InternalProblem.g:1252:5: (lv_increment_1_0= '+=' ) 3740 // InternalProblem.g:1424:5: (lv_increment_1_0= '+=' )
3217 // InternalProblem.g:1253:6: lv_increment_1_0= '+=' 3741 // InternalProblem.g:1425:6: lv_increment_1_0= '+='
3218 { 3742 {
3219 lv_increment_1_0=(Token)match(input,35,FOLLOW_13); 3743 lv_increment_1_0=(Token)match(input,36,FOLLOW_17);
3220 3744
3221 newLeafNode(lv_increment_1_0, grammarAccess.getTypeScopeAccess().getIncrementPlusSignEqualsSignKeyword_1_0_0()); 3745 newLeafNode(lv_increment_1_0, grammarAccess.getTypeScopeAccess().getIncrementPlusSignEqualsSignKeyword_1_0_0());
3222 3746
@@ -3236,9 +3760,9 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3236 } 3760 }
3237 break; 3761 break;
3238 case 2 : 3762 case 2 :
3239 // InternalProblem.g:1266:4: otherlv_2= '=' 3763 // InternalProblem.g:1438:4: otherlv_2= '='
3240 { 3764 {
3241 otherlv_2=(Token)match(input,36,FOLLOW_13); 3765 otherlv_2=(Token)match(input,37,FOLLOW_17);
3242 3766
3243 newLeafNode(otherlv_2, grammarAccess.getTypeScopeAccess().getEqualsSignKeyword_1_1()); 3767 newLeafNode(otherlv_2, grammarAccess.getTypeScopeAccess().getEqualsSignKeyword_1_1());
3244 3768
@@ -3248,11 +3772,11 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3248 3772
3249 } 3773 }
3250 3774
3251 // InternalProblem.g:1271:3: ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) ) 3775 // InternalProblem.g:1443:3: ( (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) )
3252 // InternalProblem.g:1272:4: (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) 3776 // InternalProblem.g:1444:4: (lv_multiplicity_3_0= ruleDefiniteMultiplicity )
3253 { 3777 {
3254 // InternalProblem.g:1272:4: (lv_multiplicity_3_0= ruleDefiniteMultiplicity ) 3778 // InternalProblem.g:1444:4: (lv_multiplicity_3_0= ruleDefiniteMultiplicity )
3255 // InternalProblem.g:1273:5: lv_multiplicity_3_0= ruleDefiniteMultiplicity 3779 // InternalProblem.g:1445:5: lv_multiplicity_3_0= ruleDefiniteMultiplicity
3256 { 3780 {
3257 3781
3258 newCompositeNode(grammarAccess.getTypeScopeAccess().getMultiplicityDefiniteMultiplicityParserRuleCall_2_0()); 3782 newCompositeNode(grammarAccess.getTypeScopeAccess().getMultiplicityDefiniteMultiplicityParserRuleCall_2_0());
@@ -3302,7 +3826,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3302 3826
3303 3827
3304 // $ANTLR start "entryRuleMultiplicity" 3828 // $ANTLR start "entryRuleMultiplicity"
3305 // InternalProblem.g:1294:1: entryRuleMultiplicity returns [EObject current=null] : iv_ruleMultiplicity= ruleMultiplicity EOF ; 3829 // InternalProblem.g:1466:1: entryRuleMultiplicity returns [EObject current=null] : iv_ruleMultiplicity= ruleMultiplicity EOF ;
3306 public final EObject entryRuleMultiplicity() throws RecognitionException { 3830 public final EObject entryRuleMultiplicity() throws RecognitionException {
3307 EObject current = null; 3831 EObject current = null;
3308 3832
@@ -3310,8 +3834,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3310 3834
3311 3835
3312 try { 3836 try {
3313 // InternalProblem.g:1294:53: (iv_ruleMultiplicity= ruleMultiplicity EOF ) 3837 // InternalProblem.g:1466:53: (iv_ruleMultiplicity= ruleMultiplicity EOF )
3314 // InternalProblem.g:1295:2: iv_ruleMultiplicity= ruleMultiplicity EOF 3838 // InternalProblem.g:1467:2: iv_ruleMultiplicity= ruleMultiplicity EOF
3315 { 3839 {
3316 newCompositeNode(grammarAccess.getMultiplicityRule()); 3840 newCompositeNode(grammarAccess.getMultiplicityRule());
3317 pushFollow(FOLLOW_1); 3841 pushFollow(FOLLOW_1);
@@ -3338,7 +3862,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3338 3862
3339 3863
3340 // $ANTLR start "ruleMultiplicity" 3864 // $ANTLR start "ruleMultiplicity"
3341 // InternalProblem.g:1301:1: ruleMultiplicity returns [EObject current=null] : (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity ) ; 3865 // InternalProblem.g:1473:1: ruleMultiplicity returns [EObject current=null] : (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity ) ;
3342 public final EObject ruleMultiplicity() throws RecognitionException { 3866 public final EObject ruleMultiplicity() throws RecognitionException {
3343 EObject current = null; 3867 EObject current = null;
3344 3868
@@ -3351,28 +3875,28 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3351 enterRule(); 3875 enterRule();
3352 3876
3353 try { 3877 try {
3354 // InternalProblem.g:1307:2: ( (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity ) ) 3878 // InternalProblem.g:1479:2: ( (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity ) )
3355 // InternalProblem.g:1308:2: (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity ) 3879 // InternalProblem.g:1480:2: (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity )
3356 { 3880 {
3357 // InternalProblem.g:1308:2: (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity ) 3881 // InternalProblem.g:1480:2: (this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity | this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity )
3358 int alt32=2; 3882 int alt37=2;
3359 int LA32_0 = input.LA(1); 3883 int LA37_0 = input.LA(1);
3360 3884
3361 if ( (LA32_0==EOF||LA32_0==24) ) { 3885 if ( (LA37_0==EOF||LA37_0==25) ) {
3362 alt32=1; 3886 alt37=1;
3363 } 3887 }
3364 else if ( (LA32_0==RULE_INT) ) { 3888 else if ( (LA37_0==RULE_INT) ) {
3365 alt32=2; 3889 alt37=2;
3366 } 3890 }
3367 else { 3891 else {
3368 NoViableAltException nvae = 3892 NoViableAltException nvae =
3369 new NoViableAltException("", 32, 0, input); 3893 new NoViableAltException("", 37, 0, input);
3370 3894
3371 throw nvae; 3895 throw nvae;
3372 } 3896 }
3373 switch (alt32) { 3897 switch (alt37) {
3374 case 1 : 3898 case 1 :
3375 // InternalProblem.g:1309:3: this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity 3899 // InternalProblem.g:1481:3: this_UnboundedMultiplicity_0= ruleUnboundedMultiplicity
3376 { 3900 {
3377 3901
3378 newCompositeNode(grammarAccess.getMultiplicityAccess().getUnboundedMultiplicityParserRuleCall_0()); 3902 newCompositeNode(grammarAccess.getMultiplicityAccess().getUnboundedMultiplicityParserRuleCall_0());
@@ -3390,7 +3914,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3390 } 3914 }
3391 break; 3915 break;
3392 case 2 : 3916 case 2 :
3393 // InternalProblem.g:1318:3: this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity 3917 // InternalProblem.g:1490:3: this_DefiniteMultiplicity_1= ruleDefiniteMultiplicity
3394 { 3918 {
3395 3919
3396 newCompositeNode(grammarAccess.getMultiplicityAccess().getDefiniteMultiplicityParserRuleCall_1()); 3920 newCompositeNode(grammarAccess.getMultiplicityAccess().getDefiniteMultiplicityParserRuleCall_1());
@@ -3430,7 +3954,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3430 3954
3431 3955
3432 // $ANTLR start "entryRuleDefiniteMultiplicity" 3956 // $ANTLR start "entryRuleDefiniteMultiplicity"
3433 // InternalProblem.g:1330:1: entryRuleDefiniteMultiplicity returns [EObject current=null] : iv_ruleDefiniteMultiplicity= ruleDefiniteMultiplicity EOF ; 3957 // InternalProblem.g:1502:1: entryRuleDefiniteMultiplicity returns [EObject current=null] : iv_ruleDefiniteMultiplicity= ruleDefiniteMultiplicity EOF ;
3434 public final EObject entryRuleDefiniteMultiplicity() throws RecognitionException { 3958 public final EObject entryRuleDefiniteMultiplicity() throws RecognitionException {
3435 EObject current = null; 3959 EObject current = null;
3436 3960
@@ -3438,8 +3962,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3438 3962
3439 3963
3440 try { 3964 try {
3441 // InternalProblem.g:1330:61: (iv_ruleDefiniteMultiplicity= ruleDefiniteMultiplicity EOF ) 3965 // InternalProblem.g:1502:61: (iv_ruleDefiniteMultiplicity= ruleDefiniteMultiplicity EOF )
3442 // InternalProblem.g:1331:2: iv_ruleDefiniteMultiplicity= ruleDefiniteMultiplicity EOF 3966 // InternalProblem.g:1503:2: iv_ruleDefiniteMultiplicity= ruleDefiniteMultiplicity EOF
3443 { 3967 {
3444 newCompositeNode(grammarAccess.getDefiniteMultiplicityRule()); 3968 newCompositeNode(grammarAccess.getDefiniteMultiplicityRule());
3445 pushFollow(FOLLOW_1); 3969 pushFollow(FOLLOW_1);
@@ -3466,7 +3990,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3466 3990
3467 3991
3468 // $ANTLR start "ruleDefiniteMultiplicity" 3992 // $ANTLR start "ruleDefiniteMultiplicity"
3469 // InternalProblem.g:1337:1: ruleDefiniteMultiplicity returns [EObject current=null] : (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity ) ; 3993 // InternalProblem.g:1509:1: ruleDefiniteMultiplicity returns [EObject current=null] : (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity ) ;
3470 public final EObject ruleDefiniteMultiplicity() throws RecognitionException { 3994 public final EObject ruleDefiniteMultiplicity() throws RecognitionException {
3471 EObject current = null; 3995 EObject current = null;
3472 3996
@@ -3479,38 +4003,38 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3479 enterRule(); 4003 enterRule();
3480 4004
3481 try { 4005 try {
3482 // InternalProblem.g:1343:2: ( (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity ) ) 4006 // InternalProblem.g:1515:2: ( (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity ) )
3483 // InternalProblem.g:1344:2: (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity ) 4007 // InternalProblem.g:1516:2: (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity )
3484 { 4008 {
3485 // InternalProblem.g:1344:2: (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity ) 4009 // InternalProblem.g:1516:2: (this_RangeMultiplicity_0= ruleRangeMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity )
3486 int alt33=2; 4010 int alt38=2;
3487 int LA33_0 = input.LA(1); 4011 int LA38_0 = input.LA(1);
3488 4012
3489 if ( (LA33_0==RULE_INT) ) { 4013 if ( (LA38_0==RULE_INT) ) {
3490 int LA33_1 = input.LA(2); 4014 int LA38_1 = input.LA(2);
3491 4015
3492 if ( (LA33_1==37) ) { 4016 if ( (LA38_1==38) ) {
3493 alt33=1; 4017 alt38=1;
3494 } 4018 }
3495 else if ( (LA33_1==EOF||LA33_1==13||LA33_1==17||LA33_1==24) ) { 4019 else if ( (LA38_1==EOF||LA38_1==13||LA38_1==17||LA38_1==25) ) {
3496 alt33=2; 4020 alt38=2;
3497 } 4021 }
3498 else { 4022 else {
3499 NoViableAltException nvae = 4023 NoViableAltException nvae =
3500 new NoViableAltException("", 33, 1, input); 4024 new NoViableAltException("", 38, 1, input);
3501 4025
3502 throw nvae; 4026 throw nvae;
3503 } 4027 }
3504 } 4028 }
3505 else { 4029 else {
3506 NoViableAltException nvae = 4030 NoViableAltException nvae =
3507 new NoViableAltException("", 33, 0, input); 4031 new NoViableAltException("", 38, 0, input);
3508 4032
3509 throw nvae; 4033 throw nvae;
3510 } 4034 }
3511 switch (alt33) { 4035 switch (alt38) {
3512 case 1 : 4036 case 1 :
3513 // InternalProblem.g:1345:3: this_RangeMultiplicity_0= ruleRangeMultiplicity 4037 // InternalProblem.g:1517:3: this_RangeMultiplicity_0= ruleRangeMultiplicity
3514 { 4038 {
3515 4039
3516 newCompositeNode(grammarAccess.getDefiniteMultiplicityAccess().getRangeMultiplicityParserRuleCall_0()); 4040 newCompositeNode(grammarAccess.getDefiniteMultiplicityAccess().getRangeMultiplicityParserRuleCall_0());
@@ -3528,7 +4052,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3528 } 4052 }
3529 break; 4053 break;
3530 case 2 : 4054 case 2 :
3531 // InternalProblem.g:1354:3: this_ExactMultiplicity_1= ruleExactMultiplicity 4055 // InternalProblem.g:1526:3: this_ExactMultiplicity_1= ruleExactMultiplicity
3532 { 4056 {
3533 4057
3534 newCompositeNode(grammarAccess.getDefiniteMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); 4058 newCompositeNode(grammarAccess.getDefiniteMultiplicityAccess().getExactMultiplicityParserRuleCall_1());
@@ -3568,7 +4092,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3568 4092
3569 4093
3570 // $ANTLR start "entryRuleUnboundedMultiplicity" 4094 // $ANTLR start "entryRuleUnboundedMultiplicity"
3571 // InternalProblem.g:1366:1: entryRuleUnboundedMultiplicity returns [EObject current=null] : iv_ruleUnboundedMultiplicity= ruleUnboundedMultiplicity EOF ; 4095 // InternalProblem.g:1538:1: entryRuleUnboundedMultiplicity returns [EObject current=null] : iv_ruleUnboundedMultiplicity= ruleUnboundedMultiplicity EOF ;
3572 public final EObject entryRuleUnboundedMultiplicity() throws RecognitionException { 4096 public final EObject entryRuleUnboundedMultiplicity() throws RecognitionException {
3573 EObject current = null; 4097 EObject current = null;
3574 4098
@@ -3576,8 +4100,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3576 4100
3577 4101
3578 try { 4102 try {
3579 // InternalProblem.g:1366:62: (iv_ruleUnboundedMultiplicity= ruleUnboundedMultiplicity EOF ) 4103 // InternalProblem.g:1538:62: (iv_ruleUnboundedMultiplicity= ruleUnboundedMultiplicity EOF )
3580 // InternalProblem.g:1367:2: iv_ruleUnboundedMultiplicity= ruleUnboundedMultiplicity EOF 4104 // InternalProblem.g:1539:2: iv_ruleUnboundedMultiplicity= ruleUnboundedMultiplicity EOF
3581 { 4105 {
3582 newCompositeNode(grammarAccess.getUnboundedMultiplicityRule()); 4106 newCompositeNode(grammarAccess.getUnboundedMultiplicityRule());
3583 pushFollow(FOLLOW_1); 4107 pushFollow(FOLLOW_1);
@@ -3604,7 +4128,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3604 4128
3605 4129
3606 // $ANTLR start "ruleUnboundedMultiplicity" 4130 // $ANTLR start "ruleUnboundedMultiplicity"
3607 // InternalProblem.g:1373:1: ruleUnboundedMultiplicity returns [EObject current=null] : () ; 4131 // InternalProblem.g:1545:1: ruleUnboundedMultiplicity returns [EObject current=null] : () ;
3608 public final EObject ruleUnboundedMultiplicity() throws RecognitionException { 4132 public final EObject ruleUnboundedMultiplicity() throws RecognitionException {
3609 EObject current = null; 4133 EObject current = null;
3610 4134
@@ -3612,11 +4136,11 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3612 enterRule(); 4136 enterRule();
3613 4137
3614 try { 4138 try {
3615 // InternalProblem.g:1379:2: ( () ) 4139 // InternalProblem.g:1551:2: ( () )
3616 // InternalProblem.g:1380:2: () 4140 // InternalProblem.g:1552:2: ()
3617 { 4141 {
3618 // InternalProblem.g:1380:2: () 4142 // InternalProblem.g:1552:2: ()
3619 // InternalProblem.g:1381:3: 4143 // InternalProblem.g:1553:3:
3620 { 4144 {
3621 4145
3622 current = forceCreateModelElement( 4146 current = forceCreateModelElement(
@@ -3641,7 +4165,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3641 4165
3642 4166
3643 // $ANTLR start "entryRuleRangeMultiplicity" 4167 // $ANTLR start "entryRuleRangeMultiplicity"
3644 // InternalProblem.g:1390:1: entryRuleRangeMultiplicity returns [EObject current=null] : iv_ruleRangeMultiplicity= ruleRangeMultiplicity EOF ; 4168 // InternalProblem.g:1562:1: entryRuleRangeMultiplicity returns [EObject current=null] : iv_ruleRangeMultiplicity= ruleRangeMultiplicity EOF ;
3645 public final EObject entryRuleRangeMultiplicity() throws RecognitionException { 4169 public final EObject entryRuleRangeMultiplicity() throws RecognitionException {
3646 EObject current = null; 4170 EObject current = null;
3647 4171
@@ -3649,8 +4173,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3649 4173
3650 4174
3651 try { 4175 try {
3652 // InternalProblem.g:1390:58: (iv_ruleRangeMultiplicity= ruleRangeMultiplicity EOF ) 4176 // InternalProblem.g:1562:58: (iv_ruleRangeMultiplicity= ruleRangeMultiplicity EOF )
3653 // InternalProblem.g:1391:2: iv_ruleRangeMultiplicity= ruleRangeMultiplicity EOF 4177 // InternalProblem.g:1563:2: iv_ruleRangeMultiplicity= ruleRangeMultiplicity EOF
3654 { 4178 {
3655 newCompositeNode(grammarAccess.getRangeMultiplicityRule()); 4179 newCompositeNode(grammarAccess.getRangeMultiplicityRule());
3656 pushFollow(FOLLOW_1); 4180 pushFollow(FOLLOW_1);
@@ -3677,7 +4201,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3677 4201
3678 4202
3679 // $ANTLR start "ruleRangeMultiplicity" 4203 // $ANTLR start "ruleRangeMultiplicity"
3680 // InternalProblem.g:1397:1: ruleRangeMultiplicity returns [EObject current=null] : ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) ) ; 4204 // InternalProblem.g:1569:1: ruleRangeMultiplicity returns [EObject current=null] : ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) ) ;
3681 public final EObject ruleRangeMultiplicity() throws RecognitionException { 4205 public final EObject ruleRangeMultiplicity() throws RecognitionException {
3682 EObject current = null; 4206 EObject current = null;
3683 4207
@@ -3690,19 +4214,19 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3690 enterRule(); 4214 enterRule();
3691 4215
3692 try { 4216 try {
3693 // InternalProblem.g:1403:2: ( ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) ) ) 4217 // InternalProblem.g:1575:2: ( ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) ) )
3694 // InternalProblem.g:1404:2: ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) ) 4218 // InternalProblem.g:1576:2: ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) )
3695 { 4219 {
3696 // InternalProblem.g:1404:2: ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) ) 4220 // InternalProblem.g:1576:2: ( ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) )
3697 // InternalProblem.g:1405:3: ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) ) 4221 // InternalProblem.g:1577:3: ( (lv_lowerBound_0_0= RULE_INT ) ) otherlv_1= '..' ( (lv_upperBound_2_0= ruleUpperBound ) )
3698 { 4222 {
3699 // InternalProblem.g:1405:3: ( (lv_lowerBound_0_0= RULE_INT ) ) 4223 // InternalProblem.g:1577:3: ( (lv_lowerBound_0_0= RULE_INT ) )
3700 // InternalProblem.g:1406:4: (lv_lowerBound_0_0= RULE_INT ) 4224 // InternalProblem.g:1578:4: (lv_lowerBound_0_0= RULE_INT )
3701 { 4225 {
3702 // InternalProblem.g:1406:4: (lv_lowerBound_0_0= RULE_INT ) 4226 // InternalProblem.g:1578:4: (lv_lowerBound_0_0= RULE_INT )
3703 // InternalProblem.g:1407:5: lv_lowerBound_0_0= RULE_INT 4227 // InternalProblem.g:1579:5: lv_lowerBound_0_0= RULE_INT
3704 { 4228 {
3705 lv_lowerBound_0_0=(Token)match(input,RULE_INT,FOLLOW_30); 4229 lv_lowerBound_0_0=(Token)match(input,RULE_INT,FOLLOW_34);
3706 4230
3707 newLeafNode(lv_lowerBound_0_0, grammarAccess.getRangeMultiplicityAccess().getLowerBoundINTTerminalRuleCall_0_0()); 4231 newLeafNode(lv_lowerBound_0_0, grammarAccess.getRangeMultiplicityAccess().getLowerBoundINTTerminalRuleCall_0_0());
3708 4232
@@ -3722,15 +4246,15 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3722 4246
3723 } 4247 }
3724 4248
3725 otherlv_1=(Token)match(input,37,FOLLOW_31); 4249 otherlv_1=(Token)match(input,38,FOLLOW_35);
3726 4250
3727 newLeafNode(otherlv_1, grammarAccess.getRangeMultiplicityAccess().getFullStopFullStopKeyword_1()); 4251 newLeafNode(otherlv_1, grammarAccess.getRangeMultiplicityAccess().getFullStopFullStopKeyword_1());
3728 4252
3729 // InternalProblem.g:1427:3: ( (lv_upperBound_2_0= ruleUpperBound ) ) 4253 // InternalProblem.g:1599:3: ( (lv_upperBound_2_0= ruleUpperBound ) )
3730 // InternalProblem.g:1428:4: (lv_upperBound_2_0= ruleUpperBound ) 4254 // InternalProblem.g:1600:4: (lv_upperBound_2_0= ruleUpperBound )
3731 { 4255 {
3732 // InternalProblem.g:1428:4: (lv_upperBound_2_0= ruleUpperBound ) 4256 // InternalProblem.g:1600:4: (lv_upperBound_2_0= ruleUpperBound )
3733 // InternalProblem.g:1429:5: lv_upperBound_2_0= ruleUpperBound 4257 // InternalProblem.g:1601:5: lv_upperBound_2_0= ruleUpperBound
3734 { 4258 {
3735 4259
3736 newCompositeNode(grammarAccess.getRangeMultiplicityAccess().getUpperBoundUpperBoundParserRuleCall_2_0()); 4260 newCompositeNode(grammarAccess.getRangeMultiplicityAccess().getUpperBoundUpperBoundParserRuleCall_2_0());
@@ -3780,7 +4304,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3780 4304
3781 4305
3782 // $ANTLR start "entryRuleExactMultiplicity" 4306 // $ANTLR start "entryRuleExactMultiplicity"
3783 // InternalProblem.g:1450:1: entryRuleExactMultiplicity returns [EObject current=null] : iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ; 4307 // InternalProblem.g:1622:1: entryRuleExactMultiplicity returns [EObject current=null] : iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ;
3784 public final EObject entryRuleExactMultiplicity() throws RecognitionException { 4308 public final EObject entryRuleExactMultiplicity() throws RecognitionException {
3785 EObject current = null; 4309 EObject current = null;
3786 4310
@@ -3788,8 +4312,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3788 4312
3789 4313
3790 try { 4314 try {
3791 // InternalProblem.g:1450:58: (iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ) 4315 // InternalProblem.g:1622:58: (iv_ruleExactMultiplicity= ruleExactMultiplicity EOF )
3792 // InternalProblem.g:1451:2: iv_ruleExactMultiplicity= ruleExactMultiplicity EOF 4316 // InternalProblem.g:1623:2: iv_ruleExactMultiplicity= ruleExactMultiplicity EOF
3793 { 4317 {
3794 newCompositeNode(grammarAccess.getExactMultiplicityRule()); 4318 newCompositeNode(grammarAccess.getExactMultiplicityRule());
3795 pushFollow(FOLLOW_1); 4319 pushFollow(FOLLOW_1);
@@ -3816,7 +4340,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3816 4340
3817 4341
3818 // $ANTLR start "ruleExactMultiplicity" 4342 // $ANTLR start "ruleExactMultiplicity"
3819 // InternalProblem.g:1457:1: ruleExactMultiplicity returns [EObject current=null] : ( (lv_exactValue_0_0= RULE_INT ) ) ; 4343 // InternalProblem.g:1629:1: ruleExactMultiplicity returns [EObject current=null] : ( (lv_exactValue_0_0= RULE_INT ) ) ;
3820 public final EObject ruleExactMultiplicity() throws RecognitionException { 4344 public final EObject ruleExactMultiplicity() throws RecognitionException {
3821 EObject current = null; 4345 EObject current = null;
3822 4346
@@ -3826,14 +4350,14 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3826 enterRule(); 4350 enterRule();
3827 4351
3828 try { 4352 try {
3829 // InternalProblem.g:1463:2: ( ( (lv_exactValue_0_0= RULE_INT ) ) ) 4353 // InternalProblem.g:1635:2: ( ( (lv_exactValue_0_0= RULE_INT ) ) )
3830 // InternalProblem.g:1464:2: ( (lv_exactValue_0_0= RULE_INT ) ) 4354 // InternalProblem.g:1636:2: ( (lv_exactValue_0_0= RULE_INT ) )
3831 { 4355 {
3832 // InternalProblem.g:1464:2: ( (lv_exactValue_0_0= RULE_INT ) ) 4356 // InternalProblem.g:1636:2: ( (lv_exactValue_0_0= RULE_INT ) )
3833 // InternalProblem.g:1465:3: (lv_exactValue_0_0= RULE_INT ) 4357 // InternalProblem.g:1637:3: (lv_exactValue_0_0= RULE_INT )
3834 { 4358 {
3835 // InternalProblem.g:1465:3: (lv_exactValue_0_0= RULE_INT ) 4359 // InternalProblem.g:1637:3: (lv_exactValue_0_0= RULE_INT )
3836 // InternalProblem.g:1466:4: lv_exactValue_0_0= RULE_INT 4360 // InternalProblem.g:1638:4: lv_exactValue_0_0= RULE_INT
3837 { 4361 {
3838 lv_exactValue_0_0=(Token)match(input,RULE_INT,FOLLOW_2); 4362 lv_exactValue_0_0=(Token)match(input,RULE_INT,FOLLOW_2);
3839 4363
@@ -3875,7 +4399,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3875 4399
3876 4400
3877 // $ANTLR start "entryRuleUpperBound" 4401 // $ANTLR start "entryRuleUpperBound"
3878 // InternalProblem.g:1485:1: entryRuleUpperBound returns [String current=null] : iv_ruleUpperBound= ruleUpperBound EOF ; 4402 // InternalProblem.g:1657:1: entryRuleUpperBound returns [String current=null] : iv_ruleUpperBound= ruleUpperBound EOF ;
3879 public final String entryRuleUpperBound() throws RecognitionException { 4403 public final String entryRuleUpperBound() throws RecognitionException {
3880 String current = null; 4404 String current = null;
3881 4405
@@ -3883,8 +4407,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3883 4407
3884 4408
3885 try { 4409 try {
3886 // InternalProblem.g:1485:50: (iv_ruleUpperBound= ruleUpperBound EOF ) 4410 // InternalProblem.g:1657:50: (iv_ruleUpperBound= ruleUpperBound EOF )
3887 // InternalProblem.g:1486:2: iv_ruleUpperBound= ruleUpperBound EOF 4411 // InternalProblem.g:1658:2: iv_ruleUpperBound= ruleUpperBound EOF
3888 { 4412 {
3889 newCompositeNode(grammarAccess.getUpperBoundRule()); 4413 newCompositeNode(grammarAccess.getUpperBoundRule());
3890 pushFollow(FOLLOW_1); 4414 pushFollow(FOLLOW_1);
@@ -3911,7 +4435,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3911 4435
3912 4436
3913 // $ANTLR start "ruleUpperBound" 4437 // $ANTLR start "ruleUpperBound"
3914 // InternalProblem.g:1492:1: ruleUpperBound returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | kw= '*' ) ; 4438 // InternalProblem.g:1664:1: ruleUpperBound returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | kw= '*' ) ;
3915 public final AntlrDatatypeRuleToken ruleUpperBound() throws RecognitionException { 4439 public final AntlrDatatypeRuleToken ruleUpperBound() throws RecognitionException {
3916 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); 4440 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
3917 4441
@@ -3922,28 +4446,28 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3922 enterRule(); 4446 enterRule();
3923 4447
3924 try { 4448 try {
3925 // InternalProblem.g:1498:2: ( (this_INT_0= RULE_INT | kw= '*' ) ) 4449 // InternalProblem.g:1670:2: ( (this_INT_0= RULE_INT | kw= '*' ) )
3926 // InternalProblem.g:1499:2: (this_INT_0= RULE_INT | kw= '*' ) 4450 // InternalProblem.g:1671:2: (this_INT_0= RULE_INT | kw= '*' )
3927 { 4451 {
3928 // InternalProblem.g:1499:2: (this_INT_0= RULE_INT | kw= '*' ) 4452 // InternalProblem.g:1671:2: (this_INT_0= RULE_INT | kw= '*' )
3929 int alt34=2; 4453 int alt39=2;
3930 int LA34_0 = input.LA(1); 4454 int LA39_0 = input.LA(1);
3931 4455
3932 if ( (LA34_0==RULE_INT) ) { 4456 if ( (LA39_0==RULE_INT) ) {
3933 alt34=1; 4457 alt39=1;
3934 } 4458 }
3935 else if ( (LA34_0==38) ) { 4459 else if ( (LA39_0==39) ) {
3936 alt34=2; 4460 alt39=2;
3937 } 4461 }
3938 else { 4462 else {
3939 NoViableAltException nvae = 4463 NoViableAltException nvae =
3940 new NoViableAltException("", 34, 0, input); 4464 new NoViableAltException("", 39, 0, input);
3941 4465
3942 throw nvae; 4466 throw nvae;
3943 } 4467 }
3944 switch (alt34) { 4468 switch (alt39) {
3945 case 1 : 4469 case 1 :
3946 // InternalProblem.g:1500:3: this_INT_0= RULE_INT 4470 // InternalProblem.g:1672:3: this_INT_0= RULE_INT
3947 { 4471 {
3948 this_INT_0=(Token)match(input,RULE_INT,FOLLOW_2); 4472 this_INT_0=(Token)match(input,RULE_INT,FOLLOW_2);
3949 4473
@@ -3956,9 +4480,9 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3956 } 4480 }
3957 break; 4481 break;
3958 case 2 : 4482 case 2 :
3959 // InternalProblem.g:1508:3: kw= '*' 4483 // InternalProblem.g:1680:3: kw= '*'
3960 { 4484 {
3961 kw=(Token)match(input,38,FOLLOW_2); 4485 kw=(Token)match(input,39,FOLLOW_2);
3962 4486
3963 current.merge(kw); 4487 current.merge(kw);
3964 newLeafNode(kw, grammarAccess.getUpperBoundAccess().getAsteriskKeyword_1()); 4488 newLeafNode(kw, grammarAccess.getUpperBoundAccess().getAsteriskKeyword_1());
@@ -3988,8 +4512,132 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3988 // $ANTLR end "ruleUpperBound" 4512 // $ANTLR end "ruleUpperBound"
3989 4513
3990 4514
4515 // $ANTLR start "entryRuleQuotedOrUnquotedId"
4516 // InternalProblem.g:1689:1: entryRuleQuotedOrUnquotedId returns [String current=null] : iv_ruleQuotedOrUnquotedId= ruleQuotedOrUnquotedId EOF ;
4517 public final String entryRuleQuotedOrUnquotedId() throws RecognitionException {
4518 String current = null;
4519
4520 AntlrDatatypeRuleToken iv_ruleQuotedOrUnquotedId = null;
4521
4522
4523 try {
4524 // InternalProblem.g:1689:58: (iv_ruleQuotedOrUnquotedId= ruleQuotedOrUnquotedId EOF )
4525 // InternalProblem.g:1690:2: iv_ruleQuotedOrUnquotedId= ruleQuotedOrUnquotedId EOF
4526 {
4527 newCompositeNode(grammarAccess.getQuotedOrUnquotedIdRule());
4528 pushFollow(FOLLOW_1);
4529 iv_ruleQuotedOrUnquotedId=ruleQuotedOrUnquotedId();
4530
4531 state._fsp--;
4532
4533 current =iv_ruleQuotedOrUnquotedId.getText();
4534 match(input,EOF,FOLLOW_2);
4535
4536 }
4537
4538 }
4539
4540 catch (RecognitionException re) {
4541 recover(input,re);
4542 appendSkippedTokens();
4543 }
4544 finally {
4545 }
4546 return current;
4547 }
4548 // $ANTLR end "entryRuleQuotedOrUnquotedId"
4549
4550
4551 // $ANTLR start "ruleQuotedOrUnquotedId"
4552 // InternalProblem.g:1696:1: ruleQuotedOrUnquotedId returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_QUOTED_ID_0= RULE_QUOTED_ID | this_Identifier_1= ruleIdentifier ) ;
4553 public final AntlrDatatypeRuleToken ruleQuotedOrUnquotedId() throws RecognitionException {
4554 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
4555
4556 Token this_QUOTED_ID_0=null;
4557 AntlrDatatypeRuleToken this_Identifier_1 = null;
4558
4559
4560
4561 enterRule();
4562
4563 try {
4564 // InternalProblem.g:1702:2: ( (this_QUOTED_ID_0= RULE_QUOTED_ID | this_Identifier_1= ruleIdentifier ) )
4565 // InternalProblem.g:1703:2: (this_QUOTED_ID_0= RULE_QUOTED_ID | this_Identifier_1= ruleIdentifier )
4566 {
4567 // InternalProblem.g:1703:2: (this_QUOTED_ID_0= RULE_QUOTED_ID | this_Identifier_1= ruleIdentifier )
4568 int alt40=2;
4569 int LA40_0 = input.LA(1);
4570
4571 if ( (LA40_0==RULE_QUOTED_ID) ) {
4572 alt40=1;
4573 }
4574 else if ( (LA40_0==RULE_ID||(LA40_0>=40 && LA40_0<=41)) ) {
4575 alt40=2;
4576 }
4577 else {
4578 NoViableAltException nvae =
4579 new NoViableAltException("", 40, 0, input);
4580
4581 throw nvae;
4582 }
4583 switch (alt40) {
4584 case 1 :
4585 // InternalProblem.g:1704:3: this_QUOTED_ID_0= RULE_QUOTED_ID
4586 {
4587 this_QUOTED_ID_0=(Token)match(input,RULE_QUOTED_ID,FOLLOW_2);
4588
4589 current.merge(this_QUOTED_ID_0);
4590
4591
4592 newLeafNode(this_QUOTED_ID_0, grammarAccess.getQuotedOrUnquotedIdAccess().getQUOTED_IDTerminalRuleCall_0());
4593
4594
4595 }
4596 break;
4597 case 2 :
4598 // InternalProblem.g:1712:3: this_Identifier_1= ruleIdentifier
4599 {
4600
4601 newCompositeNode(grammarAccess.getQuotedOrUnquotedIdAccess().getIdentifierParserRuleCall_1());
4602
4603 pushFollow(FOLLOW_2);
4604 this_Identifier_1=ruleIdentifier();
4605
4606 state._fsp--;
4607
4608
4609 current.merge(this_Identifier_1);
4610
4611
4612 afterParserOrEnumRuleCall();
4613
4614
4615 }
4616 break;
4617
4618 }
4619
4620
4621 }
4622
4623
4624 leaveRule();
4625
4626 }
4627
4628 catch (RecognitionException re) {
4629 recover(input,re);
4630 appendSkippedTokens();
4631 }
4632 finally {
4633 }
4634 return current;
4635 }
4636 // $ANTLR end "ruleQuotedOrUnquotedId"
4637
4638
3991 // $ANTLR start "entryRuleQualifiedName" 4639 // $ANTLR start "entryRuleQualifiedName"
3992 // InternalProblem.g:1517:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ; 4640 // InternalProblem.g:1726:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ;
3993 public final String entryRuleQualifiedName() throws RecognitionException { 4641 public final String entryRuleQualifiedName() throws RecognitionException {
3994 String current = null; 4642 String current = null;
3995 4643
@@ -3997,8 +4645,8 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
3997 4645
3998 4646
3999 try { 4647 try {
4000 // InternalProblem.g:1517:53: (iv_ruleQualifiedName= ruleQualifiedName EOF ) 4648 // InternalProblem.g:1726:53: (iv_ruleQualifiedName= ruleQualifiedName EOF )
4001 // InternalProblem.g:1518:2: iv_ruleQualifiedName= ruleQualifiedName EOF 4649 // InternalProblem.g:1727:2: iv_ruleQualifiedName= ruleQualifiedName EOF
4002 { 4650 {
4003 newCompositeNode(grammarAccess.getQualifiedNameRule()); 4651 newCompositeNode(grammarAccess.getQualifiedNameRule());
4004 pushFollow(FOLLOW_1); 4652 pushFollow(FOLLOW_1);
@@ -4025,42 +4673,44 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
4025 4673
4026 4674
4027 // $ANTLR start "ruleQualifiedName" 4675 // $ANTLR start "ruleQualifiedName"
4028 // InternalProblem.g:1524:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_QUOTED_ID_0= RULE_QUOTED_ID | (this_ID_1= RULE_ID (kw= ':' this_ID_3= RULE_ID )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? ) ) ; 4676 // InternalProblem.g:1733:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_QUOTED_ID_0= RULE_QUOTED_ID | (this_Identifier_1= ruleIdentifier (kw= ':' this_Identifier_3= ruleIdentifier )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? ) ) ;
4029 public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException { 4677 public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException {
4030 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); 4678 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
4031 4679
4032 Token this_QUOTED_ID_0=null; 4680 Token this_QUOTED_ID_0=null;
4033 Token this_ID_1=null;
4034 Token kw=null; 4681 Token kw=null;
4035 Token this_ID_3=null;
4036 Token this_QUOTED_ID_5=null; 4682 Token this_QUOTED_ID_5=null;
4683 AntlrDatatypeRuleToken this_Identifier_1 = null;
4684
4685 AntlrDatatypeRuleToken this_Identifier_3 = null;
4686
4037 4687
4038 4688
4039 enterRule(); 4689 enterRule();
4040 4690
4041 try { 4691 try {
4042 // InternalProblem.g:1530:2: ( (this_QUOTED_ID_0= RULE_QUOTED_ID | (this_ID_1= RULE_ID (kw= ':' this_ID_3= RULE_ID )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? ) ) ) 4692 // InternalProblem.g:1739:2: ( (this_QUOTED_ID_0= RULE_QUOTED_ID | (this_Identifier_1= ruleIdentifier (kw= ':' this_Identifier_3= ruleIdentifier )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? ) ) )
4043 // InternalProblem.g:1531:2: (this_QUOTED_ID_0= RULE_QUOTED_ID | (this_ID_1= RULE_ID (kw= ':' this_ID_3= RULE_ID )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? ) ) 4693 // InternalProblem.g:1740:2: (this_QUOTED_ID_0= RULE_QUOTED_ID | (this_Identifier_1= ruleIdentifier (kw= ':' this_Identifier_3= ruleIdentifier )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? ) )
4044 { 4694 {
4045 // InternalProblem.g:1531:2: (this_QUOTED_ID_0= RULE_QUOTED_ID | (this_ID_1= RULE_ID (kw= ':' this_ID_3= RULE_ID )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? ) ) 4695 // InternalProblem.g:1740:2: (this_QUOTED_ID_0= RULE_QUOTED_ID | (this_Identifier_1= ruleIdentifier (kw= ':' this_Identifier_3= ruleIdentifier )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? ) )
4046 int alt37=2; 4696 int alt43=2;
4047 int LA37_0 = input.LA(1); 4697 int LA43_0 = input.LA(1);
4048 4698
4049 if ( (LA37_0==RULE_QUOTED_ID) ) { 4699 if ( (LA43_0==RULE_QUOTED_ID) ) {
4050 alt37=1; 4700 alt43=1;
4051 } 4701 }
4052 else if ( (LA37_0==RULE_ID) ) { 4702 else if ( (LA43_0==RULE_ID||(LA43_0>=40 && LA43_0<=41)) ) {
4053 alt37=2; 4703 alt43=2;
4054 } 4704 }
4055 else { 4705 else {
4056 NoViableAltException nvae = 4706 NoViableAltException nvae =
4057 new NoViableAltException("", 37, 0, input); 4707 new NoViableAltException("", 43, 0, input);
4058 4708
4059 throw nvae; 4709 throw nvae;
4060 } 4710 }
4061 switch (alt37) { 4711 switch (alt43) {
4062 case 1 : 4712 case 1 :
4063 // InternalProblem.g:1532:3: this_QUOTED_ID_0= RULE_QUOTED_ID 4713 // InternalProblem.g:1741:3: this_QUOTED_ID_0= RULE_QUOTED_ID
4064 { 4714 {
4065 this_QUOTED_ID_0=(Token)match(input,RULE_QUOTED_ID,FOLLOW_2); 4715 this_QUOTED_ID_0=(Token)match(input,RULE_QUOTED_ID,FOLLOW_2);
4066 4716
@@ -4073,72 +4723,86 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
4073 } 4723 }
4074 break; 4724 break;
4075 case 2 : 4725 case 2 :
4076 // InternalProblem.g:1540:3: (this_ID_1= RULE_ID (kw= ':' this_ID_3= RULE_ID )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? ) 4726 // InternalProblem.g:1749:3: (this_Identifier_1= ruleIdentifier (kw= ':' this_Identifier_3= ruleIdentifier )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? )
4077 { 4727 {
4078 // InternalProblem.g:1540:3: (this_ID_1= RULE_ID (kw= ':' this_ID_3= RULE_ID )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? ) 4728 // InternalProblem.g:1749:3: (this_Identifier_1= ruleIdentifier (kw= ':' this_Identifier_3= ruleIdentifier )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? )
4079 // InternalProblem.g:1541:4: this_ID_1= RULE_ID (kw= ':' this_ID_3= RULE_ID )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? 4729 // InternalProblem.g:1750:4: this_Identifier_1= ruleIdentifier (kw= ':' this_Identifier_3= ruleIdentifier )* (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )?
4080 { 4730 {
4081 this_ID_1=(Token)match(input,RULE_ID,FOLLOW_32);
4082 4731
4083 current.merge(this_ID_1); 4732 newCompositeNode(grammarAccess.getQualifiedNameAccess().getIdentifierParserRuleCall_1_0());
4733
4734 pushFollow(FOLLOW_36);
4735 this_Identifier_1=ruleIdentifier();
4736
4737 state._fsp--;
4738
4739
4740 current.merge(this_Identifier_1);
4084 4741
4085 4742
4086 newLeafNode(this_ID_1, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_0()); 4743 afterParserOrEnumRuleCall();
4087 4744
4088 // InternalProblem.g:1548:4: (kw= ':' this_ID_3= RULE_ID )* 4745 // InternalProblem.g:1760:4: (kw= ':' this_Identifier_3= ruleIdentifier )*
4089 loop35: 4746 loop41:
4090 do { 4747 do {
4091 int alt35=2; 4748 int alt41=2;
4092 int LA35_0 = input.LA(1); 4749 int LA41_0 = input.LA(1);
4093 4750
4094 if ( (LA35_0==33) ) { 4751 if ( (LA41_0==34) ) {
4095 int LA35_1 = input.LA(2); 4752 int LA41_1 = input.LA(2);
4096 4753
4097 if ( (LA35_1==RULE_ID) ) { 4754 if ( (LA41_1==RULE_ID||(LA41_1>=40 && LA41_1<=41)) ) {
4098 alt35=1; 4755 alt41=1;
4099 } 4756 }
4100 4757
4101 4758
4102 } 4759 }
4103 4760
4104 4761
4105 switch (alt35) { 4762 switch (alt41) {
4106 case 1 : 4763 case 1 :
4107 // InternalProblem.g:1549:5: kw= ':' this_ID_3= RULE_ID 4764 // InternalProblem.g:1761:5: kw= ':' this_Identifier_3= ruleIdentifier
4108 { 4765 {
4109 kw=(Token)match(input,33,FOLLOW_3); 4766 kw=(Token)match(input,34,FOLLOW_3);
4110 4767
4111 current.merge(kw); 4768 current.merge(kw);
4112 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getColonKeyword_1_1_0()); 4769 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getColonKeyword_1_1_0());
4113 4770
4114 this_ID_3=(Token)match(input,RULE_ID,FOLLOW_32);
4115 4771
4116 current.merge(this_ID_3); 4772 newCompositeNode(grammarAccess.getQualifiedNameAccess().getIdentifierParserRuleCall_1_1_1());
4117 4773
4774 pushFollow(FOLLOW_36);
4775 this_Identifier_3=ruleIdentifier();
4776
4777 state._fsp--;
4778
4118 4779
4119 newLeafNode(this_ID_3, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1_1()); 4780 current.merge(this_Identifier_3);
4781
4782
4783 afterParserOrEnumRuleCall();
4120 4784
4121 4785
4122 } 4786 }
4123 break; 4787 break;
4124 4788
4125 default : 4789 default :
4126 break loop35; 4790 break loop41;
4127 } 4791 }
4128 } while (true); 4792 } while (true);
4129 4793
4130 // InternalProblem.g:1562:4: (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )? 4794 // InternalProblem.g:1777:4: (kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID )?
4131 int alt36=2; 4795 int alt42=2;
4132 int LA36_0 = input.LA(1); 4796 int LA42_0 = input.LA(1);
4133 4797
4134 if ( (LA36_0==33) ) { 4798 if ( (LA42_0==34) ) {
4135 alt36=1; 4799 alt42=1;
4136 } 4800 }
4137 switch (alt36) { 4801 switch (alt42) {
4138 case 1 : 4802 case 1 :
4139 // InternalProblem.g:1563:5: kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID 4803 // InternalProblem.g:1778:5: kw= ':' this_QUOTED_ID_5= RULE_QUOTED_ID
4140 { 4804 {
4141 kw=(Token)match(input,33,FOLLOW_33); 4805 kw=(Token)match(input,34,FOLLOW_37);
4142 4806
4143 current.merge(kw); 4807 current.merge(kw);
4144 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getColonKeyword_1_2_0()); 4808 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getColonKeyword_1_2_0());
@@ -4184,8 +4848,142 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
4184 // $ANTLR end "ruleQualifiedName" 4848 // $ANTLR end "ruleQualifiedName"
4185 4849
4186 4850
4851 // $ANTLR start "entryRuleIdentifier"
4852 // InternalProblem.g:1796:1: entryRuleIdentifier returns [String current=null] : iv_ruleIdentifier= ruleIdentifier EOF ;
4853 public final String entryRuleIdentifier() throws RecognitionException {
4854 String current = null;
4855
4856 AntlrDatatypeRuleToken iv_ruleIdentifier = null;
4857
4858
4859 try {
4860 // InternalProblem.g:1796:50: (iv_ruleIdentifier= ruleIdentifier EOF )
4861 // InternalProblem.g:1797:2: iv_ruleIdentifier= ruleIdentifier EOF
4862 {
4863 newCompositeNode(grammarAccess.getIdentifierRule());
4864 pushFollow(FOLLOW_1);
4865 iv_ruleIdentifier=ruleIdentifier();
4866
4867 state._fsp--;
4868
4869 current =iv_ruleIdentifier.getText();
4870 match(input,EOF,FOLLOW_2);
4871
4872 }
4873
4874 }
4875
4876 catch (RecognitionException re) {
4877 recover(input,re);
4878 appendSkippedTokens();
4879 }
4880 finally {
4881 }
4882 return current;
4883 }
4884 // $ANTLR end "entryRuleIdentifier"
4885
4886
4887 // $ANTLR start "ruleIdentifier"
4888 // InternalProblem.g:1803:1: ruleIdentifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID | kw= 'true' | kw= 'false' ) ;
4889 public final AntlrDatatypeRuleToken ruleIdentifier() throws RecognitionException {
4890 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
4891
4892 Token this_ID_0=null;
4893 Token kw=null;
4894
4895
4896 enterRule();
4897
4898 try {
4899 // InternalProblem.g:1809:2: ( (this_ID_0= RULE_ID | kw= 'true' | kw= 'false' ) )
4900 // InternalProblem.g:1810:2: (this_ID_0= RULE_ID | kw= 'true' | kw= 'false' )
4901 {
4902 // InternalProblem.g:1810:2: (this_ID_0= RULE_ID | kw= 'true' | kw= 'false' )
4903 int alt44=3;
4904 switch ( input.LA(1) ) {
4905 case RULE_ID:
4906 {
4907 alt44=1;
4908 }
4909 break;
4910 case 40:
4911 {
4912 alt44=2;
4913 }
4914 break;
4915 case 41:
4916 {
4917 alt44=3;
4918 }
4919 break;
4920 default:
4921 NoViableAltException nvae =
4922 new NoViableAltException("", 44, 0, input);
4923
4924 throw nvae;
4925 }
4926
4927 switch (alt44) {
4928 case 1 :
4929 // InternalProblem.g:1811:3: this_ID_0= RULE_ID
4930 {
4931 this_ID_0=(Token)match(input,RULE_ID,FOLLOW_2);
4932
4933 current.merge(this_ID_0);
4934
4935
4936 newLeafNode(this_ID_0, grammarAccess.getIdentifierAccess().getIDTerminalRuleCall_0());
4937
4938
4939 }
4940 break;
4941 case 2 :
4942 // InternalProblem.g:1819:3: kw= 'true'
4943 {
4944 kw=(Token)match(input,40,FOLLOW_2);
4945
4946 current.merge(kw);
4947 newLeafNode(kw, grammarAccess.getIdentifierAccess().getTrueKeyword_1());
4948
4949
4950 }
4951 break;
4952 case 3 :
4953 // InternalProblem.g:1825:3: kw= 'false'
4954 {
4955 kw=(Token)match(input,41,FOLLOW_2);
4956
4957 current.merge(kw);
4958 newLeafNode(kw, grammarAccess.getIdentifierAccess().getFalseKeyword_2());
4959
4960
4961 }
4962 break;
4963
4964 }
4965
4966
4967 }
4968
4969
4970 leaveRule();
4971
4972 }
4973
4974 catch (RecognitionException re) {
4975 recover(input,re);
4976 appendSkippedTokens();
4977 }
4978 finally {
4979 }
4980 return current;
4981 }
4982 // $ANTLR end "ruleIdentifier"
4983
4984
4187 // $ANTLR start "ruleLogicValue" 4985 // $ANTLR start "ruleLogicValue"
4188 // InternalProblem.g:1581:1: ruleLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) ) ; 4986 // InternalProblem.g:1834:1: ruleLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) ) ;
4189 public final Enumerator ruleLogicValue() throws RecognitionException { 4987 public final Enumerator ruleLogicValue() throws RecognitionException {
4190 Enumerator current = null; 4988 Enumerator current = null;
4191 4989
@@ -4197,42 +4995,42 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
4197 enterRule(); 4995 enterRule();
4198 4996
4199 try { 4997 try {
4200 // InternalProblem.g:1587:2: ( ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) ) ) 4998 // InternalProblem.g:1840:2: ( ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) ) )
4201 // InternalProblem.g:1588:2: ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) ) 4999 // InternalProblem.g:1841:2: ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) )
4202 { 5000 {
4203 // InternalProblem.g:1588:2: ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) ) 5001 // InternalProblem.g:1841:2: ( (enumLiteral_0= 'true' ) | (enumLiteral_1= 'false' ) | (enumLiteral_2= 'unknown' ) )
4204 int alt38=3; 5002 int alt45=3;
4205 switch ( input.LA(1) ) { 5003 switch ( input.LA(1) ) {
4206 case 39: 5004 case 40:
4207 { 5005 {
4208 alt38=1; 5006 alt45=1;
4209 } 5007 }
4210 break; 5008 break;
4211 case 40: 5009 case 41:
4212 { 5010 {
4213 alt38=2; 5011 alt45=2;
4214 } 5012 }
4215 break; 5013 break;
4216 case 41: 5014 case 42:
4217 { 5015 {
4218 alt38=3; 5016 alt45=3;
4219 } 5017 }
4220 break; 5018 break;
4221 default: 5019 default:
4222 NoViableAltException nvae = 5020 NoViableAltException nvae =
4223 new NoViableAltException("", 38, 0, input); 5021 new NoViableAltException("", 45, 0, input);
4224 5022
4225 throw nvae; 5023 throw nvae;
4226 } 5024 }
4227 5025
4228 switch (alt38) { 5026 switch (alt45) {
4229 case 1 : 5027 case 1 :
4230 // InternalProblem.g:1589:3: (enumLiteral_0= 'true' ) 5028 // InternalProblem.g:1842:3: (enumLiteral_0= 'true' )
4231 { 5029 {
4232 // InternalProblem.g:1589:3: (enumLiteral_0= 'true' ) 5030 // InternalProblem.g:1842:3: (enumLiteral_0= 'true' )
4233 // InternalProblem.g:1590:4: enumLiteral_0= 'true' 5031 // InternalProblem.g:1843:4: enumLiteral_0= 'true'
4234 { 5032 {
4235 enumLiteral_0=(Token)match(input,39,FOLLOW_2); 5033 enumLiteral_0=(Token)match(input,40,FOLLOW_2);
4236 5034
4237 current = grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); 5035 current = grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
4238 newLeafNode(enumLiteral_0, grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0()); 5036 newLeafNode(enumLiteral_0, grammarAccess.getLogicValueAccess().getTRUEEnumLiteralDeclaration_0());
@@ -4244,12 +5042,12 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
4244 } 5042 }
4245 break; 5043 break;
4246 case 2 : 5044 case 2 :
4247 // InternalProblem.g:1597:3: (enumLiteral_1= 'false' ) 5045 // InternalProblem.g:1850:3: (enumLiteral_1= 'false' )
4248 { 5046 {
4249 // InternalProblem.g:1597:3: (enumLiteral_1= 'false' ) 5047 // InternalProblem.g:1850:3: (enumLiteral_1= 'false' )
4250 // InternalProblem.g:1598:4: enumLiteral_1= 'false' 5048 // InternalProblem.g:1851:4: enumLiteral_1= 'false'
4251 { 5049 {
4252 enumLiteral_1=(Token)match(input,40,FOLLOW_2); 5050 enumLiteral_1=(Token)match(input,41,FOLLOW_2);
4253 5051
4254 current = grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); 5052 current = grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
4255 newLeafNode(enumLiteral_1, grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1()); 5053 newLeafNode(enumLiteral_1, grammarAccess.getLogicValueAccess().getFALSEEnumLiteralDeclaration_1());
@@ -4261,12 +5059,12 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
4261 } 5059 }
4262 break; 5060 break;
4263 case 3 : 5061 case 3 :
4264 // InternalProblem.g:1605:3: (enumLiteral_2= 'unknown' ) 5062 // InternalProblem.g:1858:3: (enumLiteral_2= 'unknown' )
4265 { 5063 {
4266 // InternalProblem.g:1605:3: (enumLiteral_2= 'unknown' ) 5064 // InternalProblem.g:1858:3: (enumLiteral_2= 'unknown' )
4267 // InternalProblem.g:1606:4: enumLiteral_2= 'unknown' 5065 // InternalProblem.g:1859:4: enumLiteral_2= 'unknown'
4268 { 5066 {
4269 enumLiteral_2=(Token)match(input,41,FOLLOW_2); 5067 enumLiteral_2=(Token)match(input,42,FOLLOW_2);
4270 5068
4271 current = grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); 5069 current = grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
4272 newLeafNode(enumLiteral_2, grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2()); 5070 newLeafNode(enumLiteral_2, grammarAccess.getLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_2());
@@ -4300,7 +5098,7 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
4300 5098
4301 5099
4302 // $ANTLR start "ruleShortLogicValue" 5100 // $ANTLR start "ruleShortLogicValue"
4303 // InternalProblem.g:1616:1: ruleShortLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) ) ; 5101 // InternalProblem.g:1869:1: ruleShortLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) ) ;
4304 public final Enumerator ruleShortLogicValue() throws RecognitionException { 5102 public final Enumerator ruleShortLogicValue() throws RecognitionException {
4305 Enumerator current = null; 5103 Enumerator current = null;
4306 5104
@@ -4311,33 +5109,33 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
4311 enterRule(); 5109 enterRule();
4312 5110
4313 try { 5111 try {
4314 // InternalProblem.g:1622:2: ( ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) ) ) 5112 // InternalProblem.g:1875:2: ( ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) ) )
4315 // InternalProblem.g:1623:2: ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) ) 5113 // InternalProblem.g:1876:2: ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) )
4316 { 5114 {
4317 // InternalProblem.g:1623:2: ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) ) 5115 // InternalProblem.g:1876:2: ( (enumLiteral_0= '!' ) | (enumLiteral_1= '?' ) )
4318 int alt39=2; 5116 int alt46=2;
4319 int LA39_0 = input.LA(1); 5117 int LA46_0 = input.LA(1);
4320 5118
4321 if ( (LA39_0==31) ) { 5119 if ( (LA46_0==32) ) {
4322 alt39=1; 5120 alt46=1;
4323 } 5121 }
4324 else if ( (LA39_0==42) ) { 5122 else if ( (LA46_0==43) ) {
4325 alt39=2; 5123 alt46=2;
4326 } 5124 }
4327 else { 5125 else {
4328 NoViableAltException nvae = 5126 NoViableAltException nvae =
4329 new NoViableAltException("", 39, 0, input); 5127 new NoViableAltException("", 46, 0, input);
4330 5128
4331 throw nvae; 5129 throw nvae;
4332 } 5130 }
4333 switch (alt39) { 5131 switch (alt46) {
4334 case 1 : 5132 case 1 :
4335 // InternalProblem.g:1624:3: (enumLiteral_0= '!' ) 5133 // InternalProblem.g:1877:3: (enumLiteral_0= '!' )
4336 { 5134 {
4337 // InternalProblem.g:1624:3: (enumLiteral_0= '!' ) 5135 // InternalProblem.g:1877:3: (enumLiteral_0= '!' )
4338 // InternalProblem.g:1625:4: enumLiteral_0= '!' 5136 // InternalProblem.g:1878:4: enumLiteral_0= '!'
4339 { 5137 {
4340 enumLiteral_0=(Token)match(input,31,FOLLOW_2); 5138 enumLiteral_0=(Token)match(input,32,FOLLOW_2);
4341 5139
4342 current = grammarAccess.getShortLogicValueAccess().getFALSEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); 5140 current = grammarAccess.getShortLogicValueAccess().getFALSEEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
4343 newLeafNode(enumLiteral_0, grammarAccess.getShortLogicValueAccess().getFALSEEnumLiteralDeclaration_0()); 5141 newLeafNode(enumLiteral_0, grammarAccess.getShortLogicValueAccess().getFALSEEnumLiteralDeclaration_0());
@@ -4349,12 +5147,12 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
4349 } 5147 }
4350 break; 5148 break;
4351 case 2 : 5149 case 2 :
4352 // InternalProblem.g:1632:3: (enumLiteral_1= '?' ) 5150 // InternalProblem.g:1885:3: (enumLiteral_1= '?' )
4353 { 5151 {
4354 // InternalProblem.g:1632:3: (enumLiteral_1= '?' ) 5152 // InternalProblem.g:1885:3: (enumLiteral_1= '?' )
4355 // InternalProblem.g:1633:4: enumLiteral_1= '?' 5153 // InternalProblem.g:1886:4: enumLiteral_1= '?'
4356 { 5154 {
4357 enumLiteral_1=(Token)match(input,42,FOLLOW_2); 5155 enumLiteral_1=(Token)match(input,43,FOLLOW_2);
4358 5156
4359 current = grammarAccess.getShortLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); 5157 current = grammarAccess.getShortLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
4360 newLeafNode(enumLiteral_1, grammarAccess.getShortLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_1()); 5158 newLeafNode(enumLiteral_1, grammarAccess.getShortLogicValueAccess().getUNKNOWNEnumLiteralDeclaration_1());
@@ -4389,34 +5187,46 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
4389 // Delegated rules 5187 // Delegated rules
4390 5188
4391 5189
4392 protected DFA29 dfa29 = new DFA29(this); 5190 protected DFA34 dfa34 = new DFA34(this);
4393 static final String dfa_1s = "\25\uffff"; 5191 static final String dfa_1s = "\41\uffff";
4394 static final String dfa_2s = "\1\4\2\34\1\uffff\2\4\2\21\1\15\2\34\2\4\1\uffff\4\21\1\4\2\21"; 5192 static final String dfa_2s = "\1\4\4\35\1\uffff\2\4\4\21\1\15\4\35\2\4\1\uffff\10\21\1\4\4\21";
4395 static final String dfa_3s = "\1\52\1\34\1\41\1\uffff\1\35\1\6\1\35\2\41\1\34\1\41\2\6\1\uffff\1\35\1\41\1\35\1\41\1\6\1\35\1\41"; 5193 static final String dfa_3s = "\1\53\1\35\3\42\1\uffff\2\51\1\36\7\42\1\35\2\51\1\uffff\1\36\6\42\1\36\1\51\3\42\1\36";
4396 static final String dfa_4s = "\3\uffff\1\2\11\uffff\1\1\7\uffff"; 5194 static final String dfa_4s = "\5\uffff\1\2\15\uffff\1\1\15\uffff";
4397 static final String dfa_5s = "\25\uffff}>"; 5195 static final String dfa_5s = "\41\uffff}>";
4398 static final String[] dfa_6s = { 5196 static final String[] dfa_6s = {
4399 "\1\2\1\uffff\1\1\30\uffff\1\3\12\uffff\1\3", 5197 "\1\2\1\uffff\1\1\31\uffff\1\5\7\uffff\1\3\1\4\1\uffff\1\5",
4400 "\1\4", 5198 "\1\6",
4401 "\1\4\4\uffff\1\5", 5199 "\1\6\4\uffff\1\7",
5200 "\1\6\4\uffff\1\7",
5201 "\1\6\4\uffff\1\7",
4402 "", 5202 "",
4403 "\1\7\1\uffff\1\6\26\uffff\1\10", 5203 "\1\11\1\uffff\1\10\27\uffff\1\14\11\uffff\1\12\1\13",
4404 "\1\12\1\uffff\1\11", 5204 "\1\15\1\uffff\1\20\41\uffff\1\16\1\17",
4405 "\1\13\13\uffff\1\10", 5205 "\1\21\14\uffff\1\14",
4406 "\1\13\13\uffff\1\10\3\uffff\1\14", 5206 "\1\21\14\uffff\1\14\3\uffff\1\22",
4407 "\1\3\23\uffff\1\15", 5207 "\1\21\14\uffff\1\14\3\uffff\1\22",
4408 "\1\4", 5208 "\1\21\14\uffff\1\14\3\uffff\1\22",
4409 "\1\4\4\uffff\1\5", 5209 "\1\5\24\uffff\1\23",
4410 "\1\17\1\uffff\1\16", 5210 "\1\6\4\uffff\1\7",
4411 "\1\21\1\uffff\1\20", 5211 "\1\6\4\uffff\1\7",
5212 "\1\6\4\uffff\1\7",
5213 "\1\6",
5214 "\1\25\1\uffff\1\24\41\uffff\1\26\1\27",
5215 "\1\30\1\uffff\1\33\41\uffff\1\31\1\32",
4412 "", 5216 "",
4413 "\1\13\13\uffff\1\10", 5217 "\1\21\14\uffff\1\14",
4414 "\1\13\13\uffff\1\10\3\uffff\1\22", 5218 "\1\21\14\uffff\1\14\3\uffff\1\34",
4415 "\1\13\13\uffff\1\10", 5219 "\1\21\14\uffff\1\14\3\uffff\1\34",
4416 "\1\13\13\uffff\1\10\3\uffff\1\14", 5220 "\1\21\14\uffff\1\14\3\uffff\1\34",
4417 "\1\24\1\uffff\1\23", 5221 "\1\21\14\uffff\1\14\3\uffff\1\22",
4418 "\1\13\13\uffff\1\10", 5222 "\1\21\14\uffff\1\14\3\uffff\1\22",
4419 "\1\13\13\uffff\1\10\3\uffff\1\22" 5223 "\1\21\14\uffff\1\14\3\uffff\1\22",
5224 "\1\21\14\uffff\1\14",
5225 "\1\35\1\uffff\1\40\41\uffff\1\36\1\37",
5226 "\1\21\14\uffff\1\14\3\uffff\1\34",
5227 "\1\21\14\uffff\1\14\3\uffff\1\34",
5228 "\1\21\14\uffff\1\14\3\uffff\1\34",
5229 "\1\21\14\uffff\1\14"
4420 }; 5230 };
4421 5231
4422 static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); 5232 static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s);
@@ -4426,11 +5236,11 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
4426 static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s); 5236 static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s);
4427 static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s); 5237 static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s);
4428 5238
4429 class DFA29 extends DFA { 5239 class DFA34 extends DFA {
4430 5240
4431 public DFA29(BaseRecognizer recognizer) { 5241 public DFA34(BaseRecognizer recognizer) {
4432 this.recognizer = recognizer; 5242 this.recognizer = recognizer;
4433 this.decisionNumber = 29; 5243 this.decisionNumber = 34;
4434 this.eot = dfa_1; 5244 this.eot = dfa_1;
4435 this.eof = dfa_1; 5245 this.eof = dfa_1;
4436 this.min = dfa_2; 5246 this.min = dfa_2;
@@ -4440,43 +5250,47 @@ public class InternalProblemParser extends AbstractInternalAntlrParser {
4440 this.transition = dfa_6; 5250 this.transition = dfa_6;
4441 } 5251 }
4442 public String getDescription() { 5252 public String getDescription() {
4443 return "966:3: ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) )"; 5253 return "1138:3: ( ( ( ( ruleQualifiedName ) ) otherlv_1= '(' ( ( ( ruleQualifiedName ) ) (otherlv_3= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_5= ')' otherlv_6= ':' ( (lv_value_7_0= ruleLogicValue ) ) ) | ( ( (lv_value_8_0= ruleShortLogicValue ) )? ( ( ruleQualifiedName ) ) otherlv_10= '(' ( ( ( ruleQualifiedName ) ) (otherlv_12= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_14= ')' ) )";
4444 } 5254 }
4445 } 5255 }
4446 5256
4447 5257
4448 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); 5258 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L});
4449 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); 5259 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
4450 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000000000010L}); 5260 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000030000000010L});
4451 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000002000L}); 5261 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000002000L});
4452 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x000004048C00C052L}); 5262 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x00000B091820C052L});
4453 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000008000L}); 5263 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000008000L});
4454 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000052000L}); 5264 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000052000L});
4455 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000000050L}); 5265 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000030000000050L});
4456 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000062000L}); 5266 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000062000L});
4457 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000700000L}); 5267 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000030000D00050L});
4458 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000780000L}); 5268 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000030000D80050L});
4459 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000800010L}); 5269 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000042000L});
4460 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000000020L}); 5270 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000030000100050L});
4461 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000001000000L}); 5271 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x00000000001A0000L});
4462 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000002000002L}); 5272 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000100000L});
4463 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000008000010L}); 5273 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000030001000010L});
4464 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000010000000L}); 5274 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000000020L});
4465 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000020000010L}); 5275 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000002000000L});
4466 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000020020000L}); 5276 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000004000002L});
4467 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000040002000L}); 5277 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000030010000010L});
4468 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000080000050L}); 5278 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000020000000L});
4469 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000000082000L}); 5279 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000030040000050L});
4470 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000000020002L}); 5280 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000040020000L});
4471 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000110000000L}); 5281 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000080002000L});
4472 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000020000050L}); 5282 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000030100000050L});
4473 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000200000000L}); 5283 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000082000L});
4474 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000038000000000L}); 5284 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000000020002L});
4475 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000000022000L}); 5285 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000220000000L});
4476 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000001800000000L}); 5286 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000400000000L});
4477 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000002000000000L}); 5287 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000070000000000L});
4478 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000004000000020L}); 5288 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000000000010L});
4479 public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000200000002L}); 5289 public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000000022000L});
4480 public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000000000040L}); 5290 public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000003000000000L});
5291 public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000004000000000L});
5292 public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000008000000020L});
5293 public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000400000002L});
5294 public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000000000000040L});
4481 5295
4482} \ No newline at end of file 5296} \ No newline at end of file
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 336d0867..cb44c31f 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
@@ -12,8 +12,10 @@ import org.eclipse.viatra.solver.language.model.problem.Assertion;
12import org.eclipse.viatra.solver.language.model.problem.Atom; 12import org.eclipse.viatra.solver.language.model.problem.Atom;
13import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration; 13import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration;
14import org.eclipse.viatra.solver.language.model.problem.Conjunction; 14import org.eclipse.viatra.solver.language.model.problem.Conjunction;
15import org.eclipse.viatra.solver.language.model.problem.EnumDeclaration;
15import org.eclipse.viatra.solver.language.model.problem.ExactMultiplicity; 16import org.eclipse.viatra.solver.language.model.problem.ExactMultiplicity;
16import org.eclipse.viatra.solver.language.model.problem.NegativeLiteral; 17import org.eclipse.viatra.solver.language.model.problem.NegativeLiteral;
18import org.eclipse.viatra.solver.language.model.problem.Node;
17import org.eclipse.viatra.solver.language.model.problem.PredicateDefinition; 19import org.eclipse.viatra.solver.language.model.problem.PredicateDefinition;
18import org.eclipse.viatra.solver.language.model.problem.Problem; 20import org.eclipse.viatra.solver.language.model.problem.Problem;
19import org.eclipse.viatra.solver.language.model.problem.ProblemPackage; 21import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
@@ -60,12 +62,18 @@ public class ProblemSemanticSequencer extends AbstractDelegatingSemanticSequence
60 case ProblemPackage.CONJUNCTION: 62 case ProblemPackage.CONJUNCTION:
61 sequence_Conjunction(context, (Conjunction) semanticObject); 63 sequence_Conjunction(context, (Conjunction) semanticObject);
62 return; 64 return;
65 case ProblemPackage.ENUM_DECLARATION:
66 sequence_EnumDeclaration(context, (EnumDeclaration) semanticObject);
67 return;
63 case ProblemPackage.EXACT_MULTIPLICITY: 68 case ProblemPackage.EXACT_MULTIPLICITY:
64 sequence_ExactMultiplicity(context, (ExactMultiplicity) semanticObject); 69 sequence_ExactMultiplicity(context, (ExactMultiplicity) semanticObject);
65 return; 70 return;
66 case ProblemPackage.NEGATIVE_LITERAL: 71 case ProblemPackage.NEGATIVE_LITERAL:
67 sequence_NegativeLiteral(context, (NegativeLiteral) semanticObject); 72 sequence_NegativeLiteral(context, (NegativeLiteral) semanticObject);
68 return; 73 return;
74 case ProblemPackage.NODE:
75 sequence_EnumLiteral(context, (Node) semanticObject);
76 return;
69 case ProblemPackage.PARAMETER: 77 case ProblemPackage.PARAMETER:
70 sequence_Parameter(context, (org.eclipse.viatra.solver.language.model.problem.Parameter) semanticObject); 78 sequence_Parameter(context, (org.eclipse.viatra.solver.language.model.problem.Parameter) semanticObject);
71 return; 79 return;
@@ -100,15 +108,15 @@ public class ProblemSemanticSequencer extends AbstractDelegatingSemanticSequence
100 * Argument returns Argument 108 * Argument returns Argument
101 * 109 *
102 * Constraint: 110 * Constraint:
103 * variable=[Variable|ID] 111 * variableOrNode=[VariableOrNode|QualifiedName]
104 */ 112 */
105 protected void sequence_Argument(ISerializationContext context, Argument semanticObject) { 113 protected void sequence_Argument(ISerializationContext context, Argument semanticObject) {
106 if (errorAcceptor != null) { 114 if (errorAcceptor != null) {
107 if (transientValues.isValueTransient(semanticObject, ProblemPackage.Literals.ARGUMENT__VARIABLE) == ValueTransient.YES) 115 if (transientValues.isValueTransient(semanticObject, ProblemPackage.Literals.ARGUMENT__VARIABLE_OR_NODE) == ValueTransient.YES)
108 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, ProblemPackage.Literals.ARGUMENT__VARIABLE)); 116 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, ProblemPackage.Literals.ARGUMENT__VARIABLE_OR_NODE));
109 } 117 }
110 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 118 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
111 feeder.accept(grammarAccess.getArgumentAccess().getVariableVariableIDTerminalRuleCall_0_1(), semanticObject.eGet(ProblemPackage.Literals.ARGUMENT__VARIABLE, false)); 119 feeder.accept(grammarAccess.getArgumentAccess().getVariableOrNodeVariableOrNodeQualifiedNameParserRuleCall_0_1(), semanticObject.eGet(ProblemPackage.Literals.ARGUMENT__VARIABLE_OR_NODE, false));
112 feeder.finish(); 120 feeder.finish();
113 } 121 }
114 122
@@ -150,8 +158,8 @@ public class ProblemSemanticSequencer extends AbstractDelegatingSemanticSequence
150 * Constraint: 158 * Constraint:
151 * ( 159 * (
152 * abstract?='abstract'? 160 * abstract?='abstract'?
153 * name=ID 161 * name=Identifier
154 * (superTypes+=[ClassDeclaration|QualifiedName] superTypes+=[ClassDeclaration|QualifiedName]*)? 162 * (superTypes+=[Relation|QualifiedName] superTypes+=[Relation|QualifiedName]*)?
155 * referenceDeclarations+=ReferenceDeclaration* 163 * referenceDeclarations+=ReferenceDeclaration*
156 * ) 164 * )
157 */ 165 */
@@ -174,6 +182,37 @@ public class ProblemSemanticSequencer extends AbstractDelegatingSemanticSequence
174 182
175 /** 183 /**
176 * Contexts: 184 * Contexts:
185 * Statement returns EnumDeclaration
186 * EnumDeclaration returns EnumDeclaration
187 *
188 * Constraint:
189 * (name=Identifier (literals+=EnumLiteral literals+=EnumLiteral*)?)
190 */
191 protected void sequence_EnumDeclaration(ISerializationContext context, EnumDeclaration semanticObject) {
192 genericSequencer.createSequence(context, semanticObject);
193 }
194
195
196 /**
197 * Contexts:
198 * EnumLiteral returns Node
199 *
200 * Constraint:
201 * name=QuotedOrUnquotedId
202 */
203 protected void sequence_EnumLiteral(ISerializationContext context, Node semanticObject) {
204 if (errorAcceptor != null) {
205 if (transientValues.isValueTransient(semanticObject, ProblemPackage.Literals.NAMED_ELEMENT__NAME) == ValueTransient.YES)
206 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, ProblemPackage.Literals.NAMED_ELEMENT__NAME));
207 }
208 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
209 feeder.accept(grammarAccess.getEnumLiteralAccess().getNameQuotedOrUnquotedIdParserRuleCall_0(), semanticObject.getName());
210 feeder.finish();
211 }
212
213
214 /**
215 * Contexts:
177 * Multiplicity returns ExactMultiplicity 216 * Multiplicity returns ExactMultiplicity
178 * DefiniteMultiplicity returns ExactMultiplicity 217 * DefiniteMultiplicity returns ExactMultiplicity
179 * ExactMultiplicity returns ExactMultiplicity 218 * ExactMultiplicity returns ExactMultiplicity
@@ -216,19 +255,10 @@ public class ProblemSemanticSequencer extends AbstractDelegatingSemanticSequence
216 * Parameter returns Parameter 255 * Parameter returns Parameter
217 * 256 *
218 * Constraint: 257 * Constraint:
219 * (parameterType=[ClassDeclaration|ID] name=ID) 258 * (parameterType=[Relation|QualifiedName]? name=Identifier)
220 */ 259 */
221 protected void sequence_Parameter(ISerializationContext context, org.eclipse.viatra.solver.language.model.problem.Parameter semanticObject) { 260 protected void sequence_Parameter(ISerializationContext context, org.eclipse.viatra.solver.language.model.problem.Parameter semanticObject) {
222 if (errorAcceptor != null) { 261 genericSequencer.createSequence(context, semanticObject);
223 if (transientValues.isValueTransient(semanticObject, ProblemPackage.Literals.PARAMETER__PARAMETER_TYPE) == ValueTransient.YES)
224 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, ProblemPackage.Literals.PARAMETER__PARAMETER_TYPE));
225 if (transientValues.isValueTransient(semanticObject, ProblemPackage.Literals.NAMED_ELEMENT__NAME) == ValueTransient.YES)
226 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, ProblemPackage.Literals.NAMED_ELEMENT__NAME));
227 }
228 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
229 feeder.accept(grammarAccess.getParameterAccess().getParameterTypeClassDeclarationIDTerminalRuleCall_0_0_1(), semanticObject.eGet(ProblemPackage.Literals.PARAMETER__PARAMETER_TYPE, false));
230 feeder.accept(grammarAccess.getParameterAccess().getNameIDTerminalRuleCall_1_0(), semanticObject.getName());
231 feeder.finish();
232 } 262 }
233 263
234 264
@@ -238,7 +268,7 @@ public class ProblemSemanticSequencer extends AbstractDelegatingSemanticSequence
238 * PredicateDefinition returns PredicateDefinition 268 * PredicateDefinition returns PredicateDefinition
239 * 269 *
240 * Constraint: 270 * Constraint:
241 * (error?='error'? name=ID (parameters+=Parameter parameters+=Parameter*)? (bodies+=Conjunction bodies+=Conjunction*)?) 271 * (error?='error'? name=Identifier (parameters+=Parameter parameters+=Parameter*)? (bodies+=Conjunction bodies+=Conjunction*)?)
242 */ 272 */
243 protected void sequence_PredicateDefinition(ISerializationContext context, PredicateDefinition semanticObject) { 273 protected void sequence_PredicateDefinition(ISerializationContext context, PredicateDefinition semanticObject) {
244 genericSequencer.createSequence(context, semanticObject); 274 genericSequencer.createSequence(context, semanticObject);
@@ -250,7 +280,7 @@ public class ProblemSemanticSequencer extends AbstractDelegatingSemanticSequence
250 * Problem returns Problem 280 * Problem returns Problem
251 * 281 *
252 * Constraint: 282 * Constraint:
253 * ((name=ID statements+=Statement+) | statements+=Statement+)? 283 * ((name=Identifier statements+=Statement+) | statements+=Statement+)?
254 */ 284 */
255 protected void sequence_Problem(ISerializationContext context, Problem semanticObject) { 285 protected void sequence_Problem(ISerializationContext context, Problem semanticObject) {
256 genericSequencer.createSequence(context, semanticObject); 286 genericSequencer.createSequence(context, semanticObject);
@@ -287,9 +317,9 @@ public class ProblemSemanticSequencer extends AbstractDelegatingSemanticSequence
287 * Constraint: 317 * Constraint:
288 * ( 318 * (
289 * containment?='contains'? 319 * containment?='contains'?
290 * referenceType=[ClassDeclaration|QualifiedName] 320 * referenceType=[Relation|QualifiedName]
291 * multiplicity=Multiplicity? 321 * multiplicity=Multiplicity?
292 * name=ID 322 * name=Identifier
293 * opposite=[ReferenceDeclaration|QualifiedName]? 323 * opposite=[ReferenceDeclaration|QualifiedName]?
294 * ) 324 * )
295 */ 325 */
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 80ac73d6..3f0a3f05 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
@@ -24,14 +24,20 @@ public class ProblemSyntacticSequencer extends AbstractSyntacticSequencer {
24 protected ProblemGrammarAccess grammarAccess; 24 protected ProblemGrammarAccess grammarAccess;
25 protected AbstractElementAlias match_ClassDeclaration_FullStopKeyword_4_1_or___LeftCurlyBracketKeyword_4_0_0_RightCurlyBracketKeyword_4_0_2__; 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; 26 protected AbstractElementAlias match_ClassDeclaration_SemicolonKeyword_4_0_1_1_q;
27 protected AbstractElementAlias match_EnumDeclaration_FullStopKeyword_2_1_or___LeftCurlyBracketKeyword_2_0_0_RightCurlyBracketKeyword_2_0_2__;
28 protected AbstractElementAlias match_EnumDeclaration___CommaKeyword_2_0_1_2_0_or_SemicolonKeyword_2_0_1_2_1__q;
27 protected AbstractElementAlias match_PredicateDefinition_PredKeyword_0_0_1_q; 29 protected AbstractElementAlias match_PredicateDefinition_PredKeyword_0_0_1_q;
30 protected AbstractElementAlias match_ReferenceDeclaration_RefersKeyword_0_1_q;
28 31
29 @Inject 32 @Inject
30 protected void init(IGrammarAccess access) { 33 protected void init(IGrammarAccess access) {
31 grammarAccess = (ProblemGrammarAccess) access; 34 grammarAccess = (ProblemGrammarAccess) access;
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())); 35 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()); 36 match_ClassDeclaration_SemicolonKeyword_4_0_1_1_q = new TokenAlias(false, true, grammarAccess.getClassDeclarationAccess().getSemicolonKeyword_4_0_1_1());
37 match_EnumDeclaration_FullStopKeyword_2_1_or___LeftCurlyBracketKeyword_2_0_0_RightCurlyBracketKeyword_2_0_2__ = new AlternativeAlias(false, false, new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getEnumDeclarationAccess().getLeftCurlyBracketKeyword_2_0_0()), new TokenAlias(false, false, grammarAccess.getEnumDeclarationAccess().getRightCurlyBracketKeyword_2_0_2())), new TokenAlias(false, false, grammarAccess.getEnumDeclarationAccess().getFullStopKeyword_2_1()));
38 match_EnumDeclaration___CommaKeyword_2_0_1_2_0_or_SemicolonKeyword_2_0_1_2_1__q = new AlternativeAlias(false, true, new TokenAlias(false, false, grammarAccess.getEnumDeclarationAccess().getCommaKeyword_2_0_1_2_0()), new TokenAlias(false, false, grammarAccess.getEnumDeclarationAccess().getSemicolonKeyword_2_0_1_2_1()));
34 match_PredicateDefinition_PredKeyword_0_0_1_q = new TokenAlias(false, true, grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_0_1()); 39 match_PredicateDefinition_PredKeyword_0_0_1_q = new TokenAlias(false, true, grammarAccess.getPredicateDefinitionAccess().getPredKeyword_0_0_1());
40 match_ReferenceDeclaration_RefersKeyword_0_1_q = new TokenAlias(false, true, grammarAccess.getReferenceDeclarationAccess().getRefersKeyword_0_1());
35 } 41 }
36 42
37 @Override 43 @Override
@@ -50,8 +56,14 @@ public class ProblemSyntacticSequencer extends AbstractSyntacticSequencer {
50 emit_ClassDeclaration_FullStopKeyword_4_1_or___LeftCurlyBracketKeyword_4_0_0_RightCurlyBracketKeyword_4_0_2__(semanticObject, getLastNavigableState(), syntaxNodes); 56 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)) 57 else if (match_ClassDeclaration_SemicolonKeyword_4_0_1_1_q.equals(syntax))
52 emit_ClassDeclaration_SemicolonKeyword_4_0_1_1_q(semanticObject, getLastNavigableState(), syntaxNodes); 58 emit_ClassDeclaration_SemicolonKeyword_4_0_1_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
59 else if (match_EnumDeclaration_FullStopKeyword_2_1_or___LeftCurlyBracketKeyword_2_0_0_RightCurlyBracketKeyword_2_0_2__.equals(syntax))
60 emit_EnumDeclaration_FullStopKeyword_2_1_or___LeftCurlyBracketKeyword_2_0_0_RightCurlyBracketKeyword_2_0_2__(semanticObject, getLastNavigableState(), syntaxNodes);
61 else if (match_EnumDeclaration___CommaKeyword_2_0_1_2_0_or_SemicolonKeyword_2_0_1_2_1__q.equals(syntax))
62 emit_EnumDeclaration___CommaKeyword_2_0_1_2_0_or_SemicolonKeyword_2_0_1_2_1__q(semanticObject, getLastNavigableState(), syntaxNodes);
53 else if (match_PredicateDefinition_PredKeyword_0_0_1_q.equals(syntax)) 63 else if (match_PredicateDefinition_PredKeyword_0_0_1_q.equals(syntax))
54 emit_PredicateDefinition_PredKeyword_0_0_1_q(semanticObject, getLastNavigableState(), syntaxNodes); 64 emit_PredicateDefinition_PredKeyword_0_0_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
65 else if (match_ReferenceDeclaration_RefersKeyword_0_1_q.equals(syntax))
66 emit_ReferenceDeclaration_RefersKeyword_0_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
55 else acceptNodes(getLastNavigableState(), syntaxNodes); 67 else acceptNodes(getLastNavigableState(), syntaxNodes);
56 } 68 }
57 } 69 }
@@ -61,8 +73,8 @@ public class ProblemSyntacticSequencer extends AbstractSyntacticSequencer {
61 * ('{' '}') | '.' 73 * ('{' '}') | '.'
62 * 74 *
63 * This ambiguous syntax occurs at: 75 * This ambiguous syntax occurs at:
64 * name=ID (ambiguity) (rule end) 76 * name=Identifier (ambiguity) (rule end)
65 * superTypes+=[ClassDeclaration|QualifiedName] (ambiguity) (rule end) 77 * superTypes+=[Relation|QualifiedName] (ambiguity) (rule end)
66 */ 78 */
67 protected void emit_ClassDeclaration_FullStopKeyword_4_1_or___LeftCurlyBracketKeyword_4_0_0_RightCurlyBracketKeyword_4_0_2__(EObject semanticObject, ISynNavigable transition, List<INode> nodes) { 79 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); 80 acceptNodes(transition, nodes);
@@ -82,13 +94,46 @@ public class ProblemSyntacticSequencer extends AbstractSyntacticSequencer {
82 94
83 /** 95 /**
84 * Ambiguous syntax: 96 * Ambiguous syntax:
97 * ('{' '}') | '.'
98 *
99 * This ambiguous syntax occurs at:
100 * name=Identifier (ambiguity) (rule end)
101 */
102 protected void emit_EnumDeclaration_FullStopKeyword_2_1_or___LeftCurlyBracketKeyword_2_0_0_RightCurlyBracketKeyword_2_0_2__(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
103 acceptNodes(transition, nodes);
104 }
105
106 /**
107 * Ambiguous syntax:
108 * (',' | ';')?
109 *
110 * This ambiguous syntax occurs at:
111 * literals+=EnumLiteral (ambiguity) '}' (rule end)
112 */
113 protected void emit_EnumDeclaration___CommaKeyword_2_0_1_2_0_or_SemicolonKeyword_2_0_1_2_1__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
114 acceptNodes(transition, nodes);
115 }
116
117 /**
118 * Ambiguous syntax:
85 * 'pred'? 119 * 'pred'?
86 * 120 *
87 * This ambiguous syntax occurs at: 121 * This ambiguous syntax occurs at:
88 * error?='error' (ambiguity) name=ID 122 * error?='error' (ambiguity) name=Identifier
89 */ 123 */
90 protected void emit_PredicateDefinition_PredKeyword_0_0_1_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) { 124 protected void emit_PredicateDefinition_PredKeyword_0_0_1_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
91 acceptNodes(transition, nodes); 125 acceptNodes(transition, nodes);
92 } 126 }
93 127
128 /**
129 * Ambiguous syntax:
130 * 'refers'?
131 *
132 * This ambiguous syntax occurs at:
133 * (rule start) (ambiguity) referenceType=[Relation|QualifiedName]
134 */
135 protected void emit_ReferenceDeclaration_RefersKeyword_0_1_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
136 acceptNodes(transition, nodes);
137 }
138
94} 139}
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 5b3781a2..4368036b 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
@@ -32,31 +32,31 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
32 private final Group cGroup_0 = (Group)cGroup.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); 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); 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); 35 private final RuleCall cNameIdentifierParserRuleCall_0_1_0 = (RuleCall)cNameAssignment_0_1.eContents().get(0);
36 private final Keyword cFullStopKeyword_0_2 = (Keyword)cGroup_0.eContents().get(2); 36 private final Keyword cFullStopKeyword_0_2 = (Keyword)cGroup_0.eContents().get(2);
37 private final Assignment cStatementsAssignment_1 = (Assignment)cGroup.eContents().get(1); 37 private final Assignment cStatementsAssignment_1 = (Assignment)cGroup.eContents().get(1);
38 private final RuleCall cStatementsStatementParserRuleCall_1_0 = (RuleCall)cStatementsAssignment_1.eContents().get(0); 38 private final RuleCall cStatementsStatementParserRuleCall_1_0 = (RuleCall)cStatementsAssignment_1.eContents().get(0);
39 39
40 //Problem: 40 //Problem:
41 // ("problem" name=ID ".")? 41 // ("problem" name=Identifier ".")?
42 // statements+=Statement*; 42 // statements+=Statement*;
43 @Override public ParserRule getRule() { return rule; } 43 @Override public ParserRule getRule() { return rule; }
44 44
45 //("problem" name=ID ".")? 45 //("problem" name=Identifier ".")?
46 //statements+=Statement* 46 //statements+=Statement*
47 public Group getGroup() { return cGroup; } 47 public Group getGroup() { return cGroup; }
48 48
49 //("problem" name=ID ".")? 49 //("problem" name=Identifier ".")?
50 public Group getGroup_0() { return cGroup_0; } 50 public Group getGroup_0() { return cGroup_0; }
51 51
52 //"problem" 52 //"problem"
53 public Keyword getProblemKeyword_0_0() { return cProblemKeyword_0_0; } 53 public Keyword getProblemKeyword_0_0() { return cProblemKeyword_0_0; }
54 54
55 //name=ID 55 //name=Identifier
56 public Assignment getNameAssignment_0_1() { return cNameAssignment_0_1; } 56 public Assignment getNameAssignment_0_1() { return cNameAssignment_0_1; }
57 57
58 //ID 58 //Identifier
59 public RuleCall getNameIDTerminalRuleCall_0_1_0() { return cNameIDTerminalRuleCall_0_1_0; } 59 public RuleCall getNameIdentifierParserRuleCall_0_1_0() { return cNameIdentifierParserRuleCall_0_1_0; }
60 60
61 //"." 61 //"."
62 public Keyword getFullStopKeyword_0_2() { return cFullStopKeyword_0_2; } 62 public Keyword getFullStopKeyword_0_2() { return cFullStopKeyword_0_2; }
@@ -71,28 +71,32 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
71 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");
72 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 72 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
73 private final RuleCall cClassDeclarationParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 73 private final RuleCall cClassDeclarationParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
74 private final RuleCall cPredicateDefinitionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 74 private final RuleCall cEnumDeclarationParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
75 private final RuleCall cAssertionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); 75 private final RuleCall cPredicateDefinitionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
76 private final RuleCall cScopeDeclarationParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); 76 private final RuleCall cAssertionParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
77 private final RuleCall cScopeDeclarationParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4);
77 78
78 //Statement: 79 //Statement:
79 // ClassDeclaration | PredicateDefinition | Assertion | ScopeDeclaration; 80 // ClassDeclaration | EnumDeclaration | PredicateDefinition | Assertion | ScopeDeclaration;
80 @Override public ParserRule getRule() { return rule; } 81 @Override public ParserRule getRule() { return rule; }
81 82
82 //ClassDeclaration | PredicateDefinition | Assertion | ScopeDeclaration 83 //ClassDeclaration | EnumDeclaration | PredicateDefinition | Assertion | ScopeDeclaration
83 public Alternatives getAlternatives() { return cAlternatives; } 84 public Alternatives getAlternatives() { return cAlternatives; }
84 85
85 //ClassDeclaration 86 //ClassDeclaration
86 public RuleCall getClassDeclarationParserRuleCall_0() { return cClassDeclarationParserRuleCall_0; } 87 public RuleCall getClassDeclarationParserRuleCall_0() { return cClassDeclarationParserRuleCall_0; }
87 88
89 //EnumDeclaration
90 public RuleCall getEnumDeclarationParserRuleCall_1() { return cEnumDeclarationParserRuleCall_1; }
91
88 //PredicateDefinition 92 //PredicateDefinition
89 public RuleCall getPredicateDefinitionParserRuleCall_1() { return cPredicateDefinitionParserRuleCall_1; } 93 public RuleCall getPredicateDefinitionParserRuleCall_2() { return cPredicateDefinitionParserRuleCall_2; }
90 94
91 //Assertion 95 //Assertion
92 public RuleCall getAssertionParserRuleCall_2() { return cAssertionParserRuleCall_2; } 96 public RuleCall getAssertionParserRuleCall_3() { return cAssertionParserRuleCall_3; }
93 97
94 //ScopeDeclaration 98 //ScopeDeclaration
95 public RuleCall getScopeDeclarationParserRuleCall_3() { return cScopeDeclarationParserRuleCall_3; } 99 public RuleCall getScopeDeclarationParserRuleCall_4() { return cScopeDeclarationParserRuleCall_4; }
96 } 100 }
97 public class ClassDeclarationElements extends AbstractParserRuleElementFinder { 101 public class ClassDeclarationElements extends AbstractParserRuleElementFinder {
98 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.ClassDeclaration"); 102 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.ClassDeclaration");
@@ -101,17 +105,17 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
101 private final Keyword cAbstractAbstractKeyword_0_0 = (Keyword)cAbstractAssignment_0.eContents().get(0); 105 private final Keyword cAbstractAbstractKeyword_0_0 = (Keyword)cAbstractAssignment_0.eContents().get(0);
102 private final Keyword cClassKeyword_1 = (Keyword)cGroup.eContents().get(1); 106 private final Keyword cClassKeyword_1 = (Keyword)cGroup.eContents().get(1);
103 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); 107 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
104 private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); 108 private final RuleCall cNameIdentifierParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
105 private final Group cGroup_3 = (Group)cGroup.eContents().get(3); 109 private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
106 private final Keyword cExtendsKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); 110 private final Keyword cExtendsKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
107 private final Assignment cSuperTypesAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); 111 private final Assignment cSuperTypesAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
108 private final CrossReference cSuperTypesClassDeclarationCrossReference_3_1_0 = (CrossReference)cSuperTypesAssignment_3_1.eContents().get(0); 112 private final CrossReference cSuperTypesRelationCrossReference_3_1_0 = (CrossReference)cSuperTypesAssignment_3_1.eContents().get(0);
109 private final RuleCall cSuperTypesClassDeclarationQualifiedNameParserRuleCall_3_1_0_1 = (RuleCall)cSuperTypesClassDeclarationCrossReference_3_1_0.eContents().get(1); 113 private final RuleCall cSuperTypesRelationQualifiedNameParserRuleCall_3_1_0_1 = (RuleCall)cSuperTypesRelationCrossReference_3_1_0.eContents().get(1);
110 private final Group cGroup_3_2 = (Group)cGroup_3.eContents().get(2); 114 private final Group cGroup_3_2 = (Group)cGroup_3.eContents().get(2);
111 private final Keyword cCommaKeyword_3_2_0 = (Keyword)cGroup_3_2.eContents().get(0); 115 private final Keyword cCommaKeyword_3_2_0 = (Keyword)cGroup_3_2.eContents().get(0);
112 private final Assignment cSuperTypesAssignment_3_2_1 = (Assignment)cGroup_3_2.eContents().get(1); 116 private final Assignment cSuperTypesAssignment_3_2_1 = (Assignment)cGroup_3_2.eContents().get(1);
113 private final CrossReference cSuperTypesClassDeclarationCrossReference_3_2_1_0 = (CrossReference)cSuperTypesAssignment_3_2_1.eContents().get(0); 117 private final CrossReference cSuperTypesRelationCrossReference_3_2_1_0 = (CrossReference)cSuperTypesAssignment_3_2_1.eContents().get(0);
114 private final RuleCall cSuperTypesClassDeclarationQualifiedNameParserRuleCall_3_2_1_0_1 = (RuleCall)cSuperTypesClassDeclarationCrossReference_3_2_1_0.eContents().get(1); 118 private final RuleCall cSuperTypesRelationQualifiedNameParserRuleCall_3_2_1_0_1 = (RuleCall)cSuperTypesRelationCrossReference_3_2_1_0.eContents().get(1);
115 private final Alternatives cAlternatives_4 = (Alternatives)cGroup.eContents().get(4); 119 private final Alternatives cAlternatives_4 = (Alternatives)cGroup.eContents().get(4);
116 private final Group cGroup_4_0 = (Group)cAlternatives_4.eContents().get(0); 120 private final Group cGroup_4_0 = (Group)cAlternatives_4.eContents().get(0);
117 private final Keyword cLeftCurlyBracketKeyword_4_0_0 = (Keyword)cGroup_4_0.eContents().get(0); 121 private final Keyword cLeftCurlyBracketKeyword_4_0_0 = (Keyword)cGroup_4_0.eContents().get(0);
@@ -124,14 +128,14 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
124 128
125 //ClassDeclaration: 129 //ClassDeclaration:
126 // abstract?="abstract"? "class" 130 // abstract?="abstract"? "class"
127 // name=ID 131 // name=Identifier
128 // ("extends" superTypes+=[ClassDeclaration|QualifiedName] ("," superTypes+=[ClassDeclaration|QualifiedName])*)? 132 // ("extends" superTypes+=[Relation|QualifiedName] ("," superTypes+=[Relation|QualifiedName])*)?
129 // ("{" (referenceDeclarations+=ReferenceDeclaration ";"?)* "}" | "."); 133 // ("{" (referenceDeclarations+=ReferenceDeclaration ";"?)* "}" | ".");
130 @Override public ParserRule getRule() { return rule; } 134 @Override public ParserRule getRule() { return rule; }
131 135
132 //abstract?="abstract"? "class" 136 //abstract?="abstract"? "class"
133 //name=ID 137 //name=Identifier
134 //("extends" superTypes+=[ClassDeclaration|QualifiedName] ("," superTypes+=[ClassDeclaration|QualifiedName])*)? 138 //("extends" superTypes+=[Relation|QualifiedName] ("," superTypes+=[Relation|QualifiedName])*)?
135 //("{" (referenceDeclarations+=ReferenceDeclaration ";"?)* "}" | ".") 139 //("{" (referenceDeclarations+=ReferenceDeclaration ";"?)* "}" | ".")
136 public Group getGroup() { return cGroup; } 140 public Group getGroup() { return cGroup; }
137 141
@@ -144,41 +148,41 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
144 //"class" 148 //"class"
145 public Keyword getClassKeyword_1() { return cClassKeyword_1; } 149 public Keyword getClassKeyword_1() { return cClassKeyword_1; }
146 150
147 //name=ID 151 //name=Identifier
148 public Assignment getNameAssignment_2() { return cNameAssignment_2; } 152 public Assignment getNameAssignment_2() { return cNameAssignment_2; }
149 153
150 //ID 154 //Identifier
151 public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; } 155 public RuleCall getNameIdentifierParserRuleCall_2_0() { return cNameIdentifierParserRuleCall_2_0; }
152 156
153 //("extends" superTypes+=[ClassDeclaration|QualifiedName] ("," superTypes+=[ClassDeclaration|QualifiedName])*)? 157 //("extends" superTypes+=[Relation|QualifiedName] ("," superTypes+=[Relation|QualifiedName])*)?
154 public Group getGroup_3() { return cGroup_3; } 158 public Group getGroup_3() { return cGroup_3; }
155 159
156 //"extends" 160 //"extends"
157 public Keyword getExtendsKeyword_3_0() { return cExtendsKeyword_3_0; } 161 public Keyword getExtendsKeyword_3_0() { return cExtendsKeyword_3_0; }
158 162
159 //superTypes+=[ClassDeclaration|QualifiedName] 163 //superTypes+=[Relation|QualifiedName]
160 public Assignment getSuperTypesAssignment_3_1() { return cSuperTypesAssignment_3_1; } 164 public Assignment getSuperTypesAssignment_3_1() { return cSuperTypesAssignment_3_1; }
161 165
162 //[ClassDeclaration|QualifiedName] 166 //[Relation|QualifiedName]
163 public CrossReference getSuperTypesClassDeclarationCrossReference_3_1_0() { return cSuperTypesClassDeclarationCrossReference_3_1_0; } 167 public CrossReference getSuperTypesRelationCrossReference_3_1_0() { return cSuperTypesRelationCrossReference_3_1_0; }
164 168
165 //QualifiedName 169 //QualifiedName
166 public RuleCall getSuperTypesClassDeclarationQualifiedNameParserRuleCall_3_1_0_1() { return cSuperTypesClassDeclarationQualifiedNameParserRuleCall_3_1_0_1; } 170 public RuleCall getSuperTypesRelationQualifiedNameParserRuleCall_3_1_0_1() { return cSuperTypesRelationQualifiedNameParserRuleCall_3_1_0_1; }
167 171
168 //("," superTypes+=[ClassDeclaration|QualifiedName])* 172 //("," superTypes+=[Relation|QualifiedName])*
169 public Group getGroup_3_2() { return cGroup_3_2; } 173 public Group getGroup_3_2() { return cGroup_3_2; }
170 174
171 //"," 175 //","
172 public Keyword getCommaKeyword_3_2_0() { return cCommaKeyword_3_2_0; } 176 public Keyword getCommaKeyword_3_2_0() { return cCommaKeyword_3_2_0; }
173 177
174 //superTypes+=[ClassDeclaration|QualifiedName] 178 //superTypes+=[Relation|QualifiedName]
175 public Assignment getSuperTypesAssignment_3_2_1() { return cSuperTypesAssignment_3_2_1; } 179 public Assignment getSuperTypesAssignment_3_2_1() { return cSuperTypesAssignment_3_2_1; }
176 180
177 //[ClassDeclaration|QualifiedName] 181 //[Relation|QualifiedName]
178 public CrossReference getSuperTypesClassDeclarationCrossReference_3_2_1_0() { return cSuperTypesClassDeclarationCrossReference_3_2_1_0; } 182 public CrossReference getSuperTypesRelationCrossReference_3_2_1_0() { return cSuperTypesRelationCrossReference_3_2_1_0; }
179 183
180 //QualifiedName 184 //QualifiedName
181 public RuleCall getSuperTypesClassDeclarationQualifiedNameParserRuleCall_3_2_1_0_1() { return cSuperTypesClassDeclarationQualifiedNameParserRuleCall_3_2_1_0_1; } 185 public RuleCall getSuperTypesRelationQualifiedNameParserRuleCall_3_2_1_0_1() { return cSuperTypesRelationQualifiedNameParserRuleCall_3_2_1_0_1; }
182 186
183 //("{" (referenceDeclarations+=ReferenceDeclaration ";"?)* "}" | ".") 187 //("{" (referenceDeclarations+=ReferenceDeclaration ";"?)* "}" | ".")
184 public Alternatives getAlternatives_4() { return cAlternatives_4; } 188 public Alternatives getAlternatives_4() { return cAlternatives_4; }
@@ -207,6 +211,108 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
207 //"." 211 //"."
208 public Keyword getFullStopKeyword_4_1() { return cFullStopKeyword_4_1; } 212 public Keyword getFullStopKeyword_4_1() { return cFullStopKeyword_4_1; }
209 } 213 }
214 public class EnumDeclarationElements extends AbstractParserRuleElementFinder {
215 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.EnumDeclaration");
216 private final Group cGroup = (Group)rule.eContents().get(1);
217 private final Keyword cEnumKeyword_0 = (Keyword)cGroup.eContents().get(0);
218 private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
219 private final RuleCall cNameIdentifierParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
220 private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2);
221 private final Group cGroup_2_0 = (Group)cAlternatives_2.eContents().get(0);
222 private final Keyword cLeftCurlyBracketKeyword_2_0_0 = (Keyword)cGroup_2_0.eContents().get(0);
223 private final Group cGroup_2_0_1 = (Group)cGroup_2_0.eContents().get(1);
224 private final Assignment cLiteralsAssignment_2_0_1_0 = (Assignment)cGroup_2_0_1.eContents().get(0);
225 private final RuleCall cLiteralsEnumLiteralParserRuleCall_2_0_1_0_0 = (RuleCall)cLiteralsAssignment_2_0_1_0.eContents().get(0);
226 private final Group cGroup_2_0_1_1 = (Group)cGroup_2_0_1.eContents().get(1);
227 private final Keyword cCommaKeyword_2_0_1_1_0 = (Keyword)cGroup_2_0_1_1.eContents().get(0);
228 private final Assignment cLiteralsAssignment_2_0_1_1_1 = (Assignment)cGroup_2_0_1_1.eContents().get(1);
229 private final RuleCall cLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0 = (RuleCall)cLiteralsAssignment_2_0_1_1_1.eContents().get(0);
230 private final Alternatives cAlternatives_2_0_1_2 = (Alternatives)cGroup_2_0_1.eContents().get(2);
231 private final Keyword cCommaKeyword_2_0_1_2_0 = (Keyword)cAlternatives_2_0_1_2.eContents().get(0);
232 private final Keyword cSemicolonKeyword_2_0_1_2_1 = (Keyword)cAlternatives_2_0_1_2.eContents().get(1);
233 private final Keyword cRightCurlyBracketKeyword_2_0_2 = (Keyword)cGroup_2_0.eContents().get(2);
234 private final Keyword cFullStopKeyword_2_1 = (Keyword)cAlternatives_2.eContents().get(1);
235
236 //EnumDeclaration:
237 // "enum"
238 // name=Identifier
239 // ("{" (literals+=EnumLiteral ("," literals+=EnumLiteral)* ("," | ";")?)? "}" | ".");
240 @Override public ParserRule getRule() { return rule; }
241
242 //"enum"
243 //name=Identifier
244 //("{" (literals+=EnumLiteral ("," literals+=EnumLiteral)* ("," | ";")?)? "}" | ".")
245 public Group getGroup() { return cGroup; }
246
247 //"enum"
248 public Keyword getEnumKeyword_0() { return cEnumKeyword_0; }
249
250 //name=Identifier
251 public Assignment getNameAssignment_1() { return cNameAssignment_1; }
252
253 //Identifier
254 public RuleCall getNameIdentifierParserRuleCall_1_0() { return cNameIdentifierParserRuleCall_1_0; }
255
256 //("{" (literals+=EnumLiteral ("," literals+=EnumLiteral)* ("," | ";")?)? "}" | ".")
257 public Alternatives getAlternatives_2() { return cAlternatives_2; }
258
259 //"{" (literals+=EnumLiteral ("," literals+=EnumLiteral)* ("," | ";")?)? "}"
260 public Group getGroup_2_0() { return cGroup_2_0; }
261
262 //"{"
263 public Keyword getLeftCurlyBracketKeyword_2_0_0() { return cLeftCurlyBracketKeyword_2_0_0; }
264
265 //(literals+=EnumLiteral ("," literals+=EnumLiteral)* ("," | ";")?)?
266 public Group getGroup_2_0_1() { return cGroup_2_0_1; }
267
268 //literals+=EnumLiteral
269 public Assignment getLiteralsAssignment_2_0_1_0() { return cLiteralsAssignment_2_0_1_0; }
270
271 //EnumLiteral
272 public RuleCall getLiteralsEnumLiteralParserRuleCall_2_0_1_0_0() { return cLiteralsEnumLiteralParserRuleCall_2_0_1_0_0; }
273
274 //("," literals+=EnumLiteral)*
275 public Group getGroup_2_0_1_1() { return cGroup_2_0_1_1; }
276
277 //","
278 public Keyword getCommaKeyword_2_0_1_1_0() { return cCommaKeyword_2_0_1_1_0; }
279
280 //literals+=EnumLiteral
281 public Assignment getLiteralsAssignment_2_0_1_1_1() { return cLiteralsAssignment_2_0_1_1_1; }
282
283 //EnumLiteral
284 public RuleCall getLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0() { return cLiteralsEnumLiteralParserRuleCall_2_0_1_1_1_0; }
285
286 //("," | ";")?
287 public Alternatives getAlternatives_2_0_1_2() { return cAlternatives_2_0_1_2; }
288
289 //","
290 public Keyword getCommaKeyword_2_0_1_2_0() { return cCommaKeyword_2_0_1_2_0; }
291
292 //";"
293 public Keyword getSemicolonKeyword_2_0_1_2_1() { return cSemicolonKeyword_2_0_1_2_1; }
294
295 //"}"
296 public Keyword getRightCurlyBracketKeyword_2_0_2() { return cRightCurlyBracketKeyword_2_0_2; }
297
298 //"."
299 public Keyword getFullStopKeyword_2_1() { return cFullStopKeyword_2_1; }
300 }
301 public class EnumLiteralElements extends AbstractParserRuleElementFinder {
302 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.EnumLiteral");
303 private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1);
304 private final RuleCall cNameQuotedOrUnquotedIdParserRuleCall_0 = (RuleCall)cNameAssignment.eContents().get(0);
305
306 //EnumLiteral returns Node:
307 // name=QuotedOrUnquotedId;
308 @Override public ParserRule getRule() { return rule; }
309
310 //name=QuotedOrUnquotedId
311 public Assignment getNameAssignment() { return cNameAssignment; }
312
313 //QuotedOrUnquotedId
314 public RuleCall getNameQuotedOrUnquotedIdParserRuleCall_0() { return cNameQuotedOrUnquotedIdParserRuleCall_0; }
315 }
210 public class ReferenceDeclarationElements extends AbstractParserRuleElementFinder { 316 public class ReferenceDeclarationElements extends AbstractParserRuleElementFinder {
211 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.ReferenceDeclaration"); 317 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.ReferenceDeclaration");
212 private final Group cGroup = (Group)rule.eContents().get(1); 318 private final Group cGroup = (Group)rule.eContents().get(1);
@@ -215,15 +321,15 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
215 private final Keyword cContainmentContainsKeyword_0_0_0 = (Keyword)cContainmentAssignment_0_0.eContents().get(0); 321 private final Keyword cContainmentContainsKeyword_0_0_0 = (Keyword)cContainmentAssignment_0_0.eContents().get(0);
216 private final Keyword cRefersKeyword_0_1 = (Keyword)cAlternatives_0.eContents().get(1); 322 private final Keyword cRefersKeyword_0_1 = (Keyword)cAlternatives_0.eContents().get(1);
217 private final Assignment cReferenceTypeAssignment_1 = (Assignment)cGroup.eContents().get(1); 323 private final Assignment cReferenceTypeAssignment_1 = (Assignment)cGroup.eContents().get(1);
218 private final CrossReference cReferenceTypeClassDeclarationCrossReference_1_0 = (CrossReference)cReferenceTypeAssignment_1.eContents().get(0); 324 private final CrossReference cReferenceTypeRelationCrossReference_1_0 = (CrossReference)cReferenceTypeAssignment_1.eContents().get(0);
219 private final RuleCall cReferenceTypeClassDeclarationQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cReferenceTypeClassDeclarationCrossReference_1_0.eContents().get(1); 325 private final RuleCall cReferenceTypeRelationQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cReferenceTypeRelationCrossReference_1_0.eContents().get(1);
220 private final Group cGroup_2 = (Group)cGroup.eContents().get(2); 326 private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
221 private final Keyword cLeftSquareBracketKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); 327 private final Keyword cLeftSquareBracketKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
222 private final Assignment cMultiplicityAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); 328 private final Assignment cMultiplicityAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
223 private final RuleCall cMultiplicityMultiplicityParserRuleCall_2_1_0 = (RuleCall)cMultiplicityAssignment_2_1.eContents().get(0); 329 private final RuleCall cMultiplicityMultiplicityParserRuleCall_2_1_0 = (RuleCall)cMultiplicityAssignment_2_1.eContents().get(0);
224 private final Keyword cRightSquareBracketKeyword_2_2 = (Keyword)cGroup_2.eContents().get(2); 330 private final Keyword cRightSquareBracketKeyword_2_2 = (Keyword)cGroup_2.eContents().get(2);
225 private final Assignment cNameAssignment_3 = (Assignment)cGroup.eContents().get(3); 331 private final Assignment cNameAssignment_3 = (Assignment)cGroup.eContents().get(3);
226 private final RuleCall cNameIDTerminalRuleCall_3_0 = (RuleCall)cNameAssignment_3.eContents().get(0); 332 private final RuleCall cNameIdentifierParserRuleCall_3_0 = (RuleCall)cNameAssignment_3.eContents().get(0);
227 private final Group cGroup_4 = (Group)cGroup.eContents().get(4); 333 private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
228 private final Keyword cOppositeKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); 334 private final Keyword cOppositeKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
229 private final Assignment cOppositeAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1); 335 private final Assignment cOppositeAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
@@ -231,21 +337,21 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
231 private final RuleCall cOppositeReferenceDeclarationQualifiedNameParserRuleCall_4_1_0_1 = (RuleCall)cOppositeReferenceDeclarationCrossReference_4_1_0.eContents().get(1); 337 private final RuleCall cOppositeReferenceDeclarationQualifiedNameParserRuleCall_4_1_0_1 = (RuleCall)cOppositeReferenceDeclarationCrossReference_4_1_0.eContents().get(1);
232 338
233 //ReferenceDeclaration: 339 //ReferenceDeclaration:
234 // (containment?="contains" | "refers") 340 // (containment?="contains" | "refers")?
235 // referenceType=[ClassDeclaration|QualifiedName] 341 // referenceType=[Relation|QualifiedName]
236 // ("[" multiplicity=Multiplicity "]")? 342 // ("[" multiplicity=Multiplicity "]")?
237 // name=ID 343 // name=Identifier
238 // ("opposite" opposite=[ReferenceDeclaration|QualifiedName])?; 344 // ("opposite" opposite=[ReferenceDeclaration|QualifiedName])?;
239 @Override public ParserRule getRule() { return rule; } 345 @Override public ParserRule getRule() { return rule; }
240 346
241 //(containment?="contains" | "refers") 347 //(containment?="contains" | "refers")?
242 //referenceType=[ClassDeclaration|QualifiedName] 348 //referenceType=[Relation|QualifiedName]
243 //("[" multiplicity=Multiplicity "]")? 349 //("[" multiplicity=Multiplicity "]")?
244 //name=ID 350 //name=Identifier
245 //("opposite" opposite=[ReferenceDeclaration|QualifiedName])? 351 //("opposite" opposite=[ReferenceDeclaration|QualifiedName])?
246 public Group getGroup() { return cGroup; } 352 public Group getGroup() { return cGroup; }
247 353
248 //(containment?="contains" | "refers") 354 //(containment?="contains" | "refers")?
249 public Alternatives getAlternatives_0() { return cAlternatives_0; } 355 public Alternatives getAlternatives_0() { return cAlternatives_0; }
250 356
251 //containment?="contains" 357 //containment?="contains"
@@ -257,14 +363,14 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
257 //"refers" 363 //"refers"
258 public Keyword getRefersKeyword_0_1() { return cRefersKeyword_0_1; } 364 public Keyword getRefersKeyword_0_1() { return cRefersKeyword_0_1; }
259 365
260 //referenceType=[ClassDeclaration|QualifiedName] 366 //referenceType=[Relation|QualifiedName]
261 public Assignment getReferenceTypeAssignment_1() { return cReferenceTypeAssignment_1; } 367 public Assignment getReferenceTypeAssignment_1() { return cReferenceTypeAssignment_1; }
262 368
263 //[ClassDeclaration|QualifiedName] 369 //[Relation|QualifiedName]
264 public CrossReference getReferenceTypeClassDeclarationCrossReference_1_0() { return cReferenceTypeClassDeclarationCrossReference_1_0; } 370 public CrossReference getReferenceTypeRelationCrossReference_1_0() { return cReferenceTypeRelationCrossReference_1_0; }
265 371
266 //QualifiedName 372 //QualifiedName
267 public RuleCall getReferenceTypeClassDeclarationQualifiedNameParserRuleCall_1_0_1() { return cReferenceTypeClassDeclarationQualifiedNameParserRuleCall_1_0_1; } 373 public RuleCall getReferenceTypeRelationQualifiedNameParserRuleCall_1_0_1() { return cReferenceTypeRelationQualifiedNameParserRuleCall_1_0_1; }
268 374
269 //("[" multiplicity=Multiplicity "]")? 375 //("[" multiplicity=Multiplicity "]")?
270 public Group getGroup_2() { return cGroup_2; } 376 public Group getGroup_2() { return cGroup_2; }
@@ -281,11 +387,11 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
281 //"]" 387 //"]"
282 public Keyword getRightSquareBracketKeyword_2_2() { return cRightSquareBracketKeyword_2_2; } 388 public Keyword getRightSquareBracketKeyword_2_2() { return cRightSquareBracketKeyword_2_2; }
283 389
284 //name=ID 390 //name=Identifier
285 public Assignment getNameAssignment_3() { return cNameAssignment_3; } 391 public Assignment getNameAssignment_3() { return cNameAssignment_3; }
286 392
287 //ID 393 //Identifier
288 public RuleCall getNameIDTerminalRuleCall_3_0() { return cNameIDTerminalRuleCall_3_0; } 394 public RuleCall getNameIdentifierParserRuleCall_3_0() { return cNameIdentifierParserRuleCall_3_0; }
289 395
290 //("opposite" opposite=[ReferenceDeclaration|QualifiedName])? 396 //("opposite" opposite=[ReferenceDeclaration|QualifiedName])?
291 public Group getGroup_4() { return cGroup_4; } 397 public Group getGroup_4() { return cGroup_4; }
@@ -312,7 +418,7 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
312 private final Keyword cPredKeyword_0_0_1 = (Keyword)cGroup_0_0.eContents().get(1); 418 private final Keyword cPredKeyword_0_0_1 = (Keyword)cGroup_0_0.eContents().get(1);
313 private final Keyword cPredKeyword_0_1 = (Keyword)cAlternatives_0.eContents().get(1); 419 private final Keyword cPredKeyword_0_1 = (Keyword)cAlternatives_0.eContents().get(1);
314 private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); 420 private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
315 private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); 421 private final RuleCall cNameIdentifierParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
316 private final Keyword cLeftParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2); 422 private final Keyword cLeftParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2);
317 private final Group cGroup_3 = (Group)cGroup.eContents().get(3); 423 private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
318 private final Assignment cParametersAssignment_3_0 = (Assignment)cGroup_3.eContents().get(0); 424 private final Assignment cParametersAssignment_3_0 = (Assignment)cGroup_3.eContents().get(0);
@@ -334,14 +440,14 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
334 440
335 //PredicateDefinition: 441 //PredicateDefinition:
336 // (error?="error" "pred"? | "pred") 442 // (error?="error" "pred"? | "pred")
337 // name=ID 443 // name=Identifier
338 // "(" (parameters+=Parameter ("," parameters+=Parameter)*)? ")" 444 // "(" (parameters+=Parameter ("," parameters+=Parameter)*)? ")"
339 // (":-" bodies+=Conjunction (";" bodies+=Conjunction)*)? 445 // (":-" bodies+=Conjunction (";" bodies+=Conjunction)*)?
340 // "."; 446 // ".";
341 @Override public ParserRule getRule() { return rule; } 447 @Override public ParserRule getRule() { return rule; }
342 448
343 //(error?="error" "pred"? | "pred") 449 //(error?="error" "pred"? | "pred")
344 //name=ID 450 //name=Identifier
345 //"(" (parameters+=Parameter ("," parameters+=Parameter)*)? ")" 451 //"(" (parameters+=Parameter ("," parameters+=Parameter)*)? ")"
346 //(":-" bodies+=Conjunction (";" bodies+=Conjunction)*)? 452 //(":-" bodies+=Conjunction (";" bodies+=Conjunction)*)?
347 //"." 453 //"."
@@ -365,11 +471,11 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
365 //"pred" 471 //"pred"
366 public Keyword getPredKeyword_0_1() { return cPredKeyword_0_1; } 472 public Keyword getPredKeyword_0_1() { return cPredKeyword_0_1; }
367 473
368 //name=ID 474 //name=Identifier
369 public Assignment getNameAssignment_1() { return cNameAssignment_1; } 475 public Assignment getNameAssignment_1() { return cNameAssignment_1; }
370 476
371 //ID 477 //Identifier
372 public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } 478 public RuleCall getNameIdentifierParserRuleCall_1_0() { return cNameIdentifierParserRuleCall_1_0; }
373 479
374 //"(" 480 //"("
375 public Keyword getLeftParenthesisKeyword_2() { return cLeftParenthesisKeyword_2; } 481 public Keyword getLeftParenthesisKeyword_2() { return cLeftParenthesisKeyword_2; }
@@ -429,32 +535,32 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
429 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Parameter"); 535 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Parameter");
430 private final Group cGroup = (Group)rule.eContents().get(1); 536 private final Group cGroup = (Group)rule.eContents().get(1);
431 private final Assignment cParameterTypeAssignment_0 = (Assignment)cGroup.eContents().get(0); 537 private final Assignment cParameterTypeAssignment_0 = (Assignment)cGroup.eContents().get(0);
432 private final CrossReference cParameterTypeClassDeclarationCrossReference_0_0 = (CrossReference)cParameterTypeAssignment_0.eContents().get(0); 538 private final CrossReference cParameterTypeRelationCrossReference_0_0 = (CrossReference)cParameterTypeAssignment_0.eContents().get(0);
433 private final RuleCall cParameterTypeClassDeclarationIDTerminalRuleCall_0_0_1 = (RuleCall)cParameterTypeClassDeclarationCrossReference_0_0.eContents().get(1); 539 private final RuleCall cParameterTypeRelationQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cParameterTypeRelationCrossReference_0_0.eContents().get(1);
434 private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); 540 private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
435 private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); 541 private final RuleCall cNameIdentifierParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
436 542
437 //Parameter: 543 //Parameter:
438 // parameterType=[ClassDeclaration] name=ID; 544 // parameterType=[Relation|QualifiedName]? name=Identifier;
439 @Override public ParserRule getRule() { return rule; } 545 @Override public ParserRule getRule() { return rule; }
440 546
441 //parameterType=[ClassDeclaration] name=ID 547 //parameterType=[Relation|QualifiedName]? name=Identifier
442 public Group getGroup() { return cGroup; } 548 public Group getGroup() { return cGroup; }
443 549
444 //parameterType=[ClassDeclaration] 550 //parameterType=[Relation|QualifiedName]?
445 public Assignment getParameterTypeAssignment_0() { return cParameterTypeAssignment_0; } 551 public Assignment getParameterTypeAssignment_0() { return cParameterTypeAssignment_0; }
446 552
447 //[ClassDeclaration] 553 //[Relation|QualifiedName]
448 public CrossReference getParameterTypeClassDeclarationCrossReference_0_0() { return cParameterTypeClassDeclarationCrossReference_0_0; } 554 public CrossReference getParameterTypeRelationCrossReference_0_0() { return cParameterTypeRelationCrossReference_0_0; }
449 555
450 //ID 556 //QualifiedName
451 public RuleCall getParameterTypeClassDeclarationIDTerminalRuleCall_0_0_1() { return cParameterTypeClassDeclarationIDTerminalRuleCall_0_0_1; } 557 public RuleCall getParameterTypeRelationQualifiedNameParserRuleCall_0_0_1() { return cParameterTypeRelationQualifiedNameParserRuleCall_0_0_1; }
452 558
453 //name=ID 559 //name=Identifier
454 public Assignment getNameAssignment_1() { return cNameAssignment_1; } 560 public Assignment getNameAssignment_1() { return cNameAssignment_1; }
455 561
456 //ID 562 //Identifier
457 public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } 563 public RuleCall getNameIdentifierParserRuleCall_1_0() { return cNameIdentifierParserRuleCall_1_0; }
458 } 564 }
459 public class ConjunctionElements extends AbstractParserRuleElementFinder { 565 public class ConjunctionElements extends AbstractParserRuleElementFinder {
460 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Conjunction"); 566 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Conjunction");
@@ -606,22 +712,22 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
606 } 712 }
607 public class ArgumentElements extends AbstractParserRuleElementFinder { 713 public class ArgumentElements extends AbstractParserRuleElementFinder {
608 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Argument"); 714 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); 715 private final Assignment cVariableOrNodeAssignment = (Assignment)rule.eContents().get(1);
610 private final CrossReference cVariableVariableCrossReference_0 = (CrossReference)cVariableAssignment.eContents().get(0); 716 private final CrossReference cVariableOrNodeVariableOrNodeCrossReference_0 = (CrossReference)cVariableOrNodeAssignment.eContents().get(0);
611 private final RuleCall cVariableVariableIDTerminalRuleCall_0_1 = (RuleCall)cVariableVariableCrossReference_0.eContents().get(1); 717 private final RuleCall cVariableOrNodeVariableOrNodeQualifiedNameParserRuleCall_0_1 = (RuleCall)cVariableOrNodeVariableOrNodeCrossReference_0.eContents().get(1);
612 718
613 //Argument: 719 //Argument:
614 // variable=[Variable]; 720 // variableOrNode=[VariableOrNode|QualifiedName];
615 @Override public ParserRule getRule() { return rule; } 721 @Override public ParserRule getRule() { return rule; }
616 722
617 //variable=[Variable] 723 //variableOrNode=[VariableOrNode|QualifiedName]
618 public Assignment getVariableAssignment() { return cVariableAssignment; } 724 public Assignment getVariableOrNodeAssignment() { return cVariableOrNodeAssignment; }
619 725
620 //[Variable] 726 //[VariableOrNode|QualifiedName]
621 public CrossReference getVariableVariableCrossReference_0() { return cVariableVariableCrossReference_0; } 727 public CrossReference getVariableOrNodeVariableOrNodeCrossReference_0() { return cVariableOrNodeVariableOrNodeCrossReference_0; }
622 728
623 //ID 729 //QualifiedName
624 public RuleCall getVariableVariableIDTerminalRuleCall_0_1() { return cVariableVariableIDTerminalRuleCall_0_1; } 730 public RuleCall getVariableOrNodeVariableOrNodeQualifiedNameParserRuleCall_0_1() { return cVariableOrNodeVariableOrNodeQualifiedNameParserRuleCall_0_1; }
625 } 731 }
626 public class AssertionElements extends AbstractParserRuleElementFinder { 732 public class AssertionElements extends AbstractParserRuleElementFinder {
627 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Assertion"); 733 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Assertion");
@@ -1011,43 +1117,62 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
1011 //"*" 1117 //"*"
1012 public Keyword getAsteriskKeyword_1() { return cAsteriskKeyword_1; } 1118 public Keyword getAsteriskKeyword_1() { return cAsteriskKeyword_1; }
1013 } 1119 }
1120 public class QuotedOrUnquotedIdElements extends AbstractParserRuleElementFinder {
1121 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.QuotedOrUnquotedId");
1122 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1123 private final RuleCall cQUOTED_IDTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
1124 private final RuleCall cIdentifierParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
1125
1126 //QuotedOrUnquotedId:
1127 // QUOTED_ID | Identifier;
1128 @Override public ParserRule getRule() { return rule; }
1129
1130 //QUOTED_ID | Identifier
1131 public Alternatives getAlternatives() { return cAlternatives; }
1132
1133 //QUOTED_ID
1134 public RuleCall getQUOTED_IDTerminalRuleCall_0() { return cQUOTED_IDTerminalRuleCall_0; }
1135
1136 //Identifier
1137 public RuleCall getIdentifierParserRuleCall_1() { return cIdentifierParserRuleCall_1; }
1138 }
1014 public class QualifiedNameElements extends AbstractParserRuleElementFinder { 1139 public class QualifiedNameElements extends AbstractParserRuleElementFinder {
1015 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.QualifiedName"); 1140 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.QualifiedName");
1016 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 1141 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1017 private final RuleCall cQUOTED_IDTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 1142 private final RuleCall cQUOTED_IDTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
1018 private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); 1143 private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
1019 private final RuleCall cIDTerminalRuleCall_1_0 = (RuleCall)cGroup_1.eContents().get(0); 1144 private final RuleCall cIdentifierParserRuleCall_1_0 = (RuleCall)cGroup_1.eContents().get(0);
1020 private final Group cGroup_1_1 = (Group)cGroup_1.eContents().get(1); 1145 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); 1146 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); 1147 private final RuleCall cIdentifierParserRuleCall_1_1_1 = (RuleCall)cGroup_1_1.eContents().get(1);
1023 private final Group cGroup_1_2 = (Group)cGroup_1.eContents().get(2); 1148 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); 1149 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); 1150 private final RuleCall cQUOTED_IDTerminalRuleCall_1_2_1 = (RuleCall)cGroup_1_2.eContents().get(1);
1026 1151
1027 //QualifiedName: 1152 //QualifiedName:
1028 // QUOTED_ID | ID (":" ID)* (":" QUOTED_ID)?; 1153 // QUOTED_ID | Identifier (":" Identifier)* (":" QUOTED_ID)?;
1029 @Override public ParserRule getRule() { return rule; } 1154 @Override public ParserRule getRule() { return rule; }
1030 1155
1031 //QUOTED_ID | ID (":" ID)* (":" QUOTED_ID)? 1156 //QUOTED_ID | Identifier (":" Identifier)* (":" QUOTED_ID)?
1032 public Alternatives getAlternatives() { return cAlternatives; } 1157 public Alternatives getAlternatives() { return cAlternatives; }
1033 1158
1034 //QUOTED_ID 1159 //QUOTED_ID
1035 public RuleCall getQUOTED_IDTerminalRuleCall_0() { return cQUOTED_IDTerminalRuleCall_0; } 1160 public RuleCall getQUOTED_IDTerminalRuleCall_0() { return cQUOTED_IDTerminalRuleCall_0; }
1036 1161
1037 //ID (":" ID)* (":" QUOTED_ID)? 1162 //Identifier (":" Identifier)* (":" QUOTED_ID)?
1038 public Group getGroup_1() { return cGroup_1; } 1163 public Group getGroup_1() { return cGroup_1; }
1039 1164
1040 //ID 1165 //Identifier
1041 public RuleCall getIDTerminalRuleCall_1_0() { return cIDTerminalRuleCall_1_0; } 1166 public RuleCall getIdentifierParserRuleCall_1_0() { return cIdentifierParserRuleCall_1_0; }
1042 1167
1043 //(":" ID)* 1168 //(":" Identifier)*
1044 public Group getGroup_1_1() { return cGroup_1_1; } 1169 public Group getGroup_1_1() { return cGroup_1_1; }
1045 1170
1046 //":" 1171 //":"
1047 public Keyword getColonKeyword_1_1_0() { return cColonKeyword_1_1_0; } 1172 public Keyword getColonKeyword_1_1_0() { return cColonKeyword_1_1_0; }
1048 1173
1049 //ID 1174 //Identifier
1050 public RuleCall getIDTerminalRuleCall_1_1_1() { return cIDTerminalRuleCall_1_1_1; } 1175 public RuleCall getIdentifierParserRuleCall_1_1_1() { return cIdentifierParserRuleCall_1_1_1; }
1051 1176
1052 //(":" QUOTED_ID)? 1177 //(":" QUOTED_ID)?
1053 public Group getGroup_1_2() { return cGroup_1_2; } 1178 public Group getGroup_1_2() { return cGroup_1_2; }
@@ -1058,6 +1183,29 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
1058 //QUOTED_ID 1183 //QUOTED_ID
1059 public RuleCall getQUOTED_IDTerminalRuleCall_1_2_1() { return cQUOTED_IDTerminalRuleCall_1_2_1; } 1184 public RuleCall getQUOTED_IDTerminalRuleCall_1_2_1() { return cQUOTED_IDTerminalRuleCall_1_2_1; }
1060 } 1185 }
1186 public class IdentifierElements extends AbstractParserRuleElementFinder {
1187 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.Identifier");
1188 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1189 private final RuleCall cIDTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
1190 private final Keyword cTrueKeyword_1 = (Keyword)cAlternatives.eContents().get(1);
1191 private final Keyword cFalseKeyword_2 = (Keyword)cAlternatives.eContents().get(2);
1192
1193 //Identifier:
1194 // ID | "true" | "false";
1195 @Override public ParserRule getRule() { return rule; }
1196
1197 //ID | "true" | "false"
1198 public Alternatives getAlternatives() { return cAlternatives; }
1199
1200 //ID
1201 public RuleCall getIDTerminalRuleCall_0() { return cIDTerminalRuleCall_0; }
1202
1203 //"true"
1204 public Keyword getTrueKeyword_1() { return cTrueKeyword_1; }
1205
1206 //"false"
1207 public Keyword getFalseKeyword_2() { return cFalseKeyword_2; }
1208 }
1061 1209
1062 public class LogicValueElements extends AbstractElementFinder.AbstractEnumRuleElementFinder { 1210 public class LogicValueElements extends AbstractElementFinder.AbstractEnumRuleElementFinder {
1063 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.LogicValue"); 1211 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.LogicValue");
@@ -1125,6 +1273,8 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
1125 private final ProblemElements pProblem; 1273 private final ProblemElements pProblem;
1126 private final StatementElements pStatement; 1274 private final StatementElements pStatement;
1127 private final ClassDeclarationElements pClassDeclaration; 1275 private final ClassDeclarationElements pClassDeclaration;
1276 private final EnumDeclarationElements pEnumDeclaration;
1277 private final EnumLiteralElements pEnumLiteral;
1128 private final ReferenceDeclarationElements pReferenceDeclaration; 1278 private final ReferenceDeclarationElements pReferenceDeclaration;
1129 private final PredicateDefinitionElements pPredicateDefinition; 1279 private final PredicateDefinitionElements pPredicateDefinition;
1130 private final ParameterElements pParameter; 1280 private final ParameterElements pParameter;
@@ -1144,7 +1294,9 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
1144 private final RangeMultiplicityElements pRangeMultiplicity; 1294 private final RangeMultiplicityElements pRangeMultiplicity;
1145 private final ExactMultiplicityElements pExactMultiplicity; 1295 private final ExactMultiplicityElements pExactMultiplicity;
1146 private final UpperBoundElements pUpperBound; 1296 private final UpperBoundElements pUpperBound;
1297 private final QuotedOrUnquotedIdElements pQuotedOrUnquotedId;
1147 private final QualifiedNameElements pQualifiedName; 1298 private final QualifiedNameElements pQualifiedName;
1299 private final IdentifierElements pIdentifier;
1148 private final TerminalRule tSTRING; 1300 private final TerminalRule tSTRING;
1149 private final TerminalRule tQUOTED_ID; 1301 private final TerminalRule tQUOTED_ID;
1150 1302
@@ -1160,6 +1312,8 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
1160 this.pProblem = new ProblemElements(); 1312 this.pProblem = new ProblemElements();
1161 this.pStatement = new StatementElements(); 1313 this.pStatement = new StatementElements();
1162 this.pClassDeclaration = new ClassDeclarationElements(); 1314 this.pClassDeclaration = new ClassDeclarationElements();
1315 this.pEnumDeclaration = new EnumDeclarationElements();
1316 this.pEnumLiteral = new EnumLiteralElements();
1163 this.pReferenceDeclaration = new ReferenceDeclarationElements(); 1317 this.pReferenceDeclaration = new ReferenceDeclarationElements();
1164 this.pPredicateDefinition = new PredicateDefinitionElements(); 1318 this.pPredicateDefinition = new PredicateDefinitionElements();
1165 this.pParameter = new ParameterElements(); 1319 this.pParameter = new ParameterElements();
@@ -1179,7 +1333,9 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
1179 this.pRangeMultiplicity = new RangeMultiplicityElements(); 1333 this.pRangeMultiplicity = new RangeMultiplicityElements();
1180 this.pExactMultiplicity = new ExactMultiplicityElements(); 1334 this.pExactMultiplicity = new ExactMultiplicityElements();
1181 this.pUpperBound = new UpperBoundElements(); 1335 this.pUpperBound = new UpperBoundElements();
1336 this.pQuotedOrUnquotedId = new QuotedOrUnquotedIdElements();
1182 this.pQualifiedName = new QualifiedNameElements(); 1337 this.pQualifiedName = new QualifiedNameElements();
1338 this.pIdentifier = new IdentifierElements();
1183 this.tSTRING = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.STRING"); 1339 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"); 1340 this.tQUOTED_ID = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.Problem.QUOTED_ID");
1185 } 1341 }
@@ -1212,7 +1368,7 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
1212 1368
1213 1369
1214 //Problem: 1370 //Problem:
1215 // ("problem" name=ID ".")? 1371 // ("problem" name=Identifier ".")?
1216 // statements+=Statement*; 1372 // statements+=Statement*;
1217 public ProblemElements getProblemAccess() { 1373 public ProblemElements getProblemAccess() {
1218 return pProblem; 1374 return pProblem;
@@ -1223,7 +1379,7 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
1223 } 1379 }
1224 1380
1225 //Statement: 1381 //Statement:
1226 // ClassDeclaration | PredicateDefinition | Assertion | ScopeDeclaration; 1382 // ClassDeclaration | EnumDeclaration | PredicateDefinition | Assertion | ScopeDeclaration;
1227 public StatementElements getStatementAccess() { 1383 public StatementElements getStatementAccess() {
1228 return pStatement; 1384 return pStatement;
1229 } 1385 }
@@ -1234,8 +1390,8 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
1234 1390
1235 //ClassDeclaration: 1391 //ClassDeclaration:
1236 // abstract?="abstract"? "class" 1392 // abstract?="abstract"? "class"
1237 // name=ID 1393 // name=Identifier
1238 // ("extends" superTypes+=[ClassDeclaration|QualifiedName] ("," superTypes+=[ClassDeclaration|QualifiedName])*)? 1394 // ("extends" superTypes+=[Relation|QualifiedName] ("," superTypes+=[Relation|QualifiedName])*)?
1239 // ("{" (referenceDeclarations+=ReferenceDeclaration ";"?)* "}" | "."); 1395 // ("{" (referenceDeclarations+=ReferenceDeclaration ";"?)* "}" | ".");
1240 public ClassDeclarationElements getClassDeclarationAccess() { 1396 public ClassDeclarationElements getClassDeclarationAccess() {
1241 return pClassDeclaration; 1397 return pClassDeclaration;
@@ -1245,11 +1401,33 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
1245 return getClassDeclarationAccess().getRule(); 1401 return getClassDeclarationAccess().getRule();
1246 } 1402 }
1247 1403
1404 //EnumDeclaration:
1405 // "enum"
1406 // name=Identifier
1407 // ("{" (literals+=EnumLiteral ("," literals+=EnumLiteral)* ("," | ";")?)? "}" | ".");
1408 public EnumDeclarationElements getEnumDeclarationAccess() {
1409 return pEnumDeclaration;
1410 }
1411
1412 public ParserRule getEnumDeclarationRule() {
1413 return getEnumDeclarationAccess().getRule();
1414 }
1415
1416 //EnumLiteral returns Node:
1417 // name=QuotedOrUnquotedId;
1418 public EnumLiteralElements getEnumLiteralAccess() {
1419 return pEnumLiteral;
1420 }
1421
1422 public ParserRule getEnumLiteralRule() {
1423 return getEnumLiteralAccess().getRule();
1424 }
1425
1248 //ReferenceDeclaration: 1426 //ReferenceDeclaration:
1249 // (containment?="contains" | "refers") 1427 // (containment?="contains" | "refers")?
1250 // referenceType=[ClassDeclaration|QualifiedName] 1428 // referenceType=[Relation|QualifiedName]
1251 // ("[" multiplicity=Multiplicity "]")? 1429 // ("[" multiplicity=Multiplicity "]")?
1252 // name=ID 1430 // name=Identifier
1253 // ("opposite" opposite=[ReferenceDeclaration|QualifiedName])?; 1431 // ("opposite" opposite=[ReferenceDeclaration|QualifiedName])?;
1254 public ReferenceDeclarationElements getReferenceDeclarationAccess() { 1432 public ReferenceDeclarationElements getReferenceDeclarationAccess() {
1255 return pReferenceDeclaration; 1433 return pReferenceDeclaration;
@@ -1261,7 +1439,7 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
1261 1439
1262 //PredicateDefinition: 1440 //PredicateDefinition:
1263 // (error?="error" "pred"? | "pred") 1441 // (error?="error" "pred"? | "pred")
1264 // name=ID 1442 // name=Identifier
1265 // "(" (parameters+=Parameter ("," parameters+=Parameter)*)? ")" 1443 // "(" (parameters+=Parameter ("," parameters+=Parameter)*)? ")"
1266 // (":-" bodies+=Conjunction (";" bodies+=Conjunction)*)? 1444 // (":-" bodies+=Conjunction (";" bodies+=Conjunction)*)?
1267 // "."; 1445 // ".";
@@ -1274,7 +1452,7 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
1274 } 1452 }
1275 1453
1276 //Parameter: 1454 //Parameter:
1277 // parameterType=[ClassDeclaration] name=ID; 1455 // parameterType=[Relation|QualifiedName]? name=Identifier;
1278 public ParameterElements getParameterAccess() { 1456 public ParameterElements getParameterAccess() {
1279 return pParameter; 1457 return pParameter;
1280 } 1458 }
@@ -1326,7 +1504,7 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
1326 } 1504 }
1327 1505
1328 //Argument: 1506 //Argument:
1329 // variable=[Variable]; 1507 // variableOrNode=[VariableOrNode|QualifiedName];
1330 public ArgumentElements getArgumentAccess() { 1508 public ArgumentElements getArgumentAccess() {
1331 return pArgument; 1509 return pArgument;
1332 } 1510 }
@@ -1453,8 +1631,18 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
1453 return getUpperBoundAccess().getRule(); 1631 return getUpperBoundAccess().getRule();
1454 } 1632 }
1455 1633
1634 //QuotedOrUnquotedId:
1635 // QUOTED_ID | Identifier;
1636 public QuotedOrUnquotedIdElements getQuotedOrUnquotedIdAccess() {
1637 return pQuotedOrUnquotedId;
1638 }
1639
1640 public ParserRule getQuotedOrUnquotedIdRule() {
1641 return getQuotedOrUnquotedIdAccess().getRule();
1642 }
1643
1456 //QualifiedName: 1644 //QualifiedName:
1457 // QUOTED_ID | ID (":" ID)* (":" QUOTED_ID)?; 1645 // QUOTED_ID | Identifier (":" Identifier)* (":" QUOTED_ID)?;
1458 public QualifiedNameElements getQualifiedNameAccess() { 1646 public QualifiedNameElements getQualifiedNameAccess() {
1459 return pQualifiedName; 1647 return pQualifiedName;
1460 } 1648 }
@@ -1463,13 +1651,25 @@ public class ProblemGrammarAccess extends AbstractElementFinder.AbstractGrammarE
1463 return getQualifiedNameAccess().getRule(); 1651 return getQualifiedNameAccess().getRule();
1464 } 1652 }
1465 1653
1654 //Identifier:
1655 // ID | "true" | "false";
1656 public IdentifierElements getIdentifierAccess() {
1657 return pIdentifier;
1658 }
1659
1660 public ParserRule getIdentifierRule() {
1661 return getIdentifierAccess().getRule();
1662 }
1663
1466 //@Override 1664 //@Override
1467 //terminal STRING: '"' ( '\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\'|'"') )* '"'; 1665 //terminal STRING:
1666 // '"' ('\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\' | '"'))* '"';
1468 public TerminalRule getSTRINGRule() { 1667 public TerminalRule getSTRINGRule() {
1469 return tSTRING; 1668 return tSTRING;
1470 } 1669 }
1471 1670
1472 //terminal QUOTED_ID: "'" ( '\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\'|"'") )* "'"; 1671 //terminal QUOTED_ID:
1672 // "'" ('\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\' | "'"))* "'";
1473 public TerminalRule getQUOTED_IDRule() { 1673 public TerminalRule getQUOTED_IDRule() {
1474 return tQUOTED_ID; 1674 return tQUOTED_ID;
1475 } 1675 }