aboutsummaryrefslogtreecommitdiffstats
path: root/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver
diff options
context:
space:
mode:
Diffstat (limited to 'Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver')
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguage.xtextbinbin11964 -> 13021 bytes
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguageStandaloneSetupGenerated.java5
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.g1071
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.java5598
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.tokens147
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.g46
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.java1673
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.tokens147
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSemanticSequencer.java511
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSyntacticSequencer.java14
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java1153
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java96
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AggregationOp.java317
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Argument.java20
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java40
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Assertion.java70
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryExpression.java96
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryOperator.java455
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedMultiplicity.java70
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedScopeDefinition.java70
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java116
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java70
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDefinition.java97
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Comparison.java96
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Conjunction.java38
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Count.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultDefinition.java70
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java38
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EmptyIntervalLiteral.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactScopeDefinition.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Expression.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternMetricDefinition.java73
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternPredicateDefinition.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IfElse.java93
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/InfinityLiteral.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java70
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java50
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java271
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScopeDefinition.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ManyMultiplicity.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MemberDefinition.java140
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricDefinition.java96
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricType.java225
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Multiplicity.java20
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedElement.java48
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NumericLiteral.java48
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDefinition.java73
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveKind.java225
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java116
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java40
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ScopeDefinition.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java458
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java4143
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java19
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java20
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Switch.java38
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java70
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedStarArgument.java47
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryExpression.java73
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryOp.java317
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedErrorPrediateDefinition.java70
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java343
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java43
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java169
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AssertionImpl.java269
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java343
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java237
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeDefinitionImpl.java237
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java401
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java269
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDefinitionImpl.java340
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComparisonImpl.java343
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java167
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CountImpl.java196
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultDefinitionImpl.java270
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java167
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyIntervalLiteralImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java179
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeDefinitionImpl.java179
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java196
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternMetricDefinitionImpl.java270
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDefinitionImpl.java196
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IfElseImpl.java342
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java269
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java180
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeDefinitionImpl.java179
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ManyMultiplicityImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MemberDefinitionImpl.java463
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricDefinitionImpl.java343
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java43
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedElementImpl.java180
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NumericLiteralImpl.java181
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDefinitionImpl.java270
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java400
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java169
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java175
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDefinitionImpl.java175
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java894
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java2379
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java41
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java43
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java179
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java167
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java242
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java175
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java270
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPrediateDefinitionImpl.java270
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java1053
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java1245
-rw-r--r--Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/validation/AbstractSolverLanguageValidator.java2
118 files changed, 6369 insertions, 28464 deletions
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguage.xtextbin b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguage.xtextbin
index da698ba6..da513ba9 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguage.xtextbin
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguage.xtextbin
Binary files differ
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguageStandaloneSetupGenerated.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguageStandaloneSetupGenerated.java
index 33c82701..c487738b 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguageStandaloneSetupGenerated.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/SolverLanguageStandaloneSetupGenerated.java
@@ -5,9 +5,7 @@ package org.eclipse.viatra.solver.language;
5 5
6import com.google.inject.Guice; 6import com.google.inject.Guice;
7import com.google.inject.Injector; 7import com.google.inject.Injector;
8import org.eclipse.emf.ecore.EPackage;
9import org.eclipse.emf.ecore.resource.Resource; 8import org.eclipse.emf.ecore.resource.Resource;
10import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
11import org.eclipse.xtext.ISetup; 9import org.eclipse.xtext.ISetup;
12import org.eclipse.xtext.common.TerminalsStandaloneSetup; 10import org.eclipse.xtext.common.TerminalsStandaloneSetup;
13import org.eclipse.xtext.resource.IResourceFactory; 11import org.eclipse.xtext.resource.IResourceFactory;
@@ -30,9 +28,6 @@ public class SolverLanguageStandaloneSetupGenerated implements ISetup {
30 } 28 }
31 29
32 public void register(Injector injector) { 30 public void register(Injector injector) {
33 if (!EPackage.Registry.INSTANCE.containsKey("http://www.eclipse.org/viatra/solver/language/SolverLanguage")) {
34 EPackage.Registry.INSTANCE.put("http://www.eclipse.org/viatra/solver/language/SolverLanguage", SolverLanguagePackage.eINSTANCE);
35 }
36 IResourceFactory resourceFactory = injector.getInstance(IResourceFactory.class); 31 IResourceFactory resourceFactory = injector.getInstance(IResourceFactory.class);
37 IResourceServiceProvider serviceProvider = injector.getInstance(IResourceServiceProvider.class); 32 IResourceServiceProvider serviceProvider = injector.getInstance(IResourceServiceProvider.class);
38 33
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.g b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.g
index 6cd0341f..8ec69aaa 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.g
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.g
@@ -144,20 +144,20 @@ ruleStatement returns [EObject current=null]
144 } 144 }
145 | 145 |
146 { 146 {
147 newCompositeNode(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_4()); 147 newCompositeNode(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_4());
148 } 148 }
149 this_ExternPredicateDefinition_4=ruleExternPredicateDefinition 149 this_MetricDefinition_4=ruleMetricDefinition
150 { 150 {
151 $current = $this_ExternPredicateDefinition_4.current; 151 $current = $this_MetricDefinition_4.current;
152 afterParserOrEnumRuleCall(); 152 afterParserOrEnumRuleCall();
153 } 153 }
154 | 154 |
155 { 155 {
156 newCompositeNode(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_5()); 156 newCompositeNode(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_5());
157 } 157 }
158 this_MetricDefinition_5=ruleMetricDefinition 158 this_ExternPredicateDefinition_5=ruleExternPredicateDefinition
159 { 159 {
160 $current = $this_MetricDefinition_5.current; 160 $current = $this_ExternPredicateDefinition_5.current;
161 afterParserOrEnumRuleCall(); 161 afterParserOrEnumRuleCall();
162 } 162 }
163 | 163 |
@@ -171,35 +171,53 @@ ruleStatement returns [EObject current=null]
171 } 171 }
172 | 172 |
173 { 173 {
174 newCompositeNode(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_7()); 174 newCompositeNode(grammarAccess.getStatementAccess().getExternAggregatorDefinitionParserRuleCall_0_7());
175 } 175 }
176 this_ClassDefinition_7=ruleClassDefinition 176 this_ExternAggregatorDefinition_7=ruleExternAggregatorDefinition
177 { 177 {
178 $current = $this_ClassDefinition_7.current; 178 $current = $this_ExternAggregatorDefinition_7.current;
179 afterParserOrEnumRuleCall(); 179 afterParserOrEnumRuleCall();
180 } 180 }
181 | 181 |
182 { 182 {
183 newCompositeNode(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_8()); 183 newCompositeNode(grammarAccess.getStatementAccess().getExternDatatypeDefinitionParserRuleCall_0_8());
184 } 184 }
185 this_ScopeDefinition_8=ruleScopeDefinition 185 this_ExternDatatypeDefinition_8=ruleExternDatatypeDefinition
186 { 186 {
187 $current = $this_ScopeDefinition_8.current; 187 $current = $this_ExternDatatypeDefinition_8.current;
188 afterParserOrEnumRuleCall(); 188 afterParserOrEnumRuleCall();
189 } 189 }
190 | 190 |
191 { 191 {
192 newCompositeNode(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_9()); 192 newCompositeNode(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_9());
193 } 193 }
194 this_ObjectiveDefinition_9=ruleObjectiveDefinition 194 this_ClassDefinition_9=ruleClassDefinition
195 { 195 {
196 $current = $this_ObjectiveDefinition_9.current; 196 $current = $this_ClassDefinition_9.current;
197 afterParserOrEnumRuleCall();
198 }
199 |
200 {
201 newCompositeNode(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_10());
202 }
203 this_ScopeDefinition_10=ruleScopeDefinition
204 {
205 $current = $this_ScopeDefinition_10.current;
206 afterParserOrEnumRuleCall();
207 }
208 |
209 {
210 newCompositeNode(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_11());
211 }
212 this_ObjectiveDefinition_11=ruleObjectiveDefinition
213 {
214 $current = $this_ObjectiveDefinition_11.current;
197 afterParserOrEnumRuleCall(); 215 afterParserOrEnumRuleCall();
198 } 216 }
199 ) 217 )
200 this_FULL_STOP_10=RULE_FULL_STOP 218 this_FULL_STOP_12=RULE_FULL_STOP
201 { 219 {
202 newLeafNode(this_FULL_STOP_10, grammarAccess.getStatementAccess().getFULL_STOPTerminalRuleCall_1()); 220 newLeafNode(this_FULL_STOP_12, grammarAccess.getStatementAccess().getFULL_STOPTerminalRuleCall_1());
203 } 221 }
204 ) 222 )
205; 223;
@@ -233,35 +251,33 @@ ruleAssertionOrDefinition returns [EObject current=null]
233 ( 251 (
234 { 252 {
235 $current = forceCreateModelElementAndSet( 253 $current = forceCreateModelElementAndSet(
236 grammarAccess.getAssertionOrDefinitionAccess().getAssertionBodyAction_1_0_0(), 254 grammarAccess.getAssertionOrDefinitionAccess().getInterpretationBodyAction_1_0_0(),
237 $current); 255 $current);
238 } 256 }
239 ) 257 )
258 otherlv_2=Colon
259 {
260 newLeafNode(otherlv_2, grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1());
261 }
240 ( 262 (
241 otherlv_2=Colon
242 {
243 newLeafNode(otherlv_2, grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1_0());
244 }
245 ( 263 (
246 ( 264 {
247 { 265 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_2_0());
248 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_1_1_0()); 266 }
249 } 267 lv_range_3_0=ruleExpression
250 lv_range_3_0=ruleExpression 268 {
251 { 269 if ($current==null) {
252 if ($current==null) { 270 $current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule());
253 $current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule());
254 }
255 set(
256 $current,
257 "range",
258 lv_range_3_0,
259 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
260 afterParserOrEnumRuleCall();
261 } 271 }
262 ) 272 set(
273 $current,
274 "range",
275 lv_range_3_0,
276 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
277 afterParserOrEnumRuleCall();
278 }
263 ) 279 )
264 )? 280 )
265 ) 281 )
266 | 282 |
267 ( 283 (
@@ -329,7 +345,7 @@ ruleAssertionOrDefinition returns [EObject current=null]
329 ) 345 )
330 ) 346 )
331 ) 347 )
332 ) 348 )?
333 ) 349 )
334; 350;
335 351
@@ -587,6 +603,83 @@ ruleDefaultDefinition returns [EObject current=null]
587 ) 603 )
588; 604;
589 605
606// Entry rule entryRuleMetricDefinition
607entryRuleMetricDefinition returns [EObject current=null]:
608 { newCompositeNode(grammarAccess.getMetricDefinitionRule()); }
609 iv_ruleMetricDefinition=ruleMetricDefinition
610 { $current=$iv_ruleMetricDefinition.current; }
611 EOF;
612
613// Rule MetricDefinition
614ruleMetricDefinition returns [EObject current=null]
615@init {
616 enterRule();
617}
618@after {
619 leaveRule();
620}:
621 (
622 (
623 (
624 {
625 if ($current==null) {
626 $current = createModelElement(grammarAccess.getMetricDefinitionRule());
627 }
628 }
629 {
630 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getTypeNamedElementCrossReference_0_0());
631 }
632 ruleQualifiedName
633 {
634 afterParserOrEnumRuleCall();
635 }
636 )
637 )
638 (
639 (
640 {
641 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getHeadCallParserRuleCall_1_0());
642 }
643 lv_head_1_0=ruleCall
644 {
645 if ($current==null) {
646 $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule());
647 }
648 set(
649 $current,
650 "head",
651 lv_head_1_0,
652 "org.eclipse.viatra.solver.language.SolverLanguage.Call");
653 afterParserOrEnumRuleCall();
654 }
655 )
656 )
657 otherlv_2=EqualsSign
658 {
659 newLeafNode(otherlv_2, grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2());
660 }
661 (
662 (
663 {
664 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0());
665 }
666 lv_body_3_0=ruleExpression
667 {
668 if ($current==null) {
669 $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule());
670 }
671 set(
672 $current,
673 "body",
674 lv_body_3_0,
675 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
676 afterParserOrEnumRuleCall();
677 }
678 )
679 )
680 )
681;
682
590// Entry rule entryRuleExternPredicateDefinition 683// Entry rule entryRuleExternPredicateDefinition
591entryRuleExternPredicateDefinition returns [EObject current=null]: 684entryRuleExternPredicateDefinition returns [EObject current=null]:
592 { newCompositeNode(grammarAccess.getExternPredicateDefinitionRule()); } 685 { newCompositeNode(grammarAccess.getExternPredicateDefinitionRule()); }
@@ -610,18 +703,37 @@ ruleExternPredicateDefinition returns [EObject current=null]
610 ( 703 (
611 ( 704 (
612 { 705 {
613 newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); 706 newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getNameQualifiedNameParserRuleCall_1_0());
614 } 707 }
615 lv_head_1_0=ruleCall 708 lv_name_1_0=ruleQualifiedName
616 { 709 {
617 if ($current==null) { 710 if ($current==null) {
618 $current = createModelElementForParent(grammarAccess.getExternPredicateDefinitionRule()); 711 $current = createModelElementForParent(grammarAccess.getExternPredicateDefinitionRule());
619 } 712 }
620 set( 713 set(
621 $current, 714 $current,
622 "head", 715 "name",
623 lv_head_1_0, 716 lv_name_1_0,
624 "org.eclipse.viatra.solver.language.SolverLanguage.Call"); 717 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
718 afterParserOrEnumRuleCall();
719 }
720 )
721 )
722 (
723 (
724 {
725 newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getArgumentListArgumentListParserRuleCall_2_0());
726 }
727 lv_argumentList_2_0=ruleArgumentList
728 {
729 if ($current==null) {
730 $current = createModelElementForParent(grammarAccess.getExternPredicateDefinitionRule());
731 }
732 set(
733 $current,
734 "argumentList",
735 lv_argumentList_2_0,
736 "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList");
625 afterParserOrEnumRuleCall(); 737 afterParserOrEnumRuleCall();
626 } 738 }
627 ) 739 )
@@ -629,15 +741,15 @@ ruleExternPredicateDefinition returns [EObject current=null]
629 ) 741 )
630; 742;
631 743
632// Entry rule entryRuleMetricDefinition 744// Entry rule entryRuleExternMetricDefinition
633entryRuleMetricDefinition returns [EObject current=null]: 745entryRuleExternMetricDefinition returns [EObject current=null]:
634 { newCompositeNode(grammarAccess.getMetricDefinitionRule()); } 746 { newCompositeNode(grammarAccess.getExternMetricDefinitionRule()); }
635 iv_ruleMetricDefinition=ruleMetricDefinition 747 iv_ruleExternMetricDefinition=ruleExternMetricDefinition
636 { $current=$iv_ruleMetricDefinition.current; } 748 { $current=$iv_ruleExternMetricDefinition.current; }
637 EOF; 749 EOF;
638 750
639// Rule MetricDefinition 751// Rule ExternMetricDefinition
640ruleMetricDefinition returns [EObject current=null] 752ruleExternMetricDefinition returns [EObject current=null]
641@init { 753@init {
642 enterRule(); 754 enterRule();
643} 755}
@@ -645,21 +757,41 @@ ruleMetricDefinition returns [EObject current=null]
645 leaveRule(); 757 leaveRule();
646}: 758}:
647 ( 759 (
760 otherlv_0=Extern
761 {
762 newLeafNode(otherlv_0, grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0());
763 }
648 ( 764 (
649 ( 765 (
650 { 766 {
651 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_0_0()); 767 if ($current==null) {
768 $current = createModelElement(grammarAccess.getExternMetricDefinitionRule());
769 }
652 } 770 }
653 lv_type_0_0=ruleMetricType 771 {
772 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getTypeNamedElementCrossReference_1_0());
773 }
774 ruleQualifiedName
775 {
776 afterParserOrEnumRuleCall();
777 }
778 )
779 )
780 (
781 (
782 {
783 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0());
784 }
785 lv_name_2_0=ruleQualifiedName
654 { 786 {
655 if ($current==null) { 787 if ($current==null) {
656 $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); 788 $current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule());
657 } 789 }
658 set( 790 set(
659 $current, 791 $current,
660 "type", 792 "name",
661 lv_type_0_0, 793 lv_name_2_0,
662 "org.eclipse.viatra.solver.language.SolverLanguage.MetricType"); 794 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
663 afterParserOrEnumRuleCall(); 795 afterParserOrEnumRuleCall();
664 } 796 }
665 ) 797 )
@@ -667,57 +799,120 @@ ruleMetricDefinition returns [EObject current=null]
667 ( 799 (
668 ( 800 (
669 { 801 {
670 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getHeadExpressionParserRuleCall_1_0()); 802 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getArgumentListArgumentListParserRuleCall_3_0());
671 } 803 }
672 lv_head_1_0=ruleExpression 804 lv_argumentList_3_0=ruleArgumentList
673 { 805 {
674 if ($current==null) { 806 if ($current==null) {
675 $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); 807 $current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule());
676 } 808 }
677 set( 809 set(
678 $current, 810 $current,
679 "head", 811 "argumentList",
680 lv_head_1_0, 812 lv_argumentList_3_0,
681 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 813 "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList");
682 afterParserOrEnumRuleCall(); 814 afterParserOrEnumRuleCall();
683 } 815 }
684 ) 816 )
685 ) 817 )
686 otherlv_2=EqualsSign 818 )
819;
820
821// Entry rule entryRuleExternAggregatorDefinition
822entryRuleExternAggregatorDefinition returns [EObject current=null]:
823 { newCompositeNode(grammarAccess.getExternAggregatorDefinitionRule()); }
824 iv_ruleExternAggregatorDefinition=ruleExternAggregatorDefinition
825 { $current=$iv_ruleExternAggregatorDefinition.current; }
826 EOF;
827
828// Rule ExternAggregatorDefinition
829ruleExternAggregatorDefinition returns [EObject current=null]
830@init {
831 enterRule();
832}
833@after {
834 leaveRule();
835}:
836 (
837 otherlv_0=Extern
687 { 838 {
688 newLeafNode(otherlv_2, grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2()); 839 newLeafNode(otherlv_0, grammarAccess.getExternAggregatorDefinitionAccess().getExternKeyword_0());
689 } 840 }
690 ( 841 (
691 ( 842 (
692 { 843 {
693 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); 844 if ($current==null) {
845 $current = createModelElement(grammarAccess.getExternAggregatorDefinitionRule());
846 }
694 } 847 }
695 lv_body_3_0=ruleExpression 848 {
849 newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getTypeNamedElementCrossReference_1_0());
850 }
851 ruleQualifiedName
852 {
853 afterParserOrEnumRuleCall();
854 }
855 )
856 )
857 (
858 (
859 {
860 newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0());
861 }
862 lv_name_2_0=ruleQualifiedName
696 { 863 {
697 if ($current==null) { 864 if ($current==null) {
698 $current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); 865 $current = createModelElementForParent(grammarAccess.getExternAggregatorDefinitionRule());
699 } 866 }
700 set( 867 set(
701 $current, 868 $current,
702 "body", 869 "name",
703 lv_body_3_0, 870 lv_name_2_0,
704 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 871 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
705 afterParserOrEnumRuleCall(); 872 afterParserOrEnumRuleCall();
706 } 873 }
707 ) 874 )
708 ) 875 )
876 otherlv_3=LeftCurlyBracket
877 {
878 newLeafNode(otherlv_3, grammarAccess.getExternAggregatorDefinitionAccess().getLeftCurlyBracketKeyword_3());
879 }
880 (
881 (
882 {
883 if ($current==null) {
884 $current = createModelElement(grammarAccess.getExternAggregatorDefinitionRule());
885 }
886 }
887 {
888 newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getInputTypeNamedElementCrossReference_4_0());
889 }
890 ruleQualifiedName
891 {
892 afterParserOrEnumRuleCall();
893 }
894 )
895 )
896 otherlv_5=FullStopFullStopFullStop
897 {
898 newLeafNode(otherlv_5, grammarAccess.getExternAggregatorDefinitionAccess().getFullStopFullStopFullStopKeyword_5());
899 }
900 otherlv_6=RightCurlyBracket
901 {
902 newLeafNode(otherlv_6, grammarAccess.getExternAggregatorDefinitionAccess().getRightCurlyBracketKeyword_6());
903 }
709 ) 904 )
710; 905;
711 906
712// Entry rule entryRuleExternMetricDefinition 907// Entry rule entryRuleExternDatatypeDefinition
713entryRuleExternMetricDefinition returns [EObject current=null]: 908entryRuleExternDatatypeDefinition returns [EObject current=null]:
714 { newCompositeNode(grammarAccess.getExternMetricDefinitionRule()); } 909 { newCompositeNode(grammarAccess.getExternDatatypeDefinitionRule()); }
715 iv_ruleExternMetricDefinition=ruleExternMetricDefinition 910 iv_ruleExternDatatypeDefinition=ruleExternDatatypeDefinition
716 { $current=$iv_ruleExternMetricDefinition.current; } 911 { $current=$iv_ruleExternDatatypeDefinition.current; }
717 EOF; 912 EOF;
718 913
719// Rule ExternMetricDefinition 914// Rule ExternDatatypeDefinition
720ruleExternMetricDefinition returns [EObject current=null] 915ruleExternDatatypeDefinition returns [EObject current=null]
721@init { 916@init {
722 enterRule(); 917 enterRule();
723} 918}
@@ -727,43 +922,125 @@ ruleExternMetricDefinition returns [EObject current=null]
727 ( 922 (
728 otherlv_0=Extern 923 otherlv_0=Extern
729 { 924 {
730 newLeafNode(otherlv_0, grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0()); 925 newLeafNode(otherlv_0, grammarAccess.getExternDatatypeDefinitionAccess().getExternKeyword_0());
926 }
927 otherlv_1=Datatype
928 {
929 newLeafNode(otherlv_1, grammarAccess.getExternDatatypeDefinitionAccess().getDatatypeKeyword_1());
731 } 930 }
732 ( 931 (
733 ( 932 (
734 { 933 {
735 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_1_0()); 934 newCompositeNode(grammarAccess.getExternDatatypeDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0());
736 } 935 }
737 lv_type_1_0=ruleMetricType 936 lv_name_2_0=ruleQualifiedName
738 { 937 {
739 if ($current==null) { 938 if ($current==null) {
740 $current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); 939 $current = createModelElementForParent(grammarAccess.getExternDatatypeDefinitionRule());
741 } 940 }
742 set( 941 set(
743 $current, 942 $current,
744 "type", 943 "name",
745 lv_type_1_0, 944 lv_name_2_0,
746 "org.eclipse.viatra.solver.language.SolverLanguage.MetricType"); 945 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
747 afterParserOrEnumRuleCall(); 946 afterParserOrEnumRuleCall();
748 } 947 }
749 ) 948 )
750 ) 949 )
751 ( 950 (
951 otherlv_3=Extends
952 {
953 newLeafNode(otherlv_3, grammarAccess.getExternDatatypeDefinitionAccess().getExtendsKeyword_3_0());
954 }
955 (
956 (
957 {
958 if ($current==null) {
959 $current = createModelElement(grammarAccess.getExternDatatypeDefinitionRule());
960 }
961 }
962 {
963 newCompositeNode(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementCrossReference_3_1_0());
964 }
965 ruleQualifiedName
966 {
967 afterParserOrEnumRuleCall();
968 }
969 )
970 )
971 (
972 otherlv_5=Comma
973 {
974 newLeafNode(otherlv_5, grammarAccess.getExternDatatypeDefinitionAccess().getCommaKeyword_3_2_0());
975 }
976 (
977 (
978 {
979 if ($current==null) {
980 $current = createModelElement(grammarAccess.getExternDatatypeDefinitionRule());
981 }
982 }
983 {
984 newCompositeNode(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementCrossReference_3_2_1_0());
985 }
986 ruleQualifiedName
987 {
988 afterParserOrEnumRuleCall();
989 }
990 )
991 )
992 )*
993 )
994 )
995;
996
997// Entry rule entryRuleVariable
998entryRuleVariable returns [EObject current=null]:
999 { newCompositeNode(grammarAccess.getVariableRule()); }
1000 iv_ruleVariable=ruleVariable
1001 { $current=$iv_ruleVariable.current; }
1002 EOF;
1003
1004// Rule Variable
1005ruleVariable returns [EObject current=null]
1006@init {
1007 enterRule();
1008}
1009@after {
1010 leaveRule();
1011}:
1012 (
1013 (
752 ( 1014 (
753 { 1015 {
754 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getHeadCallParserRuleCall_2_0()); 1016 if ($current==null) {
1017 $current = createModelElement(grammarAccess.getVariableRule());
1018 }
1019 }
1020 {
1021 newCompositeNode(grammarAccess.getVariableAccess().getTypeNamedElementCrossReference_0_0());
1022 }
1023 ruleQualifiedName
1024 {
1025 afterParserOrEnumRuleCall();
1026 }
1027 )
1028 )?
1029 (
1030 (
1031 lv_name_1_0=RULE_ID
1032 {
1033 newLeafNode(lv_name_1_0, grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_1_0());
755 } 1034 }
756 lv_head_2_0=ruleCall
757 { 1035 {
758 if ($current==null) { 1036 if ($current==null) {
759 $current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); 1037 $current = createModelElement(grammarAccess.getVariableRule());
760 } 1038 }
761 set( 1039 setWithLastConsumed(
762 $current, 1040 $current,
763 "head", 1041 "name",
764 lv_head_2_0, 1042 lv_name_1_0,
765 "org.eclipse.viatra.solver.language.SolverLanguage.Call"); 1043 "org.eclipse.xtext.common.Terminals.ID");
766 afterParserOrEnumRuleCall();
767 } 1044 }
768 ) 1045 )
769 ) 1046 )
@@ -796,11 +1073,20 @@ ruleExpression returns [EObject current=null]
796 } 1073 }
797 | 1074 |
798 { 1075 {
799 newCompositeNode(grammarAccess.getExpressionAccess().getDisjunctiveExpressionParserRuleCall_1()); 1076 newCompositeNode(grammarAccess.getExpressionAccess().getLetParserRuleCall_1());
800 } 1077 }
801 this_DisjunctiveExpression_1=ruleDisjunctiveExpression 1078 this_Let_1=ruleLet
802 { 1079 {
803 $current = $this_DisjunctiveExpression_1.current; 1080 $current = $this_Let_1.current;
1081 afterParserOrEnumRuleCall();
1082 }
1083 |
1084 {
1085 newCompositeNode(grammarAccess.getExpressionAccess().getImplicationExpressionParserRuleCall_2());
1086 }
1087 this_ImplicationExpression_2=ruleImplicationExpression
1088 {
1089 $current = $this_ImplicationExpression_2.current;
804 afterParserOrEnumRuleCall(); 1090 afterParserOrEnumRuleCall();
805 } 1091 }
806 ) 1092 )
@@ -894,6 +1180,231 @@ ruleIfElse returns [EObject current=null]
894 ) 1180 )
895; 1181;
896 1182
1183// Entry rule entryRuleLet
1184entryRuleLet returns [EObject current=null]:
1185 { newCompositeNode(grammarAccess.getLetRule()); }
1186 iv_ruleLet=ruleLet
1187 { $current=$iv_ruleLet.current; }
1188 EOF;
1189
1190// Rule Let
1191ruleLet returns [EObject current=null]
1192@init {
1193 enterRule();
1194}
1195@after {
1196 leaveRule();
1197}:
1198 (
1199 otherlv_0=Let
1200 {
1201 newLeafNode(otherlv_0, grammarAccess.getLetAccess().getLetKeyword_0());
1202 }
1203 (
1204 (
1205 {
1206 newCompositeNode(grammarAccess.getLetAccess().getBindingsLetBindingParserRuleCall_1_0());
1207 }
1208 lv_bindings_1_0=ruleLetBinding
1209 {
1210 if ($current==null) {
1211 $current = createModelElementForParent(grammarAccess.getLetRule());
1212 }
1213 add(
1214 $current,
1215 "bindings",
1216 lv_bindings_1_0,
1217 "org.eclipse.viatra.solver.language.SolverLanguage.LetBinding");
1218 afterParserOrEnumRuleCall();
1219 }
1220 )
1221 )
1222 (
1223 otherlv_2=Comma
1224 {
1225 newLeafNode(otherlv_2, grammarAccess.getLetAccess().getCommaKeyword_2_0());
1226 }
1227 (
1228 (
1229 {
1230 newCompositeNode(grammarAccess.getLetAccess().getBindingsLetBindingParserRuleCall_2_1_0());
1231 }
1232 lv_bindings_3_0=ruleLetBinding
1233 {
1234 if ($current==null) {
1235 $current = createModelElementForParent(grammarAccess.getLetRule());
1236 }
1237 add(
1238 $current,
1239 "bindings",
1240 lv_bindings_3_0,
1241 "org.eclipse.viatra.solver.language.SolverLanguage.LetBinding");
1242 afterParserOrEnumRuleCall();
1243 }
1244 )
1245 )
1246 )*
1247 otherlv_4=In
1248 {
1249 newLeafNode(otherlv_4, grammarAccess.getLetAccess().getInKeyword_3());
1250 }
1251 (
1252 (
1253 {
1254 newCompositeNode(grammarAccess.getLetAccess().getBodyExpressionParserRuleCall_4_0());
1255 }
1256 lv_body_5_0=ruleExpression
1257 {
1258 if ($current==null) {
1259 $current = createModelElementForParent(grammarAccess.getLetRule());
1260 }
1261 set(
1262 $current,
1263 "body",
1264 lv_body_5_0,
1265 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
1266 afterParserOrEnumRuleCall();
1267 }
1268 )
1269 )
1270 )
1271;
1272
1273// Entry rule entryRuleLetBinding
1274entryRuleLetBinding returns [EObject current=null]:
1275 { newCompositeNode(grammarAccess.getLetBindingRule()); }
1276 iv_ruleLetBinding=ruleLetBinding
1277 { $current=$iv_ruleLetBinding.current; }
1278 EOF;
1279
1280// Rule LetBinding
1281ruleLetBinding returns [EObject current=null]
1282@init {
1283 enterRule();
1284}
1285@after {
1286 leaveRule();
1287}:
1288 (
1289 (
1290 (
1291 {
1292 newCompositeNode(grammarAccess.getLetBindingAccess().getVariableVariableParserRuleCall_0_0());
1293 }
1294 lv_variable_0_0=ruleVariable
1295 {
1296 if ($current==null) {
1297 $current = createModelElementForParent(grammarAccess.getLetBindingRule());
1298 }
1299 set(
1300 $current,
1301 "variable",
1302 lv_variable_0_0,
1303 "org.eclipse.viatra.solver.language.SolverLanguage.Variable");
1304 afterParserOrEnumRuleCall();
1305 }
1306 )
1307 )
1308 otherlv_1=EqualsSign
1309 {
1310 newLeafNode(otherlv_1, grammarAccess.getLetBindingAccess().getEqualsSignKeyword_1());
1311 }
1312 (
1313 (
1314 {
1315 newCompositeNode(grammarAccess.getLetBindingAccess().getValueAdditiveExpressionParserRuleCall_2_0());
1316 }
1317 lv_value_2_0=ruleAdditiveExpression
1318 {
1319 if ($current==null) {
1320 $current = createModelElementForParent(grammarAccess.getLetBindingRule());
1321 }
1322 set(
1323 $current,
1324 "value",
1325 lv_value_2_0,
1326 "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression");
1327 afterParserOrEnumRuleCall();
1328 }
1329 )
1330 )
1331 )
1332;
1333
1334// Entry rule entryRuleImplicationExpression
1335entryRuleImplicationExpression returns [EObject current=null]:
1336 { newCompositeNode(grammarAccess.getImplicationExpressionRule()); }
1337 iv_ruleImplicationExpression=ruleImplicationExpression
1338 { $current=$iv_ruleImplicationExpression.current; }
1339 EOF;
1340
1341// Rule ImplicationExpression
1342ruleImplicationExpression returns [EObject current=null]
1343@init {
1344 enterRule();
1345}
1346@after {
1347 leaveRule();
1348}:
1349 (
1350 {
1351 newCompositeNode(grammarAccess.getImplicationExpressionAccess().getDisjunctiveExpressionParserRuleCall_0());
1352 }
1353 this_DisjunctiveExpression_0=ruleDisjunctiveExpression
1354 {
1355 $current = $this_DisjunctiveExpression_0.current;
1356 afterParserOrEnumRuleCall();
1357 }
1358 (
1359 (
1360 {
1361 $current = forceCreateModelElementAndSet(
1362 grammarAccess.getImplicationExpressionAccess().getBinaryExpressionLeftAction_1_0(),
1363 $current);
1364 }
1365 )
1366 (
1367 (
1368 {
1369 newCompositeNode(grammarAccess.getImplicationExpressionAccess().getOpImplicationOperatorEnumRuleCall_1_1_0());
1370 }
1371 lv_op_2_0=ruleImplicationOperator
1372 {
1373 if ($current==null) {
1374 $current = createModelElementForParent(grammarAccess.getImplicationExpressionRule());
1375 }
1376 set(
1377 $current,
1378 "op",
1379 lv_op_2_0,
1380 "org.eclipse.viatra.solver.language.SolverLanguage.ImplicationOperator");
1381 afterParserOrEnumRuleCall();
1382 }
1383 )
1384 )
1385 (
1386 (
1387 {
1388 newCompositeNode(grammarAccess.getImplicationExpressionAccess().getRightImplicationExpressionParserRuleCall_1_2_0());
1389 }
1390 lv_right_3_0=ruleImplicationExpression
1391 {
1392 if ($current==null) {
1393 $current = createModelElementForParent(grammarAccess.getImplicationExpressionRule());
1394 }
1395 set(
1396 $current,
1397 "right",
1398 lv_right_3_0,
1399 "org.eclipse.viatra.solver.language.SolverLanguage.ImplicationExpression");
1400 afterParserOrEnumRuleCall();
1401 }
1402 )
1403 )
1404 )?
1405 )
1406;
1407
897// Entry rule entryRuleDisjunctiveExpression 1408// Entry rule entryRuleDisjunctiveExpression
898entryRuleDisjunctiveExpression returns [EObject current=null]: 1409entryRuleDisjunctiveExpression returns [EObject current=null]:
899 { newCompositeNode(grammarAccess.getDisjunctiveExpressionRule()); } 1410 { newCompositeNode(grammarAccess.getDisjunctiveExpressionRule()); }
@@ -1383,11 +1894,11 @@ ruleExponentialExpression returns [EObject current=null]
1383}: 1894}:
1384 ( 1895 (
1385 { 1896 {
1386 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getUnaryExpressionParserRuleCall_0()); 1897 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getCastExpressionParserRuleCall_0());
1387 } 1898 }
1388 this_UnaryExpression_0=ruleUnaryExpression 1899 this_CastExpression_0=ruleCastExpression
1389 { 1900 {
1390 $current = $this_UnaryExpression_0.current; 1901 $current = $this_CastExpression_0.current;
1391 afterParserOrEnumRuleCall(); 1902 afterParserOrEnumRuleCall();
1392 } 1903 }
1393 ( 1904 (
@@ -1420,9 +1931,9 @@ ruleExponentialExpression returns [EObject current=null]
1420 ( 1931 (
1421 ( 1932 (
1422 { 1933 {
1423 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); 1934 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getRightCastExpressionParserRuleCall_1_2_0());
1424 } 1935 }
1425 lv_right_3_0=ruleExponentialExpression 1936 lv_right_3_0=ruleCastExpression
1426 { 1937 {
1427 if ($current==null) { 1938 if ($current==null) {
1428 $current = createModelElementForParent(grammarAccess.getExponentialExpressionRule()); 1939 $current = createModelElementForParent(grammarAccess.getExponentialExpressionRule());
@@ -1431,7 +1942,63 @@ ruleExponentialExpression returns [EObject current=null]
1431 $current, 1942 $current,
1432 "right", 1943 "right",
1433 lv_right_3_0, 1944 lv_right_3_0,
1434 "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialExpression"); 1945 "org.eclipse.viatra.solver.language.SolverLanguage.CastExpression");
1946 afterParserOrEnumRuleCall();
1947 }
1948 )
1949 )
1950 )?
1951 )
1952;
1953
1954// Entry rule entryRuleCastExpression
1955entryRuleCastExpression returns [EObject current=null]:
1956 { newCompositeNode(grammarAccess.getCastExpressionRule()); }
1957 iv_ruleCastExpression=ruleCastExpression
1958 { $current=$iv_ruleCastExpression.current; }
1959 EOF;
1960
1961// Rule CastExpression
1962ruleCastExpression returns [EObject current=null]
1963@init {
1964 enterRule();
1965}
1966@after {
1967 leaveRule();
1968}:
1969 (
1970 {
1971 newCompositeNode(grammarAccess.getCastExpressionAccess().getUnaryExpressionParserRuleCall_0());
1972 }
1973 this_UnaryExpression_0=ruleUnaryExpression
1974 {
1975 $current = $this_UnaryExpression_0.current;
1976 afterParserOrEnumRuleCall();
1977 }
1978 (
1979 (
1980 {
1981 $current = forceCreateModelElementAndSet(
1982 grammarAccess.getCastExpressionAccess().getCastExpressionBodyAction_1_0(),
1983 $current);
1984 }
1985 )
1986 otherlv_2=As
1987 {
1988 newLeafNode(otherlv_2, grammarAccess.getCastExpressionAccess().getAsKeyword_1_1());
1989 }
1990 (
1991 (
1992 {
1993 if ($current==null) {
1994 $current = createModelElement(grammarAccess.getCastExpressionRule());
1995 }
1996 }
1997 {
1998 newCompositeNode(grammarAccess.getCastExpressionAccess().getTypeNamedElementCrossReference_1_2_0());
1999 }
2000 ruleQualifiedName
2001 {
1435 afterParserOrEnumRuleCall(); 2002 afterParserOrEnumRuleCall();
1436 } 2003 }
1437 ) 2004 )
@@ -1541,11 +2108,11 @@ ruleAggregationExpression returns [EObject current=null]
1541 } 2108 }
1542 | 2109 |
1543 { 2110 {
1544 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getCountParserRuleCall_1()); 2111 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getQuantifiedExpressionParserRuleCall_1());
1545 } 2112 }
1546 this_Count_1=ruleCount 2113 this_QuantifiedExpression_1=ruleQuantifiedExpression
1547 { 2114 {
1548 $current = $this_Count_1.current; 2115 $current = $this_QuantifiedExpression_1.current;
1549 afterParserOrEnumRuleCall(); 2116 afterParserOrEnumRuleCall();
1550 } 2117 }
1551 | 2118 |
@@ -1560,15 +2127,15 @@ ruleAggregationExpression returns [EObject current=null]
1560 ) 2127 )
1561; 2128;
1562 2129
1563// Entry rule entryRuleCount 2130// Entry rule entryRuleLocalVariables
1564entryRuleCount returns [EObject current=null]: 2131entryRuleLocalVariables returns [EObject current=null]:
1565 { newCompositeNode(grammarAccess.getCountRule()); } 2132 { newCompositeNode(grammarAccess.getLocalVariablesRule()); }
1566 iv_ruleCount=ruleCount 2133 iv_ruleLocalVariables=ruleLocalVariables
1567 { $current=$iv_ruleCount.current; } 2134 { $current=$iv_ruleLocalVariables.current; }
1568 EOF; 2135 EOF;
1569 2136
1570// Rule Count 2137// Rule LocalVariables
1571ruleCount returns [EObject current=null] 2138ruleLocalVariables returns [EObject current=null]
1572@init { 2139@init {
1573 enterRule(); 2140 enterRule();
1574} 2141}
@@ -1576,36 +2143,150 @@ ruleCount returns [EObject current=null]
1576 leaveRule(); 2143 leaveRule();
1577}: 2144}:
1578 ( 2145 (
1579 otherlv_0=Count 2146 (
2147 {
2148 $current = forceCreateModelElement(
2149 grammarAccess.getLocalVariablesAccess().getLocalVariablesAction_0(),
2150 $current);
2151 }
2152 )
2153 otherlv_1=LeftSquareBracket
1580 { 2154 {
1581 newLeafNode(otherlv_0, grammarAccess.getCountAccess().getCountKeyword_0()); 2155 newLeafNode(otherlv_1, grammarAccess.getLocalVariablesAccess().getLeftSquareBracketKeyword_1());
1582 } 2156 }
1583 otherlv_1=LeftCurlyBracket 2157 (
2158 (
2159 (
2160 {
2161 newCompositeNode(grammarAccess.getLocalVariablesAccess().getVariablesVariableParserRuleCall_2_0_0());
2162 }
2163 lv_variables_2_0=ruleVariable
2164 {
2165 if ($current==null) {
2166 $current = createModelElementForParent(grammarAccess.getLocalVariablesRule());
2167 }
2168 add(
2169 $current,
2170 "variables",
2171 lv_variables_2_0,
2172 "org.eclipse.viatra.solver.language.SolverLanguage.Variable");
2173 afterParserOrEnumRuleCall();
2174 }
2175 )
2176 )
2177 (
2178 otherlv_3=Comma
2179 {
2180 newLeafNode(otherlv_3, grammarAccess.getLocalVariablesAccess().getCommaKeyword_2_1_0());
2181 }
2182 (
2183 (
2184 {
2185 newCompositeNode(grammarAccess.getLocalVariablesAccess().getVariablesVariableParserRuleCall_2_1_1_0());
2186 }
2187 lv_variables_4_0=ruleVariable
2188 {
2189 if ($current==null) {
2190 $current = createModelElementForParent(grammarAccess.getLocalVariablesRule());
2191 }
2192 add(
2193 $current,
2194 "variables",
2195 lv_variables_4_0,
2196 "org.eclipse.viatra.solver.language.SolverLanguage.Variable");
2197 afterParserOrEnumRuleCall();
2198 }
2199 )
2200 )
2201 )*
2202 )?
2203 otherlv_5=RightSquareBracket
1584 { 2204 {
1585 newLeafNode(otherlv_1, grammarAccess.getCountAccess().getLeftCurlyBracketKeyword_1()); 2205 newLeafNode(otherlv_5, grammarAccess.getLocalVariablesAccess().getRightSquareBracketKeyword_3());
1586 } 2206 }
2207 )
2208;
2209
2210// Entry rule entryRuleQuantifiedExpression
2211entryRuleQuantifiedExpression returns [EObject current=null]:
2212 { newCompositeNode(grammarAccess.getQuantifiedExpressionRule()); }
2213 iv_ruleQuantifiedExpression=ruleQuantifiedExpression
2214 { $current=$iv_ruleQuantifiedExpression.current; }
2215 EOF;
2216
2217// Rule QuantifiedExpression
2218ruleQuantifiedExpression returns [EObject current=null]
2219@init {
2220 enterRule();
2221}
2222@after {
2223 leaveRule();
2224}:
2225 (
1587 ( 2226 (
1588 ( 2227 (
1589 { 2228 {
1590 newCompositeNode(grammarAccess.getCountAccess().getBodyExpressionParserRuleCall_2_0()); 2229 newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getQuantifierQuantifierEnumRuleCall_0_0());
1591 } 2230 }
1592 lv_body_2_0=ruleExpression 2231 lv_quantifier_0_0=ruleQuantifier
1593 { 2232 {
1594 if ($current==null) { 2233 if ($current==null) {
1595 $current = createModelElementForParent(grammarAccess.getCountRule()); 2234 $current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule());
2235 }
2236 set(
2237 $current,
2238 "quantifier",
2239 lv_quantifier_0_0,
2240 "org.eclipse.viatra.solver.language.SolverLanguage.Quantifier");
2241 afterParserOrEnumRuleCall();
2242 }
2243 )
2244 )
2245 (
2246 (
2247 {
2248 newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getLocalVariablesLocalVariablesParserRuleCall_1_0());
2249 }
2250 lv_localVariables_1_0=ruleLocalVariables
2251 {
2252 if ($current==null) {
2253 $current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule());
2254 }
2255 set(
2256 $current,
2257 "localVariables",
2258 lv_localVariables_1_0,
2259 "org.eclipse.viatra.solver.language.SolverLanguage.LocalVariables");
2260 afterParserOrEnumRuleCall();
2261 }
2262 )
2263 )?
2264 otherlv_2=LeftCurlyBracket
2265 {
2266 newLeafNode(otherlv_2, grammarAccess.getQuantifiedExpressionAccess().getLeftCurlyBracketKeyword_2());
2267 }
2268 (
2269 (
2270 {
2271 newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getBodyExpressionParserRuleCall_3_0());
2272 }
2273 lv_body_3_0=ruleExpression
2274 {
2275 if ($current==null) {
2276 $current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule());
1596 } 2277 }
1597 set( 2278 set(
1598 $current, 2279 $current,
1599 "body", 2280 "body",
1600 lv_body_2_0, 2281 lv_body_3_0,
1601 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 2282 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
1602 afterParserOrEnumRuleCall(); 2283 afterParserOrEnumRuleCall();
1603 } 2284 }
1604 ) 2285 )
1605 ) 2286 )
1606 otherlv_3=RightCurlyBracket 2287 otherlv_4=RightCurlyBracket
1607 { 2288 {
1608 newLeafNode(otherlv_3, grammarAccess.getCountAccess().getRightCurlyBracketKeyword_3()); 2289 newLeafNode(otherlv_4, grammarAccess.getQuantifiedExpressionAccess().getRightCurlyBracketKeyword_4());
1609 } 2290 }
1610 ) 2291 )
1611; 2292;
@@ -1629,71 +2310,89 @@ ruleAggregation returns [EObject current=null]
1629 ( 2310 (
1630 ( 2311 (
1631 { 2312 {
1632 newCompositeNode(grammarAccess.getAggregationAccess().getOpAggregationOpEnumRuleCall_0_0());
1633 }
1634 lv_op_0_0=ruleAggregationOp
1635 {
1636 if ($current==null) { 2313 if ($current==null) {
1637 $current = createModelElementForParent(grammarAccess.getAggregationRule()); 2314 $current = createModelElement(grammarAccess.getAggregationRule());
1638 } 2315 }
1639 set( 2316 }
1640 $current, 2317 {
1641 "op", 2318 newCompositeNode(grammarAccess.getAggregationAccess().getOpNamedElementCrossReference_0_0());
1642 lv_op_0_0, 2319 }
1643 "org.eclipse.viatra.solver.language.SolverLanguage.AggregationOp"); 2320 ruleQualifiedName
2321 {
1644 afterParserOrEnumRuleCall(); 2322 afterParserOrEnumRuleCall();
1645 } 2323 }
1646 ) 2324 )
1647 ) 2325 )
1648 otherlv_1=LeftCurlyBracket
1649 {
1650 newLeafNode(otherlv_1, grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_1());
1651 }
1652 ( 2326 (
1653 ( 2327 (
1654 { 2328 {
1655 newCompositeNode(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_2_0()); 2329 newCompositeNode(grammarAccess.getAggregationAccess().getLocalVariablesLocalVariablesParserRuleCall_1_0());
1656 } 2330 }
1657 lv_body_2_0=ruleExpression 2331 lv_localVariables_1_0=ruleLocalVariables
1658 { 2332 {
1659 if ($current==null) { 2333 if ($current==null) {
1660 $current = createModelElementForParent(grammarAccess.getAggregationRule()); 2334 $current = createModelElementForParent(grammarAccess.getAggregationRule());
1661 } 2335 }
1662 set( 2336 set(
1663 $current, 2337 $current,
1664 "body", 2338 "localVariables",
1665 lv_body_2_0, 2339 lv_localVariables_1_0,
1666 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 2340 "org.eclipse.viatra.solver.language.SolverLanguage.LocalVariables");
1667 afterParserOrEnumRuleCall(); 2341 afterParserOrEnumRuleCall();
1668 } 2342 }
1669 ) 2343 )
1670 ) 2344 )?
1671 otherlv_3=VerticalLine 2345 otherlv_2=LeftCurlyBracket
1672 { 2346 {
1673 newLeafNode(otherlv_3, grammarAccess.getAggregationAccess().getVerticalLineKeyword_3()); 2347 newLeafNode(otherlv_2, grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_2());
1674 } 2348 }
1675 ( 2349 (
1676 ( 2350 (
1677 { 2351 {
1678 newCompositeNode(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0()); 2352 newCompositeNode(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_3_0());
1679 } 2353 }
1680 lv_condition_4_0=ruleExpression 2354 lv_body_3_0=ruleExpression
1681 { 2355 {
1682 if ($current==null) { 2356 if ($current==null) {
1683 $current = createModelElementForParent(grammarAccess.getAggregationRule()); 2357 $current = createModelElementForParent(grammarAccess.getAggregationRule());
1684 } 2358 }
1685 set( 2359 set(
1686 $current, 2360 $current,
1687 "condition", 2361 "body",
1688 lv_condition_4_0, 2362 lv_body_3_0,
1689 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 2363 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
1690 afterParserOrEnumRuleCall(); 2364 afterParserOrEnumRuleCall();
1691 } 2365 }
1692 ) 2366 )
1693 ) 2367 )
1694 otherlv_5=RightCurlyBracket 2368 (
2369 otherlv_4=VerticalLine
2370 {
2371 newLeafNode(otherlv_4, grammarAccess.getAggregationAccess().getVerticalLineKeyword_4_0());
2372 }
2373 (
2374 (
2375 {
2376 newCompositeNode(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_1_0());
2377 }
2378 lv_condition_5_0=ruleExpression
2379 {
2380 if ($current==null) {
2381 $current = createModelElementForParent(grammarAccess.getAggregationRule());
2382 }
2383 set(
2384 $current,
2385 "condition",
2386 lv_condition_5_0,
2387 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
2388 afterParserOrEnumRuleCall();
2389 }
2390 )
2391 )
2392 )?
2393 otherlv_6=RightCurlyBracket
1695 { 2394 {
1696 newLeafNode(otherlv_5, grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5()); 2395 newLeafNode(otherlv_6, grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5());
1697 } 2396 }
1698 ) 2397 )
1699; 2398;
@@ -3485,8 +4184,8 @@ finally {
3485 myHiddenTokenState.restore(); 4184 myHiddenTokenState.restore();
3486} 4185}
3487 4186
3488// Rule MetricType 4187// Rule ImplicationOperator
3489ruleMetricType returns [Enumerator current=null] 4188ruleImplicationOperator returns [Enumerator current=null]
3490@init { 4189@init {
3491 enterRule(); 4190 enterRule();
3492} 4191}
@@ -3494,21 +4193,11 @@ ruleMetricType returns [Enumerator current=null]
3494 leaveRule(); 4193 leaveRule();
3495}: 4194}:
3496 ( 4195 (
3497 ( 4196 enumLiteral_0=EqualsSignGreaterThanSign
3498 enumLiteral_0=Int 4197 {
3499 { 4198 $current = grammarAccess.getImplicationOperatorAccess().getIMPLIESEnumLiteralDeclaration().getEnumLiteral().getInstance();
3500 $current = grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); 4199 newLeafNode(enumLiteral_0, grammarAccess.getImplicationOperatorAccess().getIMPLIESEnumLiteralDeclaration());
3501 newLeafNode(enumLiteral_0, grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0()); 4200 }
3502 }
3503 )
3504 |
3505 (
3506 enumLiteral_1=Real
3507 {
3508 $current = grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
3509 newLeafNode(enumLiteral_1, grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1());
3510 }
3511 )
3512 ) 4201 )
3513; 4202;
3514 4203
@@ -3709,8 +4398,8 @@ ruleUnaryOp returns [Enumerator current=null]
3709 ) 4398 )
3710; 4399;
3711 4400
3712// Rule AggregationOp 4401// Rule Quantifier
3713ruleAggregationOp returns [Enumerator current=null] 4402ruleQuantifier returns [Enumerator current=null]
3714@init { 4403@init {
3715 enterRule(); 4404 enterRule();
3716} 4405}
@@ -3719,50 +4408,26 @@ ruleAggregationOp returns [Enumerator current=null]
3719}: 4408}:
3720 ( 4409 (
3721 ( 4410 (
3722 enumLiteral_0=Only 4411 enumLiteral_0=Exists
3723 {
3724 $current = grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
3725 newLeafNode(enumLiteral_0, grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0());
3726 }
3727 )
3728 |
3729 (
3730 enumLiteral_1=Sum
3731 {
3732 $current = grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
3733 newLeafNode(enumLiteral_1, grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1());
3734 }
3735 )
3736 |
3737 (
3738 enumLiteral_2=Prod
3739 {
3740 $current = grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
3741 newLeafNode(enumLiteral_2, grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2());
3742 }
3743 )
3744 |
3745 (
3746 enumLiteral_3=Avg
3747 { 4412 {
3748 $current = grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); 4413 $current = grammarAccess.getQuantifierAccess().getEXISTSEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
3749 newLeafNode(enumLiteral_3, grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3()); 4414 newLeafNode(enumLiteral_0, grammarAccess.getQuantifierAccess().getEXISTSEnumLiteralDeclaration_0());
3750 } 4415 }
3751 ) 4416 )
3752 | 4417 |
3753 ( 4418 (
3754 enumLiteral_4=Min 4419 enumLiteral_1=Forall
3755 { 4420 {
3756 $current = grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4().getEnumLiteral().getInstance(); 4421 $current = grammarAccess.getQuantifierAccess().getFORALLEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
3757 newLeafNode(enumLiteral_4, grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4()); 4422 newLeafNode(enumLiteral_1, grammarAccess.getQuantifierAccess().getFORALLEnumLiteralDeclaration_1());
3758 } 4423 }
3759 ) 4424 )
3760 | 4425 |
3761 ( 4426 (
3762 enumLiteral_5=Max 4427 enumLiteral_2=Count
3763 { 4428 {
3764 $current = grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); 4429 $current = grammarAccess.getQuantifierAccess().getCOUNTEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
3765 newLeafNode(enumLiteral_5, grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5()); 4430 newLeafNode(enumLiteral_2, grammarAccess.getQuantifierAccess().getCOUNTEnumLiteralDeclaration_2());
3766 } 4431 }
3767 ) 4432 )
3768 ) 4433 )
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.java
index 7dbfa002..3e25746c 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.java
@@ -22,92 +22,79 @@ import java.util.ArrayList;
22@SuppressWarnings("all") 22@SuppressWarnings("all")
23public class InternalSolverLanguageParser extends AbstractInternalAntlrParser { 23public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
24 public static final String[] tokenNames = new String[] { 24 public static final String[] tokenNames = new String[] {
25 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "GREATER_EQ", "Functional", "Abstract", "Contains", "Maximize", "Minimize", "Opposite", "GREATER", "LESS_EQ", "Current", "Default", "Extends", "Unknown", "NOT_EQ", "Extern", "Class", "Count", "Empty", "Error", "False", "Scope", "LESS", "Else", "Must", "Only", "Prod", "Real", "Then", "True", "ADD", "DIV", "MUL", "POW", "SUB", "Avg", "Inf", "Int", "Max", "May", "Min", "Sum", "ExclamationMarkEqualsSign", "HyphenMinusGreaterThanSign", "FullStopFullStop", "ColonHyphenMinus", "LessThanSignEqualsSign", "EqualsSignEqualsSign", "GreaterThanSignEqualsSign", "EQ", "IN", "If", "In", "ExclamationMark", "LeftParenthesis", "RightParenthesis", "Asterisk", "PlusSign", "Comma", "HyphenMinus", "FullStop", "Solidus", "Colon", "Semicolon", "LessThanSign", "EqualsSign", "GreaterThanSign", "LeftSquareBracket", "RightSquareBracket", "CircumflexAccent", "LeftCurlyBracket", "VerticalLine", "RightCurlyBracket", "RULE_STRING", "RULE_QUOTED_ID", "RULE_SL_COMMENT", "RULE_TRANSITIVE_CLOSURE", "RULE_REFLEXIVE_TRANSITIVE_CLOSURE", "RULE_FULL_STOP", "RULE_ID", "RULE_INT", "RULE_ML_COMMENT", "RULE_WS", "RULE_ANY_OTHER" 25 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "Functional", "Abstract", "Contains", "Datatype", "Maximize", "Minimize", "Opposite", "Current", "Default", "Extends", "Unknown", "Exists", "Extern", "Forall", "Class", "Count", "Empty", "Error", "False", "Scope", "Else", "Must", "Then", "True", "FullStopFullStopFullStop", "Inf", "Let", "May", "ExclamationMarkEqualsSign", "HyphenMinusGreaterThanSign", "FullStopFullStop", "ColonHyphenMinus", "LessThanSignEqualsSign", "EqualsSignEqualsSign", "EqualsSignGreaterThanSign", "GreaterThanSignEqualsSign", "As", "If", "In", "ExclamationMark", "LeftParenthesis", "RightParenthesis", "Asterisk", "PlusSign", "Comma", "HyphenMinus", "FullStop", "Solidus", "Colon", "Semicolon", "LessThanSign", "EqualsSign", "GreaterThanSign", "LeftSquareBracket", "RightSquareBracket", "CircumflexAccent", "LeftCurlyBracket", "VerticalLine", "RightCurlyBracket", "RULE_STRING", "RULE_QUOTED_ID", "RULE_SL_COMMENT", "RULE_TRANSITIVE_CLOSURE", "RULE_REFLEXIVE_TRANSITIVE_CLOSURE", "RULE_FULL_STOP", "RULE_ID", "RULE_INT", "RULE_ML_COMMENT", "RULE_WS", "RULE_ANY_OTHER"
26 }; 26 };
27 public static final int ADD=33; 27 public static final int EqualsSignGreaterThanSign=38;
28 public static final int True=32; 28 public static final int True=27;
29 public static final int GREATER_EQ=4; 29 public static final int Count=19;
30 public static final int Count=20; 30 public static final int False=22;
31 public static final int False=23; 31 public static final int Must=25;
32 public static final int Must=27; 32 public static final int FullStopFullStopFullStop=28;
33 public static final int LessThanSign=67; 33 public static final int LessThanSign=54;
34 public static final int LeftParenthesis=57; 34 public static final int Datatype=7;
35 public static final int Unknown=16; 35 public static final int LeftParenthesis=44;
36 public static final int RULE_REFLEXIVE_TRANSITIVE_CLOSURE=80; 36 public static final int Unknown=14;
37 public static final int FullStopFullStop=47; 37 public static final int RULE_REFLEXIVE_TRANSITIVE_CLOSURE=67;
38 public static final int Real=30; 38 public static final int FullStopFullStop=34;
39 public static final int Then=31; 39 public static final int Then=26;
40 public static final int Extends=15; 40 public static final int Extends=13;
41 public static final int RightSquareBracket=71; 41 public static final int Forall=17;
42 public static final int ExclamationMark=56; 42 public static final int RightSquareBracket=58;
43 public static final int ExclamationMark=43;
43 public static final int Opposite=10; 44 public static final int Opposite=10;
44 public static final int SUB=37; 45 public static final int GreaterThanSign=56;
45 public static final int GreaterThanSign=69; 46 public static final int RULE_ID=69;
46 public static final int NOT_EQ=17; 47 public static final int RULE_QUOTED_ID=64;
47 public static final int RULE_ID=82; 48 public static final int RightParenthesis=45;
48 public static final int MUL=35; 49 public static final int GreaterThanSignEqualsSign=39;
49 public static final int IN=53; 50 public static final int Functional=4;
50 public static final int RULE_QUOTED_ID=77; 51 public static final int EqualsSignEqualsSign=37;
51 public static final int RightParenthesis=58; 52 public static final int VerticalLine=61;
52 public static final int Sum=44; 53 public static final int PlusSign=47;
53 public static final int EQ=52; 54 public static final int RULE_INT=70;
54 public static final int GreaterThanSignEqualsSign=51; 55 public static final int Contains=6;
55 public static final int Functional=5; 56 public static final int RULE_ML_COMMENT=71;
56 public static final int EqualsSignEqualsSign=50; 57 public static final int RULE_TRANSITIVE_CLOSURE=66;
57 public static final int Avg=38; 58 public static final int Class=18;
58 public static final int Min=43; 59 public static final int LeftSquareBracket=57;
59 public static final int VerticalLine=74; 60 public static final int RULE_FULL_STOP=68;
60 public static final int PlusSign=60; 61 public static final int Current=11;
61 public static final int RULE_INT=83; 62 public static final int If=41;
62 public static final int Contains=7; 63 public static final int Inf=29;
63 public static final int RULE_ML_COMMENT=84; 64 public static final int May=31;
64 public static final int POW=36; 65 public static final int In=42;
65 public static final int RULE_TRANSITIVE_CLOSURE=79; 66 public static final int RULE_STRING=63;
66 public static final int Class=19; 67 public static final int Extern=16;
67 public static final int LESS=25; 68 public static final int RULE_SL_COMMENT=65;
68 public static final int LeftSquareBracket=70; 69 public static final int Comma=48;
69 public static final int RULE_FULL_STOP=81; 70 public static final int EqualsSign=55;
70 public static final int Current=13; 71 public static final int Empty=20;
71 public static final int If=54; 72 public static final int As=40;
72 public static final int Inf=39; 73 public static final int HyphenMinus=49;
73 public static final int LESS_EQ=12;
74 public static final int May=42;
75 public static final int Max=41;
76 public static final int In=55;
77 public static final int RULE_STRING=76;
78 public static final int Int=40;
79 public static final int Extern=18;
80 public static final int RULE_SL_COMMENT=78;
81 public static final int Prod=29;
82 public static final int Comma=61;
83 public static final int EqualsSign=68;
84 public static final int Empty=21;
85 public static final int HyphenMinus=62;
86 public static final int Maximize=8; 74 public static final int Maximize=8;
87 public static final int LessThanSignEqualsSign=49; 75 public static final int LessThanSignEqualsSign=36;
88 public static final int Solidus=64; 76 public static final int Solidus=51;
89 public static final int Colon=65; 77 public static final int Colon=52;
90 public static final int RightCurlyBracket=75; 78 public static final int RightCurlyBracket=62;
91 public static final int EOF=-1; 79 public static final int EOF=-1;
92 public static final int Asterisk=59; 80 public static final int Asterisk=46;
93 public static final int FullStop=63; 81 public static final int FullStop=50;
94 public static final int RULE_WS=85; 82 public static final int RULE_WS=72;
95 public static final int Abstract=6; 83 public static final int Abstract=5;
96 public static final int Minimize=9; 84 public static final int Minimize=9;
97 public static final int GREATER=11; 85 public static final int LeftCurlyBracket=60;
98 public static final int LeftCurlyBracket=73; 86 public static final int Error=21;
99 public static final int Error=22; 87 public static final int RULE_ANY_OTHER=73;
100 public static final int Only=28; 88 public static final int Default=12;
101 public static final int RULE_ANY_OTHER=86; 89 public static final int ColonHyphenMinus=35;
102 public static final int Default=14; 90 public static final int CircumflexAccent=59;
103 public static final int ColonHyphenMinus=48; 91 public static final int Semicolon=53;
104 public static final int CircumflexAccent=72; 92 public static final int Scope=23;
105 public static final int DIV=34; 93 public static final int Exists=15;
106 public static final int Semicolon=66; 94 public static final int Else=24;
107 public static final int Scope=24; 95 public static final int Let=30;
108 public static final int Else=26; 96 public static final int ExclamationMarkEqualsSign=32;
109 public static final int ExclamationMarkEqualsSign=45; 97 public static final int HyphenMinusGreaterThanSign=33;
110 public static final int HyphenMinusGreaterThanSign=46;
111 98
112 // delegates 99 // delegates
113 // delegators 100 // delegators
@@ -205,7 +192,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
205 int alt1=2; 192 int alt1=2;
206 int LA1_0 = input.LA(1); 193 int LA1_0 = input.LA(1);
207 194
208 if ( ((LA1_0>=Functional && LA1_0<=Abstract)||(LA1_0>=Maximize && LA1_0<=Minimize)||(LA1_0>=Current && LA1_0<=Default)||LA1_0==Unknown||(LA1_0>=Extern && LA1_0<=False)||LA1_0==Scope||(LA1_0>=Must && LA1_0<=Real)||LA1_0==True||(LA1_0>=Avg && LA1_0<=Sum)||LA1_0==If||(LA1_0>=ExclamationMark && LA1_0<=LeftParenthesis)||LA1_0==PlusSign||LA1_0==HyphenMinus||LA1_0==LeftSquareBracket||(LA1_0>=RULE_STRING && LA1_0<=RULE_QUOTED_ID)||(LA1_0>=RULE_ID && LA1_0<=RULE_INT)) ) { 195 if ( ((LA1_0>=Functional && LA1_0<=Abstract)||(LA1_0>=Maximize && LA1_0<=Minimize)||(LA1_0>=Current && LA1_0<=Default)||(LA1_0>=Unknown && LA1_0<=False)||LA1_0==Scope||LA1_0==Must||LA1_0==True||(LA1_0>=Inf && LA1_0<=May)||LA1_0==If||(LA1_0>=ExclamationMark && LA1_0<=LeftParenthesis)||LA1_0==PlusSign||LA1_0==HyphenMinus||LA1_0==LeftSquareBracket||(LA1_0>=RULE_STRING && LA1_0<=RULE_QUOTED_ID)||(LA1_0>=RULE_ID && LA1_0<=RULE_INT)) ) {
209 alt1=1; 196 alt1=1;
210 } 197 }
211 198
@@ -304,11 +291,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
304 291
305 292
306 // $ANTLR start "ruleStatement" 293 // $ANTLR start "ruleStatement"
307 // InternalSolverLanguageParser.g:101:1: ruleStatement returns [EObject current=null] : ( (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_ExternPredicateDefinition_4= ruleExternPredicateDefinition | this_MetricDefinition_5= ruleMetricDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ClassDefinition_7= ruleClassDefinition | this_ScopeDefinition_8= ruleScopeDefinition | this_ObjectiveDefinition_9= ruleObjectiveDefinition ) this_FULL_STOP_10= RULE_FULL_STOP ) ; 294 // InternalSolverLanguageParser.g:101:1: ruleStatement returns [EObject current=null] : ( (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_MetricDefinition_4= ruleMetricDefinition | this_ExternPredicateDefinition_5= ruleExternPredicateDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ExternAggregatorDefinition_7= ruleExternAggregatorDefinition | this_ExternDatatypeDefinition_8= ruleExternDatatypeDefinition | this_ClassDefinition_9= ruleClassDefinition | this_ScopeDefinition_10= ruleScopeDefinition | this_ObjectiveDefinition_11= ruleObjectiveDefinition ) this_FULL_STOP_12= RULE_FULL_STOP ) ;
308 public final EObject ruleStatement() throws RecognitionException { 295 public final EObject ruleStatement() throws RecognitionException {
309 EObject current = null; 296 EObject current = null;
310 297
311 Token this_FULL_STOP_10=null; 298 Token this_FULL_STOP_12=null;
312 EObject this_AssertionOrDefinition_0 = null; 299 EObject this_AssertionOrDefinition_0 = null;
313 300
314 EObject this_PredicateDefinition_1 = null; 301 EObject this_PredicateDefinition_1 = null;
@@ -317,31 +304,35 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
317 304
318 EObject this_DefaultDefinition_3 = null; 305 EObject this_DefaultDefinition_3 = null;
319 306
320 EObject this_ExternPredicateDefinition_4 = null; 307 EObject this_MetricDefinition_4 = null;
321 308
322 EObject this_MetricDefinition_5 = null; 309 EObject this_ExternPredicateDefinition_5 = null;
323 310
324 EObject this_ExternMetricDefinition_6 = null; 311 EObject this_ExternMetricDefinition_6 = null;
325 312
326 EObject this_ClassDefinition_7 = null; 313 EObject this_ExternAggregatorDefinition_7 = null;
327 314
328 EObject this_ScopeDefinition_8 = null; 315 EObject this_ExternDatatypeDefinition_8 = null;
329 316
330 EObject this_ObjectiveDefinition_9 = null; 317 EObject this_ClassDefinition_9 = null;
318
319 EObject this_ScopeDefinition_10 = null;
320
321 EObject this_ObjectiveDefinition_11 = null;
331 322
332 323
333 324
334 enterRule(); 325 enterRule();
335 326
336 try { 327 try {
337 // InternalSolverLanguageParser.g:107:2: ( ( (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_ExternPredicateDefinition_4= ruleExternPredicateDefinition | this_MetricDefinition_5= ruleMetricDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ClassDefinition_7= ruleClassDefinition | this_ScopeDefinition_8= ruleScopeDefinition | this_ObjectiveDefinition_9= ruleObjectiveDefinition ) this_FULL_STOP_10= RULE_FULL_STOP ) ) 328 // InternalSolverLanguageParser.g:107:2: ( ( (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_MetricDefinition_4= ruleMetricDefinition | this_ExternPredicateDefinition_5= ruleExternPredicateDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ExternAggregatorDefinition_7= ruleExternAggregatorDefinition | this_ExternDatatypeDefinition_8= ruleExternDatatypeDefinition | this_ClassDefinition_9= ruleClassDefinition | this_ScopeDefinition_10= ruleScopeDefinition | this_ObjectiveDefinition_11= ruleObjectiveDefinition ) this_FULL_STOP_12= RULE_FULL_STOP ) )
338 // InternalSolverLanguageParser.g:108:2: ( (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_ExternPredicateDefinition_4= ruleExternPredicateDefinition | this_MetricDefinition_5= ruleMetricDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ClassDefinition_7= ruleClassDefinition | this_ScopeDefinition_8= ruleScopeDefinition | this_ObjectiveDefinition_9= ruleObjectiveDefinition ) this_FULL_STOP_10= RULE_FULL_STOP ) 329 // InternalSolverLanguageParser.g:108:2: ( (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_MetricDefinition_4= ruleMetricDefinition | this_ExternPredicateDefinition_5= ruleExternPredicateDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ExternAggregatorDefinition_7= ruleExternAggregatorDefinition | this_ExternDatatypeDefinition_8= ruleExternDatatypeDefinition | this_ClassDefinition_9= ruleClassDefinition | this_ScopeDefinition_10= ruleScopeDefinition | this_ObjectiveDefinition_11= ruleObjectiveDefinition ) this_FULL_STOP_12= RULE_FULL_STOP )
339 { 330 {
340 // InternalSolverLanguageParser.g:108:2: ( (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_ExternPredicateDefinition_4= ruleExternPredicateDefinition | this_MetricDefinition_5= ruleMetricDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ClassDefinition_7= ruleClassDefinition | this_ScopeDefinition_8= ruleScopeDefinition | this_ObjectiveDefinition_9= ruleObjectiveDefinition ) this_FULL_STOP_10= RULE_FULL_STOP ) 331 // InternalSolverLanguageParser.g:108:2: ( (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_MetricDefinition_4= ruleMetricDefinition | this_ExternPredicateDefinition_5= ruleExternPredicateDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ExternAggregatorDefinition_7= ruleExternAggregatorDefinition | this_ExternDatatypeDefinition_8= ruleExternDatatypeDefinition | this_ClassDefinition_9= ruleClassDefinition | this_ScopeDefinition_10= ruleScopeDefinition | this_ObjectiveDefinition_11= ruleObjectiveDefinition ) this_FULL_STOP_12= RULE_FULL_STOP )
341 // InternalSolverLanguageParser.g:109:3: (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_ExternPredicateDefinition_4= ruleExternPredicateDefinition | this_MetricDefinition_5= ruleMetricDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ClassDefinition_7= ruleClassDefinition | this_ScopeDefinition_8= ruleScopeDefinition | this_ObjectiveDefinition_9= ruleObjectiveDefinition ) this_FULL_STOP_10= RULE_FULL_STOP 332 // InternalSolverLanguageParser.g:109:3: (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_MetricDefinition_4= ruleMetricDefinition | this_ExternPredicateDefinition_5= ruleExternPredicateDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ExternAggregatorDefinition_7= ruleExternAggregatorDefinition | this_ExternDatatypeDefinition_8= ruleExternDatatypeDefinition | this_ClassDefinition_9= ruleClassDefinition | this_ScopeDefinition_10= ruleScopeDefinition | this_ObjectiveDefinition_11= ruleObjectiveDefinition ) this_FULL_STOP_12= RULE_FULL_STOP
342 { 333 {
343 // InternalSolverLanguageParser.g:109:3: (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_ExternPredicateDefinition_4= ruleExternPredicateDefinition | this_MetricDefinition_5= ruleMetricDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ClassDefinition_7= ruleClassDefinition | this_ScopeDefinition_8= ruleScopeDefinition | this_ObjectiveDefinition_9= ruleObjectiveDefinition ) 334 // InternalSolverLanguageParser.g:109:3: (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_MetricDefinition_4= ruleMetricDefinition | this_ExternPredicateDefinition_5= ruleExternPredicateDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ExternAggregatorDefinition_7= ruleExternAggregatorDefinition | this_ExternDatatypeDefinition_8= ruleExternDatatypeDefinition | this_ClassDefinition_9= ruleClassDefinition | this_ScopeDefinition_10= ruleScopeDefinition | this_ObjectiveDefinition_11= ruleObjectiveDefinition )
344 int alt2=10; 335 int alt2=12;
345 alt2 = dfa2.predict(input); 336 alt2 = dfa2.predict(input);
346 switch (alt2) { 337 switch (alt2) {
347 case 1 : 338 case 1 :
@@ -417,36 +408,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
417 } 408 }
418 break; 409 break;
419 case 5 : 410 case 5 :
420 // InternalSolverLanguageParser.g:146:4: this_ExternPredicateDefinition_4= ruleExternPredicateDefinition 411 // InternalSolverLanguageParser.g:146:4: this_MetricDefinition_4= ruleMetricDefinition
421 { 412 {
422 413
423 newCompositeNode(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_4()); 414 newCompositeNode(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_4());
424 415
425 pushFollow(FOLLOW_4); 416 pushFollow(FOLLOW_4);
426 this_ExternPredicateDefinition_4=ruleExternPredicateDefinition(); 417 this_MetricDefinition_4=ruleMetricDefinition();
427 418
428 state._fsp--; 419 state._fsp--;
429 420
430 421
431 current = this_ExternPredicateDefinition_4; 422 current = this_MetricDefinition_4;
432 afterParserOrEnumRuleCall(); 423 afterParserOrEnumRuleCall();
433 424
434 425
435 } 426 }
436 break; 427 break;
437 case 6 : 428 case 6 :
438 // InternalSolverLanguageParser.g:155:4: this_MetricDefinition_5= ruleMetricDefinition 429 // InternalSolverLanguageParser.g:155:4: this_ExternPredicateDefinition_5= ruleExternPredicateDefinition
439 { 430 {
440 431
441 newCompositeNode(grammarAccess.getStatementAccess().getMetricDefinitionParserRuleCall_0_5()); 432 newCompositeNode(grammarAccess.getStatementAccess().getExternPredicateDefinitionParserRuleCall_0_5());
442 433
443 pushFollow(FOLLOW_4); 434 pushFollow(FOLLOW_4);
444 this_MetricDefinition_5=ruleMetricDefinition(); 435 this_ExternPredicateDefinition_5=ruleExternPredicateDefinition();
445 436
446 state._fsp--; 437 state._fsp--;
447 438
448 439
449 current = this_MetricDefinition_5; 440 current = this_ExternPredicateDefinition_5;
450 afterParserOrEnumRuleCall(); 441 afterParserOrEnumRuleCall();
451 442
452 443
@@ -471,54 +462,90 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
471 } 462 }
472 break; 463 break;
473 case 8 : 464 case 8 :
474 // InternalSolverLanguageParser.g:173:4: this_ClassDefinition_7= ruleClassDefinition 465 // InternalSolverLanguageParser.g:173:4: this_ExternAggregatorDefinition_7= ruleExternAggregatorDefinition
475 { 466 {
476 467
477 newCompositeNode(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_7()); 468 newCompositeNode(grammarAccess.getStatementAccess().getExternAggregatorDefinitionParserRuleCall_0_7());
478 469
479 pushFollow(FOLLOW_4); 470 pushFollow(FOLLOW_4);
480 this_ClassDefinition_7=ruleClassDefinition(); 471 this_ExternAggregatorDefinition_7=ruleExternAggregatorDefinition();
481 472
482 state._fsp--; 473 state._fsp--;
483 474
484 475
485 current = this_ClassDefinition_7; 476 current = this_ExternAggregatorDefinition_7;
486 afterParserOrEnumRuleCall(); 477 afterParserOrEnumRuleCall();
487 478
488 479
489 } 480 }
490 break; 481 break;
491 case 9 : 482 case 9 :
492 // InternalSolverLanguageParser.g:182:4: this_ScopeDefinition_8= ruleScopeDefinition 483 // InternalSolverLanguageParser.g:182:4: this_ExternDatatypeDefinition_8= ruleExternDatatypeDefinition
493 { 484 {
494 485
495 newCompositeNode(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_8()); 486 newCompositeNode(grammarAccess.getStatementAccess().getExternDatatypeDefinitionParserRuleCall_0_8());
496 487
497 pushFollow(FOLLOW_4); 488 pushFollow(FOLLOW_4);
498 this_ScopeDefinition_8=ruleScopeDefinition(); 489 this_ExternDatatypeDefinition_8=ruleExternDatatypeDefinition();
499 490
500 state._fsp--; 491 state._fsp--;
501 492
502 493
503 current = this_ScopeDefinition_8; 494 current = this_ExternDatatypeDefinition_8;
504 afterParserOrEnumRuleCall(); 495 afterParserOrEnumRuleCall();
505 496
506 497
507 } 498 }
508 break; 499 break;
509 case 10 : 500 case 10 :
510 // InternalSolverLanguageParser.g:191:4: this_ObjectiveDefinition_9= ruleObjectiveDefinition 501 // InternalSolverLanguageParser.g:191:4: this_ClassDefinition_9= ruleClassDefinition
502 {
503
504 newCompositeNode(grammarAccess.getStatementAccess().getClassDefinitionParserRuleCall_0_9());
505
506 pushFollow(FOLLOW_4);
507 this_ClassDefinition_9=ruleClassDefinition();
508
509 state._fsp--;
510
511
512 current = this_ClassDefinition_9;
513 afterParserOrEnumRuleCall();
514
515
516 }
517 break;
518 case 11 :
519 // InternalSolverLanguageParser.g:200:4: this_ScopeDefinition_10= ruleScopeDefinition
520 {
521
522 newCompositeNode(grammarAccess.getStatementAccess().getScopeDefinitionParserRuleCall_0_10());
523
524 pushFollow(FOLLOW_4);
525 this_ScopeDefinition_10=ruleScopeDefinition();
526
527 state._fsp--;
528
529
530 current = this_ScopeDefinition_10;
531 afterParserOrEnumRuleCall();
532
533
534 }
535 break;
536 case 12 :
537 // InternalSolverLanguageParser.g:209:4: this_ObjectiveDefinition_11= ruleObjectiveDefinition
511 { 538 {
512 539
513 newCompositeNode(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_9()); 540 newCompositeNode(grammarAccess.getStatementAccess().getObjectiveDefinitionParserRuleCall_0_11());
514 541
515 pushFollow(FOLLOW_4); 542 pushFollow(FOLLOW_4);
516 this_ObjectiveDefinition_9=ruleObjectiveDefinition(); 543 this_ObjectiveDefinition_11=ruleObjectiveDefinition();
517 544
518 state._fsp--; 545 state._fsp--;
519 546
520 547
521 current = this_ObjectiveDefinition_9; 548 current = this_ObjectiveDefinition_11;
522 afterParserOrEnumRuleCall(); 549 afterParserOrEnumRuleCall();
523 550
524 551
@@ -527,9 +554,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
527 554
528 } 555 }
529 556
530 this_FULL_STOP_10=(Token)match(input,RULE_FULL_STOP,FOLLOW_2); 557 this_FULL_STOP_12=(Token)match(input,RULE_FULL_STOP,FOLLOW_2);
531 558
532 newLeafNode(this_FULL_STOP_10, grammarAccess.getStatementAccess().getFULL_STOPTerminalRuleCall_1()); 559 newLeafNode(this_FULL_STOP_12, grammarAccess.getStatementAccess().getFULL_STOPTerminalRuleCall_1());
533 560
534 561
535 } 562 }
@@ -554,7 +581,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
554 581
555 582
556 // $ANTLR start "entryRuleAssertionOrDefinition" 583 // $ANTLR start "entryRuleAssertionOrDefinition"
557 // InternalSolverLanguageParser.g:208:1: entryRuleAssertionOrDefinition returns [EObject current=null] : iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF ; 584 // InternalSolverLanguageParser.g:226:1: entryRuleAssertionOrDefinition returns [EObject current=null] : iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF ;
558 public final EObject entryRuleAssertionOrDefinition() throws RecognitionException { 585 public final EObject entryRuleAssertionOrDefinition() throws RecognitionException {
559 EObject current = null; 586 EObject current = null;
560 587
@@ -562,8 +589,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
562 589
563 590
564 try { 591 try {
565 // InternalSolverLanguageParser.g:208:62: (iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF ) 592 // InternalSolverLanguageParser.g:226:62: (iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF )
566 // InternalSolverLanguageParser.g:209:2: iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF 593 // InternalSolverLanguageParser.g:227:2: iv_ruleAssertionOrDefinition= ruleAssertionOrDefinition EOF
567 { 594 {
568 newCompositeNode(grammarAccess.getAssertionOrDefinitionRule()); 595 newCompositeNode(grammarAccess.getAssertionOrDefinitionRule());
569 pushFollow(FOLLOW_1); 596 pushFollow(FOLLOW_1);
@@ -590,7 +617,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
590 617
591 618
592 // $ANTLR start "ruleAssertionOrDefinition" 619 // $ANTLR start "ruleAssertionOrDefinition"
593 // InternalSolverLanguageParser.g:215:1: ruleAssertionOrDefinition returns [EObject current=null] : (this_Expression_0= ruleExpression ( ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) ) ) ; 620 // InternalSolverLanguageParser.g:233:1: ruleAssertionOrDefinition returns [EObject current=null] : (this_Expression_0= ruleExpression ( ( () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) )? ) ;
594 public final EObject ruleAssertionOrDefinition() throws RecognitionException { 621 public final EObject ruleAssertionOrDefinition() throws RecognitionException {
595 EObject current = null; 622 EObject current = null;
596 623
@@ -610,11 +637,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
610 enterRule(); 637 enterRule();
611 638
612 try { 639 try {
613 // InternalSolverLanguageParser.g:221:2: ( (this_Expression_0= ruleExpression ( ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) ) ) ) 640 // InternalSolverLanguageParser.g:239:2: ( (this_Expression_0= ruleExpression ( ( () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) )? ) )
614 // InternalSolverLanguageParser.g:222:2: (this_Expression_0= ruleExpression ( ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) ) ) 641 // InternalSolverLanguageParser.g:240:2: (this_Expression_0= ruleExpression ( ( () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) )? )
615 { 642 {
616 // InternalSolverLanguageParser.g:222:2: (this_Expression_0= ruleExpression ( ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) ) ) 643 // InternalSolverLanguageParser.g:240:2: (this_Expression_0= ruleExpression ( ( () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) )? )
617 // InternalSolverLanguageParser.g:223:3: this_Expression_0= ruleExpression ( ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) ) 644 // InternalSolverLanguageParser.g:241:3: this_Expression_0= ruleExpression ( ( () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) )?
618 { 645 {
619 646
620 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getExpressionParserRuleCall_0()); 647 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getExpressionParserRuleCall_0());
@@ -628,100 +655,76 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
628 current = this_Expression_0; 655 current = this_Expression_0;
629 afterParserOrEnumRuleCall(); 656 afterParserOrEnumRuleCall();
630 657
631 // InternalSolverLanguageParser.g:231:3: ( ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) ) 658 // InternalSolverLanguageParser.g:249:3: ( ( () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) | ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) | ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) )?
632 int alt4=3; 659 int alt3=4;
633 switch ( input.LA(1) ) { 660 switch ( input.LA(1) ) {
634 case EOF: 661 case Colon:
635 case Colon: 662 {
636 case RULE_FULL_STOP: 663 alt3=1;
637 { 664 }
638 alt4=1; 665 break;
639 } 666 case ColonHyphenMinus:
640 break; 667 {
641 case ColonHyphenMinus: 668 alt3=2;
642 { 669 }
643 alt4=2; 670 break;
644 } 671 case EqualsSign:
645 break; 672 {
646 case EqualsSign: 673 alt3=3;
647 { 674 }
648 alt4=3; 675 break;
649 }
650 break;
651 default:
652 NoViableAltException nvae =
653 new NoViableAltException("", 4, 0, input);
654
655 throw nvae;
656 } 676 }
657 677
658 switch (alt4) { 678 switch (alt3) {
659 case 1 : 679 case 1 :
660 // InternalSolverLanguageParser.g:232:4: ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) 680 // InternalSolverLanguageParser.g:250:4: ( () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )
661 { 681 {
662 // InternalSolverLanguageParser.g:232:4: ( () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? ) 682 // InternalSolverLanguageParser.g:250:4: ( () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )
663 // InternalSolverLanguageParser.g:233:5: () (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? 683 // InternalSolverLanguageParser.g:251:5: () otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) )
664 { 684 {
665 // InternalSolverLanguageParser.g:233:5: () 685 // InternalSolverLanguageParser.g:251:5: ()
666 // InternalSolverLanguageParser.g:234:6: 686 // InternalSolverLanguageParser.g:252:6:
667 { 687 {
668 688
669 current = forceCreateModelElementAndSet( 689 current = forceCreateModelElementAndSet(
670 grammarAccess.getAssertionOrDefinitionAccess().getAssertionBodyAction_1_0_0(), 690 grammarAccess.getAssertionOrDefinitionAccess().getInterpretationBodyAction_1_0_0(),
671 current); 691 current);
672 692
673 693
674 } 694 }
675 695
676 // InternalSolverLanguageParser.g:240:5: (otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )? 696 otherlv_2=(Token)match(input,Colon,FOLLOW_6);
677 int alt3=2;
678 int LA3_0 = input.LA(1);
679
680 if ( (LA3_0==Colon) ) {
681 alt3=1;
682 }
683 switch (alt3) {
684 case 1 :
685 // InternalSolverLanguageParser.g:241:6: otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) )
686 {
687 otherlv_2=(Token)match(input,Colon,FOLLOW_6);
688
689 newLeafNode(otherlv_2, grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1_0());
690
691 // InternalSolverLanguageParser.g:245:6: ( (lv_range_3_0= ruleExpression ) )
692 // InternalSolverLanguageParser.g:246:7: (lv_range_3_0= ruleExpression )
693 {
694 // InternalSolverLanguageParser.g:246:7: (lv_range_3_0= ruleExpression )
695 // InternalSolverLanguageParser.g:247:8: lv_range_3_0= ruleExpression
696 {
697
698 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_1_1_0());
699
700 pushFollow(FOLLOW_2);
701 lv_range_3_0=ruleExpression();
702
703 state._fsp--;
704 697
698 newLeafNode(otherlv_2, grammarAccess.getAssertionOrDefinitionAccess().getColonKeyword_1_0_1());
699
700 // InternalSolverLanguageParser.g:262:5: ( (lv_range_3_0= ruleExpression ) )
701 // InternalSolverLanguageParser.g:263:6: (lv_range_3_0= ruleExpression )
702 {
703 // InternalSolverLanguageParser.g:263:6: (lv_range_3_0= ruleExpression )
704 // InternalSolverLanguageParser.g:264:7: lv_range_3_0= ruleExpression
705 {
705 706
706 if (current==null) { 707 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_2_0());
707 current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule()); 708
708 } 709 pushFollow(FOLLOW_2);
709 set( 710 lv_range_3_0=ruleExpression();
710 current,
711 "range",
712 lv_range_3_0,
713 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
714 afterParserOrEnumRuleCall();
715
716 711
717 } 712 state._fsp--;
718 713
719 714
720 } 715 if (current==null) {
716 current = createModelElementForParent(grammarAccess.getAssertionOrDefinitionRule());
717 }
718 set(
719 current,
720 "range",
721 lv_range_3_0,
722 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
723 afterParserOrEnumRuleCall();
724
721 725
726 }
722 727
723 }
724 break;
725 728
726 } 729 }
727 730
@@ -732,13 +735,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
732 } 735 }
733 break; 736 break;
734 case 2 : 737 case 2 :
735 // InternalSolverLanguageParser.g:267:4: ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) 738 // InternalSolverLanguageParser.g:283:4: ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) )
736 { 739 {
737 // InternalSolverLanguageParser.g:267:4: ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) 740 // InternalSolverLanguageParser.g:283:4: ( () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) )
738 // InternalSolverLanguageParser.g:268:5: () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) 741 // InternalSolverLanguageParser.g:284:5: () otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) )
739 { 742 {
740 // InternalSolverLanguageParser.g:268:5: () 743 // InternalSolverLanguageParser.g:284:5: ()
741 // InternalSolverLanguageParser.g:269:6: 744 // InternalSolverLanguageParser.g:285:6:
742 { 745 {
743 746
744 current = forceCreateModelElementAndSet( 747 current = forceCreateModelElementAndSet(
@@ -752,11 +755,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
752 755
753 newLeafNode(otherlv_5, grammarAccess.getAssertionOrDefinitionAccess().getColonHyphenMinusKeyword_1_1_1()); 756 newLeafNode(otherlv_5, grammarAccess.getAssertionOrDefinitionAccess().getColonHyphenMinusKeyword_1_1_1());
754 757
755 // InternalSolverLanguageParser.g:279:5: ( (lv_body_6_0= ruleExpression ) ) 758 // InternalSolverLanguageParser.g:295:5: ( (lv_body_6_0= ruleExpression ) )
756 // InternalSolverLanguageParser.g:280:6: (lv_body_6_0= ruleExpression ) 759 // InternalSolverLanguageParser.g:296:6: (lv_body_6_0= ruleExpression )
757 { 760 {
758 // InternalSolverLanguageParser.g:280:6: (lv_body_6_0= ruleExpression ) 761 // InternalSolverLanguageParser.g:296:6: (lv_body_6_0= ruleExpression )
759 // InternalSolverLanguageParser.g:281:7: lv_body_6_0= ruleExpression 762 // InternalSolverLanguageParser.g:297:7: lv_body_6_0= ruleExpression
760 { 763 {
761 764
762 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_1_2_0()); 765 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_1_2_0());
@@ -790,13 +793,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
790 } 793 }
791 break; 794 break;
792 case 3 : 795 case 3 :
793 // InternalSolverLanguageParser.g:300:4: ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) 796 // InternalSolverLanguageParser.g:316:4: ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) )
794 { 797 {
795 // InternalSolverLanguageParser.g:300:4: ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) ) 798 // InternalSolverLanguageParser.g:316:4: ( () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) )
796 // InternalSolverLanguageParser.g:301:5: () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) ) 799 // InternalSolverLanguageParser.g:317:5: () otherlv_8= EqualsSign ( (lv_body_9_0= ruleExpression ) )
797 { 800 {
798 // InternalSolverLanguageParser.g:301:5: () 801 // InternalSolverLanguageParser.g:317:5: ()
799 // InternalSolverLanguageParser.g:302:6: 802 // InternalSolverLanguageParser.g:318:6:
800 { 803 {
801 804
802 current = forceCreateModelElementAndSet( 805 current = forceCreateModelElementAndSet(
@@ -810,11 +813,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
810 813
811 newLeafNode(otherlv_8, grammarAccess.getAssertionOrDefinitionAccess().getEqualsSignKeyword_1_2_1()); 814 newLeafNode(otherlv_8, grammarAccess.getAssertionOrDefinitionAccess().getEqualsSignKeyword_1_2_1());
812 815
813 // InternalSolverLanguageParser.g:312:5: ( (lv_body_9_0= ruleExpression ) ) 816 // InternalSolverLanguageParser.g:328:5: ( (lv_body_9_0= ruleExpression ) )
814 // InternalSolverLanguageParser.g:313:6: (lv_body_9_0= ruleExpression ) 817 // InternalSolverLanguageParser.g:329:6: (lv_body_9_0= ruleExpression )
815 { 818 {
816 // InternalSolverLanguageParser.g:313:6: (lv_body_9_0= ruleExpression ) 819 // InternalSolverLanguageParser.g:329:6: (lv_body_9_0= ruleExpression )
817 // InternalSolverLanguageParser.g:314:7: lv_body_9_0= ruleExpression 820 // InternalSolverLanguageParser.g:330:7: lv_body_9_0= ruleExpression
818 { 821 {
819 822
820 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_2_2_0()); 823 newCompositeNode(grammarAccess.getAssertionOrDefinitionAccess().getBodyExpressionParserRuleCall_1_2_2_0());
@@ -873,7 +876,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
873 876
874 877
875 // $ANTLR start "entryRulePredicateDefinition" 878 // $ANTLR start "entryRulePredicateDefinition"
876 // InternalSolverLanguageParser.g:337:1: entryRulePredicateDefinition returns [EObject current=null] : iv_rulePredicateDefinition= rulePredicateDefinition EOF ; 879 // InternalSolverLanguageParser.g:353:1: entryRulePredicateDefinition returns [EObject current=null] : iv_rulePredicateDefinition= rulePredicateDefinition EOF ;
877 public final EObject entryRulePredicateDefinition() throws RecognitionException { 880 public final EObject entryRulePredicateDefinition() throws RecognitionException {
878 EObject current = null; 881 EObject current = null;
879 882
@@ -881,8 +884,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
881 884
882 885
883 try { 886 try {
884 // InternalSolverLanguageParser.g:337:60: (iv_rulePredicateDefinition= rulePredicateDefinition EOF ) 887 // InternalSolverLanguageParser.g:353:60: (iv_rulePredicateDefinition= rulePredicateDefinition EOF )
885 // InternalSolverLanguageParser.g:338:2: iv_rulePredicateDefinition= rulePredicateDefinition EOF 888 // InternalSolverLanguageParser.g:354:2: iv_rulePredicateDefinition= rulePredicateDefinition EOF
886 { 889 {
887 newCompositeNode(grammarAccess.getPredicateDefinitionRule()); 890 newCompositeNode(grammarAccess.getPredicateDefinitionRule());
888 pushFollow(FOLLOW_1); 891 pushFollow(FOLLOW_1);
@@ -909,7 +912,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
909 912
910 913
911 // $ANTLR start "rulePredicateDefinition" 914 // $ANTLR start "rulePredicateDefinition"
912 // InternalSolverLanguageParser.g:344:1: rulePredicateDefinition returns [EObject current=null] : ( ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) ; 915 // InternalSolverLanguageParser.g:360:1: rulePredicateDefinition returns [EObject current=null] : ( ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) ;
913 public final EObject rulePredicateDefinition() throws RecognitionException { 916 public final EObject rulePredicateDefinition() throws RecognitionException {
914 EObject current = null; 917 EObject current = null;
915 918
@@ -927,40 +930,40 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
927 enterRule(); 930 enterRule();
928 931
929 try { 932 try {
930 // InternalSolverLanguageParser.g:350:2: ( ( ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) ) 933 // InternalSolverLanguageParser.g:366:2: ( ( ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) )
931 // InternalSolverLanguageParser.g:351:2: ( ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) 934 // InternalSolverLanguageParser.g:367:2: ( ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) )
932 { 935 {
933 // InternalSolverLanguageParser.g:351:2: ( ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) ) 936 // InternalSolverLanguageParser.g:367:2: ( ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) )
934 // InternalSolverLanguageParser.g:352:3: ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) ) 937 // InternalSolverLanguageParser.g:368:3: ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) ( (lv_head_4_0= ruleCall ) ) otherlv_5= ColonHyphenMinus ( (lv_body_6_0= ruleExpression ) )
935 { 938 {
936 // InternalSolverLanguageParser.g:352:3: ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) ) 939 // InternalSolverLanguageParser.g:368:3: ( ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) | ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) )
937 int alt7=2; 940 int alt6=2;
938 int LA7_0 = input.LA(1); 941 int LA6_0 = input.LA(1);
939 942
940 if ( (LA7_0==Functional) ) { 943 if ( (LA6_0==Functional) ) {
941 alt7=1; 944 alt6=1;
942 } 945 }
943 else if ( (LA7_0==Error) ) { 946 else if ( (LA6_0==Error) ) {
944 alt7=2; 947 alt6=2;
945 } 948 }
946 else { 949 else {
947 NoViableAltException nvae = 950 NoViableAltException nvae =
948 new NoViableAltException("", 7, 0, input); 951 new NoViableAltException("", 6, 0, input);
949 952
950 throw nvae; 953 throw nvae;
951 } 954 }
952 switch (alt7) { 955 switch (alt6) {
953 case 1 : 956 case 1 :
954 // InternalSolverLanguageParser.g:353:4: ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) 957 // InternalSolverLanguageParser.g:369:4: ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? )
955 { 958 {
956 // InternalSolverLanguageParser.g:353:4: ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? ) 959 // InternalSolverLanguageParser.g:369:4: ( ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? )
957 // InternalSolverLanguageParser.g:354:5: ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )? 960 // InternalSolverLanguageParser.g:370:5: ( (lv_functional_0_0= Functional ) ) ( (lv_error_1_0= Error ) )?
958 { 961 {
959 // InternalSolverLanguageParser.g:354:5: ( (lv_functional_0_0= Functional ) ) 962 // InternalSolverLanguageParser.g:370:5: ( (lv_functional_0_0= Functional ) )
960 // InternalSolverLanguageParser.g:355:6: (lv_functional_0_0= Functional ) 963 // InternalSolverLanguageParser.g:371:6: (lv_functional_0_0= Functional )
961 { 964 {
962 // InternalSolverLanguageParser.g:355:6: (lv_functional_0_0= Functional ) 965 // InternalSolverLanguageParser.g:371:6: (lv_functional_0_0= Functional )
963 // InternalSolverLanguageParser.g:356:7: lv_functional_0_0= Functional 966 // InternalSolverLanguageParser.g:372:7: lv_functional_0_0= Functional
964 { 967 {
965 lv_functional_0_0=(Token)match(input,Functional,FOLLOW_7); 968 lv_functional_0_0=(Token)match(input,Functional,FOLLOW_7);
966 969
@@ -978,19 +981,19 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
978 981
979 } 982 }
980 983
981 // InternalSolverLanguageParser.g:368:5: ( (lv_error_1_0= Error ) )? 984 // InternalSolverLanguageParser.g:384:5: ( (lv_error_1_0= Error ) )?
982 int alt5=2; 985 int alt4=2;
983 int LA5_0 = input.LA(1); 986 int LA4_0 = input.LA(1);
984 987
985 if ( (LA5_0==Error) ) { 988 if ( (LA4_0==Error) ) {
986 alt5=1; 989 alt4=1;
987 } 990 }
988 switch (alt5) { 991 switch (alt4) {
989 case 1 : 992 case 1 :
990 // InternalSolverLanguageParser.g:369:6: (lv_error_1_0= Error ) 993 // InternalSolverLanguageParser.g:385:6: (lv_error_1_0= Error )
991 { 994 {
992 // InternalSolverLanguageParser.g:369:6: (lv_error_1_0= Error ) 995 // InternalSolverLanguageParser.g:385:6: (lv_error_1_0= Error )
993 // InternalSolverLanguageParser.g:370:7: lv_error_1_0= Error 996 // InternalSolverLanguageParser.g:386:7: lv_error_1_0= Error
994 { 997 {
995 lv_error_1_0=(Token)match(input,Error,FOLLOW_8); 998 lv_error_1_0=(Token)match(input,Error,FOLLOW_8);
996 999
@@ -1018,16 +1021,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1018 } 1021 }
1019 break; 1022 break;
1020 case 2 : 1023 case 2 :
1021 // InternalSolverLanguageParser.g:384:4: ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) 1024 // InternalSolverLanguageParser.g:400:4: ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? )
1022 { 1025 {
1023 // InternalSolverLanguageParser.g:384:4: ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? ) 1026 // InternalSolverLanguageParser.g:400:4: ( ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? )
1024 // InternalSolverLanguageParser.g:385:5: ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )? 1027 // InternalSolverLanguageParser.g:401:5: ( (lv_error_2_0= Error ) ) ( (lv_functional_3_0= Functional ) )?
1025 { 1028 {
1026 // InternalSolverLanguageParser.g:385:5: ( (lv_error_2_0= Error ) ) 1029 // InternalSolverLanguageParser.g:401:5: ( (lv_error_2_0= Error ) )
1027 // InternalSolverLanguageParser.g:386:6: (lv_error_2_0= Error ) 1030 // InternalSolverLanguageParser.g:402:6: (lv_error_2_0= Error )
1028 { 1031 {
1029 // InternalSolverLanguageParser.g:386:6: (lv_error_2_0= Error ) 1032 // InternalSolverLanguageParser.g:402:6: (lv_error_2_0= Error )
1030 // InternalSolverLanguageParser.g:387:7: lv_error_2_0= Error 1033 // InternalSolverLanguageParser.g:403:7: lv_error_2_0= Error
1031 { 1034 {
1032 lv_error_2_0=(Token)match(input,Error,FOLLOW_9); 1035 lv_error_2_0=(Token)match(input,Error,FOLLOW_9);
1033 1036
@@ -1045,19 +1048,19 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1045 1048
1046 } 1049 }
1047 1050
1048 // InternalSolverLanguageParser.g:399:5: ( (lv_functional_3_0= Functional ) )? 1051 // InternalSolverLanguageParser.g:415:5: ( (lv_functional_3_0= Functional ) )?
1049 int alt6=2; 1052 int alt5=2;
1050 int LA6_0 = input.LA(1); 1053 int LA5_0 = input.LA(1);
1051 1054
1052 if ( (LA6_0==Functional) ) { 1055 if ( (LA5_0==Functional) ) {
1053 alt6=1; 1056 alt5=1;
1054 } 1057 }
1055 switch (alt6) { 1058 switch (alt5) {
1056 case 1 : 1059 case 1 :
1057 // InternalSolverLanguageParser.g:400:6: (lv_functional_3_0= Functional ) 1060 // InternalSolverLanguageParser.g:416:6: (lv_functional_3_0= Functional )
1058 { 1061 {
1059 // InternalSolverLanguageParser.g:400:6: (lv_functional_3_0= Functional ) 1062 // InternalSolverLanguageParser.g:416:6: (lv_functional_3_0= Functional )
1060 // InternalSolverLanguageParser.g:401:7: lv_functional_3_0= Functional 1063 // InternalSolverLanguageParser.g:417:7: lv_functional_3_0= Functional
1061 { 1064 {
1062 lv_functional_3_0=(Token)match(input,Functional,FOLLOW_8); 1065 lv_functional_3_0=(Token)match(input,Functional,FOLLOW_8);
1063 1066
@@ -1087,11 +1090,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1087 1090
1088 } 1091 }
1089 1092
1090 // InternalSolverLanguageParser.g:415:3: ( (lv_head_4_0= ruleCall ) ) 1093 // InternalSolverLanguageParser.g:431:3: ( (lv_head_4_0= ruleCall ) )
1091 // InternalSolverLanguageParser.g:416:4: (lv_head_4_0= ruleCall ) 1094 // InternalSolverLanguageParser.g:432:4: (lv_head_4_0= ruleCall )
1092 { 1095 {
1093 // InternalSolverLanguageParser.g:416:4: (lv_head_4_0= ruleCall ) 1096 // InternalSolverLanguageParser.g:432:4: (lv_head_4_0= ruleCall )
1094 // InternalSolverLanguageParser.g:417:5: lv_head_4_0= ruleCall 1097 // InternalSolverLanguageParser.g:433:5: lv_head_4_0= ruleCall
1095 { 1098 {
1096 1099
1097 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); 1100 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0());
@@ -1122,11 +1125,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1122 1125
1123 newLeafNode(otherlv_5, grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_2()); 1126 newLeafNode(otherlv_5, grammarAccess.getPredicateDefinitionAccess().getColonHyphenMinusKeyword_2());
1124 1127
1125 // InternalSolverLanguageParser.g:438:3: ( (lv_body_6_0= ruleExpression ) ) 1128 // InternalSolverLanguageParser.g:454:3: ( (lv_body_6_0= ruleExpression ) )
1126 // InternalSolverLanguageParser.g:439:4: (lv_body_6_0= ruleExpression ) 1129 // InternalSolverLanguageParser.g:455:4: (lv_body_6_0= ruleExpression )
1127 { 1130 {
1128 // InternalSolverLanguageParser.g:439:4: (lv_body_6_0= ruleExpression ) 1131 // InternalSolverLanguageParser.g:455:4: (lv_body_6_0= ruleExpression )
1129 // InternalSolverLanguageParser.g:440:5: lv_body_6_0= ruleExpression 1132 // InternalSolverLanguageParser.g:456:5: lv_body_6_0= ruleExpression
1130 { 1133 {
1131 1134
1132 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); 1135 newCompositeNode(grammarAccess.getPredicateDefinitionAccess().getBodyExpressionParserRuleCall_3_0());
@@ -1176,7 +1179,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1176 1179
1177 1180
1178 // $ANTLR start "entryRuleUnnamedErrorPrediateDefinition" 1181 // $ANTLR start "entryRuleUnnamedErrorPrediateDefinition"
1179 // InternalSolverLanguageParser.g:461:1: entryRuleUnnamedErrorPrediateDefinition returns [EObject current=null] : iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF ; 1182 // InternalSolverLanguageParser.g:477:1: entryRuleUnnamedErrorPrediateDefinition returns [EObject current=null] : iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF ;
1180 public final EObject entryRuleUnnamedErrorPrediateDefinition() throws RecognitionException { 1183 public final EObject entryRuleUnnamedErrorPrediateDefinition() throws RecognitionException {
1181 EObject current = null; 1184 EObject current = null;
1182 1185
@@ -1184,8 +1187,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1184 1187
1185 1188
1186 try { 1189 try {
1187 // InternalSolverLanguageParser.g:461:71: (iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF ) 1190 // InternalSolverLanguageParser.g:477:71: (iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF )
1188 // InternalSolverLanguageParser.g:462:2: iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF 1191 // InternalSolverLanguageParser.g:478:2: iv_ruleUnnamedErrorPrediateDefinition= ruleUnnamedErrorPrediateDefinition EOF
1189 { 1192 {
1190 newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionRule()); 1193 newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionRule());
1191 pushFollow(FOLLOW_1); 1194 pushFollow(FOLLOW_1);
@@ -1212,7 +1215,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1212 1215
1213 1216
1214 // $ANTLR start "ruleUnnamedErrorPrediateDefinition" 1217 // $ANTLR start "ruleUnnamedErrorPrediateDefinition"
1215 // InternalSolverLanguageParser.g:468:1: ruleUnnamedErrorPrediateDefinition returns [EObject current=null] : (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) ) ; 1218 // InternalSolverLanguageParser.g:484:1: ruleUnnamedErrorPrediateDefinition returns [EObject current=null] : (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) ) ;
1216 public final EObject ruleUnnamedErrorPrediateDefinition() throws RecognitionException { 1219 public final EObject ruleUnnamedErrorPrediateDefinition() throws RecognitionException {
1217 EObject current = null; 1220 EObject current = null;
1218 1221
@@ -1227,21 +1230,21 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1227 enterRule(); 1230 enterRule();
1228 1231
1229 try { 1232 try {
1230 // InternalSolverLanguageParser.g:474:2: ( (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) ) ) 1233 // InternalSolverLanguageParser.g:490:2: ( (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) ) )
1231 // InternalSolverLanguageParser.g:475:2: (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) ) 1234 // InternalSolverLanguageParser.g:491:2: (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) )
1232 { 1235 {
1233 // InternalSolverLanguageParser.g:475:2: (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) ) 1236 // InternalSolverLanguageParser.g:491:2: (otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) )
1234 // InternalSolverLanguageParser.g:476:3: otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) ) 1237 // InternalSolverLanguageParser.g:492:3: otherlv_0= Error ( (lv_argumentList_1_0= ruleArgumentList ) ) otherlv_2= ColonHyphenMinus ( (lv_body_3_0= ruleExpression ) )
1235 { 1238 {
1236 otherlv_0=(Token)match(input,Error,FOLLOW_11); 1239 otherlv_0=(Token)match(input,Error,FOLLOW_11);
1237 1240
1238 newLeafNode(otherlv_0, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getErrorKeyword_0()); 1241 newLeafNode(otherlv_0, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getErrorKeyword_0());
1239 1242
1240 // InternalSolverLanguageParser.g:480:3: ( (lv_argumentList_1_0= ruleArgumentList ) ) 1243 // InternalSolverLanguageParser.g:496:3: ( (lv_argumentList_1_0= ruleArgumentList ) )
1241 // InternalSolverLanguageParser.g:481:4: (lv_argumentList_1_0= ruleArgumentList ) 1244 // InternalSolverLanguageParser.g:497:4: (lv_argumentList_1_0= ruleArgumentList )
1242 { 1245 {
1243 // InternalSolverLanguageParser.g:481:4: (lv_argumentList_1_0= ruleArgumentList ) 1246 // InternalSolverLanguageParser.g:497:4: (lv_argumentList_1_0= ruleArgumentList )
1244 // InternalSolverLanguageParser.g:482:5: lv_argumentList_1_0= ruleArgumentList 1247 // InternalSolverLanguageParser.g:498:5: lv_argumentList_1_0= ruleArgumentList
1245 { 1248 {
1246 1249
1247 newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListArgumentListParserRuleCall_1_0()); 1250 newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getArgumentListArgumentListParserRuleCall_1_0());
@@ -1272,11 +1275,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1272 1275
1273 newLeafNode(otherlv_2, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getColonHyphenMinusKeyword_2()); 1276 newLeafNode(otherlv_2, grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getColonHyphenMinusKeyword_2());
1274 1277
1275 // InternalSolverLanguageParser.g:503:3: ( (lv_body_3_0= ruleExpression ) ) 1278 // InternalSolverLanguageParser.g:519:3: ( (lv_body_3_0= ruleExpression ) )
1276 // InternalSolverLanguageParser.g:504:4: (lv_body_3_0= ruleExpression ) 1279 // InternalSolverLanguageParser.g:520:4: (lv_body_3_0= ruleExpression )
1277 { 1280 {
1278 // InternalSolverLanguageParser.g:504:4: (lv_body_3_0= ruleExpression ) 1281 // InternalSolverLanguageParser.g:520:4: (lv_body_3_0= ruleExpression )
1279 // InternalSolverLanguageParser.g:505:5: lv_body_3_0= ruleExpression 1282 // InternalSolverLanguageParser.g:521:5: lv_body_3_0= ruleExpression
1280 { 1283 {
1281 1284
1282 newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); 1285 newCompositeNode(grammarAccess.getUnnamedErrorPrediateDefinitionAccess().getBodyExpressionParserRuleCall_3_0());
@@ -1326,7 +1329,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1326 1329
1327 1330
1328 // $ANTLR start "entryRuleDefaultDefinition" 1331 // $ANTLR start "entryRuleDefaultDefinition"
1329 // InternalSolverLanguageParser.g:526:1: entryRuleDefaultDefinition returns [EObject current=null] : iv_ruleDefaultDefinition= ruleDefaultDefinition EOF ; 1332 // InternalSolverLanguageParser.g:542:1: entryRuleDefaultDefinition returns [EObject current=null] : iv_ruleDefaultDefinition= ruleDefaultDefinition EOF ;
1330 public final EObject entryRuleDefaultDefinition() throws RecognitionException { 1333 public final EObject entryRuleDefaultDefinition() throws RecognitionException {
1331 EObject current = null; 1334 EObject current = null;
1332 1335
@@ -1334,8 +1337,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1334 1337
1335 1338
1336 try { 1339 try {
1337 // InternalSolverLanguageParser.g:526:58: (iv_ruleDefaultDefinition= ruleDefaultDefinition EOF ) 1340 // InternalSolverLanguageParser.g:542:58: (iv_ruleDefaultDefinition= ruleDefaultDefinition EOF )
1338 // InternalSolverLanguageParser.g:527:2: iv_ruleDefaultDefinition= ruleDefaultDefinition EOF 1341 // InternalSolverLanguageParser.g:543:2: iv_ruleDefaultDefinition= ruleDefaultDefinition EOF
1339 { 1342 {
1340 newCompositeNode(grammarAccess.getDefaultDefinitionRule()); 1343 newCompositeNode(grammarAccess.getDefaultDefinitionRule());
1341 pushFollow(FOLLOW_1); 1344 pushFollow(FOLLOW_1);
@@ -1362,7 +1365,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1362 1365
1363 1366
1364 // $ANTLR start "ruleDefaultDefinition" 1367 // $ANTLR start "ruleDefaultDefinition"
1365 // InternalSolverLanguageParser.g:533:1: ruleDefaultDefinition returns [EObject current=null] : (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) ; 1368 // InternalSolverLanguageParser.g:549:1: ruleDefaultDefinition returns [EObject current=null] : (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) ;
1366 public final EObject ruleDefaultDefinition() throws RecognitionException { 1369 public final EObject ruleDefaultDefinition() throws RecognitionException {
1367 EObject current = null; 1370 EObject current = null;
1368 1371
@@ -1377,21 +1380,21 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1377 enterRule(); 1380 enterRule();
1378 1381
1379 try { 1382 try {
1380 // InternalSolverLanguageParser.g:539:2: ( (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) ) 1383 // InternalSolverLanguageParser.g:555:2: ( (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) )
1381 // InternalSolverLanguageParser.g:540:2: (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) 1384 // InternalSolverLanguageParser.g:556:2: (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )
1382 { 1385 {
1383 // InternalSolverLanguageParser.g:540:2: (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) ) 1386 // InternalSolverLanguageParser.g:556:2: (otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) )
1384 // InternalSolverLanguageParser.g:541:3: otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) ) 1387 // InternalSolverLanguageParser.g:557:3: otherlv_0= Default ( (lv_head_1_0= ruleCall ) ) otherlv_2= Colon ( (lv_range_3_0= ruleExpression ) )
1385 { 1388 {
1386 otherlv_0=(Token)match(input,Default,FOLLOW_8); 1389 otherlv_0=(Token)match(input,Default,FOLLOW_8);
1387 1390
1388 newLeafNode(otherlv_0, grammarAccess.getDefaultDefinitionAccess().getDefaultKeyword_0()); 1391 newLeafNode(otherlv_0, grammarAccess.getDefaultDefinitionAccess().getDefaultKeyword_0());
1389 1392
1390 // InternalSolverLanguageParser.g:545:3: ( (lv_head_1_0= ruleCall ) ) 1393 // InternalSolverLanguageParser.g:561:3: ( (lv_head_1_0= ruleCall ) )
1391 // InternalSolverLanguageParser.g:546:4: (lv_head_1_0= ruleCall ) 1394 // InternalSolverLanguageParser.g:562:4: (lv_head_1_0= ruleCall )
1392 { 1395 {
1393 // InternalSolverLanguageParser.g:546:4: (lv_head_1_0= ruleCall ) 1396 // InternalSolverLanguageParser.g:562:4: (lv_head_1_0= ruleCall )
1394 // InternalSolverLanguageParser.g:547:5: lv_head_1_0= ruleCall 1397 // InternalSolverLanguageParser.g:563:5: lv_head_1_0= ruleCall
1395 { 1398 {
1396 1399
1397 newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getHeadCallParserRuleCall_1_0()); 1400 newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getHeadCallParserRuleCall_1_0());
@@ -1422,11 +1425,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1422 1425
1423 newLeafNode(otherlv_2, grammarAccess.getDefaultDefinitionAccess().getColonKeyword_2()); 1426 newLeafNode(otherlv_2, grammarAccess.getDefaultDefinitionAccess().getColonKeyword_2());
1424 1427
1425 // InternalSolverLanguageParser.g:568:3: ( (lv_range_3_0= ruleExpression ) ) 1428 // InternalSolverLanguageParser.g:584:3: ( (lv_range_3_0= ruleExpression ) )
1426 // InternalSolverLanguageParser.g:569:4: (lv_range_3_0= ruleExpression ) 1429 // InternalSolverLanguageParser.g:585:4: (lv_range_3_0= ruleExpression )
1427 { 1430 {
1428 // InternalSolverLanguageParser.g:569:4: (lv_range_3_0= ruleExpression ) 1431 // InternalSolverLanguageParser.g:585:4: (lv_range_3_0= ruleExpression )
1429 // InternalSolverLanguageParser.g:570:5: lv_range_3_0= ruleExpression 1432 // InternalSolverLanguageParser.g:586:5: lv_range_3_0= ruleExpression
1430 { 1433 {
1431 1434
1432 newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getRangeExpressionParserRuleCall_3_0()); 1435 newCompositeNode(grammarAccess.getDefaultDefinitionAccess().getRangeExpressionParserRuleCall_3_0());
@@ -1475,8 +1478,181 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1475 // $ANTLR end "ruleDefaultDefinition" 1478 // $ANTLR end "ruleDefaultDefinition"
1476 1479
1477 1480
1481 // $ANTLR start "entryRuleMetricDefinition"
1482 // InternalSolverLanguageParser.g:607:1: entryRuleMetricDefinition returns [EObject current=null] : iv_ruleMetricDefinition= ruleMetricDefinition EOF ;
1483 public final EObject entryRuleMetricDefinition() throws RecognitionException {
1484 EObject current = null;
1485
1486 EObject iv_ruleMetricDefinition = null;
1487
1488
1489 try {
1490 // InternalSolverLanguageParser.g:607:57: (iv_ruleMetricDefinition= ruleMetricDefinition EOF )
1491 // InternalSolverLanguageParser.g:608:2: iv_ruleMetricDefinition= ruleMetricDefinition EOF
1492 {
1493 newCompositeNode(grammarAccess.getMetricDefinitionRule());
1494 pushFollow(FOLLOW_1);
1495 iv_ruleMetricDefinition=ruleMetricDefinition();
1496
1497 state._fsp--;
1498
1499 current =iv_ruleMetricDefinition;
1500 match(input,EOF,FOLLOW_2);
1501
1502 }
1503
1504 }
1505
1506 catch (RecognitionException re) {
1507 recover(input,re);
1508 appendSkippedTokens();
1509 }
1510 finally {
1511 }
1512 return current;
1513 }
1514 // $ANTLR end "entryRuleMetricDefinition"
1515
1516
1517 // $ANTLR start "ruleMetricDefinition"
1518 // InternalSolverLanguageParser.g:614:1: ruleMetricDefinition returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( (lv_head_1_0= ruleCall ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) ) ;
1519 public final EObject ruleMetricDefinition() throws RecognitionException {
1520 EObject current = null;
1521
1522 Token otherlv_2=null;
1523 EObject lv_head_1_0 = null;
1524
1525 EObject lv_body_3_0 = null;
1526
1527
1528
1529 enterRule();
1530
1531 try {
1532 // InternalSolverLanguageParser.g:620:2: ( ( ( ( ruleQualifiedName ) ) ( (lv_head_1_0= ruleCall ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) ) )
1533 // InternalSolverLanguageParser.g:621:2: ( ( ( ruleQualifiedName ) ) ( (lv_head_1_0= ruleCall ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) )
1534 {
1535 // InternalSolverLanguageParser.g:621:2: ( ( ( ruleQualifiedName ) ) ( (lv_head_1_0= ruleCall ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) )
1536 // InternalSolverLanguageParser.g:622:3: ( ( ruleQualifiedName ) ) ( (lv_head_1_0= ruleCall ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) )
1537 {
1538 // InternalSolverLanguageParser.g:622:3: ( ( ruleQualifiedName ) )
1539 // InternalSolverLanguageParser.g:623:4: ( ruleQualifiedName )
1540 {
1541 // InternalSolverLanguageParser.g:623:4: ( ruleQualifiedName )
1542 // InternalSolverLanguageParser.g:624:5: ruleQualifiedName
1543 {
1544
1545 if (current==null) {
1546 current = createModelElement(grammarAccess.getMetricDefinitionRule());
1547 }
1548
1549
1550 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getTypeNamedElementCrossReference_0_0());
1551
1552 pushFollow(FOLLOW_8);
1553 ruleQualifiedName();
1554
1555 state._fsp--;
1556
1557
1558 afterParserOrEnumRuleCall();
1559
1560
1561 }
1562
1563
1564 }
1565
1566 // InternalSolverLanguageParser.g:638:3: ( (lv_head_1_0= ruleCall ) )
1567 // InternalSolverLanguageParser.g:639:4: (lv_head_1_0= ruleCall )
1568 {
1569 // InternalSolverLanguageParser.g:639:4: (lv_head_1_0= ruleCall )
1570 // InternalSolverLanguageParser.g:640:5: lv_head_1_0= ruleCall
1571 {
1572
1573 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getHeadCallParserRuleCall_1_0());
1574
1575 pushFollow(FOLLOW_13);
1576 lv_head_1_0=ruleCall();
1577
1578 state._fsp--;
1579
1580
1581 if (current==null) {
1582 current = createModelElementForParent(grammarAccess.getMetricDefinitionRule());
1583 }
1584 set(
1585 current,
1586 "head",
1587 lv_head_1_0,
1588 "org.eclipse.viatra.solver.language.SolverLanguage.Call");
1589 afterParserOrEnumRuleCall();
1590
1591
1592 }
1593
1594
1595 }
1596
1597 otherlv_2=(Token)match(input,EqualsSign,FOLLOW_6);
1598
1599 newLeafNode(otherlv_2, grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2());
1600
1601 // InternalSolverLanguageParser.g:661:3: ( (lv_body_3_0= ruleExpression ) )
1602 // InternalSolverLanguageParser.g:662:4: (lv_body_3_0= ruleExpression )
1603 {
1604 // InternalSolverLanguageParser.g:662:4: (lv_body_3_0= ruleExpression )
1605 // InternalSolverLanguageParser.g:663:5: lv_body_3_0= ruleExpression
1606 {
1607
1608 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0());
1609
1610 pushFollow(FOLLOW_2);
1611 lv_body_3_0=ruleExpression();
1612
1613 state._fsp--;
1614
1615
1616 if (current==null) {
1617 current = createModelElementForParent(grammarAccess.getMetricDefinitionRule());
1618 }
1619 set(
1620 current,
1621 "body",
1622 lv_body_3_0,
1623 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
1624 afterParserOrEnumRuleCall();
1625
1626
1627 }
1628
1629
1630 }
1631
1632
1633 }
1634
1635
1636 }
1637
1638
1639 leaveRule();
1640
1641 }
1642
1643 catch (RecognitionException re) {
1644 recover(input,re);
1645 appendSkippedTokens();
1646 }
1647 finally {
1648 }
1649 return current;
1650 }
1651 // $ANTLR end "ruleMetricDefinition"
1652
1653
1478 // $ANTLR start "entryRuleExternPredicateDefinition" 1654 // $ANTLR start "entryRuleExternPredicateDefinition"
1479 // InternalSolverLanguageParser.g:591:1: entryRuleExternPredicateDefinition returns [EObject current=null] : iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF ; 1655 // InternalSolverLanguageParser.g:684:1: entryRuleExternPredicateDefinition returns [EObject current=null] : iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF ;
1480 public final EObject entryRuleExternPredicateDefinition() throws RecognitionException { 1656 public final EObject entryRuleExternPredicateDefinition() throws RecognitionException {
1481 EObject current = null; 1657 EObject current = null;
1482 1658
@@ -1484,8 +1660,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1484 1660
1485 1661
1486 try { 1662 try {
1487 // InternalSolverLanguageParser.g:591:66: (iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF ) 1663 // InternalSolverLanguageParser.g:684:66: (iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF )
1488 // InternalSolverLanguageParser.g:592:2: iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF 1664 // InternalSolverLanguageParser.g:685:2: iv_ruleExternPredicateDefinition= ruleExternPredicateDefinition EOF
1489 { 1665 {
1490 newCompositeNode(grammarAccess.getExternPredicateDefinitionRule()); 1666 newCompositeNode(grammarAccess.getExternPredicateDefinitionRule());
1491 pushFollow(FOLLOW_1); 1667 pushFollow(FOLLOW_1);
@@ -1512,39 +1688,72 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1512 1688
1513 1689
1514 // $ANTLR start "ruleExternPredicateDefinition" 1690 // $ANTLR start "ruleExternPredicateDefinition"
1515 // InternalSolverLanguageParser.g:598:1: ruleExternPredicateDefinition returns [EObject current=null] : (otherlv_0= Extern ( (lv_head_1_0= ruleCall ) ) ) ; 1691 // InternalSolverLanguageParser.g:691:1: ruleExternPredicateDefinition returns [EObject current=null] : (otherlv_0= Extern ( (lv_name_1_0= ruleQualifiedName ) ) ( (lv_argumentList_2_0= ruleArgumentList ) ) ) ;
1516 public final EObject ruleExternPredicateDefinition() throws RecognitionException { 1692 public final EObject ruleExternPredicateDefinition() throws RecognitionException {
1517 EObject current = null; 1693 EObject current = null;
1518 1694
1519 Token otherlv_0=null; 1695 Token otherlv_0=null;
1520 EObject lv_head_1_0 = null; 1696 AntlrDatatypeRuleToken lv_name_1_0 = null;
1697
1698 EObject lv_argumentList_2_0 = null;
1521 1699
1522 1700
1523 1701
1524 enterRule(); 1702 enterRule();
1525 1703
1526 try { 1704 try {
1527 // InternalSolverLanguageParser.g:604:2: ( (otherlv_0= Extern ( (lv_head_1_0= ruleCall ) ) ) ) 1705 // InternalSolverLanguageParser.g:697:2: ( (otherlv_0= Extern ( (lv_name_1_0= ruleQualifiedName ) ) ( (lv_argumentList_2_0= ruleArgumentList ) ) ) )
1528 // InternalSolverLanguageParser.g:605:2: (otherlv_0= Extern ( (lv_head_1_0= ruleCall ) ) ) 1706 // InternalSolverLanguageParser.g:698:2: (otherlv_0= Extern ( (lv_name_1_0= ruleQualifiedName ) ) ( (lv_argumentList_2_0= ruleArgumentList ) ) )
1529 { 1707 {
1530 // InternalSolverLanguageParser.g:605:2: (otherlv_0= Extern ( (lv_head_1_0= ruleCall ) ) ) 1708 // InternalSolverLanguageParser.g:698:2: (otherlv_0= Extern ( (lv_name_1_0= ruleQualifiedName ) ) ( (lv_argumentList_2_0= ruleArgumentList ) ) )
1531 // InternalSolverLanguageParser.g:606:3: otherlv_0= Extern ( (lv_head_1_0= ruleCall ) ) 1709 // InternalSolverLanguageParser.g:699:3: otherlv_0= Extern ( (lv_name_1_0= ruleQualifiedName ) ) ( (lv_argumentList_2_0= ruleArgumentList ) )
1532 { 1710 {
1533 otherlv_0=(Token)match(input,Extern,FOLLOW_8); 1711 otherlv_0=(Token)match(input,Extern,FOLLOW_8);
1534 1712
1535 newLeafNode(otherlv_0, grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0()); 1713 newLeafNode(otherlv_0, grammarAccess.getExternPredicateDefinitionAccess().getExternKeyword_0());
1536 1714
1537 // InternalSolverLanguageParser.g:610:3: ( (lv_head_1_0= ruleCall ) ) 1715 // InternalSolverLanguageParser.g:703:3: ( (lv_name_1_0= ruleQualifiedName ) )
1538 // InternalSolverLanguageParser.g:611:4: (lv_head_1_0= ruleCall ) 1716 // InternalSolverLanguageParser.g:704:4: (lv_name_1_0= ruleQualifiedName )
1717 {
1718 // InternalSolverLanguageParser.g:704:4: (lv_name_1_0= ruleQualifiedName )
1719 // InternalSolverLanguageParser.g:705:5: lv_name_1_0= ruleQualifiedName
1720 {
1721
1722 newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getNameQualifiedNameParserRuleCall_1_0());
1723
1724 pushFollow(FOLLOW_11);
1725 lv_name_1_0=ruleQualifiedName();
1726
1727 state._fsp--;
1728
1729
1730 if (current==null) {
1731 current = createModelElementForParent(grammarAccess.getExternPredicateDefinitionRule());
1732 }
1733 set(
1734 current,
1735 "name",
1736 lv_name_1_0,
1737 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
1738 afterParserOrEnumRuleCall();
1739
1740
1741 }
1742
1743
1744 }
1745
1746 // InternalSolverLanguageParser.g:722:3: ( (lv_argumentList_2_0= ruleArgumentList ) )
1747 // InternalSolverLanguageParser.g:723:4: (lv_argumentList_2_0= ruleArgumentList )
1539 { 1748 {
1540 // InternalSolverLanguageParser.g:611:4: (lv_head_1_0= ruleCall ) 1749 // InternalSolverLanguageParser.g:723:4: (lv_argumentList_2_0= ruleArgumentList )
1541 // InternalSolverLanguageParser.g:612:5: lv_head_1_0= ruleCall 1750 // InternalSolverLanguageParser.g:724:5: lv_argumentList_2_0= ruleArgumentList
1542 { 1751 {
1543 1752
1544 newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0()); 1753 newCompositeNode(grammarAccess.getExternPredicateDefinitionAccess().getArgumentListArgumentListParserRuleCall_2_0());
1545 1754
1546 pushFollow(FOLLOW_2); 1755 pushFollow(FOLLOW_2);
1547 lv_head_1_0=ruleCall(); 1756 lv_argumentList_2_0=ruleArgumentList();
1548 1757
1549 state._fsp--; 1758 state._fsp--;
1550 1759
@@ -1554,9 +1763,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1554 } 1763 }
1555 set( 1764 set(
1556 current, 1765 current,
1557 "head", 1766 "argumentList",
1558 lv_head_1_0, 1767 lv_argumentList_2_0,
1559 "org.eclipse.viatra.solver.language.SolverLanguage.Call"); 1768 "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList");
1560 afterParserOrEnumRuleCall(); 1769 afterParserOrEnumRuleCall();
1561 1770
1562 1771
@@ -1587,25 +1796,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1587 // $ANTLR end "ruleExternPredicateDefinition" 1796 // $ANTLR end "ruleExternPredicateDefinition"
1588 1797
1589 1798
1590 // $ANTLR start "entryRuleMetricDefinition" 1799 // $ANTLR start "entryRuleExternMetricDefinition"
1591 // InternalSolverLanguageParser.g:633:1: entryRuleMetricDefinition returns [EObject current=null] : iv_ruleMetricDefinition= ruleMetricDefinition EOF ; 1800 // InternalSolverLanguageParser.g:745:1: entryRuleExternMetricDefinition returns [EObject current=null] : iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF ;
1592 public final EObject entryRuleMetricDefinition() throws RecognitionException { 1801 public final EObject entryRuleExternMetricDefinition() throws RecognitionException {
1593 EObject current = null; 1802 EObject current = null;
1594 1803
1595 EObject iv_ruleMetricDefinition = null; 1804 EObject iv_ruleExternMetricDefinition = null;
1596 1805
1597 1806
1598 try { 1807 try {
1599 // InternalSolverLanguageParser.g:633:57: (iv_ruleMetricDefinition= ruleMetricDefinition EOF ) 1808 // InternalSolverLanguageParser.g:745:63: (iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF )
1600 // InternalSolverLanguageParser.g:634:2: iv_ruleMetricDefinition= ruleMetricDefinition EOF 1809 // InternalSolverLanguageParser.g:746:2: iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF
1601 { 1810 {
1602 newCompositeNode(grammarAccess.getMetricDefinitionRule()); 1811 newCompositeNode(grammarAccess.getExternMetricDefinitionRule());
1603 pushFollow(FOLLOW_1); 1812 pushFollow(FOLLOW_1);
1604 iv_ruleMetricDefinition=ruleMetricDefinition(); 1813 iv_ruleExternMetricDefinition=ruleExternMetricDefinition();
1605 1814
1606 state._fsp--; 1815 state._fsp--;
1607 1816
1608 current =iv_ruleMetricDefinition; 1817 current =iv_ruleExternMetricDefinition;
1609 match(input,EOF,FOLLOW_2); 1818 match(input,EOF,FOLLOW_2);
1610 1819
1611 } 1820 }
@@ -1620,55 +1829,85 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1620 } 1829 }
1621 return current; 1830 return current;
1622 } 1831 }
1623 // $ANTLR end "entryRuleMetricDefinition" 1832 // $ANTLR end "entryRuleExternMetricDefinition"
1624 1833
1625 1834
1626 // $ANTLR start "ruleMetricDefinition" 1835 // $ANTLR start "ruleExternMetricDefinition"
1627 // InternalSolverLanguageParser.g:640:1: ruleMetricDefinition returns [EObject current=null] : ( ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) ) ; 1836 // InternalSolverLanguageParser.g:752:1: ruleExternMetricDefinition returns [EObject current=null] : (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) ( (lv_argumentList_3_0= ruleArgumentList ) ) ) ;
1628 public final EObject ruleMetricDefinition() throws RecognitionException { 1837 public final EObject ruleExternMetricDefinition() throws RecognitionException {
1629 EObject current = null; 1838 EObject current = null;
1630 1839
1631 Token otherlv_2=null; 1840 Token otherlv_0=null;
1632 Enumerator lv_type_0_0 = null; 1841 AntlrDatatypeRuleToken lv_name_2_0 = null;
1633
1634 EObject lv_head_1_0 = null;
1635 1842
1636 EObject lv_body_3_0 = null; 1843 EObject lv_argumentList_3_0 = null;
1637 1844
1638 1845
1639 1846
1640 enterRule(); 1847 enterRule();
1641 1848
1642 try { 1849 try {
1643 // InternalSolverLanguageParser.g:646:2: ( ( ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) ) ) 1850 // InternalSolverLanguageParser.g:758:2: ( (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) ( (lv_argumentList_3_0= ruleArgumentList ) ) ) )
1644 // InternalSolverLanguageParser.g:647:2: ( ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) ) 1851 // InternalSolverLanguageParser.g:759:2: (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) ( (lv_argumentList_3_0= ruleArgumentList ) ) )
1645 { 1852 {
1646 // InternalSolverLanguageParser.g:647:2: ( ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) ) 1853 // InternalSolverLanguageParser.g:759:2: (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) ( (lv_argumentList_3_0= ruleArgumentList ) ) )
1647 // InternalSolverLanguageParser.g:648:3: ( (lv_type_0_0= ruleMetricType ) ) ( (lv_head_1_0= ruleExpression ) ) otherlv_2= EqualsSign ( (lv_body_3_0= ruleExpression ) ) 1854 // InternalSolverLanguageParser.g:760:3: otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) ( (lv_argumentList_3_0= ruleArgumentList ) )
1648 { 1855 {
1649 // InternalSolverLanguageParser.g:648:3: ( (lv_type_0_0= ruleMetricType ) ) 1856 otherlv_0=(Token)match(input,Extern,FOLLOW_8);
1650 // InternalSolverLanguageParser.g:649:4: (lv_type_0_0= ruleMetricType ) 1857
1858 newLeafNode(otherlv_0, grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0());
1859
1860 // InternalSolverLanguageParser.g:764:3: ( ( ruleQualifiedName ) )
1861 // InternalSolverLanguageParser.g:765:4: ( ruleQualifiedName )
1651 { 1862 {
1652 // InternalSolverLanguageParser.g:649:4: (lv_type_0_0= ruleMetricType ) 1863 // InternalSolverLanguageParser.g:765:4: ( ruleQualifiedName )
1653 // InternalSolverLanguageParser.g:650:5: lv_type_0_0= ruleMetricType 1864 // InternalSolverLanguageParser.g:766:5: ruleQualifiedName
1654 { 1865 {
1655 1866
1656 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_0_0()); 1867 if (current==null) {
1868 current = createModelElement(grammarAccess.getExternMetricDefinitionRule());
1869 }
1870
1871
1872 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getTypeNamedElementCrossReference_1_0());
1657 1873
1658 pushFollow(FOLLOW_6); 1874 pushFollow(FOLLOW_8);
1659 lv_type_0_0=ruleMetricType(); 1875 ruleQualifiedName();
1876
1877 state._fsp--;
1878
1879
1880 afterParserOrEnumRuleCall();
1881
1882
1883 }
1884
1885
1886 }
1887
1888 // InternalSolverLanguageParser.g:780:3: ( (lv_name_2_0= ruleQualifiedName ) )
1889 // InternalSolverLanguageParser.g:781:4: (lv_name_2_0= ruleQualifiedName )
1890 {
1891 // InternalSolverLanguageParser.g:781:4: (lv_name_2_0= ruleQualifiedName )
1892 // InternalSolverLanguageParser.g:782:5: lv_name_2_0= ruleQualifiedName
1893 {
1894
1895 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0());
1896
1897 pushFollow(FOLLOW_11);
1898 lv_name_2_0=ruleQualifiedName();
1660 1899
1661 state._fsp--; 1900 state._fsp--;
1662 1901
1663 1902
1664 if (current==null) { 1903 if (current==null) {
1665 current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); 1904 current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule());
1666 } 1905 }
1667 set( 1906 set(
1668 current, 1907 current,
1669 "type", 1908 "name",
1670 lv_type_0_0, 1909 lv_name_2_0,
1671 "org.eclipse.viatra.solver.language.SolverLanguage.MetricType"); 1910 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
1672 afterParserOrEnumRuleCall(); 1911 afterParserOrEnumRuleCall();
1673 1912
1674 1913
@@ -1677,29 +1916,29 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1677 1916
1678 } 1917 }
1679 1918
1680 // InternalSolverLanguageParser.g:667:3: ( (lv_head_1_0= ruleExpression ) ) 1919 // InternalSolverLanguageParser.g:799:3: ( (lv_argumentList_3_0= ruleArgumentList ) )
1681 // InternalSolverLanguageParser.g:668:4: (lv_head_1_0= ruleExpression ) 1920 // InternalSolverLanguageParser.g:800:4: (lv_argumentList_3_0= ruleArgumentList )
1682 { 1921 {
1683 // InternalSolverLanguageParser.g:668:4: (lv_head_1_0= ruleExpression ) 1922 // InternalSolverLanguageParser.g:800:4: (lv_argumentList_3_0= ruleArgumentList )
1684 // InternalSolverLanguageParser.g:669:5: lv_head_1_0= ruleExpression 1923 // InternalSolverLanguageParser.g:801:5: lv_argumentList_3_0= ruleArgumentList
1685 { 1924 {
1686 1925
1687 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getHeadExpressionParserRuleCall_1_0()); 1926 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getArgumentListArgumentListParserRuleCall_3_0());
1688 1927
1689 pushFollow(FOLLOW_13); 1928 pushFollow(FOLLOW_2);
1690 lv_head_1_0=ruleExpression(); 1929 lv_argumentList_3_0=ruleArgumentList();
1691 1930
1692 state._fsp--; 1931 state._fsp--;
1693 1932
1694 1933
1695 if (current==null) { 1934 if (current==null) {
1696 current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); 1935 current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule());
1697 } 1936 }
1698 set( 1937 set(
1699 current, 1938 current,
1700 "head", 1939 "argumentList",
1701 lv_head_1_0, 1940 lv_argumentList_3_0,
1702 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 1941 "org.eclipse.viatra.solver.language.SolverLanguage.ArgumentList");
1703 afterParserOrEnumRuleCall(); 1942 afterParserOrEnumRuleCall();
1704 1943
1705 1944
@@ -1708,33 +1947,141 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1708 1947
1709 } 1948 }
1710 1949
1711 otherlv_2=(Token)match(input,EqualsSign,FOLLOW_6);
1712 1950
1713 newLeafNode(otherlv_2, grammarAccess.getMetricDefinitionAccess().getEqualsSignKeyword_2()); 1951 }
1952
1953
1954 }
1955
1956
1957 leaveRule();
1958
1959 }
1960
1961 catch (RecognitionException re) {
1962 recover(input,re);
1963 appendSkippedTokens();
1964 }
1965 finally {
1966 }
1967 return current;
1968 }
1969 // $ANTLR end "ruleExternMetricDefinition"
1970
1971
1972 // $ANTLR start "entryRuleExternAggregatorDefinition"
1973 // InternalSolverLanguageParser.g:822:1: entryRuleExternAggregatorDefinition returns [EObject current=null] : iv_ruleExternAggregatorDefinition= ruleExternAggregatorDefinition EOF ;
1974 public final EObject entryRuleExternAggregatorDefinition() throws RecognitionException {
1975 EObject current = null;
1976
1977 EObject iv_ruleExternAggregatorDefinition = null;
1978
1979
1980 try {
1981 // InternalSolverLanguageParser.g:822:67: (iv_ruleExternAggregatorDefinition= ruleExternAggregatorDefinition EOF )
1982 // InternalSolverLanguageParser.g:823:2: iv_ruleExternAggregatorDefinition= ruleExternAggregatorDefinition EOF
1983 {
1984 newCompositeNode(grammarAccess.getExternAggregatorDefinitionRule());
1985 pushFollow(FOLLOW_1);
1986 iv_ruleExternAggregatorDefinition=ruleExternAggregatorDefinition();
1987
1988 state._fsp--;
1989
1990 current =iv_ruleExternAggregatorDefinition;
1991 match(input,EOF,FOLLOW_2);
1992
1993 }
1994
1995 }
1996
1997 catch (RecognitionException re) {
1998 recover(input,re);
1999 appendSkippedTokens();
2000 }
2001 finally {
2002 }
2003 return current;
2004 }
2005 // $ANTLR end "entryRuleExternAggregatorDefinition"
2006
2007
2008 // $ANTLR start "ruleExternAggregatorDefinition"
2009 // InternalSolverLanguageParser.g:829:1: ruleExternAggregatorDefinition returns [EObject current=null] : (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= LeftCurlyBracket ( ( ruleQualifiedName ) ) otherlv_5= FullStopFullStopFullStop otherlv_6= RightCurlyBracket ) ;
2010 public final EObject ruleExternAggregatorDefinition() throws RecognitionException {
2011 EObject current = null;
2012
2013 Token otherlv_0=null;
2014 Token otherlv_3=null;
2015 Token otherlv_5=null;
2016 Token otherlv_6=null;
2017 AntlrDatatypeRuleToken lv_name_2_0 = null;
2018
2019
2020
2021 enterRule();
2022
2023 try {
2024 // InternalSolverLanguageParser.g:835:2: ( (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= LeftCurlyBracket ( ( ruleQualifiedName ) ) otherlv_5= FullStopFullStopFullStop otherlv_6= RightCurlyBracket ) )
2025 // InternalSolverLanguageParser.g:836:2: (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= LeftCurlyBracket ( ( ruleQualifiedName ) ) otherlv_5= FullStopFullStopFullStop otherlv_6= RightCurlyBracket )
2026 {
2027 // InternalSolverLanguageParser.g:836:2: (otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= LeftCurlyBracket ( ( ruleQualifiedName ) ) otherlv_5= FullStopFullStopFullStop otherlv_6= RightCurlyBracket )
2028 // InternalSolverLanguageParser.g:837:3: otherlv_0= Extern ( ( ruleQualifiedName ) ) ( (lv_name_2_0= ruleQualifiedName ) ) otherlv_3= LeftCurlyBracket ( ( ruleQualifiedName ) ) otherlv_5= FullStopFullStopFullStop otherlv_6= RightCurlyBracket
2029 {
2030 otherlv_0=(Token)match(input,Extern,FOLLOW_8);
2031
2032 newLeafNode(otherlv_0, grammarAccess.getExternAggregatorDefinitionAccess().getExternKeyword_0());
1714 2033
1715 // InternalSolverLanguageParser.g:690:3: ( (lv_body_3_0= ruleExpression ) ) 2034 // InternalSolverLanguageParser.g:841:3: ( ( ruleQualifiedName ) )
1716 // InternalSolverLanguageParser.g:691:4: (lv_body_3_0= ruleExpression ) 2035 // InternalSolverLanguageParser.g:842:4: ( ruleQualifiedName )
1717 { 2036 {
1718 // InternalSolverLanguageParser.g:691:4: (lv_body_3_0= ruleExpression ) 2037 // InternalSolverLanguageParser.g:842:4: ( ruleQualifiedName )
1719 // InternalSolverLanguageParser.g:692:5: lv_body_3_0= ruleExpression 2038 // InternalSolverLanguageParser.g:843:5: ruleQualifiedName
1720 { 2039 {
1721 2040
1722 newCompositeNode(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0()); 2041 if (current==null) {
2042 current = createModelElement(grammarAccess.getExternAggregatorDefinitionRule());
2043 }
1723 2044
1724 pushFollow(FOLLOW_2); 2045
1725 lv_body_3_0=ruleExpression(); 2046 newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getTypeNamedElementCrossReference_1_0());
2047
2048 pushFollow(FOLLOW_8);
2049 ruleQualifiedName();
2050
2051 state._fsp--;
2052
2053
2054 afterParserOrEnumRuleCall();
2055
2056
2057 }
2058
2059
2060 }
2061
2062 // InternalSolverLanguageParser.g:857:3: ( (lv_name_2_0= ruleQualifiedName ) )
2063 // InternalSolverLanguageParser.g:858:4: (lv_name_2_0= ruleQualifiedName )
2064 {
2065 // InternalSolverLanguageParser.g:858:4: (lv_name_2_0= ruleQualifiedName )
2066 // InternalSolverLanguageParser.g:859:5: lv_name_2_0= ruleQualifiedName
2067 {
2068
2069 newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0());
2070
2071 pushFollow(FOLLOW_14);
2072 lv_name_2_0=ruleQualifiedName();
1726 2073
1727 state._fsp--; 2074 state._fsp--;
1728 2075
1729 2076
1730 if (current==null) { 2077 if (current==null) {
1731 current = createModelElementForParent(grammarAccess.getMetricDefinitionRule()); 2078 current = createModelElementForParent(grammarAccess.getExternAggregatorDefinitionRule());
1732 } 2079 }
1733 set( 2080 set(
1734 current, 2081 current,
1735 "body", 2082 "name",
1736 lv_body_3_0, 2083 lv_name_2_0,
1737 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 2084 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
1738 afterParserOrEnumRuleCall(); 2085 afterParserOrEnumRuleCall();
1739 2086
1740 2087
@@ -1743,6 +2090,46 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1743 2090
1744 } 2091 }
1745 2092
2093 otherlv_3=(Token)match(input,LeftCurlyBracket,FOLLOW_8);
2094
2095 newLeafNode(otherlv_3, grammarAccess.getExternAggregatorDefinitionAccess().getLeftCurlyBracketKeyword_3());
2096
2097 // InternalSolverLanguageParser.g:880:3: ( ( ruleQualifiedName ) )
2098 // InternalSolverLanguageParser.g:881:4: ( ruleQualifiedName )
2099 {
2100 // InternalSolverLanguageParser.g:881:4: ( ruleQualifiedName )
2101 // InternalSolverLanguageParser.g:882:5: ruleQualifiedName
2102 {
2103
2104 if (current==null) {
2105 current = createModelElement(grammarAccess.getExternAggregatorDefinitionRule());
2106 }
2107
2108
2109 newCompositeNode(grammarAccess.getExternAggregatorDefinitionAccess().getInputTypeNamedElementCrossReference_4_0());
2110
2111 pushFollow(FOLLOW_15);
2112 ruleQualifiedName();
2113
2114 state._fsp--;
2115
2116
2117 afterParserOrEnumRuleCall();
2118
2119
2120 }
2121
2122
2123 }
2124
2125 otherlv_5=(Token)match(input,FullStopFullStopFullStop,FOLLOW_16);
2126
2127 newLeafNode(otherlv_5, grammarAccess.getExternAggregatorDefinitionAccess().getFullStopFullStopFullStopKeyword_5());
2128
2129 otherlv_6=(Token)match(input,RightCurlyBracket,FOLLOW_2);
2130
2131 newLeafNode(otherlv_6, grammarAccess.getExternAggregatorDefinitionAccess().getRightCurlyBracketKeyword_6());
2132
1746 2133
1747 } 2134 }
1748 2135
@@ -1762,28 +2149,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1762 } 2149 }
1763 return current; 2150 return current;
1764 } 2151 }
1765 // $ANTLR end "ruleMetricDefinition" 2152 // $ANTLR end "ruleExternAggregatorDefinition"
1766 2153
1767 2154
1768 // $ANTLR start "entryRuleExternMetricDefinition" 2155 // $ANTLR start "entryRuleExternDatatypeDefinition"
1769 // InternalSolverLanguageParser.g:713:1: entryRuleExternMetricDefinition returns [EObject current=null] : iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF ; 2156 // InternalSolverLanguageParser.g:908:1: entryRuleExternDatatypeDefinition returns [EObject current=null] : iv_ruleExternDatatypeDefinition= ruleExternDatatypeDefinition EOF ;
1770 public final EObject entryRuleExternMetricDefinition() throws RecognitionException { 2157 public final EObject entryRuleExternDatatypeDefinition() throws RecognitionException {
1771 EObject current = null; 2158 EObject current = null;
1772 2159
1773 EObject iv_ruleExternMetricDefinition = null; 2160 EObject iv_ruleExternDatatypeDefinition = null;
1774 2161
1775 2162
1776 try { 2163 try {
1777 // InternalSolverLanguageParser.g:713:63: (iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF ) 2164 // InternalSolverLanguageParser.g:908:65: (iv_ruleExternDatatypeDefinition= ruleExternDatatypeDefinition EOF )
1778 // InternalSolverLanguageParser.g:714:2: iv_ruleExternMetricDefinition= ruleExternMetricDefinition EOF 2165 // InternalSolverLanguageParser.g:909:2: iv_ruleExternDatatypeDefinition= ruleExternDatatypeDefinition EOF
1779 { 2166 {
1780 newCompositeNode(grammarAccess.getExternMetricDefinitionRule()); 2167 newCompositeNode(grammarAccess.getExternDatatypeDefinitionRule());
1781 pushFollow(FOLLOW_1); 2168 pushFollow(FOLLOW_1);
1782 iv_ruleExternMetricDefinition=ruleExternMetricDefinition(); 2169 iv_ruleExternDatatypeDefinition=ruleExternDatatypeDefinition();
1783 2170
1784 state._fsp--; 2171 state._fsp--;
1785 2172
1786 current =iv_ruleExternMetricDefinition; 2173 current =iv_ruleExternDatatypeDefinition;
1787 match(input,EOF,FOLLOW_2); 2174 match(input,EOF,FOLLOW_2);
1788 2175
1789 } 2176 }
@@ -1798,57 +2185,62 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1798 } 2185 }
1799 return current; 2186 return current;
1800 } 2187 }
1801 // $ANTLR end "entryRuleExternMetricDefinition" 2188 // $ANTLR end "entryRuleExternDatatypeDefinition"
1802 2189
1803 2190
1804 // $ANTLR start "ruleExternMetricDefinition" 2191 // $ANTLR start "ruleExternDatatypeDefinition"
1805 // InternalSolverLanguageParser.g:720:1: ruleExternMetricDefinition returns [EObject current=null] : (otherlv_0= Extern ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) ) ; 2192 // InternalSolverLanguageParser.g:915:1: ruleExternDatatypeDefinition returns [EObject current=null] : (otherlv_0= Extern otherlv_1= Datatype ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* ) ) ;
1806 public final EObject ruleExternMetricDefinition() throws RecognitionException { 2193 public final EObject ruleExternDatatypeDefinition() throws RecognitionException {
1807 EObject current = null; 2194 EObject current = null;
1808 2195
1809 Token otherlv_0=null; 2196 Token otherlv_0=null;
1810 Enumerator lv_type_1_0 = null; 2197 Token otherlv_1=null;
1811 2198 Token otherlv_3=null;
1812 EObject lv_head_2_0 = null; 2199 Token otherlv_5=null;
2200 AntlrDatatypeRuleToken lv_name_2_0 = null;
1813 2201
1814 2202
1815 2203
1816 enterRule(); 2204 enterRule();
1817 2205
1818 try { 2206 try {
1819 // InternalSolverLanguageParser.g:726:2: ( (otherlv_0= Extern ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) ) ) 2207 // InternalSolverLanguageParser.g:921:2: ( (otherlv_0= Extern otherlv_1= Datatype ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* ) ) )
1820 // InternalSolverLanguageParser.g:727:2: (otherlv_0= Extern ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) ) 2208 // InternalSolverLanguageParser.g:922:2: (otherlv_0= Extern otherlv_1= Datatype ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* ) )
1821 { 2209 {
1822 // InternalSolverLanguageParser.g:727:2: (otherlv_0= Extern ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) ) 2210 // InternalSolverLanguageParser.g:922:2: (otherlv_0= Extern otherlv_1= Datatype ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* ) )
1823 // InternalSolverLanguageParser.g:728:3: otherlv_0= Extern ( (lv_type_1_0= ruleMetricType ) ) ( (lv_head_2_0= ruleCall ) ) 2211 // InternalSolverLanguageParser.g:923:3: otherlv_0= Extern otherlv_1= Datatype ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )
1824 { 2212 {
1825 otherlv_0=(Token)match(input,Extern,FOLLOW_14); 2213 otherlv_0=(Token)match(input,Extern,FOLLOW_17);
1826 2214
1827 newLeafNode(otherlv_0, grammarAccess.getExternMetricDefinitionAccess().getExternKeyword_0()); 2215 newLeafNode(otherlv_0, grammarAccess.getExternDatatypeDefinitionAccess().getExternKeyword_0());
2216
2217 otherlv_1=(Token)match(input,Datatype,FOLLOW_8);
2218
2219 newLeafNode(otherlv_1, grammarAccess.getExternDatatypeDefinitionAccess().getDatatypeKeyword_1());
1828 2220
1829 // InternalSolverLanguageParser.g:732:3: ( (lv_type_1_0= ruleMetricType ) ) 2221 // InternalSolverLanguageParser.g:931:3: ( (lv_name_2_0= ruleQualifiedName ) )
1830 // InternalSolverLanguageParser.g:733:4: (lv_type_1_0= ruleMetricType ) 2222 // InternalSolverLanguageParser.g:932:4: (lv_name_2_0= ruleQualifiedName )
1831 { 2223 {
1832 // InternalSolverLanguageParser.g:733:4: (lv_type_1_0= ruleMetricType ) 2224 // InternalSolverLanguageParser.g:932:4: (lv_name_2_0= ruleQualifiedName )
1833 // InternalSolverLanguageParser.g:734:5: lv_type_1_0= ruleMetricType 2225 // InternalSolverLanguageParser.g:933:5: lv_name_2_0= ruleQualifiedName
1834 { 2226 {
1835 2227
1836 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_1_0()); 2228 newCompositeNode(grammarAccess.getExternDatatypeDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0());
1837 2229
1838 pushFollow(FOLLOW_8); 2230 pushFollow(FOLLOW_18);
1839 lv_type_1_0=ruleMetricType(); 2231 lv_name_2_0=ruleQualifiedName();
1840 2232
1841 state._fsp--; 2233 state._fsp--;
1842 2234
1843 2235
1844 if (current==null) { 2236 if (current==null) {
1845 current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); 2237 current = createModelElementForParent(grammarAccess.getExternDatatypeDefinitionRule());
1846 } 2238 }
1847 set( 2239 set(
1848 current, 2240 current,
1849 "type", 2241 "name",
1850 lv_type_1_0, 2242 lv_name_2_0,
1851 "org.eclipse.viatra.solver.language.SolverLanguage.MetricType"); 2243 "org.eclipse.viatra.solver.language.SolverLanguage.QualifiedName");
1852 afterParserOrEnumRuleCall(); 2244 afterParserOrEnumRuleCall();
1853 2245
1854 2246
@@ -1857,30 +2249,240 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1857 2249
1858 } 2250 }
1859 2251
1860 // InternalSolverLanguageParser.g:751:3: ( (lv_head_2_0= ruleCall ) ) 2252 // InternalSolverLanguageParser.g:950:3: (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )
1861 // InternalSolverLanguageParser.g:752:4: (lv_head_2_0= ruleCall ) 2253 // InternalSolverLanguageParser.g:951:4: otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )*
1862 { 2254 {
1863 // InternalSolverLanguageParser.g:752:4: (lv_head_2_0= ruleCall ) 2255 otherlv_3=(Token)match(input,Extends,FOLLOW_8);
1864 // InternalSolverLanguageParser.g:753:5: lv_head_2_0= ruleCall 2256
2257 newLeafNode(otherlv_3, grammarAccess.getExternDatatypeDefinitionAccess().getExtendsKeyword_3_0());
2258
2259 // InternalSolverLanguageParser.g:955:4: ( ( ruleQualifiedName ) )
2260 // InternalSolverLanguageParser.g:956:5: ( ruleQualifiedName )
2261 {
2262 // InternalSolverLanguageParser.g:956:5: ( ruleQualifiedName )
2263 // InternalSolverLanguageParser.g:957:6: ruleQualifiedName
1865 { 2264 {
1866 2265
1867 newCompositeNode(grammarAccess.getExternMetricDefinitionAccess().getHeadCallParserRuleCall_2_0()); 2266 if (current==null) {
1868 2267 current = createModelElement(grammarAccess.getExternDatatypeDefinitionRule());
1869 pushFollow(FOLLOW_2); 2268 }
1870 lv_head_2_0=ruleCall(); 2269
2270
2271 newCompositeNode(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementCrossReference_3_1_0());
2272
2273 pushFollow(FOLLOW_19);
2274 ruleQualifiedName();
2275
2276 state._fsp--;
2277
2278
2279 afterParserOrEnumRuleCall();
2280
2281
2282 }
2283
2284
2285 }
2286
2287 // InternalSolverLanguageParser.g:971:4: (otherlv_5= Comma ( ( ruleQualifiedName ) ) )*
2288 loop7:
2289 do {
2290 int alt7=2;
2291 int LA7_0 = input.LA(1);
2292
2293 if ( (LA7_0==Comma) ) {
2294 alt7=1;
2295 }
2296
2297
2298 switch (alt7) {
2299 case 1 :
2300 // InternalSolverLanguageParser.g:972:5: otherlv_5= Comma ( ( ruleQualifiedName ) )
2301 {
2302 otherlv_5=(Token)match(input,Comma,FOLLOW_8);
2303
2304 newLeafNode(otherlv_5, grammarAccess.getExternDatatypeDefinitionAccess().getCommaKeyword_3_2_0());
2305
2306 // InternalSolverLanguageParser.g:976:5: ( ( ruleQualifiedName ) )
2307 // InternalSolverLanguageParser.g:977:6: ( ruleQualifiedName )
2308 {
2309 // InternalSolverLanguageParser.g:977:6: ( ruleQualifiedName )
2310 // InternalSolverLanguageParser.g:978:7: ruleQualifiedName
2311 {
2312
2313 if (current==null) {
2314 current = createModelElement(grammarAccess.getExternDatatypeDefinitionRule());
2315 }
2316
2317
2318 newCompositeNode(grammarAccess.getExternDatatypeDefinitionAccess().getSupertypesNamedElementCrossReference_3_2_1_0());
2319
2320 pushFollow(FOLLOW_19);
2321 ruleQualifiedName();
2322
2323 state._fsp--;
2324
2325
2326 afterParserOrEnumRuleCall();
2327
2328
2329 }
2330
2331
2332 }
2333
2334
2335 }
2336 break;
2337
2338 default :
2339 break loop7;
2340 }
2341 } while (true);
2342
2343
2344 }
2345
2346
2347 }
2348
2349
2350 }
2351
2352
2353 leaveRule();
2354
2355 }
2356
2357 catch (RecognitionException re) {
2358 recover(input,re);
2359 appendSkippedTokens();
2360 }
2361 finally {
2362 }
2363 return current;
2364 }
2365 // $ANTLR end "ruleExternDatatypeDefinition"
2366
2367
2368 // $ANTLR start "entryRuleVariable"
2369 // InternalSolverLanguageParser.g:998:1: entryRuleVariable returns [EObject current=null] : iv_ruleVariable= ruleVariable EOF ;
2370 public final EObject entryRuleVariable() throws RecognitionException {
2371 EObject current = null;
2372
2373 EObject iv_ruleVariable = null;
2374
2375
2376 try {
2377 // InternalSolverLanguageParser.g:998:49: (iv_ruleVariable= ruleVariable EOF )
2378 // InternalSolverLanguageParser.g:999:2: iv_ruleVariable= ruleVariable EOF
2379 {
2380 newCompositeNode(grammarAccess.getVariableRule());
2381 pushFollow(FOLLOW_1);
2382 iv_ruleVariable=ruleVariable();
1871 2383
1872 state._fsp--; 2384 state._fsp--;
1873 2385
2386 current =iv_ruleVariable;
2387 match(input,EOF,FOLLOW_2);
2388
2389 }
2390
2391 }
2392
2393 catch (RecognitionException re) {
2394 recover(input,re);
2395 appendSkippedTokens();
2396 }
2397 finally {
2398 }
2399 return current;
2400 }
2401 // $ANTLR end "entryRuleVariable"
2402
2403
2404 // $ANTLR start "ruleVariable"
2405 // InternalSolverLanguageParser.g:1005:1: ruleVariable returns [EObject current=null] : ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) ) ) ;
2406 public final EObject ruleVariable() throws RecognitionException {
2407 EObject current = null;
2408
2409 Token lv_name_1_0=null;
2410
2411
2412 enterRule();
2413
2414 try {
2415 // InternalSolverLanguageParser.g:1011:2: ( ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) ) ) )
2416 // InternalSolverLanguageParser.g:1012:2: ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) ) )
2417 {
2418 // InternalSolverLanguageParser.g:1012:2: ( ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) ) )
2419 // InternalSolverLanguageParser.g:1013:3: ( ( ruleQualifiedName ) )? ( (lv_name_1_0= RULE_ID ) )
2420 {
2421 // InternalSolverLanguageParser.g:1013:3: ( ( ruleQualifiedName ) )?
2422 int alt8=2;
2423 int LA8_0 = input.LA(1);
2424
2425 if ( (LA8_0==RULE_ID) ) {
2426 int LA8_1 = input.LA(2);
2427
2428 if ( (LA8_1==FullStop||LA8_1==RULE_ID) ) {
2429 alt8=1;
2430 }
2431 }
2432 else if ( (LA8_0==RULE_QUOTED_ID) ) {
2433 alt8=1;
2434 }
2435 switch (alt8) {
2436 case 1 :
2437 // InternalSolverLanguageParser.g:1014:4: ( ruleQualifiedName )
2438 {
2439 // InternalSolverLanguageParser.g:1014:4: ( ruleQualifiedName )
2440 // InternalSolverLanguageParser.g:1015:5: ruleQualifiedName
2441 {
2442
2443 if (current==null) {
2444 current = createModelElement(grammarAccess.getVariableRule());
2445 }
2446
2447
2448 newCompositeNode(grammarAccess.getVariableAccess().getTypeNamedElementCrossReference_0_0());
2449
2450 pushFollow(FOLLOW_20);
2451 ruleQualifiedName();
2452
2453 state._fsp--;
2454
2455
2456 afterParserOrEnumRuleCall();
2457
2458
2459 }
2460
2461
2462 }
2463 break;
2464
2465 }
2466
2467 // InternalSolverLanguageParser.g:1029:3: ( (lv_name_1_0= RULE_ID ) )
2468 // InternalSolverLanguageParser.g:1030:4: (lv_name_1_0= RULE_ID )
2469 {
2470 // InternalSolverLanguageParser.g:1030:4: (lv_name_1_0= RULE_ID )
2471 // InternalSolverLanguageParser.g:1031:5: lv_name_1_0= RULE_ID
2472 {
2473 lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_2);
2474
2475 newLeafNode(lv_name_1_0, grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_1_0());
2476
1874 2477
1875 if (current==null) { 2478 if (current==null) {
1876 current = createModelElementForParent(grammarAccess.getExternMetricDefinitionRule()); 2479 current = createModelElement(grammarAccess.getVariableRule());
1877 } 2480 }
1878 set( 2481 setWithLastConsumed(
1879 current, 2482 current,
1880 "head", 2483 "name",
1881 lv_head_2_0, 2484 lv_name_1_0,
1882 "org.eclipse.viatra.solver.language.SolverLanguage.Call"); 2485 "org.eclipse.xtext.common.Terminals.ID");
1883 afterParserOrEnumRuleCall();
1884 2486
1885 2487
1886 } 2488 }
@@ -1907,11 +2509,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1907 } 2509 }
1908 return current; 2510 return current;
1909 } 2511 }
1910 // $ANTLR end "ruleExternMetricDefinition" 2512 // $ANTLR end "ruleVariable"
1911 2513
1912 2514
1913 // $ANTLR start "entryRuleExpression" 2515 // $ANTLR start "entryRuleExpression"
1914 // InternalSolverLanguageParser.g:774:1: entryRuleExpression returns [EObject current=null] : iv_ruleExpression= ruleExpression EOF ; 2516 // InternalSolverLanguageParser.g:1051:1: entryRuleExpression returns [EObject current=null] : iv_ruleExpression= ruleExpression EOF ;
1915 public final EObject entryRuleExpression() throws RecognitionException { 2517 public final EObject entryRuleExpression() throws RecognitionException {
1916 EObject current = null; 2518 EObject current = null;
1917 2519
@@ -1919,8 +2521,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1919 2521
1920 2522
1921 try { 2523 try {
1922 // InternalSolverLanguageParser.g:774:51: (iv_ruleExpression= ruleExpression EOF ) 2524 // InternalSolverLanguageParser.g:1051:51: (iv_ruleExpression= ruleExpression EOF )
1923 // InternalSolverLanguageParser.g:775:2: iv_ruleExpression= ruleExpression EOF 2525 // InternalSolverLanguageParser.g:1052:2: iv_ruleExpression= ruleExpression EOF
1924 { 2526 {
1925 newCompositeNode(grammarAccess.getExpressionRule()); 2527 newCompositeNode(grammarAccess.getExpressionRule());
1926 pushFollow(FOLLOW_1); 2528 pushFollow(FOLLOW_1);
@@ -1947,41 +2549,72 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1947 2549
1948 2550
1949 // $ANTLR start "ruleExpression" 2551 // $ANTLR start "ruleExpression"
1950 // InternalSolverLanguageParser.g:781:1: ruleExpression returns [EObject current=null] : (this_IfElse_0= ruleIfElse | this_DisjunctiveExpression_1= ruleDisjunctiveExpression ) ; 2552 // InternalSolverLanguageParser.g:1058:1: ruleExpression returns [EObject current=null] : (this_IfElse_0= ruleIfElse | this_Let_1= ruleLet | this_ImplicationExpression_2= ruleImplicationExpression ) ;
1951 public final EObject ruleExpression() throws RecognitionException { 2553 public final EObject ruleExpression() throws RecognitionException {
1952 EObject current = null; 2554 EObject current = null;
1953 2555
1954 EObject this_IfElse_0 = null; 2556 EObject this_IfElse_0 = null;
1955 2557
1956 EObject this_DisjunctiveExpression_1 = null; 2558 EObject this_Let_1 = null;
2559
2560 EObject this_ImplicationExpression_2 = null;
1957 2561
1958 2562
1959 2563
1960 enterRule(); 2564 enterRule();
1961 2565
1962 try { 2566 try {
1963 // InternalSolverLanguageParser.g:787:2: ( (this_IfElse_0= ruleIfElse | this_DisjunctiveExpression_1= ruleDisjunctiveExpression ) ) 2567 // InternalSolverLanguageParser.g:1064:2: ( (this_IfElse_0= ruleIfElse | this_Let_1= ruleLet | this_ImplicationExpression_2= ruleImplicationExpression ) )
1964 // InternalSolverLanguageParser.g:788:2: (this_IfElse_0= ruleIfElse | this_DisjunctiveExpression_1= ruleDisjunctiveExpression ) 2568 // InternalSolverLanguageParser.g:1065:2: (this_IfElse_0= ruleIfElse | this_Let_1= ruleLet | this_ImplicationExpression_2= ruleImplicationExpression )
1965 { 2569 {
1966 // InternalSolverLanguageParser.g:788:2: (this_IfElse_0= ruleIfElse | this_DisjunctiveExpression_1= ruleDisjunctiveExpression ) 2570 // InternalSolverLanguageParser.g:1065:2: (this_IfElse_0= ruleIfElse | this_Let_1= ruleLet | this_ImplicationExpression_2= ruleImplicationExpression )
1967 int alt8=2; 2571 int alt9=3;
1968 int LA8_0 = input.LA(1); 2572 switch ( input.LA(1) ) {
1969 2573 case If:
1970 if ( (LA8_0==If) ) { 2574 {
1971 alt8=1; 2575 alt9=1;
1972 } 2576 }
1973 else if ( (LA8_0==Current||LA8_0==Unknown||(LA8_0>=Count && LA8_0<=False)||(LA8_0>=Must && LA8_0<=Prod)||LA8_0==True||(LA8_0>=Avg && LA8_0<=Inf)||(LA8_0>=Max && LA8_0<=Sum)||(LA8_0>=ExclamationMark && LA8_0<=LeftParenthesis)||LA8_0==PlusSign||LA8_0==HyphenMinus||LA8_0==LeftSquareBracket||(LA8_0>=RULE_STRING && LA8_0<=RULE_QUOTED_ID)||(LA8_0>=RULE_ID && LA8_0<=RULE_INT)) ) { 2577 break;
1974 alt8=2; 2578 case Let:
1975 } 2579 {
1976 else { 2580 alt9=2;
2581 }
2582 break;
2583 case Current:
2584 case Unknown:
2585 case Exists:
2586 case Forall:
2587 case Count:
2588 case Empty:
2589 case Error:
2590 case False:
2591 case Must:
2592 case True:
2593 case Inf:
2594 case May:
2595 case ExclamationMark:
2596 case LeftParenthesis:
2597 case PlusSign:
2598 case HyphenMinus:
2599 case LeftSquareBracket:
2600 case RULE_STRING:
2601 case RULE_QUOTED_ID:
2602 case RULE_ID:
2603 case RULE_INT:
2604 {
2605 alt9=3;
2606 }
2607 break;
2608 default:
1977 NoViableAltException nvae = 2609 NoViableAltException nvae =
1978 new NoViableAltException("", 8, 0, input); 2610 new NoViableAltException("", 9, 0, input);
1979 2611
1980 throw nvae; 2612 throw nvae;
1981 } 2613 }
1982 switch (alt8) { 2614
2615 switch (alt9) {
1983 case 1 : 2616 case 1 :
1984 // InternalSolverLanguageParser.g:789:3: this_IfElse_0= ruleIfElse 2617 // InternalSolverLanguageParser.g:1066:3: this_IfElse_0= ruleIfElse
1985 { 2618 {
1986 2619
1987 newCompositeNode(grammarAccess.getExpressionAccess().getIfElseParserRuleCall_0()); 2620 newCompositeNode(grammarAccess.getExpressionAccess().getIfElseParserRuleCall_0());
@@ -1999,18 +2632,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
1999 } 2632 }
2000 break; 2633 break;
2001 case 2 : 2634 case 2 :
2002 // InternalSolverLanguageParser.g:798:3: this_DisjunctiveExpression_1= ruleDisjunctiveExpression 2635 // InternalSolverLanguageParser.g:1075:3: this_Let_1= ruleLet
2636 {
2637
2638 newCompositeNode(grammarAccess.getExpressionAccess().getLetParserRuleCall_1());
2639
2640 pushFollow(FOLLOW_2);
2641 this_Let_1=ruleLet();
2642
2643 state._fsp--;
2644
2645
2646 current = this_Let_1;
2647 afterParserOrEnumRuleCall();
2648
2649
2650 }
2651 break;
2652 case 3 :
2653 // InternalSolverLanguageParser.g:1084:3: this_ImplicationExpression_2= ruleImplicationExpression
2003 { 2654 {
2004 2655
2005 newCompositeNode(grammarAccess.getExpressionAccess().getDisjunctiveExpressionParserRuleCall_1()); 2656 newCompositeNode(grammarAccess.getExpressionAccess().getImplicationExpressionParserRuleCall_2());
2006 2657
2007 pushFollow(FOLLOW_2); 2658 pushFollow(FOLLOW_2);
2008 this_DisjunctiveExpression_1=ruleDisjunctiveExpression(); 2659 this_ImplicationExpression_2=ruleImplicationExpression();
2009 2660
2010 state._fsp--; 2661 state._fsp--;
2011 2662
2012 2663
2013 current = this_DisjunctiveExpression_1; 2664 current = this_ImplicationExpression_2;
2014 afterParserOrEnumRuleCall(); 2665 afterParserOrEnumRuleCall();
2015 2666
2016 2667
@@ -2039,7 +2690,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2039 2690
2040 2691
2041 // $ANTLR start "entryRuleIfElse" 2692 // $ANTLR start "entryRuleIfElse"
2042 // InternalSolverLanguageParser.g:810:1: entryRuleIfElse returns [EObject current=null] : iv_ruleIfElse= ruleIfElse EOF ; 2693 // InternalSolverLanguageParser.g:1096:1: entryRuleIfElse returns [EObject current=null] : iv_ruleIfElse= ruleIfElse EOF ;
2043 public final EObject entryRuleIfElse() throws RecognitionException { 2694 public final EObject entryRuleIfElse() throws RecognitionException {
2044 EObject current = null; 2695 EObject current = null;
2045 2696
@@ -2047,8 +2698,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2047 2698
2048 2699
2049 try { 2700 try {
2050 // InternalSolverLanguageParser.g:810:47: (iv_ruleIfElse= ruleIfElse EOF ) 2701 // InternalSolverLanguageParser.g:1096:47: (iv_ruleIfElse= ruleIfElse EOF )
2051 // InternalSolverLanguageParser.g:811:2: iv_ruleIfElse= ruleIfElse EOF 2702 // InternalSolverLanguageParser.g:1097:2: iv_ruleIfElse= ruleIfElse EOF
2052 { 2703 {
2053 newCompositeNode(grammarAccess.getIfElseRule()); 2704 newCompositeNode(grammarAccess.getIfElseRule());
2054 pushFollow(FOLLOW_1); 2705 pushFollow(FOLLOW_1);
@@ -2075,7 +2726,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2075 2726
2076 2727
2077 // $ANTLR start "ruleIfElse" 2728 // $ANTLR start "ruleIfElse"
2078 // InternalSolverLanguageParser.g:817:1: ruleIfElse returns [EObject current=null] : (otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) ) ; 2729 // InternalSolverLanguageParser.g:1103:1: ruleIfElse returns [EObject current=null] : (otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) ) ;
2079 public final EObject ruleIfElse() throws RecognitionException { 2730 public final EObject ruleIfElse() throws RecognitionException {
2080 EObject current = null; 2731 EObject current = null;
2081 2732
@@ -2093,26 +2744,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2093 enterRule(); 2744 enterRule();
2094 2745
2095 try { 2746 try {
2096 // InternalSolverLanguageParser.g:823:2: ( (otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) ) ) 2747 // InternalSolverLanguageParser.g:1109:2: ( (otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) ) )
2097 // InternalSolverLanguageParser.g:824:2: (otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) ) 2748 // InternalSolverLanguageParser.g:1110:2: (otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) )
2098 { 2749 {
2099 // InternalSolverLanguageParser.g:824:2: (otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) ) 2750 // InternalSolverLanguageParser.g:1110:2: (otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) )
2100 // InternalSolverLanguageParser.g:825:3: otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) ) 2751 // InternalSolverLanguageParser.g:1111:3: otherlv_0= If ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= Then ( (lv_then_3_0= ruleExpression ) ) otherlv_4= Else ( (lv_else_5_0= ruleExpression ) )
2101 { 2752 {
2102 otherlv_0=(Token)match(input,If,FOLLOW_6); 2753 otherlv_0=(Token)match(input,If,FOLLOW_6);
2103 2754
2104 newLeafNode(otherlv_0, grammarAccess.getIfElseAccess().getIfKeyword_0()); 2755 newLeafNode(otherlv_0, grammarAccess.getIfElseAccess().getIfKeyword_0());
2105 2756
2106 // InternalSolverLanguageParser.g:829:3: ( (lv_condition_1_0= ruleExpression ) ) 2757 // InternalSolverLanguageParser.g:1115:3: ( (lv_condition_1_0= ruleExpression ) )
2107 // InternalSolverLanguageParser.g:830:4: (lv_condition_1_0= ruleExpression ) 2758 // InternalSolverLanguageParser.g:1116:4: (lv_condition_1_0= ruleExpression )
2108 { 2759 {
2109 // InternalSolverLanguageParser.g:830:4: (lv_condition_1_0= ruleExpression ) 2760 // InternalSolverLanguageParser.g:1116:4: (lv_condition_1_0= ruleExpression )
2110 // InternalSolverLanguageParser.g:831:5: lv_condition_1_0= ruleExpression 2761 // InternalSolverLanguageParser.g:1117:5: lv_condition_1_0= ruleExpression
2111 { 2762 {
2112 2763
2113 newCompositeNode(grammarAccess.getIfElseAccess().getConditionExpressionParserRuleCall_1_0()); 2764 newCompositeNode(grammarAccess.getIfElseAccess().getConditionExpressionParserRuleCall_1_0());
2114 2765
2115 pushFollow(FOLLOW_15); 2766 pushFollow(FOLLOW_21);
2116 lv_condition_1_0=ruleExpression(); 2767 lv_condition_1_0=ruleExpression();
2117 2768
2118 state._fsp--; 2769 state._fsp--;
@@ -2138,16 +2789,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2138 2789
2139 newLeafNode(otherlv_2, grammarAccess.getIfElseAccess().getThenKeyword_2()); 2790 newLeafNode(otherlv_2, grammarAccess.getIfElseAccess().getThenKeyword_2());
2140 2791
2141 // InternalSolverLanguageParser.g:852:3: ( (lv_then_3_0= ruleExpression ) ) 2792 // InternalSolverLanguageParser.g:1138:3: ( (lv_then_3_0= ruleExpression ) )
2142 // InternalSolverLanguageParser.g:853:4: (lv_then_3_0= ruleExpression ) 2793 // InternalSolverLanguageParser.g:1139:4: (lv_then_3_0= ruleExpression )
2143 { 2794 {
2144 // InternalSolverLanguageParser.g:853:4: (lv_then_3_0= ruleExpression ) 2795 // InternalSolverLanguageParser.g:1139:4: (lv_then_3_0= ruleExpression )
2145 // InternalSolverLanguageParser.g:854:5: lv_then_3_0= ruleExpression 2796 // InternalSolverLanguageParser.g:1140:5: lv_then_3_0= ruleExpression
2146 { 2797 {
2147 2798
2148 newCompositeNode(grammarAccess.getIfElseAccess().getThenExpressionParserRuleCall_3_0()); 2799 newCompositeNode(grammarAccess.getIfElseAccess().getThenExpressionParserRuleCall_3_0());
2149 2800
2150 pushFollow(FOLLOW_16); 2801 pushFollow(FOLLOW_22);
2151 lv_then_3_0=ruleExpression(); 2802 lv_then_3_0=ruleExpression();
2152 2803
2153 state._fsp--; 2804 state._fsp--;
@@ -2173,11 +2824,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2173 2824
2174 newLeafNode(otherlv_4, grammarAccess.getIfElseAccess().getElseKeyword_4()); 2825 newLeafNode(otherlv_4, grammarAccess.getIfElseAccess().getElseKeyword_4());
2175 2826
2176 // InternalSolverLanguageParser.g:875:3: ( (lv_else_5_0= ruleExpression ) ) 2827 // InternalSolverLanguageParser.g:1161:3: ( (lv_else_5_0= ruleExpression ) )
2177 // InternalSolverLanguageParser.g:876:4: (lv_else_5_0= ruleExpression ) 2828 // InternalSolverLanguageParser.g:1162:4: (lv_else_5_0= ruleExpression )
2178 { 2829 {
2179 // InternalSolverLanguageParser.g:876:4: (lv_else_5_0= ruleExpression ) 2830 // InternalSolverLanguageParser.g:1162:4: (lv_else_5_0= ruleExpression )
2180 // InternalSolverLanguageParser.g:877:5: lv_else_5_0= ruleExpression 2831 // InternalSolverLanguageParser.g:1163:5: lv_else_5_0= ruleExpression
2181 { 2832 {
2182 2833
2183 newCompositeNode(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0()); 2834 newCompositeNode(grammarAccess.getIfElseAccess().getElseExpressionParserRuleCall_5_0());
@@ -2226,8 +2877,547 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2226 // $ANTLR end "ruleIfElse" 2877 // $ANTLR end "ruleIfElse"
2227 2878
2228 2879
2880 // $ANTLR start "entryRuleLet"
2881 // InternalSolverLanguageParser.g:1184:1: entryRuleLet returns [EObject current=null] : iv_ruleLet= ruleLet EOF ;
2882 public final EObject entryRuleLet() throws RecognitionException {
2883 EObject current = null;
2884
2885 EObject iv_ruleLet = null;
2886
2887
2888 try {
2889 // InternalSolverLanguageParser.g:1184:44: (iv_ruleLet= ruleLet EOF )
2890 // InternalSolverLanguageParser.g:1185:2: iv_ruleLet= ruleLet EOF
2891 {
2892 newCompositeNode(grammarAccess.getLetRule());
2893 pushFollow(FOLLOW_1);
2894 iv_ruleLet=ruleLet();
2895
2896 state._fsp--;
2897
2898 current =iv_ruleLet;
2899 match(input,EOF,FOLLOW_2);
2900
2901 }
2902
2903 }
2904
2905 catch (RecognitionException re) {
2906 recover(input,re);
2907 appendSkippedTokens();
2908 }
2909 finally {
2910 }
2911 return current;
2912 }
2913 // $ANTLR end "entryRuleLet"
2914
2915
2916 // $ANTLR start "ruleLet"
2917 // InternalSolverLanguageParser.g:1191:1: ruleLet returns [EObject current=null] : (otherlv_0= Let ( (lv_bindings_1_0= ruleLetBinding ) ) (otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) ) )* otherlv_4= In ( (lv_body_5_0= ruleExpression ) ) ) ;
2918 public final EObject ruleLet() throws RecognitionException {
2919 EObject current = null;
2920
2921 Token otherlv_0=null;
2922 Token otherlv_2=null;
2923 Token otherlv_4=null;
2924 EObject lv_bindings_1_0 = null;
2925
2926 EObject lv_bindings_3_0 = null;
2927
2928 EObject lv_body_5_0 = null;
2929
2930
2931
2932 enterRule();
2933
2934 try {
2935 // InternalSolverLanguageParser.g:1197:2: ( (otherlv_0= Let ( (lv_bindings_1_0= ruleLetBinding ) ) (otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) ) )* otherlv_4= In ( (lv_body_5_0= ruleExpression ) ) ) )
2936 // InternalSolverLanguageParser.g:1198:2: (otherlv_0= Let ( (lv_bindings_1_0= ruleLetBinding ) ) (otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) ) )* otherlv_4= In ( (lv_body_5_0= ruleExpression ) ) )
2937 {
2938 // InternalSolverLanguageParser.g:1198:2: (otherlv_0= Let ( (lv_bindings_1_0= ruleLetBinding ) ) (otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) ) )* otherlv_4= In ( (lv_body_5_0= ruleExpression ) ) )
2939 // InternalSolverLanguageParser.g:1199:3: otherlv_0= Let ( (lv_bindings_1_0= ruleLetBinding ) ) (otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) ) )* otherlv_4= In ( (lv_body_5_0= ruleExpression ) )
2940 {
2941 otherlv_0=(Token)match(input,Let,FOLLOW_8);
2942
2943 newLeafNode(otherlv_0, grammarAccess.getLetAccess().getLetKeyword_0());
2944
2945 // InternalSolverLanguageParser.g:1203:3: ( (lv_bindings_1_0= ruleLetBinding ) )
2946 // InternalSolverLanguageParser.g:1204:4: (lv_bindings_1_0= ruleLetBinding )
2947 {
2948 // InternalSolverLanguageParser.g:1204:4: (lv_bindings_1_0= ruleLetBinding )
2949 // InternalSolverLanguageParser.g:1205:5: lv_bindings_1_0= ruleLetBinding
2950 {
2951
2952 newCompositeNode(grammarAccess.getLetAccess().getBindingsLetBindingParserRuleCall_1_0());
2953
2954 pushFollow(FOLLOW_23);
2955 lv_bindings_1_0=ruleLetBinding();
2956
2957 state._fsp--;
2958
2959
2960 if (current==null) {
2961 current = createModelElementForParent(grammarAccess.getLetRule());
2962 }
2963 add(
2964 current,
2965 "bindings",
2966 lv_bindings_1_0,
2967 "org.eclipse.viatra.solver.language.SolverLanguage.LetBinding");
2968 afterParserOrEnumRuleCall();
2969
2970
2971 }
2972
2973
2974 }
2975
2976 // InternalSolverLanguageParser.g:1222:3: (otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) ) )*
2977 loop10:
2978 do {
2979 int alt10=2;
2980 int LA10_0 = input.LA(1);
2981
2982 if ( (LA10_0==Comma) ) {
2983 alt10=1;
2984 }
2985
2986
2987 switch (alt10) {
2988 case 1 :
2989 // InternalSolverLanguageParser.g:1223:4: otherlv_2= Comma ( (lv_bindings_3_0= ruleLetBinding ) )
2990 {
2991 otherlv_2=(Token)match(input,Comma,FOLLOW_8);
2992
2993 newLeafNode(otherlv_2, grammarAccess.getLetAccess().getCommaKeyword_2_0());
2994
2995 // InternalSolverLanguageParser.g:1227:4: ( (lv_bindings_3_0= ruleLetBinding ) )
2996 // InternalSolverLanguageParser.g:1228:5: (lv_bindings_3_0= ruleLetBinding )
2997 {
2998 // InternalSolverLanguageParser.g:1228:5: (lv_bindings_3_0= ruleLetBinding )
2999 // InternalSolverLanguageParser.g:1229:6: lv_bindings_3_0= ruleLetBinding
3000 {
3001
3002 newCompositeNode(grammarAccess.getLetAccess().getBindingsLetBindingParserRuleCall_2_1_0());
3003
3004 pushFollow(FOLLOW_23);
3005 lv_bindings_3_0=ruleLetBinding();
3006
3007 state._fsp--;
3008
3009
3010 if (current==null) {
3011 current = createModelElementForParent(grammarAccess.getLetRule());
3012 }
3013 add(
3014 current,
3015 "bindings",
3016 lv_bindings_3_0,
3017 "org.eclipse.viatra.solver.language.SolverLanguage.LetBinding");
3018 afterParserOrEnumRuleCall();
3019
3020
3021 }
3022
3023
3024 }
3025
3026
3027 }
3028 break;
3029
3030 default :
3031 break loop10;
3032 }
3033 } while (true);
3034
3035 otherlv_4=(Token)match(input,In,FOLLOW_6);
3036
3037 newLeafNode(otherlv_4, grammarAccess.getLetAccess().getInKeyword_3());
3038
3039 // InternalSolverLanguageParser.g:1251:3: ( (lv_body_5_0= ruleExpression ) )
3040 // InternalSolverLanguageParser.g:1252:4: (lv_body_5_0= ruleExpression )
3041 {
3042 // InternalSolverLanguageParser.g:1252:4: (lv_body_5_0= ruleExpression )
3043 // InternalSolverLanguageParser.g:1253:5: lv_body_5_0= ruleExpression
3044 {
3045
3046 newCompositeNode(grammarAccess.getLetAccess().getBodyExpressionParserRuleCall_4_0());
3047
3048 pushFollow(FOLLOW_2);
3049 lv_body_5_0=ruleExpression();
3050
3051 state._fsp--;
3052
3053
3054 if (current==null) {
3055 current = createModelElementForParent(grammarAccess.getLetRule());
3056 }
3057 set(
3058 current,
3059 "body",
3060 lv_body_5_0,
3061 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
3062 afterParserOrEnumRuleCall();
3063
3064
3065 }
3066
3067
3068 }
3069
3070
3071 }
3072
3073
3074 }
3075
3076
3077 leaveRule();
3078
3079 }
3080
3081 catch (RecognitionException re) {
3082 recover(input,re);
3083 appendSkippedTokens();
3084 }
3085 finally {
3086 }
3087 return current;
3088 }
3089 // $ANTLR end "ruleLet"
3090
3091
3092 // $ANTLR start "entryRuleLetBinding"
3093 // InternalSolverLanguageParser.g:1274:1: entryRuleLetBinding returns [EObject current=null] : iv_ruleLetBinding= ruleLetBinding EOF ;
3094 public final EObject entryRuleLetBinding() throws RecognitionException {
3095 EObject current = null;
3096
3097 EObject iv_ruleLetBinding = null;
3098
3099
3100 try {
3101 // InternalSolverLanguageParser.g:1274:51: (iv_ruleLetBinding= ruleLetBinding EOF )
3102 // InternalSolverLanguageParser.g:1275:2: iv_ruleLetBinding= ruleLetBinding EOF
3103 {
3104 newCompositeNode(grammarAccess.getLetBindingRule());
3105 pushFollow(FOLLOW_1);
3106 iv_ruleLetBinding=ruleLetBinding();
3107
3108 state._fsp--;
3109
3110 current =iv_ruleLetBinding;
3111 match(input,EOF,FOLLOW_2);
3112
3113 }
3114
3115 }
3116
3117 catch (RecognitionException re) {
3118 recover(input,re);
3119 appendSkippedTokens();
3120 }
3121 finally {
3122 }
3123 return current;
3124 }
3125 // $ANTLR end "entryRuleLetBinding"
3126
3127
3128 // $ANTLR start "ruleLetBinding"
3129 // InternalSolverLanguageParser.g:1281:1: ruleLetBinding returns [EObject current=null] : ( ( (lv_variable_0_0= ruleVariable ) ) otherlv_1= EqualsSign ( (lv_value_2_0= ruleAdditiveExpression ) ) ) ;
3130 public final EObject ruleLetBinding() throws RecognitionException {
3131 EObject current = null;
3132
3133 Token otherlv_1=null;
3134 EObject lv_variable_0_0 = null;
3135
3136 EObject lv_value_2_0 = null;
3137
3138
3139
3140 enterRule();
3141
3142 try {
3143 // InternalSolverLanguageParser.g:1287:2: ( ( ( (lv_variable_0_0= ruleVariable ) ) otherlv_1= EqualsSign ( (lv_value_2_0= ruleAdditiveExpression ) ) ) )
3144 // InternalSolverLanguageParser.g:1288:2: ( ( (lv_variable_0_0= ruleVariable ) ) otherlv_1= EqualsSign ( (lv_value_2_0= ruleAdditiveExpression ) ) )
3145 {
3146 // InternalSolverLanguageParser.g:1288:2: ( ( (lv_variable_0_0= ruleVariable ) ) otherlv_1= EqualsSign ( (lv_value_2_0= ruleAdditiveExpression ) ) )
3147 // InternalSolverLanguageParser.g:1289:3: ( (lv_variable_0_0= ruleVariable ) ) otherlv_1= EqualsSign ( (lv_value_2_0= ruleAdditiveExpression ) )
3148 {
3149 // InternalSolverLanguageParser.g:1289:3: ( (lv_variable_0_0= ruleVariable ) )
3150 // InternalSolverLanguageParser.g:1290:4: (lv_variable_0_0= ruleVariable )
3151 {
3152 // InternalSolverLanguageParser.g:1290:4: (lv_variable_0_0= ruleVariable )
3153 // InternalSolverLanguageParser.g:1291:5: lv_variable_0_0= ruleVariable
3154 {
3155
3156 newCompositeNode(grammarAccess.getLetBindingAccess().getVariableVariableParserRuleCall_0_0());
3157
3158 pushFollow(FOLLOW_13);
3159 lv_variable_0_0=ruleVariable();
3160
3161 state._fsp--;
3162
3163
3164 if (current==null) {
3165 current = createModelElementForParent(grammarAccess.getLetBindingRule());
3166 }
3167 set(
3168 current,
3169 "variable",
3170 lv_variable_0_0,
3171 "org.eclipse.viatra.solver.language.SolverLanguage.Variable");
3172 afterParserOrEnumRuleCall();
3173
3174
3175 }
3176
3177
3178 }
3179
3180 otherlv_1=(Token)match(input,EqualsSign,FOLLOW_6);
3181
3182 newLeafNode(otherlv_1, grammarAccess.getLetBindingAccess().getEqualsSignKeyword_1());
3183
3184 // InternalSolverLanguageParser.g:1312:3: ( (lv_value_2_0= ruleAdditiveExpression ) )
3185 // InternalSolverLanguageParser.g:1313:4: (lv_value_2_0= ruleAdditiveExpression )
3186 {
3187 // InternalSolverLanguageParser.g:1313:4: (lv_value_2_0= ruleAdditiveExpression )
3188 // InternalSolverLanguageParser.g:1314:5: lv_value_2_0= ruleAdditiveExpression
3189 {
3190
3191 newCompositeNode(grammarAccess.getLetBindingAccess().getValueAdditiveExpressionParserRuleCall_2_0());
3192
3193 pushFollow(FOLLOW_2);
3194 lv_value_2_0=ruleAdditiveExpression();
3195
3196 state._fsp--;
3197
3198
3199 if (current==null) {
3200 current = createModelElementForParent(grammarAccess.getLetBindingRule());
3201 }
3202 set(
3203 current,
3204 "value",
3205 lv_value_2_0,
3206 "org.eclipse.viatra.solver.language.SolverLanguage.AdditiveExpression");
3207 afterParserOrEnumRuleCall();
3208
3209
3210 }
3211
3212
3213 }
3214
3215
3216 }
3217
3218
3219 }
3220
3221
3222 leaveRule();
3223
3224 }
3225
3226 catch (RecognitionException re) {
3227 recover(input,re);
3228 appendSkippedTokens();
3229 }
3230 finally {
3231 }
3232 return current;
3233 }
3234 // $ANTLR end "ruleLetBinding"
3235
3236
3237 // $ANTLR start "entryRuleImplicationExpression"
3238 // InternalSolverLanguageParser.g:1335:1: entryRuleImplicationExpression returns [EObject current=null] : iv_ruleImplicationExpression= ruleImplicationExpression EOF ;
3239 public final EObject entryRuleImplicationExpression() throws RecognitionException {
3240 EObject current = null;
3241
3242 EObject iv_ruleImplicationExpression = null;
3243
3244
3245 try {
3246 // InternalSolverLanguageParser.g:1335:62: (iv_ruleImplicationExpression= ruleImplicationExpression EOF )
3247 // InternalSolverLanguageParser.g:1336:2: iv_ruleImplicationExpression= ruleImplicationExpression EOF
3248 {
3249 newCompositeNode(grammarAccess.getImplicationExpressionRule());
3250 pushFollow(FOLLOW_1);
3251 iv_ruleImplicationExpression=ruleImplicationExpression();
3252
3253 state._fsp--;
3254
3255 current =iv_ruleImplicationExpression;
3256 match(input,EOF,FOLLOW_2);
3257
3258 }
3259
3260 }
3261
3262 catch (RecognitionException re) {
3263 recover(input,re);
3264 appendSkippedTokens();
3265 }
3266 finally {
3267 }
3268 return current;
3269 }
3270 // $ANTLR end "entryRuleImplicationExpression"
3271
3272
3273 // $ANTLR start "ruleImplicationExpression"
3274 // InternalSolverLanguageParser.g:1342:1: ruleImplicationExpression returns [EObject current=null] : (this_DisjunctiveExpression_0= ruleDisjunctiveExpression ( () ( (lv_op_2_0= ruleImplicationOperator ) ) ( (lv_right_3_0= ruleImplicationExpression ) ) )? ) ;
3275 public final EObject ruleImplicationExpression() throws RecognitionException {
3276 EObject current = null;
3277
3278 EObject this_DisjunctiveExpression_0 = null;
3279
3280 Enumerator lv_op_2_0 = null;
3281
3282 EObject lv_right_3_0 = null;
3283
3284
3285
3286 enterRule();
3287
3288 try {
3289 // InternalSolverLanguageParser.g:1348:2: ( (this_DisjunctiveExpression_0= ruleDisjunctiveExpression ( () ( (lv_op_2_0= ruleImplicationOperator ) ) ( (lv_right_3_0= ruleImplicationExpression ) ) )? ) )
3290 // InternalSolverLanguageParser.g:1349:2: (this_DisjunctiveExpression_0= ruleDisjunctiveExpression ( () ( (lv_op_2_0= ruleImplicationOperator ) ) ( (lv_right_3_0= ruleImplicationExpression ) ) )? )
3291 {
3292 // InternalSolverLanguageParser.g:1349:2: (this_DisjunctiveExpression_0= ruleDisjunctiveExpression ( () ( (lv_op_2_0= ruleImplicationOperator ) ) ( (lv_right_3_0= ruleImplicationExpression ) ) )? )
3293 // InternalSolverLanguageParser.g:1350:3: this_DisjunctiveExpression_0= ruleDisjunctiveExpression ( () ( (lv_op_2_0= ruleImplicationOperator ) ) ( (lv_right_3_0= ruleImplicationExpression ) ) )?
3294 {
3295
3296 newCompositeNode(grammarAccess.getImplicationExpressionAccess().getDisjunctiveExpressionParserRuleCall_0());
3297
3298 pushFollow(FOLLOW_24);
3299 this_DisjunctiveExpression_0=ruleDisjunctiveExpression();
3300
3301 state._fsp--;
3302
3303
3304 current = this_DisjunctiveExpression_0;
3305 afterParserOrEnumRuleCall();
3306
3307 // InternalSolverLanguageParser.g:1358:3: ( () ( (lv_op_2_0= ruleImplicationOperator ) ) ( (lv_right_3_0= ruleImplicationExpression ) ) )?
3308 int alt11=2;
3309 int LA11_0 = input.LA(1);
3310
3311 if ( (LA11_0==EqualsSignGreaterThanSign) ) {
3312 alt11=1;
3313 }
3314 switch (alt11) {
3315 case 1 :
3316 // InternalSolverLanguageParser.g:1359:4: () ( (lv_op_2_0= ruleImplicationOperator ) ) ( (lv_right_3_0= ruleImplicationExpression ) )
3317 {
3318 // InternalSolverLanguageParser.g:1359:4: ()
3319 // InternalSolverLanguageParser.g:1360:5:
3320 {
3321
3322 current = forceCreateModelElementAndSet(
3323 grammarAccess.getImplicationExpressionAccess().getBinaryExpressionLeftAction_1_0(),
3324 current);
3325
3326
3327 }
3328
3329 // InternalSolverLanguageParser.g:1366:4: ( (lv_op_2_0= ruleImplicationOperator ) )
3330 // InternalSolverLanguageParser.g:1367:5: (lv_op_2_0= ruleImplicationOperator )
3331 {
3332 // InternalSolverLanguageParser.g:1367:5: (lv_op_2_0= ruleImplicationOperator )
3333 // InternalSolverLanguageParser.g:1368:6: lv_op_2_0= ruleImplicationOperator
3334 {
3335
3336 newCompositeNode(grammarAccess.getImplicationExpressionAccess().getOpImplicationOperatorEnumRuleCall_1_1_0());
3337
3338 pushFollow(FOLLOW_6);
3339 lv_op_2_0=ruleImplicationOperator();
3340
3341 state._fsp--;
3342
3343
3344 if (current==null) {
3345 current = createModelElementForParent(grammarAccess.getImplicationExpressionRule());
3346 }
3347 set(
3348 current,
3349 "op",
3350 lv_op_2_0,
3351 "org.eclipse.viatra.solver.language.SolverLanguage.ImplicationOperator");
3352 afterParserOrEnumRuleCall();
3353
3354
3355 }
3356
3357
3358 }
3359
3360 // InternalSolverLanguageParser.g:1385:4: ( (lv_right_3_0= ruleImplicationExpression ) )
3361 // InternalSolverLanguageParser.g:1386:5: (lv_right_3_0= ruleImplicationExpression )
3362 {
3363 // InternalSolverLanguageParser.g:1386:5: (lv_right_3_0= ruleImplicationExpression )
3364 // InternalSolverLanguageParser.g:1387:6: lv_right_3_0= ruleImplicationExpression
3365 {
3366
3367 newCompositeNode(grammarAccess.getImplicationExpressionAccess().getRightImplicationExpressionParserRuleCall_1_2_0());
3368
3369 pushFollow(FOLLOW_2);
3370 lv_right_3_0=ruleImplicationExpression();
3371
3372 state._fsp--;
3373
3374
3375 if (current==null) {
3376 current = createModelElementForParent(grammarAccess.getImplicationExpressionRule());
3377 }
3378 set(
3379 current,
3380 "right",
3381 lv_right_3_0,
3382 "org.eclipse.viatra.solver.language.SolverLanguage.ImplicationExpression");
3383 afterParserOrEnumRuleCall();
3384
3385
3386 }
3387
3388
3389 }
3390
3391
3392 }
3393 break;
3394
3395 }
3396
3397
3398 }
3399
3400
3401 }
3402
3403
3404 leaveRule();
3405
3406 }
3407
3408 catch (RecognitionException re) {
3409 recover(input,re);
3410 appendSkippedTokens();
3411 }
3412 finally {
3413 }
3414 return current;
3415 }
3416 // $ANTLR end "ruleImplicationExpression"
3417
3418
2229 // $ANTLR start "entryRuleDisjunctiveExpression" 3419 // $ANTLR start "entryRuleDisjunctiveExpression"
2230 // InternalSolverLanguageParser.g:898:1: entryRuleDisjunctiveExpression returns [EObject current=null] : iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF ; 3420 // InternalSolverLanguageParser.g:1409:1: entryRuleDisjunctiveExpression returns [EObject current=null] : iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF ;
2231 public final EObject entryRuleDisjunctiveExpression() throws RecognitionException { 3421 public final EObject entryRuleDisjunctiveExpression() throws RecognitionException {
2232 EObject current = null; 3422 EObject current = null;
2233 3423
@@ -2235,8 +3425,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2235 3425
2236 3426
2237 try { 3427 try {
2238 // InternalSolverLanguageParser.g:898:62: (iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF ) 3428 // InternalSolverLanguageParser.g:1409:62: (iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF )
2239 // InternalSolverLanguageParser.g:899:2: iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF 3429 // InternalSolverLanguageParser.g:1410:2: iv_ruleDisjunctiveExpression= ruleDisjunctiveExpression EOF
2240 { 3430 {
2241 newCompositeNode(grammarAccess.getDisjunctiveExpressionRule()); 3431 newCompositeNode(grammarAccess.getDisjunctiveExpressionRule());
2242 pushFollow(FOLLOW_1); 3432 pushFollow(FOLLOW_1);
@@ -2263,7 +3453,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2263 3453
2264 3454
2265 // $ANTLR start "ruleDisjunctiveExpression" 3455 // $ANTLR start "ruleDisjunctiveExpression"
2266 // InternalSolverLanguageParser.g:905:1: ruleDisjunctiveExpression returns [EObject current=null] : (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? ) ; 3456 // InternalSolverLanguageParser.g:1416:1: ruleDisjunctiveExpression returns [EObject current=null] : (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? ) ;
2267 public final EObject ruleDisjunctiveExpression() throws RecognitionException { 3457 public final EObject ruleDisjunctiveExpression() throws RecognitionException {
2268 EObject current = null; 3458 EObject current = null;
2269 3459
@@ -2283,16 +3473,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2283 enterRule(); 3473 enterRule();
2284 3474
2285 try { 3475 try {
2286 // InternalSolverLanguageParser.g:911:2: ( (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? ) ) 3476 // InternalSolverLanguageParser.g:1422:2: ( (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? ) )
2287 // InternalSolverLanguageParser.g:912:2: (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? ) 3477 // InternalSolverLanguageParser.g:1423:2: (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? )
2288 { 3478 {
2289 // InternalSolverLanguageParser.g:912:2: (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? ) 3479 // InternalSolverLanguageParser.g:1423:2: (this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? )
2290 // InternalSolverLanguageParser.g:913:3: this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? 3480 // InternalSolverLanguageParser.g:1424:3: this_ConjunctiveExpression_0= ruleConjunctiveExpression ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )?
2291 { 3481 {
2292 3482
2293 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getConjunctiveExpressionParserRuleCall_0()); 3483 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getConjunctiveExpressionParserRuleCall_0());
2294 3484
2295 pushFollow(FOLLOW_17); 3485 pushFollow(FOLLOW_25);
2296 this_ConjunctiveExpression_0=ruleConjunctiveExpression(); 3486 this_ConjunctiveExpression_0=ruleConjunctiveExpression();
2297 3487
2298 state._fsp--; 3488 state._fsp--;
@@ -2301,25 +3491,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2301 current = this_ConjunctiveExpression_0; 3491 current = this_ConjunctiveExpression_0;
2302 afterParserOrEnumRuleCall(); 3492 afterParserOrEnumRuleCall();
2303 3493
2304 // InternalSolverLanguageParser.g:921:3: ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )? 3494 // InternalSolverLanguageParser.g:1432:3: ( ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) | ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) )?
2305 int alt11=3; 3495 int alt14=3;
2306 int LA11_0 = input.LA(1); 3496 int LA14_0 = input.LA(1);
2307 3497
2308 if ( (LA11_0==Semicolon) ) { 3498 if ( (LA14_0==Semicolon) ) {
2309 alt11=1; 3499 alt14=1;
2310 } 3500 }
2311 else if ( (LA11_0==HyphenMinusGreaterThanSign) ) { 3501 else if ( (LA14_0==HyphenMinusGreaterThanSign) ) {
2312 alt11=2; 3502 alt14=2;
2313 } 3503 }
2314 switch (alt11) { 3504 switch (alt14) {
2315 case 1 : 3505 case 1 :
2316 // InternalSolverLanguageParser.g:922:4: ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) 3506 // InternalSolverLanguageParser.g:1433:4: ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ )
2317 { 3507 {
2318 // InternalSolverLanguageParser.g:922:4: ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ ) 3508 // InternalSolverLanguageParser.g:1433:4: ( () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ )
2319 // InternalSolverLanguageParser.g:923:5: () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ 3509 // InternalSolverLanguageParser.g:1434:5: () (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+
2320 { 3510 {
2321 // InternalSolverLanguageParser.g:923:5: () 3511 // InternalSolverLanguageParser.g:1434:5: ()
2322 // InternalSolverLanguageParser.g:924:6: 3512 // InternalSolverLanguageParser.g:1435:6:
2323 { 3513 {
2324 3514
2325 current = forceCreateModelElementAndAdd( 3515 current = forceCreateModelElementAndAdd(
@@ -2329,36 +3519,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2329 3519
2330 } 3520 }
2331 3521
2332 // InternalSolverLanguageParser.g:930:5: (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+ 3522 // InternalSolverLanguageParser.g:1441:5: (otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) )+
2333 int cnt9=0; 3523 int cnt12=0;
2334 loop9: 3524 loop12:
2335 do { 3525 do {
2336 int alt9=2; 3526 int alt12=2;
2337 int LA9_0 = input.LA(1); 3527 int LA12_0 = input.LA(1);
2338 3528
2339 if ( (LA9_0==Semicolon) ) { 3529 if ( (LA12_0==Semicolon) ) {
2340 alt9=1; 3530 alt12=1;
2341 } 3531 }
2342 3532
2343 3533
2344 switch (alt9) { 3534 switch (alt12) {
2345 case 1 : 3535 case 1 :
2346 // InternalSolverLanguageParser.g:931:6: otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) ) 3536 // InternalSolverLanguageParser.g:1442:6: otherlv_2= Semicolon ( (lv_children_3_0= ruleConjunctiveExpression ) )
2347 { 3537 {
2348 otherlv_2=(Token)match(input,Semicolon,FOLLOW_6); 3538 otherlv_2=(Token)match(input,Semicolon,FOLLOW_6);
2349 3539
2350 newLeafNode(otherlv_2, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_0_1_0()); 3540 newLeafNode(otherlv_2, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_0_1_0());
2351 3541
2352 // InternalSolverLanguageParser.g:935:6: ( (lv_children_3_0= ruleConjunctiveExpression ) ) 3542 // InternalSolverLanguageParser.g:1446:6: ( (lv_children_3_0= ruleConjunctiveExpression ) )
2353 // InternalSolverLanguageParser.g:936:7: (lv_children_3_0= ruleConjunctiveExpression ) 3543 // InternalSolverLanguageParser.g:1447:7: (lv_children_3_0= ruleConjunctiveExpression )
2354 { 3544 {
2355 // InternalSolverLanguageParser.g:936:7: (lv_children_3_0= ruleConjunctiveExpression ) 3545 // InternalSolverLanguageParser.g:1447:7: (lv_children_3_0= ruleConjunctiveExpression )
2356 // InternalSolverLanguageParser.g:937:8: lv_children_3_0= ruleConjunctiveExpression 3546 // InternalSolverLanguageParser.g:1448:8: lv_children_3_0= ruleConjunctiveExpression
2357 { 3547 {
2358 3548
2359 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0()); 3549 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getChildrenConjunctiveExpressionParserRuleCall_1_0_1_1_0());
2360 3550
2361 pushFollow(FOLLOW_18); 3551 pushFollow(FOLLOW_26);
2362 lv_children_3_0=ruleConjunctiveExpression(); 3552 lv_children_3_0=ruleConjunctiveExpression();
2363 3553
2364 state._fsp--; 3554 state._fsp--;
@@ -2385,12 +3575,12 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2385 break; 3575 break;
2386 3576
2387 default : 3577 default :
2388 if ( cnt9 >= 1 ) break loop9; 3578 if ( cnt12 >= 1 ) break loop12;
2389 EarlyExitException eee = 3579 EarlyExitException eee =
2390 new EarlyExitException(9, input); 3580 new EarlyExitException(12, input);
2391 throw eee; 3581 throw eee;
2392 } 3582 }
2393 cnt9++; 3583 cnt12++;
2394 } while (true); 3584 } while (true);
2395 3585
2396 3586
@@ -2400,13 +3590,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2400 } 3590 }
2401 break; 3591 break;
2402 case 2 : 3592 case 2 :
2403 // InternalSolverLanguageParser.g:957:4: ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) 3593 // InternalSolverLanguageParser.g:1468:4: ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* )
2404 { 3594 {
2405 // InternalSolverLanguageParser.g:957:4: ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* ) 3595 // InternalSolverLanguageParser.g:1468:4: ( () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* )
2406 // InternalSolverLanguageParser.g:958:5: () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* 3596 // InternalSolverLanguageParser.g:1469:5: () otherlv_5= HyphenMinusGreaterThanSign ( (lv_body_6_0= ruleConjunctiveExpression ) ) () (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )*
2407 { 3597 {
2408 // InternalSolverLanguageParser.g:958:5: () 3598 // InternalSolverLanguageParser.g:1469:5: ()
2409 // InternalSolverLanguageParser.g:959:6: 3599 // InternalSolverLanguageParser.g:1470:6:
2410 { 3600 {
2411 3601
2412 current = forceCreateModelElementAndSet( 3602 current = forceCreateModelElementAndSet(
@@ -2420,16 +3610,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2420 3610
2421 newLeafNode(otherlv_5, grammarAccess.getDisjunctiveExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1_1()); 3611 newLeafNode(otherlv_5, grammarAccess.getDisjunctiveExpressionAccess().getHyphenMinusGreaterThanSignKeyword_1_1_1());
2422 3612
2423 // InternalSolverLanguageParser.g:969:5: ( (lv_body_6_0= ruleConjunctiveExpression ) ) 3613 // InternalSolverLanguageParser.g:1480:5: ( (lv_body_6_0= ruleConjunctiveExpression ) )
2424 // InternalSolverLanguageParser.g:970:6: (lv_body_6_0= ruleConjunctiveExpression ) 3614 // InternalSolverLanguageParser.g:1481:6: (lv_body_6_0= ruleConjunctiveExpression )
2425 { 3615 {
2426 // InternalSolverLanguageParser.g:970:6: (lv_body_6_0= ruleConjunctiveExpression ) 3616 // InternalSolverLanguageParser.g:1481:6: (lv_body_6_0= ruleConjunctiveExpression )
2427 // InternalSolverLanguageParser.g:971:7: lv_body_6_0= ruleConjunctiveExpression 3617 // InternalSolverLanguageParser.g:1482:7: lv_body_6_0= ruleConjunctiveExpression
2428 { 3618 {
2429 3619
2430 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getBodyConjunctiveExpressionParserRuleCall_1_1_2_0()); 3620 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getBodyConjunctiveExpressionParserRuleCall_1_1_2_0());
2431 3621
2432 pushFollow(FOLLOW_18); 3622 pushFollow(FOLLOW_26);
2433 lv_body_6_0=ruleConjunctiveExpression(); 3623 lv_body_6_0=ruleConjunctiveExpression();
2434 3624
2435 state._fsp--; 3625 state._fsp--;
@@ -2451,8 +3641,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2451 3641
2452 } 3642 }
2453 3643
2454 // InternalSolverLanguageParser.g:988:5: () 3644 // InternalSolverLanguageParser.g:1499:5: ()
2455 // InternalSolverLanguageParser.g:989:6: 3645 // InternalSolverLanguageParser.g:1500:6:
2456 { 3646 {
2457 3647
2458 current = forceCreateModelElementAndAdd( 3648 current = forceCreateModelElementAndAdd(
@@ -2462,35 +3652,35 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2462 3652
2463 } 3653 }
2464 3654
2465 // InternalSolverLanguageParser.g:995:5: (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )* 3655 // InternalSolverLanguageParser.g:1506:5: (otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) )*
2466 loop10: 3656 loop13:
2467 do { 3657 do {
2468 int alt10=2; 3658 int alt13=2;
2469 int LA10_0 = input.LA(1); 3659 int LA13_0 = input.LA(1);
2470 3660
2471 if ( (LA10_0==Semicolon) ) { 3661 if ( (LA13_0==Semicolon) ) {
2472 alt10=1; 3662 alt13=1;
2473 } 3663 }
2474 3664
2475 3665
2476 switch (alt10) { 3666 switch (alt13) {
2477 case 1 : 3667 case 1 :
2478 // InternalSolverLanguageParser.g:996:6: otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) ) 3668 // InternalSolverLanguageParser.g:1507:6: otherlv_8= Semicolon ( (lv_cases_9_0= ruleCase ) )
2479 { 3669 {
2480 otherlv_8=(Token)match(input,Semicolon,FOLLOW_6); 3670 otherlv_8=(Token)match(input,Semicolon,FOLLOW_6);
2481 3671
2482 newLeafNode(otherlv_8, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_1_4_0()); 3672 newLeafNode(otherlv_8, grammarAccess.getDisjunctiveExpressionAccess().getSemicolonKeyword_1_1_4_0());
2483 3673
2484 // InternalSolverLanguageParser.g:1000:6: ( (lv_cases_9_0= ruleCase ) ) 3674 // InternalSolverLanguageParser.g:1511:6: ( (lv_cases_9_0= ruleCase ) )
2485 // InternalSolverLanguageParser.g:1001:7: (lv_cases_9_0= ruleCase ) 3675 // InternalSolverLanguageParser.g:1512:7: (lv_cases_9_0= ruleCase )
2486 { 3676 {
2487 // InternalSolverLanguageParser.g:1001:7: (lv_cases_9_0= ruleCase ) 3677 // InternalSolverLanguageParser.g:1512:7: (lv_cases_9_0= ruleCase )
2488 // InternalSolverLanguageParser.g:1002:8: lv_cases_9_0= ruleCase 3678 // InternalSolverLanguageParser.g:1513:8: lv_cases_9_0= ruleCase
2489 { 3679 {
2490 3680
2491 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getCasesCaseParserRuleCall_1_1_4_1_0()); 3681 newCompositeNode(grammarAccess.getDisjunctiveExpressionAccess().getCasesCaseParserRuleCall_1_1_4_1_0());
2492 3682
2493 pushFollow(FOLLOW_18); 3683 pushFollow(FOLLOW_26);
2494 lv_cases_9_0=ruleCase(); 3684 lv_cases_9_0=ruleCase();
2495 3685
2496 state._fsp--; 3686 state._fsp--;
@@ -2517,7 +3707,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2517 break; 3707 break;
2518 3708
2519 default : 3709 default :
2520 break loop10; 3710 break loop13;
2521 } 3711 }
2522 } while (true); 3712 } while (true);
2523 3713
@@ -2553,7 +3743,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2553 3743
2554 3744
2555 // $ANTLR start "entryRuleCase" 3745 // $ANTLR start "entryRuleCase"
2556 // InternalSolverLanguageParser.g:1026:1: entryRuleCase returns [EObject current=null] : iv_ruleCase= ruleCase EOF ; 3746 // InternalSolverLanguageParser.g:1537:1: entryRuleCase returns [EObject current=null] : iv_ruleCase= ruleCase EOF ;
2557 public final EObject entryRuleCase() throws RecognitionException { 3747 public final EObject entryRuleCase() throws RecognitionException {
2558 EObject current = null; 3748 EObject current = null;
2559 3749
@@ -2561,8 +3751,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2561 3751
2562 3752
2563 try { 3753 try {
2564 // InternalSolverLanguageParser.g:1026:45: (iv_ruleCase= ruleCase EOF ) 3754 // InternalSolverLanguageParser.g:1537:45: (iv_ruleCase= ruleCase EOF )
2565 // InternalSolverLanguageParser.g:1027:2: iv_ruleCase= ruleCase EOF 3755 // InternalSolverLanguageParser.g:1538:2: iv_ruleCase= ruleCase EOF
2566 { 3756 {
2567 newCompositeNode(grammarAccess.getCaseRule()); 3757 newCompositeNode(grammarAccess.getCaseRule());
2568 pushFollow(FOLLOW_1); 3758 pushFollow(FOLLOW_1);
@@ -2589,7 +3779,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2589 3779
2590 3780
2591 // $ANTLR start "ruleCase" 3781 // $ANTLR start "ruleCase"
2592 // InternalSolverLanguageParser.g:1033:1: ruleCase returns [EObject current=null] : ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) ; 3782 // InternalSolverLanguageParser.g:1544:1: ruleCase returns [EObject current=null] : ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) ;
2593 public final EObject ruleCase() throws RecognitionException { 3783 public final EObject ruleCase() throws RecognitionException {
2594 EObject current = null; 3784 EObject current = null;
2595 3785
@@ -2603,22 +3793,22 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2603 enterRule(); 3793 enterRule();
2604 3794
2605 try { 3795 try {
2606 // InternalSolverLanguageParser.g:1039:2: ( ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) ) 3796 // InternalSolverLanguageParser.g:1550:2: ( ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) )
2607 // InternalSolverLanguageParser.g:1040:2: ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) 3797 // InternalSolverLanguageParser.g:1551:2: ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) )
2608 { 3798 {
2609 // InternalSolverLanguageParser.g:1040:2: ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) ) 3799 // InternalSolverLanguageParser.g:1551:2: ( ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) )
2610 // InternalSolverLanguageParser.g:1041:3: ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) ) 3800 // InternalSolverLanguageParser.g:1552:3: ( (lv_condition_0_0= ruleConjunctiveExpression ) ) otherlv_1= HyphenMinusGreaterThanSign ( (lv_body_2_0= ruleConjunctiveExpression ) )
2611 { 3801 {
2612 // InternalSolverLanguageParser.g:1041:3: ( (lv_condition_0_0= ruleConjunctiveExpression ) ) 3802 // InternalSolverLanguageParser.g:1552:3: ( (lv_condition_0_0= ruleConjunctiveExpression ) )
2613 // InternalSolverLanguageParser.g:1042:4: (lv_condition_0_0= ruleConjunctiveExpression ) 3803 // InternalSolverLanguageParser.g:1553:4: (lv_condition_0_0= ruleConjunctiveExpression )
2614 { 3804 {
2615 // InternalSolverLanguageParser.g:1042:4: (lv_condition_0_0= ruleConjunctiveExpression ) 3805 // InternalSolverLanguageParser.g:1553:4: (lv_condition_0_0= ruleConjunctiveExpression )
2616 // InternalSolverLanguageParser.g:1043:5: lv_condition_0_0= ruleConjunctiveExpression 3806 // InternalSolverLanguageParser.g:1554:5: lv_condition_0_0= ruleConjunctiveExpression
2617 { 3807 {
2618 3808
2619 newCompositeNode(grammarAccess.getCaseAccess().getConditionConjunctiveExpressionParserRuleCall_0_0()); 3809 newCompositeNode(grammarAccess.getCaseAccess().getConditionConjunctiveExpressionParserRuleCall_0_0());
2620 3810
2621 pushFollow(FOLLOW_19); 3811 pushFollow(FOLLOW_27);
2622 lv_condition_0_0=ruleConjunctiveExpression(); 3812 lv_condition_0_0=ruleConjunctiveExpression();
2623 3813
2624 state._fsp--; 3814 state._fsp--;
@@ -2644,11 +3834,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2644 3834
2645 newLeafNode(otherlv_1, grammarAccess.getCaseAccess().getHyphenMinusGreaterThanSignKeyword_1()); 3835 newLeafNode(otherlv_1, grammarAccess.getCaseAccess().getHyphenMinusGreaterThanSignKeyword_1());
2646 3836
2647 // InternalSolverLanguageParser.g:1064:3: ( (lv_body_2_0= ruleConjunctiveExpression ) ) 3837 // InternalSolverLanguageParser.g:1575:3: ( (lv_body_2_0= ruleConjunctiveExpression ) )
2648 // InternalSolverLanguageParser.g:1065:4: (lv_body_2_0= ruleConjunctiveExpression ) 3838 // InternalSolverLanguageParser.g:1576:4: (lv_body_2_0= ruleConjunctiveExpression )
2649 { 3839 {
2650 // InternalSolverLanguageParser.g:1065:4: (lv_body_2_0= ruleConjunctiveExpression ) 3840 // InternalSolverLanguageParser.g:1576:4: (lv_body_2_0= ruleConjunctiveExpression )
2651 // InternalSolverLanguageParser.g:1066:5: lv_body_2_0= ruleConjunctiveExpression 3841 // InternalSolverLanguageParser.g:1577:5: lv_body_2_0= ruleConjunctiveExpression
2652 { 3842 {
2653 3843
2654 newCompositeNode(grammarAccess.getCaseAccess().getBodyConjunctiveExpressionParserRuleCall_2_0()); 3844 newCompositeNode(grammarAccess.getCaseAccess().getBodyConjunctiveExpressionParserRuleCall_2_0());
@@ -2698,7 +3888,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2698 3888
2699 3889
2700 // $ANTLR start "entryRuleConjunctiveExpression" 3890 // $ANTLR start "entryRuleConjunctiveExpression"
2701 // InternalSolverLanguageParser.g:1087:1: entryRuleConjunctiveExpression returns [EObject current=null] : iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF ; 3891 // InternalSolverLanguageParser.g:1598:1: entryRuleConjunctiveExpression returns [EObject current=null] : iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF ;
2702 public final EObject entryRuleConjunctiveExpression() throws RecognitionException { 3892 public final EObject entryRuleConjunctiveExpression() throws RecognitionException {
2703 EObject current = null; 3893 EObject current = null;
2704 3894
@@ -2706,8 +3896,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2706 3896
2707 3897
2708 try { 3898 try {
2709 // InternalSolverLanguageParser.g:1087:62: (iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF ) 3899 // InternalSolverLanguageParser.g:1598:62: (iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF )
2710 // InternalSolverLanguageParser.g:1088:2: iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF 3900 // InternalSolverLanguageParser.g:1599:2: iv_ruleConjunctiveExpression= ruleConjunctiveExpression EOF
2711 { 3901 {
2712 newCompositeNode(grammarAccess.getConjunctiveExpressionRule()); 3902 newCompositeNode(grammarAccess.getConjunctiveExpressionRule());
2713 pushFollow(FOLLOW_1); 3903 pushFollow(FOLLOW_1);
@@ -2734,7 +3924,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2734 3924
2735 3925
2736 // $ANTLR start "ruleConjunctiveExpression" 3926 // $ANTLR start "ruleConjunctiveExpression"
2737 // InternalSolverLanguageParser.g:1094:1: ruleConjunctiveExpression returns [EObject current=null] : (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) ; 3927 // InternalSolverLanguageParser.g:1605:1: ruleConjunctiveExpression returns [EObject current=null] : (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) ;
2738 public final EObject ruleConjunctiveExpression() throws RecognitionException { 3928 public final EObject ruleConjunctiveExpression() throws RecognitionException {
2739 EObject current = null; 3929 EObject current = null;
2740 3930
@@ -2748,16 +3938,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2748 enterRule(); 3938 enterRule();
2749 3939
2750 try { 3940 try {
2751 // InternalSolverLanguageParser.g:1100:2: ( (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) ) 3941 // InternalSolverLanguageParser.g:1611:2: ( (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) )
2752 // InternalSolverLanguageParser.g:1101:2: (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) 3942 // InternalSolverLanguageParser.g:1612:2: (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? )
2753 { 3943 {
2754 // InternalSolverLanguageParser.g:1101:2: (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? ) 3944 // InternalSolverLanguageParser.g:1612:2: (this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? )
2755 // InternalSolverLanguageParser.g:1102:3: this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? 3945 // InternalSolverLanguageParser.g:1613:3: this_ComparisonExpression_0= ruleComparisonExpression ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )?
2756 { 3946 {
2757 3947
2758 newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getComparisonExpressionParserRuleCall_0()); 3948 newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getComparisonExpressionParserRuleCall_0());
2759 3949
2760 pushFollow(FOLLOW_20); 3950 pushFollow(FOLLOW_19);
2761 this_ComparisonExpression_0=ruleComparisonExpression(); 3951 this_ComparisonExpression_0=ruleComparisonExpression();
2762 3952
2763 state._fsp--; 3953 state._fsp--;
@@ -2766,19 +3956,19 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2766 current = this_ComparisonExpression_0; 3956 current = this_ComparisonExpression_0;
2767 afterParserOrEnumRuleCall(); 3957 afterParserOrEnumRuleCall();
2768 3958
2769 // InternalSolverLanguageParser.g:1110:3: ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )? 3959 // InternalSolverLanguageParser.g:1621:3: ( () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ )?
2770 int alt13=2; 3960 int alt16=2;
2771 int LA13_0 = input.LA(1); 3961 int LA16_0 = input.LA(1);
2772 3962
2773 if ( (LA13_0==Comma) ) { 3963 if ( (LA16_0==Comma) ) {
2774 alt13=1; 3964 alt16=1;
2775 } 3965 }
2776 switch (alt13) { 3966 switch (alt16) {
2777 case 1 : 3967 case 1 :
2778 // InternalSolverLanguageParser.g:1111:4: () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ 3968 // InternalSolverLanguageParser.g:1622:4: () (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+
2779 { 3969 {
2780 // InternalSolverLanguageParser.g:1111:4: () 3970 // InternalSolverLanguageParser.g:1622:4: ()
2781 // InternalSolverLanguageParser.g:1112:5: 3971 // InternalSolverLanguageParser.g:1623:5:
2782 { 3972 {
2783 3973
2784 current = forceCreateModelElementAndAdd( 3974 current = forceCreateModelElementAndAdd(
@@ -2788,36 +3978,36 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2788 3978
2789 } 3979 }
2790 3980
2791 // InternalSolverLanguageParser.g:1118:4: (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+ 3981 // InternalSolverLanguageParser.g:1629:4: (otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) )+
2792 int cnt12=0; 3982 int cnt15=0;
2793 loop12: 3983 loop15:
2794 do { 3984 do {
2795 int alt12=2; 3985 int alt15=2;
2796 int LA12_0 = input.LA(1); 3986 int LA15_0 = input.LA(1);
2797 3987
2798 if ( (LA12_0==Comma) ) { 3988 if ( (LA15_0==Comma) ) {
2799 alt12=1; 3989 alt15=1;
2800 } 3990 }
2801 3991
2802 3992
2803 switch (alt12) { 3993 switch (alt15) {
2804 case 1 : 3994 case 1 :
2805 // InternalSolverLanguageParser.g:1119:5: otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) ) 3995 // InternalSolverLanguageParser.g:1630:5: otherlv_2= Comma ( (lv_children_3_0= ruleComparisonExpression ) )
2806 { 3996 {
2807 otherlv_2=(Token)match(input,Comma,FOLLOW_6); 3997 otherlv_2=(Token)match(input,Comma,FOLLOW_6);
2808 3998
2809 newLeafNode(otherlv_2, grammarAccess.getConjunctiveExpressionAccess().getCommaKeyword_1_1_0()); 3999 newLeafNode(otherlv_2, grammarAccess.getConjunctiveExpressionAccess().getCommaKeyword_1_1_0());
2810 4000
2811 // InternalSolverLanguageParser.g:1123:5: ( (lv_children_3_0= ruleComparisonExpression ) ) 4001 // InternalSolverLanguageParser.g:1634:5: ( (lv_children_3_0= ruleComparisonExpression ) )
2812 // InternalSolverLanguageParser.g:1124:6: (lv_children_3_0= ruleComparisonExpression ) 4002 // InternalSolverLanguageParser.g:1635:6: (lv_children_3_0= ruleComparisonExpression )
2813 { 4003 {
2814 // InternalSolverLanguageParser.g:1124:6: (lv_children_3_0= ruleComparisonExpression ) 4004 // InternalSolverLanguageParser.g:1635:6: (lv_children_3_0= ruleComparisonExpression )
2815 // InternalSolverLanguageParser.g:1125:7: lv_children_3_0= ruleComparisonExpression 4005 // InternalSolverLanguageParser.g:1636:7: lv_children_3_0= ruleComparisonExpression
2816 { 4006 {
2817 4007
2818 newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getChildrenComparisonExpressionParserRuleCall_1_1_1_0()); 4008 newCompositeNode(grammarAccess.getConjunctiveExpressionAccess().getChildrenComparisonExpressionParserRuleCall_1_1_1_0());
2819 4009
2820 pushFollow(FOLLOW_20); 4010 pushFollow(FOLLOW_19);
2821 lv_children_3_0=ruleComparisonExpression(); 4011 lv_children_3_0=ruleComparisonExpression();
2822 4012
2823 state._fsp--; 4013 state._fsp--;
@@ -2844,12 +4034,12 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2844 break; 4034 break;
2845 4035
2846 default : 4036 default :
2847 if ( cnt12 >= 1 ) break loop12; 4037 if ( cnt15 >= 1 ) break loop15;
2848 EarlyExitException eee = 4038 EarlyExitException eee =
2849 new EarlyExitException(12, input); 4039 new EarlyExitException(15, input);
2850 throw eee; 4040 throw eee;
2851 } 4041 }
2852 cnt12++; 4042 cnt15++;
2853 } while (true); 4043 } while (true);
2854 4044
2855 4045
@@ -2881,7 +4071,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2881 4071
2882 4072
2883 // $ANTLR start "entryRuleComparisonExpression" 4073 // $ANTLR start "entryRuleComparisonExpression"
2884 // InternalSolverLanguageParser.g:1148:1: entryRuleComparisonExpression returns [EObject current=null] : iv_ruleComparisonExpression= ruleComparisonExpression EOF ; 4074 // InternalSolverLanguageParser.g:1659:1: entryRuleComparisonExpression returns [EObject current=null] : iv_ruleComparisonExpression= ruleComparisonExpression EOF ;
2885 public final EObject entryRuleComparisonExpression() throws RecognitionException { 4075 public final EObject entryRuleComparisonExpression() throws RecognitionException {
2886 EObject current = null; 4076 EObject current = null;
2887 4077
@@ -2889,8 +4079,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2889 4079
2890 4080
2891 try { 4081 try {
2892 // InternalSolverLanguageParser.g:1148:61: (iv_ruleComparisonExpression= ruleComparisonExpression EOF ) 4082 // InternalSolverLanguageParser.g:1659:61: (iv_ruleComparisonExpression= ruleComparisonExpression EOF )
2893 // InternalSolverLanguageParser.g:1149:2: iv_ruleComparisonExpression= ruleComparisonExpression EOF 4083 // InternalSolverLanguageParser.g:1660:2: iv_ruleComparisonExpression= ruleComparisonExpression EOF
2894 { 4084 {
2895 newCompositeNode(grammarAccess.getComparisonExpressionRule()); 4085 newCompositeNode(grammarAccess.getComparisonExpressionRule());
2896 pushFollow(FOLLOW_1); 4086 pushFollow(FOLLOW_1);
@@ -2917,7 +4107,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2917 4107
2918 4108
2919 // $ANTLR start "ruleComparisonExpression" 4109 // $ANTLR start "ruleComparisonExpression"
2920 // InternalSolverLanguageParser.g:1155:1: ruleComparisonExpression returns [EObject current=null] : (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) ; 4110 // InternalSolverLanguageParser.g:1666:1: ruleComparisonExpression returns [EObject current=null] : (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) ;
2921 public final EObject ruleComparisonExpression() throws RecognitionException { 4111 public final EObject ruleComparisonExpression() throws RecognitionException {
2922 EObject current = null; 4112 EObject current = null;
2923 4113
@@ -2932,16 +4122,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2932 enterRule(); 4122 enterRule();
2933 4123
2934 try { 4124 try {
2935 // InternalSolverLanguageParser.g:1161:2: ( (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) ) 4125 // InternalSolverLanguageParser.g:1672:2: ( (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) )
2936 // InternalSolverLanguageParser.g:1162:2: (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) 4126 // InternalSolverLanguageParser.g:1673:2: (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? )
2937 { 4127 {
2938 // InternalSolverLanguageParser.g:1162:2: (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? ) 4128 // InternalSolverLanguageParser.g:1673:2: (this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? )
2939 // InternalSolverLanguageParser.g:1163:3: this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? 4129 // InternalSolverLanguageParser.g:1674:3: this_AdditiveExpression_0= ruleAdditiveExpression ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )?
2940 { 4130 {
2941 4131
2942 newCompositeNode(grammarAccess.getComparisonExpressionAccess().getAdditiveExpressionParserRuleCall_0()); 4132 newCompositeNode(grammarAccess.getComparisonExpressionAccess().getAdditiveExpressionParserRuleCall_0());
2943 4133
2944 pushFollow(FOLLOW_21); 4134 pushFollow(FOLLOW_28);
2945 this_AdditiveExpression_0=ruleAdditiveExpression(); 4135 this_AdditiveExpression_0=ruleAdditiveExpression();
2946 4136
2947 state._fsp--; 4137 state._fsp--;
@@ -2950,19 +4140,19 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2950 current = this_AdditiveExpression_0; 4140 current = this_AdditiveExpression_0;
2951 afterParserOrEnumRuleCall(); 4141 afterParserOrEnumRuleCall();
2952 4142
2953 // InternalSolverLanguageParser.g:1171:3: ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )? 4143 // InternalSolverLanguageParser.g:1682:3: ( () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) )?
2954 int alt14=2; 4144 int alt17=2;
2955 int LA14_0 = input.LA(1); 4145 int LA17_0 = input.LA(1);
2956 4146
2957 if ( (LA14_0==ExclamationMarkEqualsSign||(LA14_0>=LessThanSignEqualsSign && LA14_0<=GreaterThanSignEqualsSign)||LA14_0==In||LA14_0==LessThanSign||LA14_0==GreaterThanSign) ) { 4147 if ( (LA17_0==ExclamationMarkEqualsSign||(LA17_0>=LessThanSignEqualsSign && LA17_0<=EqualsSignEqualsSign)||LA17_0==GreaterThanSignEqualsSign||LA17_0==In||LA17_0==LessThanSign||LA17_0==GreaterThanSign) ) {
2958 alt14=1; 4148 alt17=1;
2959 } 4149 }
2960 switch (alt14) { 4150 switch (alt17) {
2961 case 1 : 4151 case 1 :
2962 // InternalSolverLanguageParser.g:1172:4: () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) ) 4152 // InternalSolverLanguageParser.g:1683:4: () ( (lv_op_2_0= ruleComparisonOperator ) ) ( (lv_right_3_0= ruleAdditiveExpression ) )
2963 { 4153 {
2964 // InternalSolverLanguageParser.g:1172:4: () 4154 // InternalSolverLanguageParser.g:1683:4: ()
2965 // InternalSolverLanguageParser.g:1173:5: 4155 // InternalSolverLanguageParser.g:1684:5:
2966 { 4156 {
2967 4157
2968 current = forceCreateModelElementAndSet( 4158 current = forceCreateModelElementAndSet(
@@ -2972,11 +4162,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
2972 4162
2973 } 4163 }
2974 4164
2975 // InternalSolverLanguageParser.g:1179:4: ( (lv_op_2_0= ruleComparisonOperator ) ) 4165 // InternalSolverLanguageParser.g:1690:4: ( (lv_op_2_0= ruleComparisonOperator ) )
2976 // InternalSolverLanguageParser.g:1180:5: (lv_op_2_0= ruleComparisonOperator ) 4166 // InternalSolverLanguageParser.g:1691:5: (lv_op_2_0= ruleComparisonOperator )
2977 { 4167 {
2978 // InternalSolverLanguageParser.g:1180:5: (lv_op_2_0= ruleComparisonOperator ) 4168 // InternalSolverLanguageParser.g:1691:5: (lv_op_2_0= ruleComparisonOperator )
2979 // InternalSolverLanguageParser.g:1181:6: lv_op_2_0= ruleComparisonOperator 4169 // InternalSolverLanguageParser.g:1692:6: lv_op_2_0= ruleComparisonOperator
2980 { 4170 {
2981 4171
2982 newCompositeNode(grammarAccess.getComparisonExpressionAccess().getOpComparisonOperatorEnumRuleCall_1_1_0()); 4172 newCompositeNode(grammarAccess.getComparisonExpressionAccess().getOpComparisonOperatorEnumRuleCall_1_1_0());
@@ -3003,11 +4193,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3003 4193
3004 } 4194 }
3005 4195
3006 // InternalSolverLanguageParser.g:1198:4: ( (lv_right_3_0= ruleAdditiveExpression ) ) 4196 // InternalSolverLanguageParser.g:1709:4: ( (lv_right_3_0= ruleAdditiveExpression ) )
3007 // InternalSolverLanguageParser.g:1199:5: (lv_right_3_0= ruleAdditiveExpression ) 4197 // InternalSolverLanguageParser.g:1710:5: (lv_right_3_0= ruleAdditiveExpression )
3008 { 4198 {
3009 // InternalSolverLanguageParser.g:1199:5: (lv_right_3_0= ruleAdditiveExpression ) 4199 // InternalSolverLanguageParser.g:1710:5: (lv_right_3_0= ruleAdditiveExpression )
3010 // InternalSolverLanguageParser.g:1200:6: lv_right_3_0= ruleAdditiveExpression 4200 // InternalSolverLanguageParser.g:1711:6: lv_right_3_0= ruleAdditiveExpression
3011 { 4201 {
3012 4202
3013 newCompositeNode(grammarAccess.getComparisonExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0()); 4203 newCompositeNode(grammarAccess.getComparisonExpressionAccess().getRightAdditiveExpressionParserRuleCall_1_2_0());
@@ -3063,7 +4253,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3063 4253
3064 4254
3065 // $ANTLR start "entryRuleAdditiveExpression" 4255 // $ANTLR start "entryRuleAdditiveExpression"
3066 // InternalSolverLanguageParser.g:1222:1: entryRuleAdditiveExpression returns [EObject current=null] : iv_ruleAdditiveExpression= ruleAdditiveExpression EOF ; 4256 // InternalSolverLanguageParser.g:1733:1: entryRuleAdditiveExpression returns [EObject current=null] : iv_ruleAdditiveExpression= ruleAdditiveExpression EOF ;
3067 public final EObject entryRuleAdditiveExpression() throws RecognitionException { 4257 public final EObject entryRuleAdditiveExpression() throws RecognitionException {
3068 EObject current = null; 4258 EObject current = null;
3069 4259
@@ -3071,8 +4261,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3071 4261
3072 4262
3073 try { 4263 try {
3074 // InternalSolverLanguageParser.g:1222:59: (iv_ruleAdditiveExpression= ruleAdditiveExpression EOF ) 4264 // InternalSolverLanguageParser.g:1733:59: (iv_ruleAdditiveExpression= ruleAdditiveExpression EOF )
3075 // InternalSolverLanguageParser.g:1223:2: iv_ruleAdditiveExpression= ruleAdditiveExpression EOF 4265 // InternalSolverLanguageParser.g:1734:2: iv_ruleAdditiveExpression= ruleAdditiveExpression EOF
3076 { 4266 {
3077 newCompositeNode(grammarAccess.getAdditiveExpressionRule()); 4267 newCompositeNode(grammarAccess.getAdditiveExpressionRule());
3078 pushFollow(FOLLOW_1); 4268 pushFollow(FOLLOW_1);
@@ -3099,7 +4289,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3099 4289
3100 4290
3101 // $ANTLR start "ruleAdditiveExpression" 4291 // $ANTLR start "ruleAdditiveExpression"
3102 // InternalSolverLanguageParser.g:1229:1: ruleAdditiveExpression returns [EObject current=null] : (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) ; 4292 // InternalSolverLanguageParser.g:1740:1: ruleAdditiveExpression returns [EObject current=null] : (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) ;
3103 public final EObject ruleAdditiveExpression() throws RecognitionException { 4293 public final EObject ruleAdditiveExpression() throws RecognitionException {
3104 EObject current = null; 4294 EObject current = null;
3105 4295
@@ -3114,16 +4304,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3114 enterRule(); 4304 enterRule();
3115 4305
3116 try { 4306 try {
3117 // InternalSolverLanguageParser.g:1235:2: ( (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) ) 4307 // InternalSolverLanguageParser.g:1746:2: ( (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) )
3118 // InternalSolverLanguageParser.g:1236:2: (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) 4308 // InternalSolverLanguageParser.g:1747:2: (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* )
3119 { 4309 {
3120 // InternalSolverLanguageParser.g:1236:2: (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* ) 4310 // InternalSolverLanguageParser.g:1747:2: (this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* )
3121 // InternalSolverLanguageParser.g:1237:3: this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* 4311 // InternalSolverLanguageParser.g:1748:3: this_MultiplicativeExpression_0= ruleMultiplicativeExpression ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )*
3122 { 4312 {
3123 4313
3124 newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0()); 4314 newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getMultiplicativeExpressionParserRuleCall_0());
3125 4315
3126 pushFollow(FOLLOW_22); 4316 pushFollow(FOLLOW_29);
3127 this_MultiplicativeExpression_0=ruleMultiplicativeExpression(); 4317 this_MultiplicativeExpression_0=ruleMultiplicativeExpression();
3128 4318
3129 state._fsp--; 4319 state._fsp--;
@@ -3132,23 +4322,23 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3132 current = this_MultiplicativeExpression_0; 4322 current = this_MultiplicativeExpression_0;
3133 afterParserOrEnumRuleCall(); 4323 afterParserOrEnumRuleCall();
3134 4324
3135 // InternalSolverLanguageParser.g:1245:3: ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )* 4325 // InternalSolverLanguageParser.g:1756:3: ( () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) )*
3136 loop15: 4326 loop18:
3137 do { 4327 do {
3138 int alt15=2; 4328 int alt18=2;
3139 int LA15_0 = input.LA(1); 4329 int LA18_0 = input.LA(1);
3140 4330
3141 if ( (LA15_0==PlusSign||LA15_0==HyphenMinus) ) { 4331 if ( (LA18_0==PlusSign||LA18_0==HyphenMinus) ) {
3142 alt15=1; 4332 alt18=1;
3143 } 4333 }
3144 4334
3145 4335
3146 switch (alt15) { 4336 switch (alt18) {
3147 case 1 : 4337 case 1 :
3148 // InternalSolverLanguageParser.g:1246:4: () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) ) 4338 // InternalSolverLanguageParser.g:1757:4: () ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) ( (lv_right_3_0= ruleMultiplicativeExpression ) )
3149 { 4339 {
3150 // InternalSolverLanguageParser.g:1246:4: () 4340 // InternalSolverLanguageParser.g:1757:4: ()
3151 // InternalSolverLanguageParser.g:1247:5: 4341 // InternalSolverLanguageParser.g:1758:5:
3152 { 4342 {
3153 4343
3154 current = forceCreateModelElementAndSet( 4344 current = forceCreateModelElementAndSet(
@@ -3158,11 +4348,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3158 4348
3159 } 4349 }
3160 4350
3161 // InternalSolverLanguageParser.g:1253:4: ( (lv_op_2_0= ruleAdditiveBinaryOperator ) ) 4351 // InternalSolverLanguageParser.g:1764:4: ( (lv_op_2_0= ruleAdditiveBinaryOperator ) )
3162 // InternalSolverLanguageParser.g:1254:5: (lv_op_2_0= ruleAdditiveBinaryOperator ) 4352 // InternalSolverLanguageParser.g:1765:5: (lv_op_2_0= ruleAdditiveBinaryOperator )
3163 { 4353 {
3164 // InternalSolverLanguageParser.g:1254:5: (lv_op_2_0= ruleAdditiveBinaryOperator ) 4354 // InternalSolverLanguageParser.g:1765:5: (lv_op_2_0= ruleAdditiveBinaryOperator )
3165 // InternalSolverLanguageParser.g:1255:6: lv_op_2_0= ruleAdditiveBinaryOperator 4355 // InternalSolverLanguageParser.g:1766:6: lv_op_2_0= ruleAdditiveBinaryOperator
3166 { 4356 {
3167 4357
3168 newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getOpAdditiveBinaryOperatorEnumRuleCall_1_1_0()); 4358 newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getOpAdditiveBinaryOperatorEnumRuleCall_1_1_0());
@@ -3189,16 +4379,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3189 4379
3190 } 4380 }
3191 4381
3192 // InternalSolverLanguageParser.g:1272:4: ( (lv_right_3_0= ruleMultiplicativeExpression ) ) 4382 // InternalSolverLanguageParser.g:1783:4: ( (lv_right_3_0= ruleMultiplicativeExpression ) )
3193 // InternalSolverLanguageParser.g:1273:5: (lv_right_3_0= ruleMultiplicativeExpression ) 4383 // InternalSolverLanguageParser.g:1784:5: (lv_right_3_0= ruleMultiplicativeExpression )
3194 { 4384 {
3195 // InternalSolverLanguageParser.g:1273:5: (lv_right_3_0= ruleMultiplicativeExpression ) 4385 // InternalSolverLanguageParser.g:1784:5: (lv_right_3_0= ruleMultiplicativeExpression )
3196 // InternalSolverLanguageParser.g:1274:6: lv_right_3_0= ruleMultiplicativeExpression 4386 // InternalSolverLanguageParser.g:1785:6: lv_right_3_0= ruleMultiplicativeExpression
3197 { 4387 {
3198 4388
3199 newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getRightMultiplicativeExpressionParserRuleCall_1_2_0()); 4389 newCompositeNode(grammarAccess.getAdditiveExpressionAccess().getRightMultiplicativeExpressionParserRuleCall_1_2_0());
3200 4390
3201 pushFollow(FOLLOW_22); 4391 pushFollow(FOLLOW_29);
3202 lv_right_3_0=ruleMultiplicativeExpression(); 4392 lv_right_3_0=ruleMultiplicativeExpression();
3203 4393
3204 state._fsp--; 4394 state._fsp--;
@@ -3225,7 +4415,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3225 break; 4415 break;
3226 4416
3227 default : 4417 default :
3228 break loop15; 4418 break loop18;
3229 } 4419 }
3230 } while (true); 4420 } while (true);
3231 4421
@@ -3252,7 +4442,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3252 4442
3253 4443
3254 // $ANTLR start "entryRuleMultiplicativeExpression" 4444 // $ANTLR start "entryRuleMultiplicativeExpression"
3255 // InternalSolverLanguageParser.g:1296:1: entryRuleMultiplicativeExpression returns [EObject current=null] : iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF ; 4445 // InternalSolverLanguageParser.g:1807:1: entryRuleMultiplicativeExpression returns [EObject current=null] : iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF ;
3256 public final EObject entryRuleMultiplicativeExpression() throws RecognitionException { 4446 public final EObject entryRuleMultiplicativeExpression() throws RecognitionException {
3257 EObject current = null; 4447 EObject current = null;
3258 4448
@@ -3260,8 +4450,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3260 4450
3261 4451
3262 try { 4452 try {
3263 // InternalSolverLanguageParser.g:1296:65: (iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF ) 4453 // InternalSolverLanguageParser.g:1807:65: (iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF )
3264 // InternalSolverLanguageParser.g:1297:2: iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF 4454 // InternalSolverLanguageParser.g:1808:2: iv_ruleMultiplicativeExpression= ruleMultiplicativeExpression EOF
3265 { 4455 {
3266 newCompositeNode(grammarAccess.getMultiplicativeExpressionRule()); 4456 newCompositeNode(grammarAccess.getMultiplicativeExpressionRule());
3267 pushFollow(FOLLOW_1); 4457 pushFollow(FOLLOW_1);
@@ -3288,7 +4478,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3288 4478
3289 4479
3290 // $ANTLR start "ruleMultiplicativeExpression" 4480 // $ANTLR start "ruleMultiplicativeExpression"
3291 // InternalSolverLanguageParser.g:1303:1: ruleMultiplicativeExpression returns [EObject current=null] : (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) ; 4481 // InternalSolverLanguageParser.g:1814:1: ruleMultiplicativeExpression returns [EObject current=null] : (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) ;
3292 public final EObject ruleMultiplicativeExpression() throws RecognitionException { 4482 public final EObject ruleMultiplicativeExpression() throws RecognitionException {
3293 EObject current = null; 4483 EObject current = null;
3294 4484
@@ -3303,16 +4493,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3303 enterRule(); 4493 enterRule();
3304 4494
3305 try { 4495 try {
3306 // InternalSolverLanguageParser.g:1309:2: ( (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) ) 4496 // InternalSolverLanguageParser.g:1820:2: ( (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) )
3307 // InternalSolverLanguageParser.g:1310:2: (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) 4497 // InternalSolverLanguageParser.g:1821:2: (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* )
3308 { 4498 {
3309 // InternalSolverLanguageParser.g:1310:2: (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* ) 4499 // InternalSolverLanguageParser.g:1821:2: (this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* )
3310 // InternalSolverLanguageParser.g:1311:3: this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* 4500 // InternalSolverLanguageParser.g:1822:3: this_ExponentialExpression_0= ruleExponentialExpression ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )*
3311 { 4501 {
3312 4502
3313 newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getExponentialExpressionParserRuleCall_0()); 4503 newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getExponentialExpressionParserRuleCall_0());
3314 4504
3315 pushFollow(FOLLOW_23); 4505 pushFollow(FOLLOW_30);
3316 this_ExponentialExpression_0=ruleExponentialExpression(); 4506 this_ExponentialExpression_0=ruleExponentialExpression();
3317 4507
3318 state._fsp--; 4508 state._fsp--;
@@ -3321,23 +4511,23 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3321 current = this_ExponentialExpression_0; 4511 current = this_ExponentialExpression_0;
3322 afterParserOrEnumRuleCall(); 4512 afterParserOrEnumRuleCall();
3323 4513
3324 // InternalSolverLanguageParser.g:1319:3: ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )* 4514 // InternalSolverLanguageParser.g:1830:3: ( () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )*
3325 loop16: 4515 loop19:
3326 do { 4516 do {
3327 int alt16=2; 4517 int alt19=2;
3328 int LA16_0 = input.LA(1); 4518 int LA19_0 = input.LA(1);
3329 4519
3330 if ( (LA16_0==Asterisk||LA16_0==Solidus) ) { 4520 if ( (LA19_0==Asterisk||LA19_0==Solidus) ) {
3331 alt16=1; 4521 alt19=1;
3332 } 4522 }
3333 4523
3334 4524
3335 switch (alt16) { 4525 switch (alt19) {
3336 case 1 : 4526 case 1 :
3337 // InternalSolverLanguageParser.g:1320:4: () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) 4527 // InternalSolverLanguageParser.g:1831:4: () ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) ( (lv_right_3_0= ruleExponentialExpression ) )
3338 { 4528 {
3339 // InternalSolverLanguageParser.g:1320:4: () 4529 // InternalSolverLanguageParser.g:1831:4: ()
3340 // InternalSolverLanguageParser.g:1321:5: 4530 // InternalSolverLanguageParser.g:1832:5:
3341 { 4531 {
3342 4532
3343 current = forceCreateModelElementAndSet( 4533 current = forceCreateModelElementAndSet(
@@ -3347,11 +4537,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3347 4537
3348 } 4538 }
3349 4539
3350 // InternalSolverLanguageParser.g:1327:4: ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) ) 4540 // InternalSolverLanguageParser.g:1838:4: ( (lv_op_2_0= ruleMultiplicativeBinaryOperator ) )
3351 // InternalSolverLanguageParser.g:1328:5: (lv_op_2_0= ruleMultiplicativeBinaryOperator ) 4541 // InternalSolverLanguageParser.g:1839:5: (lv_op_2_0= ruleMultiplicativeBinaryOperator )
3352 { 4542 {
3353 // InternalSolverLanguageParser.g:1328:5: (lv_op_2_0= ruleMultiplicativeBinaryOperator ) 4543 // InternalSolverLanguageParser.g:1839:5: (lv_op_2_0= ruleMultiplicativeBinaryOperator )
3354 // InternalSolverLanguageParser.g:1329:6: lv_op_2_0= ruleMultiplicativeBinaryOperator 4544 // InternalSolverLanguageParser.g:1840:6: lv_op_2_0= ruleMultiplicativeBinaryOperator
3355 { 4545 {
3356 4546
3357 newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0()); 4547 newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getOpMultiplicativeBinaryOperatorEnumRuleCall_1_1_0());
@@ -3378,16 +4568,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3378 4568
3379 } 4569 }
3380 4570
3381 // InternalSolverLanguageParser.g:1346:4: ( (lv_right_3_0= ruleExponentialExpression ) ) 4571 // InternalSolverLanguageParser.g:1857:4: ( (lv_right_3_0= ruleExponentialExpression ) )
3382 // InternalSolverLanguageParser.g:1347:5: (lv_right_3_0= ruleExponentialExpression ) 4572 // InternalSolverLanguageParser.g:1858:5: (lv_right_3_0= ruleExponentialExpression )
3383 { 4573 {
3384 // InternalSolverLanguageParser.g:1347:5: (lv_right_3_0= ruleExponentialExpression ) 4574 // InternalSolverLanguageParser.g:1858:5: (lv_right_3_0= ruleExponentialExpression )
3385 // InternalSolverLanguageParser.g:1348:6: lv_right_3_0= ruleExponentialExpression 4575 // InternalSolverLanguageParser.g:1859:6: lv_right_3_0= ruleExponentialExpression
3386 { 4576 {
3387 4577
3388 newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); 4578 newCompositeNode(grammarAccess.getMultiplicativeExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0());
3389 4579
3390 pushFollow(FOLLOW_23); 4580 pushFollow(FOLLOW_30);
3391 lv_right_3_0=ruleExponentialExpression(); 4581 lv_right_3_0=ruleExponentialExpression();
3392 4582
3393 state._fsp--; 4583 state._fsp--;
@@ -3414,7 +4604,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3414 break; 4604 break;
3415 4605
3416 default : 4606 default :
3417 break loop16; 4607 break loop19;
3418 } 4608 }
3419 } while (true); 4609 } while (true);
3420 4610
@@ -3441,7 +4631,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3441 4631
3442 4632
3443 // $ANTLR start "entryRuleExponentialExpression" 4633 // $ANTLR start "entryRuleExponentialExpression"
3444 // InternalSolverLanguageParser.g:1370:1: entryRuleExponentialExpression returns [EObject current=null] : iv_ruleExponentialExpression= ruleExponentialExpression EOF ; 4634 // InternalSolverLanguageParser.g:1881:1: entryRuleExponentialExpression returns [EObject current=null] : iv_ruleExponentialExpression= ruleExponentialExpression EOF ;
3445 public final EObject entryRuleExponentialExpression() throws RecognitionException { 4635 public final EObject entryRuleExponentialExpression() throws RecognitionException {
3446 EObject current = null; 4636 EObject current = null;
3447 4637
@@ -3449,8 +4639,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3449 4639
3450 4640
3451 try { 4641 try {
3452 // InternalSolverLanguageParser.g:1370:62: (iv_ruleExponentialExpression= ruleExponentialExpression EOF ) 4642 // InternalSolverLanguageParser.g:1881:62: (iv_ruleExponentialExpression= ruleExponentialExpression EOF )
3453 // InternalSolverLanguageParser.g:1371:2: iv_ruleExponentialExpression= ruleExponentialExpression EOF 4643 // InternalSolverLanguageParser.g:1882:2: iv_ruleExponentialExpression= ruleExponentialExpression EOF
3454 { 4644 {
3455 newCompositeNode(grammarAccess.getExponentialExpressionRule()); 4645 newCompositeNode(grammarAccess.getExponentialExpressionRule());
3456 pushFollow(FOLLOW_1); 4646 pushFollow(FOLLOW_1);
@@ -3477,11 +4667,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3477 4667
3478 4668
3479 // $ANTLR start "ruleExponentialExpression" 4669 // $ANTLR start "ruleExponentialExpression"
3480 // InternalSolverLanguageParser.g:1377:1: ruleExponentialExpression returns [EObject current=null] : (this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? ) ; 4670 // InternalSolverLanguageParser.g:1888:1: ruleExponentialExpression returns [EObject current=null] : (this_CastExpression_0= ruleCastExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )? ) ;
3481 public final EObject ruleExponentialExpression() throws RecognitionException { 4671 public final EObject ruleExponentialExpression() throws RecognitionException {
3482 EObject current = null; 4672 EObject current = null;
3483 4673
3484 EObject this_UnaryExpression_0 = null; 4674 EObject this_CastExpression_0 = null;
3485 4675
3486 Enumerator lv_op_2_0 = null; 4676 Enumerator lv_op_2_0 = null;
3487 4677
@@ -3492,37 +4682,37 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3492 enterRule(); 4682 enterRule();
3493 4683
3494 try { 4684 try {
3495 // InternalSolverLanguageParser.g:1383:2: ( (this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? ) ) 4685 // InternalSolverLanguageParser.g:1894:2: ( (this_CastExpression_0= ruleCastExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )? ) )
3496 // InternalSolverLanguageParser.g:1384:2: (this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? ) 4686 // InternalSolverLanguageParser.g:1895:2: (this_CastExpression_0= ruleCastExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )? )
3497 { 4687 {
3498 // InternalSolverLanguageParser.g:1384:2: (this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? ) 4688 // InternalSolverLanguageParser.g:1895:2: (this_CastExpression_0= ruleCastExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )? )
3499 // InternalSolverLanguageParser.g:1385:3: this_UnaryExpression_0= ruleUnaryExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? 4689 // InternalSolverLanguageParser.g:1896:3: this_CastExpression_0= ruleCastExpression ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )?
3500 { 4690 {
3501 4691
3502 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getUnaryExpressionParserRuleCall_0()); 4692 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getCastExpressionParserRuleCall_0());
3503 4693
3504 pushFollow(FOLLOW_24); 4694 pushFollow(FOLLOW_31);
3505 this_UnaryExpression_0=ruleUnaryExpression(); 4695 this_CastExpression_0=ruleCastExpression();
3506 4696
3507 state._fsp--; 4697 state._fsp--;
3508 4698
3509 4699
3510 current = this_UnaryExpression_0; 4700 current = this_CastExpression_0;
3511 afterParserOrEnumRuleCall(); 4701 afterParserOrEnumRuleCall();
3512 4702
3513 // InternalSolverLanguageParser.g:1393:3: ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) )? 4703 // InternalSolverLanguageParser.g:1904:3: ( () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) ) )?
3514 int alt17=2; 4704 int alt20=2;
3515 int LA17_0 = input.LA(1); 4705 int LA20_0 = input.LA(1);
3516 4706
3517 if ( (LA17_0==CircumflexAccent) ) { 4707 if ( (LA20_0==CircumflexAccent) ) {
3518 alt17=1; 4708 alt20=1;
3519 } 4709 }
3520 switch (alt17) { 4710 switch (alt20) {
3521 case 1 : 4711 case 1 :
3522 // InternalSolverLanguageParser.g:1394:4: () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleExponentialExpression ) ) 4712 // InternalSolverLanguageParser.g:1905:4: () ( (lv_op_2_0= ruleExponentialOp ) ) ( (lv_right_3_0= ruleCastExpression ) )
3523 { 4713 {
3524 // InternalSolverLanguageParser.g:1394:4: () 4714 // InternalSolverLanguageParser.g:1905:4: ()
3525 // InternalSolverLanguageParser.g:1395:5: 4715 // InternalSolverLanguageParser.g:1906:5:
3526 { 4716 {
3527 4717
3528 current = forceCreateModelElementAndSet( 4718 current = forceCreateModelElementAndSet(
@@ -3532,11 +4722,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3532 4722
3533 } 4723 }
3534 4724
3535 // InternalSolverLanguageParser.g:1401:4: ( (lv_op_2_0= ruleExponentialOp ) ) 4725 // InternalSolverLanguageParser.g:1912:4: ( (lv_op_2_0= ruleExponentialOp ) )
3536 // InternalSolverLanguageParser.g:1402:5: (lv_op_2_0= ruleExponentialOp ) 4726 // InternalSolverLanguageParser.g:1913:5: (lv_op_2_0= ruleExponentialOp )
3537 { 4727 {
3538 // InternalSolverLanguageParser.g:1402:5: (lv_op_2_0= ruleExponentialOp ) 4728 // InternalSolverLanguageParser.g:1913:5: (lv_op_2_0= ruleExponentialOp )
3539 // InternalSolverLanguageParser.g:1403:6: lv_op_2_0= ruleExponentialOp 4729 // InternalSolverLanguageParser.g:1914:6: lv_op_2_0= ruleExponentialOp
3540 { 4730 {
3541 4731
3542 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getOpExponentialOpEnumRuleCall_1_1_0()); 4732 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getOpExponentialOpEnumRuleCall_1_1_0());
@@ -3563,17 +4753,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3563 4753
3564 } 4754 }
3565 4755
3566 // InternalSolverLanguageParser.g:1420:4: ( (lv_right_3_0= ruleExponentialExpression ) ) 4756 // InternalSolverLanguageParser.g:1931:4: ( (lv_right_3_0= ruleCastExpression ) )
3567 // InternalSolverLanguageParser.g:1421:5: (lv_right_3_0= ruleExponentialExpression ) 4757 // InternalSolverLanguageParser.g:1932:5: (lv_right_3_0= ruleCastExpression )
3568 { 4758 {
3569 // InternalSolverLanguageParser.g:1421:5: (lv_right_3_0= ruleExponentialExpression ) 4759 // InternalSolverLanguageParser.g:1932:5: (lv_right_3_0= ruleCastExpression )
3570 // InternalSolverLanguageParser.g:1422:6: lv_right_3_0= ruleExponentialExpression 4760 // InternalSolverLanguageParser.g:1933:6: lv_right_3_0= ruleCastExpression
3571 { 4761 {
3572 4762
3573 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getRightExponentialExpressionParserRuleCall_1_2_0()); 4763 newCompositeNode(grammarAccess.getExponentialExpressionAccess().getRightCastExpressionParserRuleCall_1_2_0());
3574 4764
3575 pushFollow(FOLLOW_2); 4765 pushFollow(FOLLOW_2);
3576 lv_right_3_0=ruleExponentialExpression(); 4766 lv_right_3_0=ruleCastExpression();
3577 4767
3578 state._fsp--; 4768 state._fsp--;
3579 4769
@@ -3585,7 +4775,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3585 current, 4775 current,
3586 "right", 4776 "right",
3587 lv_right_3_0, 4777 lv_right_3_0,
3588 "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialExpression"); 4778 "org.eclipse.viatra.solver.language.SolverLanguage.CastExpression");
3589 afterParserOrEnumRuleCall(); 4779 afterParserOrEnumRuleCall();
3590 4780
3591 4781
@@ -3622,8 +4812,157 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3622 // $ANTLR end "ruleExponentialExpression" 4812 // $ANTLR end "ruleExponentialExpression"
3623 4813
3624 4814
4815 // $ANTLR start "entryRuleCastExpression"
4816 // InternalSolverLanguageParser.g:1955:1: entryRuleCastExpression returns [EObject current=null] : iv_ruleCastExpression= ruleCastExpression EOF ;
4817 public final EObject entryRuleCastExpression() throws RecognitionException {
4818 EObject current = null;
4819
4820 EObject iv_ruleCastExpression = null;
4821
4822
4823 try {
4824 // InternalSolverLanguageParser.g:1955:55: (iv_ruleCastExpression= ruleCastExpression EOF )
4825 // InternalSolverLanguageParser.g:1956:2: iv_ruleCastExpression= ruleCastExpression EOF
4826 {
4827 newCompositeNode(grammarAccess.getCastExpressionRule());
4828 pushFollow(FOLLOW_1);
4829 iv_ruleCastExpression=ruleCastExpression();
4830
4831 state._fsp--;
4832
4833 current =iv_ruleCastExpression;
4834 match(input,EOF,FOLLOW_2);
4835
4836 }
4837
4838 }
4839
4840 catch (RecognitionException re) {
4841 recover(input,re);
4842 appendSkippedTokens();
4843 }
4844 finally {
4845 }
4846 return current;
4847 }
4848 // $ANTLR end "entryRuleCastExpression"
4849
4850
4851 // $ANTLR start "ruleCastExpression"
4852 // InternalSolverLanguageParser.g:1962:1: ruleCastExpression returns [EObject current=null] : (this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= As ( ( ruleQualifiedName ) ) )? ) ;
4853 public final EObject ruleCastExpression() throws RecognitionException {
4854 EObject current = null;
4855
4856 Token otherlv_2=null;
4857 EObject this_UnaryExpression_0 = null;
4858
4859
4860
4861 enterRule();
4862
4863 try {
4864 // InternalSolverLanguageParser.g:1968:2: ( (this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= As ( ( ruleQualifiedName ) ) )? ) )
4865 // InternalSolverLanguageParser.g:1969:2: (this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= As ( ( ruleQualifiedName ) ) )? )
4866 {
4867 // InternalSolverLanguageParser.g:1969:2: (this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= As ( ( ruleQualifiedName ) ) )? )
4868 // InternalSolverLanguageParser.g:1970:3: this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= As ( ( ruleQualifiedName ) ) )?
4869 {
4870
4871 newCompositeNode(grammarAccess.getCastExpressionAccess().getUnaryExpressionParserRuleCall_0());
4872
4873 pushFollow(FOLLOW_32);
4874 this_UnaryExpression_0=ruleUnaryExpression();
4875
4876 state._fsp--;
4877
4878
4879 current = this_UnaryExpression_0;
4880 afterParserOrEnumRuleCall();
4881
4882 // InternalSolverLanguageParser.g:1978:3: ( () otherlv_2= As ( ( ruleQualifiedName ) ) )?
4883 int alt21=2;
4884 int LA21_0 = input.LA(1);
4885
4886 if ( (LA21_0==As) ) {
4887 alt21=1;
4888 }
4889 switch (alt21) {
4890 case 1 :
4891 // InternalSolverLanguageParser.g:1979:4: () otherlv_2= As ( ( ruleQualifiedName ) )
4892 {
4893 // InternalSolverLanguageParser.g:1979:4: ()
4894 // InternalSolverLanguageParser.g:1980:5:
4895 {
4896
4897 current = forceCreateModelElementAndSet(
4898 grammarAccess.getCastExpressionAccess().getCastExpressionBodyAction_1_0(),
4899 current);
4900
4901
4902 }
4903
4904 otherlv_2=(Token)match(input,As,FOLLOW_8);
4905
4906 newLeafNode(otherlv_2, grammarAccess.getCastExpressionAccess().getAsKeyword_1_1());
4907
4908 // InternalSolverLanguageParser.g:1990:4: ( ( ruleQualifiedName ) )
4909 // InternalSolverLanguageParser.g:1991:5: ( ruleQualifiedName )
4910 {
4911 // InternalSolverLanguageParser.g:1991:5: ( ruleQualifiedName )
4912 // InternalSolverLanguageParser.g:1992:6: ruleQualifiedName
4913 {
4914
4915 if (current==null) {
4916 current = createModelElement(grammarAccess.getCastExpressionRule());
4917 }
4918
4919
4920 newCompositeNode(grammarAccess.getCastExpressionAccess().getTypeNamedElementCrossReference_1_2_0());
4921
4922 pushFollow(FOLLOW_2);
4923 ruleQualifiedName();
4924
4925 state._fsp--;
4926
4927
4928 afterParserOrEnumRuleCall();
4929
4930
4931 }
4932
4933
4934 }
4935
4936
4937 }
4938 break;
4939
4940 }
4941
4942
4943 }
4944
4945
4946 }
4947
4948
4949 leaveRule();
4950
4951 }
4952
4953 catch (RecognitionException re) {
4954 recover(input,re);
4955 appendSkippedTokens();
4956 }
4957 finally {
4958 }
4959 return current;
4960 }
4961 // $ANTLR end "ruleCastExpression"
4962
4963
3625 // $ANTLR start "entryRuleUnaryExpression" 4964 // $ANTLR start "entryRuleUnaryExpression"
3626 // InternalSolverLanguageParser.g:1444:1: entryRuleUnaryExpression returns [EObject current=null] : iv_ruleUnaryExpression= ruleUnaryExpression EOF ; 4965 // InternalSolverLanguageParser.g:2011:1: entryRuleUnaryExpression returns [EObject current=null] : iv_ruleUnaryExpression= ruleUnaryExpression EOF ;
3627 public final EObject entryRuleUnaryExpression() throws RecognitionException { 4966 public final EObject entryRuleUnaryExpression() throws RecognitionException {
3628 EObject current = null; 4967 EObject current = null;
3629 4968
@@ -3631,8 +4970,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3631 4970
3632 4971
3633 try { 4972 try {
3634 // InternalSolverLanguageParser.g:1444:56: (iv_ruleUnaryExpression= ruleUnaryExpression EOF ) 4973 // InternalSolverLanguageParser.g:2011:56: (iv_ruleUnaryExpression= ruleUnaryExpression EOF )
3635 // InternalSolverLanguageParser.g:1445:2: iv_ruleUnaryExpression= ruleUnaryExpression EOF 4974 // InternalSolverLanguageParser.g:2012:2: iv_ruleUnaryExpression= ruleUnaryExpression EOF
3636 { 4975 {
3637 newCompositeNode(grammarAccess.getUnaryExpressionRule()); 4976 newCompositeNode(grammarAccess.getUnaryExpressionRule());
3638 pushFollow(FOLLOW_1); 4977 pushFollow(FOLLOW_1);
@@ -3659,7 +4998,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3659 4998
3660 4999
3661 // $ANTLR start "ruleUnaryExpression" 5000 // $ANTLR start "ruleUnaryExpression"
3662 // InternalSolverLanguageParser.g:1451:1: ruleUnaryExpression returns [EObject current=null] : (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) ; 5001 // InternalSolverLanguageParser.g:2018:1: ruleUnaryExpression returns [EObject current=null] : (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) ;
3663 public final EObject ruleUnaryExpression() throws RecognitionException { 5002 public final EObject ruleUnaryExpression() throws RecognitionException {
3664 EObject current = null; 5003 EObject current = null;
3665 5004
@@ -3674,28 +5013,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3674 enterRule(); 5013 enterRule();
3675 5014
3676 try { 5015 try {
3677 // InternalSolverLanguageParser.g:1457:2: ( (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) ) 5016 // InternalSolverLanguageParser.g:2024:2: ( (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) )
3678 // InternalSolverLanguageParser.g:1458:2: (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) 5017 // InternalSolverLanguageParser.g:2025:2: (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) )
3679 { 5018 {
3680 // InternalSolverLanguageParser.g:1458:2: (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) ) 5019 // InternalSolverLanguageParser.g:2025:2: (this_AggregationExpression_0= ruleAggregationExpression | ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) )
3681 int alt18=2; 5020 int alt22=2;
3682 int LA18_0 = input.LA(1); 5021 int LA22_0 = input.LA(1);
3683 5022
3684 if ( (LA18_0==Unknown||(LA18_0>=Count && LA18_0<=False)||(LA18_0>=Only && LA18_0<=Prod)||LA18_0==True||(LA18_0>=Avg && LA18_0<=Inf)||LA18_0==Max||(LA18_0>=Min && LA18_0<=Sum)||LA18_0==LeftParenthesis||LA18_0==LeftSquareBracket||(LA18_0>=RULE_STRING && LA18_0<=RULE_QUOTED_ID)||(LA18_0>=RULE_ID && LA18_0<=RULE_INT)) ) { 5023 if ( ((LA22_0>=Unknown && LA22_0<=Exists)||LA22_0==Forall||(LA22_0>=Count && LA22_0<=False)||LA22_0==True||LA22_0==Inf||LA22_0==LeftParenthesis||LA22_0==LeftSquareBracket||(LA22_0>=RULE_STRING && LA22_0<=RULE_QUOTED_ID)||(LA22_0>=RULE_ID && LA22_0<=RULE_INT)) ) {
3685 alt18=1; 5024 alt22=1;
3686 } 5025 }
3687 else if ( (LA18_0==Current||LA18_0==Must||LA18_0==May||LA18_0==ExclamationMark||LA18_0==PlusSign||LA18_0==HyphenMinus) ) { 5026 else if ( (LA22_0==Current||LA22_0==Must||LA22_0==May||LA22_0==ExclamationMark||LA22_0==PlusSign||LA22_0==HyphenMinus) ) {
3688 alt18=2; 5027 alt22=2;
3689 } 5028 }
3690 else { 5029 else {
3691 NoViableAltException nvae = 5030 NoViableAltException nvae =
3692 new NoViableAltException("", 18, 0, input); 5031 new NoViableAltException("", 22, 0, input);
3693 5032
3694 throw nvae; 5033 throw nvae;
3695 } 5034 }
3696 switch (alt18) { 5035 switch (alt22) {
3697 case 1 : 5036 case 1 :
3698 // InternalSolverLanguageParser.g:1459:3: this_AggregationExpression_0= ruleAggregationExpression 5037 // InternalSolverLanguageParser.g:2026:3: this_AggregationExpression_0= ruleAggregationExpression
3699 { 5038 {
3700 5039
3701 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getAggregationExpressionParserRuleCall_0()); 5040 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getAggregationExpressionParserRuleCall_0());
@@ -3713,13 +5052,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3713 } 5052 }
3714 break; 5053 break;
3715 case 2 : 5054 case 2 :
3716 // InternalSolverLanguageParser.g:1468:3: ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) 5055 // InternalSolverLanguageParser.g:2035:3: ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) )
3717 { 5056 {
3718 // InternalSolverLanguageParser.g:1468:3: ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) ) 5057 // InternalSolverLanguageParser.g:2035:3: ( () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) )
3719 // InternalSolverLanguageParser.g:1469:4: () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) ) 5058 // InternalSolverLanguageParser.g:2036:4: () ( (lv_op_2_0= ruleUnaryOp ) ) ( (lv_body_3_0= ruleAggregationExpression ) )
3720 { 5059 {
3721 // InternalSolverLanguageParser.g:1469:4: () 5060 // InternalSolverLanguageParser.g:2036:4: ()
3722 // InternalSolverLanguageParser.g:1470:5: 5061 // InternalSolverLanguageParser.g:2037:5:
3723 { 5062 {
3724 5063
3725 current = forceCreateModelElement( 5064 current = forceCreateModelElement(
@@ -3729,16 +5068,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3729 5068
3730 } 5069 }
3731 5070
3732 // InternalSolverLanguageParser.g:1476:4: ( (lv_op_2_0= ruleUnaryOp ) ) 5071 // InternalSolverLanguageParser.g:2043:4: ( (lv_op_2_0= ruleUnaryOp ) )
3733 // InternalSolverLanguageParser.g:1477:5: (lv_op_2_0= ruleUnaryOp ) 5072 // InternalSolverLanguageParser.g:2044:5: (lv_op_2_0= ruleUnaryOp )
3734 { 5073 {
3735 // InternalSolverLanguageParser.g:1477:5: (lv_op_2_0= ruleUnaryOp ) 5074 // InternalSolverLanguageParser.g:2044:5: (lv_op_2_0= ruleUnaryOp )
3736 // InternalSolverLanguageParser.g:1478:6: lv_op_2_0= ruleUnaryOp 5075 // InternalSolverLanguageParser.g:2045:6: lv_op_2_0= ruleUnaryOp
3737 { 5076 {
3738 5077
3739 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getOpUnaryOpEnumRuleCall_1_1_0()); 5078 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getOpUnaryOpEnumRuleCall_1_1_0());
3740 5079
3741 pushFollow(FOLLOW_25); 5080 pushFollow(FOLLOW_33);
3742 lv_op_2_0=ruleUnaryOp(); 5081 lv_op_2_0=ruleUnaryOp();
3743 5082
3744 state._fsp--; 5083 state._fsp--;
@@ -3760,11 +5099,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3760 5099
3761 } 5100 }
3762 5101
3763 // InternalSolverLanguageParser.g:1495:4: ( (lv_body_3_0= ruleAggregationExpression ) ) 5102 // InternalSolverLanguageParser.g:2062:4: ( (lv_body_3_0= ruleAggregationExpression ) )
3764 // InternalSolverLanguageParser.g:1496:5: (lv_body_3_0= ruleAggregationExpression ) 5103 // InternalSolverLanguageParser.g:2063:5: (lv_body_3_0= ruleAggregationExpression )
3765 { 5104 {
3766 // InternalSolverLanguageParser.g:1496:5: (lv_body_3_0= ruleAggregationExpression ) 5105 // InternalSolverLanguageParser.g:2063:5: (lv_body_3_0= ruleAggregationExpression )
3767 // InternalSolverLanguageParser.g:1497:6: lv_body_3_0= ruleAggregationExpression 5106 // InternalSolverLanguageParser.g:2064:6: lv_body_3_0= ruleAggregationExpression
3768 { 5107 {
3769 5108
3770 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getBodyAggregationExpressionParserRuleCall_1_2_0()); 5109 newCompositeNode(grammarAccess.getUnaryExpressionAccess().getBodyAggregationExpressionParserRuleCall_1_2_0());
@@ -3820,7 +5159,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3820 5159
3821 5160
3822 // $ANTLR start "entryRuleAggregationExpression" 5161 // $ANTLR start "entryRuleAggregationExpression"
3823 // InternalSolverLanguageParser.g:1519:1: entryRuleAggregationExpression returns [EObject current=null] : iv_ruleAggregationExpression= ruleAggregationExpression EOF ; 5162 // InternalSolverLanguageParser.g:2086:1: entryRuleAggregationExpression returns [EObject current=null] : iv_ruleAggregationExpression= ruleAggregationExpression EOF ;
3824 public final EObject entryRuleAggregationExpression() throws RecognitionException { 5163 public final EObject entryRuleAggregationExpression() throws RecognitionException {
3825 EObject current = null; 5164 EObject current = null;
3826 5165
@@ -3828,8 +5167,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3828 5167
3829 5168
3830 try { 5169 try {
3831 // InternalSolverLanguageParser.g:1519:62: (iv_ruleAggregationExpression= ruleAggregationExpression EOF ) 5170 // InternalSolverLanguageParser.g:2086:62: (iv_ruleAggregationExpression= ruleAggregationExpression EOF )
3832 // InternalSolverLanguageParser.g:1520:2: iv_ruleAggregationExpression= ruleAggregationExpression EOF 5171 // InternalSolverLanguageParser.g:2087:2: iv_ruleAggregationExpression= ruleAggregationExpression EOF
3833 { 5172 {
3834 newCompositeNode(grammarAccess.getAggregationExpressionRule()); 5173 newCompositeNode(grammarAccess.getAggregationExpressionRule());
3835 pushFollow(FOLLOW_1); 5174 pushFollow(FOLLOW_1);
@@ -3856,13 +5195,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3856 5195
3857 5196
3858 // $ANTLR start "ruleAggregationExpression" 5197 // $ANTLR start "ruleAggregationExpression"
3859 // InternalSolverLanguageParser.g:1526:1: ruleAggregationExpression returns [EObject current=null] : (this_AtomicExpression_0= ruleAtomicExpression | this_Count_1= ruleCount | this_Aggregation_2= ruleAggregation ) ; 5198 // InternalSolverLanguageParser.g:2093:1: ruleAggregationExpression returns [EObject current=null] : (this_AtomicExpression_0= ruleAtomicExpression | this_QuantifiedExpression_1= ruleQuantifiedExpression | this_Aggregation_2= ruleAggregation ) ;
3860 public final EObject ruleAggregationExpression() throws RecognitionException { 5199 public final EObject ruleAggregationExpression() throws RecognitionException {
3861 EObject current = null; 5200 EObject current = null;
3862 5201
3863 EObject this_AtomicExpression_0 = null; 5202 EObject this_AtomicExpression_0 = null;
3864 5203
3865 EObject this_Count_1 = null; 5204 EObject this_QuantifiedExpression_1 = null;
3866 5205
3867 EObject this_Aggregation_2 = null; 5206 EObject this_Aggregation_2 = null;
3868 5207
@@ -3871,53 +5210,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3871 enterRule(); 5210 enterRule();
3872 5211
3873 try { 5212 try {
3874 // InternalSolverLanguageParser.g:1532:2: ( (this_AtomicExpression_0= ruleAtomicExpression | this_Count_1= ruleCount | this_Aggregation_2= ruleAggregation ) ) 5213 // InternalSolverLanguageParser.g:2099:2: ( (this_AtomicExpression_0= ruleAtomicExpression | this_QuantifiedExpression_1= ruleQuantifiedExpression | this_Aggregation_2= ruleAggregation ) )
3875 // InternalSolverLanguageParser.g:1533:2: (this_AtomicExpression_0= ruleAtomicExpression | this_Count_1= ruleCount | this_Aggregation_2= ruleAggregation ) 5214 // InternalSolverLanguageParser.g:2100:2: (this_AtomicExpression_0= ruleAtomicExpression | this_QuantifiedExpression_1= ruleQuantifiedExpression | this_Aggregation_2= ruleAggregation )
3876 { 5215 {
3877 // InternalSolverLanguageParser.g:1533:2: (this_AtomicExpression_0= ruleAtomicExpression | this_Count_1= ruleCount | this_Aggregation_2= ruleAggregation ) 5216 // InternalSolverLanguageParser.g:2100:2: (this_AtomicExpression_0= ruleAtomicExpression | this_QuantifiedExpression_1= ruleQuantifiedExpression | this_Aggregation_2= ruleAggregation )
3878 int alt19=3; 5217 int alt23=3;
3879 switch ( input.LA(1) ) { 5218 alt23 = dfa23.predict(input);
3880 case Unknown: 5219 switch (alt23) {
3881 case Empty:
3882 case Error:
3883 case False:
3884 case True:
3885 case Inf:
3886 case LeftParenthesis:
3887 case LeftSquareBracket:
3888 case RULE_STRING:
3889 case RULE_QUOTED_ID:
3890 case RULE_ID:
3891 case RULE_INT:
3892 {
3893 alt19=1;
3894 }
3895 break;
3896 case Count:
3897 {
3898 alt19=2;
3899 }
3900 break;
3901 case Only:
3902 case Prod:
3903 case Avg:
3904 case Max:
3905 case Min:
3906 case Sum:
3907 {
3908 alt19=3;
3909 }
3910 break;
3911 default:
3912 NoViableAltException nvae =
3913 new NoViableAltException("", 19, 0, input);
3914
3915 throw nvae;
3916 }
3917
3918 switch (alt19) {
3919 case 1 : 5220 case 1 :
3920 // InternalSolverLanguageParser.g:1534:3: this_AtomicExpression_0= ruleAtomicExpression 5221 // InternalSolverLanguageParser.g:2101:3: this_AtomicExpression_0= ruleAtomicExpression
3921 { 5222 {
3922 5223
3923 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAtomicExpressionParserRuleCall_0()); 5224 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAtomicExpressionParserRuleCall_0());
@@ -3935,25 +5236,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3935 } 5236 }
3936 break; 5237 break;
3937 case 2 : 5238 case 2 :
3938 // InternalSolverLanguageParser.g:1543:3: this_Count_1= ruleCount 5239 // InternalSolverLanguageParser.g:2110:3: this_QuantifiedExpression_1= ruleQuantifiedExpression
3939 { 5240 {
3940 5241
3941 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getCountParserRuleCall_1()); 5242 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getQuantifiedExpressionParserRuleCall_1());
3942 5243
3943 pushFollow(FOLLOW_2); 5244 pushFollow(FOLLOW_2);
3944 this_Count_1=ruleCount(); 5245 this_QuantifiedExpression_1=ruleQuantifiedExpression();
3945 5246
3946 state._fsp--; 5247 state._fsp--;
3947 5248
3948 5249
3949 current = this_Count_1; 5250 current = this_QuantifiedExpression_1;
3950 afterParserOrEnumRuleCall(); 5251 afterParserOrEnumRuleCall();
3951 5252
3952 5253
3953 } 5254 }
3954 break; 5255 break;
3955 case 3 : 5256 case 3 :
3956 // InternalSolverLanguageParser.g:1552:3: this_Aggregation_2= ruleAggregation 5257 // InternalSolverLanguageParser.g:2119:3: this_Aggregation_2= ruleAggregation
3957 { 5258 {
3958 5259
3959 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAggregationParserRuleCall_2()); 5260 newCompositeNode(grammarAccess.getAggregationExpressionAccess().getAggregationParserRuleCall_2());
@@ -3992,25 +5293,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
3992 // $ANTLR end "ruleAggregationExpression" 5293 // $ANTLR end "ruleAggregationExpression"
3993 5294
3994 5295
3995 // $ANTLR start "entryRuleCount" 5296 // $ANTLR start "entryRuleLocalVariables"
3996 // InternalSolverLanguageParser.g:1564:1: entryRuleCount returns [EObject current=null] : iv_ruleCount= ruleCount EOF ; 5297 // InternalSolverLanguageParser.g:2131:1: entryRuleLocalVariables returns [EObject current=null] : iv_ruleLocalVariables= ruleLocalVariables EOF ;
3997 public final EObject entryRuleCount() throws RecognitionException { 5298 public final EObject entryRuleLocalVariables() throws RecognitionException {
3998 EObject current = null; 5299 EObject current = null;
3999 5300
4000 EObject iv_ruleCount = null; 5301 EObject iv_ruleLocalVariables = null;
4001 5302
4002 5303
4003 try { 5304 try {
4004 // InternalSolverLanguageParser.g:1564:46: (iv_ruleCount= ruleCount EOF ) 5305 // InternalSolverLanguageParser.g:2131:55: (iv_ruleLocalVariables= ruleLocalVariables EOF )
4005 // InternalSolverLanguageParser.g:1565:2: iv_ruleCount= ruleCount EOF 5306 // InternalSolverLanguageParser.g:2132:2: iv_ruleLocalVariables= ruleLocalVariables EOF
4006 { 5307 {
4007 newCompositeNode(grammarAccess.getCountRule()); 5308 newCompositeNode(grammarAccess.getLocalVariablesRule());
4008 pushFollow(FOLLOW_1); 5309 pushFollow(FOLLOW_1);
4009 iv_ruleCount=ruleCount(); 5310 iv_ruleLocalVariables=ruleLocalVariables();
4010 5311
4011 state._fsp--; 5312 state._fsp--;
4012 5313
4013 current =iv_ruleCount; 5314 current =iv_ruleLocalVariables;
4014 match(input,EOF,FOLLOW_2); 5315 match(input,EOF,FOLLOW_2);
4015 5316
4016 } 5317 }
@@ -4025,60 +5326,339 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4025 } 5326 }
4026 return current; 5327 return current;
4027 } 5328 }
4028 // $ANTLR end "entryRuleCount" 5329 // $ANTLR end "entryRuleLocalVariables"
4029 5330
4030 5331
4031 // $ANTLR start "ruleCount" 5332 // $ANTLR start "ruleLocalVariables"
4032 // InternalSolverLanguageParser.g:1571:1: ruleCount returns [EObject current=null] : (otherlv_0= Count otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= RightCurlyBracket ) ; 5333 // InternalSolverLanguageParser.g:2138:1: ruleLocalVariables returns [EObject current=null] : ( () otherlv_1= LeftSquareBracket ( ( (lv_variables_2_0= ruleVariable ) ) (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )* )? otherlv_5= RightSquareBracket ) ;
4033 public final EObject ruleCount() throws RecognitionException { 5334 public final EObject ruleLocalVariables() throws RecognitionException {
4034 EObject current = null; 5335 EObject current = null;
4035 5336
4036 Token otherlv_0=null;
4037 Token otherlv_1=null; 5337 Token otherlv_1=null;
4038 Token otherlv_3=null; 5338 Token otherlv_3=null;
4039 EObject lv_body_2_0 = null; 5339 Token otherlv_5=null;
5340 EObject lv_variables_2_0 = null;
5341
5342 EObject lv_variables_4_0 = null;
4040 5343
4041 5344
4042 5345
4043 enterRule(); 5346 enterRule();
4044 5347
4045 try { 5348 try {
4046 // InternalSolverLanguageParser.g:1577:2: ( (otherlv_0= Count otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= RightCurlyBracket ) ) 5349 // InternalSolverLanguageParser.g:2144:2: ( ( () otherlv_1= LeftSquareBracket ( ( (lv_variables_2_0= ruleVariable ) ) (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )* )? otherlv_5= RightSquareBracket ) )
4047 // InternalSolverLanguageParser.g:1578:2: (otherlv_0= Count otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= RightCurlyBracket ) 5350 // InternalSolverLanguageParser.g:2145:2: ( () otherlv_1= LeftSquareBracket ( ( (lv_variables_2_0= ruleVariable ) ) (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )* )? otherlv_5= RightSquareBracket )
5351 {
5352 // InternalSolverLanguageParser.g:2145:2: ( () otherlv_1= LeftSquareBracket ( ( (lv_variables_2_0= ruleVariable ) ) (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )* )? otherlv_5= RightSquareBracket )
5353 // InternalSolverLanguageParser.g:2146:3: () otherlv_1= LeftSquareBracket ( ( (lv_variables_2_0= ruleVariable ) ) (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )* )? otherlv_5= RightSquareBracket
4048 { 5354 {
4049 // InternalSolverLanguageParser.g:1578:2: (otherlv_0= Count otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= RightCurlyBracket ) 5355 // InternalSolverLanguageParser.g:2146:3: ()
4050 // InternalSolverLanguageParser.g:1579:3: otherlv_0= Count otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= RightCurlyBracket 5356 // InternalSolverLanguageParser.g:2147:4:
4051 { 5357 {
4052 otherlv_0=(Token)match(input,Count,FOLLOW_26);
4053 5358
4054 newLeafNode(otherlv_0, grammarAccess.getCountAccess().getCountKeyword_0()); 5359 current = forceCreateModelElement(
5360 grammarAccess.getLocalVariablesAccess().getLocalVariablesAction_0(),
5361 current);
5362
5363
5364 }
5365
5366 otherlv_1=(Token)match(input,LeftSquareBracket,FOLLOW_34);
5367
5368 newLeafNode(otherlv_1, grammarAccess.getLocalVariablesAccess().getLeftSquareBracketKeyword_1());
5369
5370 // InternalSolverLanguageParser.g:2157:3: ( ( (lv_variables_2_0= ruleVariable ) ) (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )* )?
5371 int alt25=2;
5372 int LA25_0 = input.LA(1);
5373
5374 if ( (LA25_0==RULE_QUOTED_ID||LA25_0==RULE_ID) ) {
5375 alt25=1;
5376 }
5377 switch (alt25) {
5378 case 1 :
5379 // InternalSolverLanguageParser.g:2158:4: ( (lv_variables_2_0= ruleVariable ) ) (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )*
5380 {
5381 // InternalSolverLanguageParser.g:2158:4: ( (lv_variables_2_0= ruleVariable ) )
5382 // InternalSolverLanguageParser.g:2159:5: (lv_variables_2_0= ruleVariable )
5383 {
5384 // InternalSolverLanguageParser.g:2159:5: (lv_variables_2_0= ruleVariable )
5385 // InternalSolverLanguageParser.g:2160:6: lv_variables_2_0= ruleVariable
5386 {
5387
5388 newCompositeNode(grammarAccess.getLocalVariablesAccess().getVariablesVariableParserRuleCall_2_0_0());
5389
5390 pushFollow(FOLLOW_35);
5391 lv_variables_2_0=ruleVariable();
5392
5393 state._fsp--;
5394
5395
5396 if (current==null) {
5397 current = createModelElementForParent(grammarAccess.getLocalVariablesRule());
5398 }
5399 add(
5400 current,
5401 "variables",
5402 lv_variables_2_0,
5403 "org.eclipse.viatra.solver.language.SolverLanguage.Variable");
5404 afterParserOrEnumRuleCall();
5405
5406
5407 }
5408
5409
5410 }
5411
5412 // InternalSolverLanguageParser.g:2177:4: (otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) ) )*
5413 loop24:
5414 do {
5415 int alt24=2;
5416 int LA24_0 = input.LA(1);
5417
5418 if ( (LA24_0==Comma) ) {
5419 alt24=1;
5420 }
5421
5422
5423 switch (alt24) {
5424 case 1 :
5425 // InternalSolverLanguageParser.g:2178:5: otherlv_3= Comma ( (lv_variables_4_0= ruleVariable ) )
5426 {
5427 otherlv_3=(Token)match(input,Comma,FOLLOW_8);
5428
5429 newLeafNode(otherlv_3, grammarAccess.getLocalVariablesAccess().getCommaKeyword_2_1_0());
5430
5431 // InternalSolverLanguageParser.g:2182:5: ( (lv_variables_4_0= ruleVariable ) )
5432 // InternalSolverLanguageParser.g:2183:6: (lv_variables_4_0= ruleVariable )
5433 {
5434 // InternalSolverLanguageParser.g:2183:6: (lv_variables_4_0= ruleVariable )
5435 // InternalSolverLanguageParser.g:2184:7: lv_variables_4_0= ruleVariable
5436 {
5437
5438 newCompositeNode(grammarAccess.getLocalVariablesAccess().getVariablesVariableParserRuleCall_2_1_1_0());
5439
5440 pushFollow(FOLLOW_35);
5441 lv_variables_4_0=ruleVariable();
5442
5443 state._fsp--;
5444
5445
5446 if (current==null) {
5447 current = createModelElementForParent(grammarAccess.getLocalVariablesRule());
5448 }
5449 add(
5450 current,
5451 "variables",
5452 lv_variables_4_0,
5453 "org.eclipse.viatra.solver.language.SolverLanguage.Variable");
5454 afterParserOrEnumRuleCall();
5455
5456
5457 }
5458
5459
5460 }
5461
5462
5463 }
5464 break;
5465
5466 default :
5467 break loop24;
5468 }
5469 } while (true);
5470
5471
5472 }
5473 break;
5474
5475 }
5476
5477 otherlv_5=(Token)match(input,RightSquareBracket,FOLLOW_2);
5478
5479 newLeafNode(otherlv_5, grammarAccess.getLocalVariablesAccess().getRightSquareBracketKeyword_3());
4055 5480
4056 otherlv_1=(Token)match(input,LeftCurlyBracket,FOLLOW_6);
4057 5481
4058 newLeafNode(otherlv_1, grammarAccess.getCountAccess().getLeftCurlyBracketKeyword_1()); 5482 }
5483
5484
5485 }
5486
5487
5488 leaveRule();
5489
5490 }
5491
5492 catch (RecognitionException re) {
5493 recover(input,re);
5494 appendSkippedTokens();
5495 }
5496 finally {
5497 }
5498 return current;
5499 }
5500 // $ANTLR end "ruleLocalVariables"
5501
5502
5503 // $ANTLR start "entryRuleQuantifiedExpression"
5504 // InternalSolverLanguageParser.g:2211:1: entryRuleQuantifiedExpression returns [EObject current=null] : iv_ruleQuantifiedExpression= ruleQuantifiedExpression EOF ;
5505 public final EObject entryRuleQuantifiedExpression() throws RecognitionException {
5506 EObject current = null;
5507
5508 EObject iv_ruleQuantifiedExpression = null;
5509
5510
5511 try {
5512 // InternalSolverLanguageParser.g:2211:61: (iv_ruleQuantifiedExpression= ruleQuantifiedExpression EOF )
5513 // InternalSolverLanguageParser.g:2212:2: iv_ruleQuantifiedExpression= ruleQuantifiedExpression EOF
5514 {
5515 newCompositeNode(grammarAccess.getQuantifiedExpressionRule());
5516 pushFollow(FOLLOW_1);
5517 iv_ruleQuantifiedExpression=ruleQuantifiedExpression();
5518
5519 state._fsp--;
5520
5521 current =iv_ruleQuantifiedExpression;
5522 match(input,EOF,FOLLOW_2);
5523
5524 }
5525
5526 }
5527
5528 catch (RecognitionException re) {
5529 recover(input,re);
5530 appendSkippedTokens();
5531 }
5532 finally {
5533 }
5534 return current;
5535 }
5536 // $ANTLR end "entryRuleQuantifiedExpression"
5537
5538
5539 // $ANTLR start "ruleQuantifiedExpression"
5540 // InternalSolverLanguageParser.g:2218:1: ruleQuantifiedExpression returns [EObject current=null] : ( ( (lv_quantifier_0_0= ruleQuantifier ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) otherlv_4= RightCurlyBracket ) ;
5541 public final EObject ruleQuantifiedExpression() throws RecognitionException {
5542 EObject current = null;
5543
5544 Token otherlv_2=null;
5545 Token otherlv_4=null;
5546 Enumerator lv_quantifier_0_0 = null;
5547
5548 EObject lv_localVariables_1_0 = null;
5549
5550 EObject lv_body_3_0 = null;
5551
5552
5553
5554 enterRule();
5555
5556 try {
5557 // InternalSolverLanguageParser.g:2224:2: ( ( ( (lv_quantifier_0_0= ruleQuantifier ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) otherlv_4= RightCurlyBracket ) )
5558 // InternalSolverLanguageParser.g:2225:2: ( ( (lv_quantifier_0_0= ruleQuantifier ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) otherlv_4= RightCurlyBracket )
5559 {
5560 // InternalSolverLanguageParser.g:2225:2: ( ( (lv_quantifier_0_0= ruleQuantifier ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) otherlv_4= RightCurlyBracket )
5561 // InternalSolverLanguageParser.g:2226:3: ( (lv_quantifier_0_0= ruleQuantifier ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) otherlv_4= RightCurlyBracket
5562 {
5563 // InternalSolverLanguageParser.g:2226:3: ( (lv_quantifier_0_0= ruleQuantifier ) )
5564 // InternalSolverLanguageParser.g:2227:4: (lv_quantifier_0_0= ruleQuantifier )
5565 {
5566 // InternalSolverLanguageParser.g:2227:4: (lv_quantifier_0_0= ruleQuantifier )
5567 // InternalSolverLanguageParser.g:2228:5: lv_quantifier_0_0= ruleQuantifier
5568 {
5569
5570 newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getQuantifierQuantifierEnumRuleCall_0_0());
5571
5572 pushFollow(FOLLOW_36);
5573 lv_quantifier_0_0=ruleQuantifier();
5574
5575 state._fsp--;
5576
5577
5578 if (current==null) {
5579 current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule());
5580 }
5581 set(
5582 current,
5583 "quantifier",
5584 lv_quantifier_0_0,
5585 "org.eclipse.viatra.solver.language.SolverLanguage.Quantifier");
5586 afterParserOrEnumRuleCall();
5587
5588
5589 }
5590
5591
5592 }
5593
5594 // InternalSolverLanguageParser.g:2245:3: ( (lv_localVariables_1_0= ruleLocalVariables ) )?
5595 int alt26=2;
5596 int LA26_0 = input.LA(1);
5597
5598 if ( (LA26_0==LeftSquareBracket) ) {
5599 alt26=1;
5600 }
5601 switch (alt26) {
5602 case 1 :
5603 // InternalSolverLanguageParser.g:2246:4: (lv_localVariables_1_0= ruleLocalVariables )
5604 {
5605 // InternalSolverLanguageParser.g:2246:4: (lv_localVariables_1_0= ruleLocalVariables )
5606 // InternalSolverLanguageParser.g:2247:5: lv_localVariables_1_0= ruleLocalVariables
5607 {
5608
5609 newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getLocalVariablesLocalVariablesParserRuleCall_1_0());
5610
5611 pushFollow(FOLLOW_14);
5612 lv_localVariables_1_0=ruleLocalVariables();
5613
5614 state._fsp--;
5615
5616
5617 if (current==null) {
5618 current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule());
5619 }
5620 set(
5621 current,
5622 "localVariables",
5623 lv_localVariables_1_0,
5624 "org.eclipse.viatra.solver.language.SolverLanguage.LocalVariables");
5625 afterParserOrEnumRuleCall();
5626
5627
5628 }
5629
5630
5631 }
5632 break;
5633
5634 }
5635
5636 otherlv_2=(Token)match(input,LeftCurlyBracket,FOLLOW_6);
5637
5638 newLeafNode(otherlv_2, grammarAccess.getQuantifiedExpressionAccess().getLeftCurlyBracketKeyword_2());
4059 5639
4060 // InternalSolverLanguageParser.g:1587:3: ( (lv_body_2_0= ruleExpression ) ) 5640 // InternalSolverLanguageParser.g:2268:3: ( (lv_body_3_0= ruleExpression ) )
4061 // InternalSolverLanguageParser.g:1588:4: (lv_body_2_0= ruleExpression ) 5641 // InternalSolverLanguageParser.g:2269:4: (lv_body_3_0= ruleExpression )
4062 { 5642 {
4063 // InternalSolverLanguageParser.g:1588:4: (lv_body_2_0= ruleExpression ) 5643 // InternalSolverLanguageParser.g:2269:4: (lv_body_3_0= ruleExpression )
4064 // InternalSolverLanguageParser.g:1589:5: lv_body_2_0= ruleExpression 5644 // InternalSolverLanguageParser.g:2270:5: lv_body_3_0= ruleExpression
4065 { 5645 {
4066 5646
4067 newCompositeNode(grammarAccess.getCountAccess().getBodyExpressionParserRuleCall_2_0()); 5647 newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getBodyExpressionParserRuleCall_3_0());
4068 5648
4069 pushFollow(FOLLOW_27); 5649 pushFollow(FOLLOW_16);
4070 lv_body_2_0=ruleExpression(); 5650 lv_body_3_0=ruleExpression();
4071 5651
4072 state._fsp--; 5652 state._fsp--;
4073 5653
4074 5654
4075 if (current==null) { 5655 if (current==null) {
4076 current = createModelElementForParent(grammarAccess.getCountRule()); 5656 current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule());
4077 } 5657 }
4078 set( 5658 set(
4079 current, 5659 current,
4080 "body", 5660 "body",
4081 lv_body_2_0, 5661 lv_body_3_0,
4082 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 5662 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
4083 afterParserOrEnumRuleCall(); 5663 afterParserOrEnumRuleCall();
4084 5664
@@ -4088,9 +5668,9 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4088 5668
4089 } 5669 }
4090 5670
4091 otherlv_3=(Token)match(input,RightCurlyBracket,FOLLOW_2); 5671 otherlv_4=(Token)match(input,RightCurlyBracket,FOLLOW_2);
4092 5672
4093 newLeafNode(otherlv_3, grammarAccess.getCountAccess().getRightCurlyBracketKeyword_3()); 5673 newLeafNode(otherlv_4, grammarAccess.getQuantifiedExpressionAccess().getRightCurlyBracketKeyword_4());
4094 5674
4095 5675
4096 } 5676 }
@@ -4111,11 +5691,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4111 } 5691 }
4112 return current; 5692 return current;
4113 } 5693 }
4114 // $ANTLR end "ruleCount" 5694 // $ANTLR end "ruleQuantifiedExpression"
4115 5695
4116 5696
4117 // $ANTLR start "entryRuleAggregation" 5697 // $ANTLR start "entryRuleAggregation"
4118 // InternalSolverLanguageParser.g:1614:1: entryRuleAggregation returns [EObject current=null] : iv_ruleAggregation= ruleAggregation EOF ; 5698 // InternalSolverLanguageParser.g:2295:1: entryRuleAggregation returns [EObject current=null] : iv_ruleAggregation= ruleAggregation EOF ;
4119 public final EObject entryRuleAggregation() throws RecognitionException { 5699 public final EObject entryRuleAggregation() throws RecognitionException {
4120 EObject current = null; 5700 EObject current = null;
4121 5701
@@ -4123,8 +5703,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4123 5703
4124 5704
4125 try { 5705 try {
4126 // InternalSolverLanguageParser.g:1614:52: (iv_ruleAggregation= ruleAggregation EOF ) 5706 // InternalSolverLanguageParser.g:2295:52: (iv_ruleAggregation= ruleAggregation EOF )
4127 // InternalSolverLanguageParser.g:1615:2: iv_ruleAggregation= ruleAggregation EOF 5707 // InternalSolverLanguageParser.g:2296:2: iv_ruleAggregation= ruleAggregation EOF
4128 { 5708 {
4129 newCompositeNode(grammarAccess.getAggregationRule()); 5709 newCompositeNode(grammarAccess.getAggregationRule());
4130 pushFollow(FOLLOW_1); 5710 pushFollow(FOLLOW_1);
@@ -4151,53 +5731,50 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4151 5731
4152 5732
4153 // $ANTLR start "ruleAggregation" 5733 // $ANTLR start "ruleAggregation"
4154 // InternalSolverLanguageParser.g:1621:1: ruleAggregation returns [EObject current=null] : ( ( (lv_op_0_0= ruleAggregationOp ) ) otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= VerticalLine ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= RightCurlyBracket ) ; 5734 // InternalSolverLanguageParser.g:2302:1: ruleAggregation returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) (otherlv_4= VerticalLine ( (lv_condition_5_0= ruleExpression ) ) )? otherlv_6= RightCurlyBracket ) ;
4155 public final EObject ruleAggregation() throws RecognitionException { 5735 public final EObject ruleAggregation() throws RecognitionException {
4156 EObject current = null; 5736 EObject current = null;
4157 5737
4158 Token otherlv_1=null; 5738 Token otherlv_2=null;
4159 Token otherlv_3=null; 5739 Token otherlv_4=null;
4160 Token otherlv_5=null; 5740 Token otherlv_6=null;
4161 Enumerator lv_op_0_0 = null; 5741 EObject lv_localVariables_1_0 = null;
4162 5742
4163 EObject lv_body_2_0 = null; 5743 EObject lv_body_3_0 = null;
4164 5744
4165 EObject lv_condition_4_0 = null; 5745 EObject lv_condition_5_0 = null;
4166 5746
4167 5747
4168 5748
4169 enterRule(); 5749 enterRule();
4170 5750
4171 try { 5751 try {
4172 // InternalSolverLanguageParser.g:1627:2: ( ( ( (lv_op_0_0= ruleAggregationOp ) ) otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= VerticalLine ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= RightCurlyBracket ) ) 5752 // InternalSolverLanguageParser.g:2308:2: ( ( ( ( ruleQualifiedName ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) (otherlv_4= VerticalLine ( (lv_condition_5_0= ruleExpression ) ) )? otherlv_6= RightCurlyBracket ) )
4173 // InternalSolverLanguageParser.g:1628:2: ( ( (lv_op_0_0= ruleAggregationOp ) ) otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= VerticalLine ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= RightCurlyBracket ) 5753 // InternalSolverLanguageParser.g:2309:2: ( ( ( ruleQualifiedName ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) (otherlv_4= VerticalLine ( (lv_condition_5_0= ruleExpression ) ) )? otherlv_6= RightCurlyBracket )
4174 { 5754 {
4175 // InternalSolverLanguageParser.g:1628:2: ( ( (lv_op_0_0= ruleAggregationOp ) ) otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= VerticalLine ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= RightCurlyBracket ) 5755 // InternalSolverLanguageParser.g:2309:2: ( ( ( ruleQualifiedName ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) (otherlv_4= VerticalLine ( (lv_condition_5_0= ruleExpression ) ) )? otherlv_6= RightCurlyBracket )
4176 // InternalSolverLanguageParser.g:1629:3: ( (lv_op_0_0= ruleAggregationOp ) ) otherlv_1= LeftCurlyBracket ( (lv_body_2_0= ruleExpression ) ) otherlv_3= VerticalLine ( (lv_condition_4_0= ruleExpression ) ) otherlv_5= RightCurlyBracket 5756 // InternalSolverLanguageParser.g:2310:3: ( ( ruleQualifiedName ) ) ( (lv_localVariables_1_0= ruleLocalVariables ) )? otherlv_2= LeftCurlyBracket ( (lv_body_3_0= ruleExpression ) ) (otherlv_4= VerticalLine ( (lv_condition_5_0= ruleExpression ) ) )? otherlv_6= RightCurlyBracket
4177 { 5757 {
4178 // InternalSolverLanguageParser.g:1629:3: ( (lv_op_0_0= ruleAggregationOp ) ) 5758 // InternalSolverLanguageParser.g:2310:3: ( ( ruleQualifiedName ) )
4179 // InternalSolverLanguageParser.g:1630:4: (lv_op_0_0= ruleAggregationOp ) 5759 // InternalSolverLanguageParser.g:2311:4: ( ruleQualifiedName )
4180 { 5760 {
4181 // InternalSolverLanguageParser.g:1630:4: (lv_op_0_0= ruleAggregationOp ) 5761 // InternalSolverLanguageParser.g:2311:4: ( ruleQualifiedName )
4182 // InternalSolverLanguageParser.g:1631:5: lv_op_0_0= ruleAggregationOp 5762 // InternalSolverLanguageParser.g:2312:5: ruleQualifiedName
4183 { 5763 {
4184 5764
4185 newCompositeNode(grammarAccess.getAggregationAccess().getOpAggregationOpEnumRuleCall_0_0()); 5765 if (current==null) {
5766 current = createModelElement(grammarAccess.getAggregationRule());
5767 }
5768
5769
5770 newCompositeNode(grammarAccess.getAggregationAccess().getOpNamedElementCrossReference_0_0());
4186 5771
4187 pushFollow(FOLLOW_26); 5772 pushFollow(FOLLOW_36);
4188 lv_op_0_0=ruleAggregationOp(); 5773 ruleQualifiedName();
4189 5774
4190 state._fsp--; 5775 state._fsp--;
4191 5776
4192 5777
4193 if (current==null) {
4194 current = createModelElementForParent(grammarAccess.getAggregationRule());
4195 }
4196 set(
4197 current,
4198 "op",
4199 lv_op_0_0,
4200 "org.eclipse.viatra.solver.language.SolverLanguage.AggregationOp");
4201 afterParserOrEnumRuleCall(); 5778 afterParserOrEnumRuleCall();
4202 5779
4203 5780
@@ -4206,21 +5783,63 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4206 5783
4207 } 5784 }
4208 5785
4209 otherlv_1=(Token)match(input,LeftCurlyBracket,FOLLOW_6); 5786 // InternalSolverLanguageParser.g:2326:3: ( (lv_localVariables_1_0= ruleLocalVariables ) )?
5787 int alt27=2;
5788 int LA27_0 = input.LA(1);
5789
5790 if ( (LA27_0==LeftSquareBracket) ) {
5791 alt27=1;
5792 }
5793 switch (alt27) {
5794 case 1 :
5795 // InternalSolverLanguageParser.g:2327:4: (lv_localVariables_1_0= ruleLocalVariables )
5796 {
5797 // InternalSolverLanguageParser.g:2327:4: (lv_localVariables_1_0= ruleLocalVariables )
5798 // InternalSolverLanguageParser.g:2328:5: lv_localVariables_1_0= ruleLocalVariables
5799 {
5800
5801 newCompositeNode(grammarAccess.getAggregationAccess().getLocalVariablesLocalVariablesParserRuleCall_1_0());
5802
5803 pushFollow(FOLLOW_14);
5804 lv_localVariables_1_0=ruleLocalVariables();
5805
5806 state._fsp--;
5807
5808
5809 if (current==null) {
5810 current = createModelElementForParent(grammarAccess.getAggregationRule());
5811 }
5812 set(
5813 current,
5814 "localVariables",
5815 lv_localVariables_1_0,
5816 "org.eclipse.viatra.solver.language.SolverLanguage.LocalVariables");
5817 afterParserOrEnumRuleCall();
5818
5819
5820 }
5821
5822
5823 }
5824 break;
5825
5826 }
5827
5828 otherlv_2=(Token)match(input,LeftCurlyBracket,FOLLOW_6);
4210 5829
4211 newLeafNode(otherlv_1, grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_1()); 5830 newLeafNode(otherlv_2, grammarAccess.getAggregationAccess().getLeftCurlyBracketKeyword_2());
4212 5831
4213 // InternalSolverLanguageParser.g:1652:3: ( (lv_body_2_0= ruleExpression ) ) 5832 // InternalSolverLanguageParser.g:2349:3: ( (lv_body_3_0= ruleExpression ) )
4214 // InternalSolverLanguageParser.g:1653:4: (lv_body_2_0= ruleExpression ) 5833 // InternalSolverLanguageParser.g:2350:4: (lv_body_3_0= ruleExpression )
4215 { 5834 {
4216 // InternalSolverLanguageParser.g:1653:4: (lv_body_2_0= ruleExpression ) 5835 // InternalSolverLanguageParser.g:2350:4: (lv_body_3_0= ruleExpression )
4217 // InternalSolverLanguageParser.g:1654:5: lv_body_2_0= ruleExpression 5836 // InternalSolverLanguageParser.g:2351:5: lv_body_3_0= ruleExpression
4218 { 5837 {
4219 5838
4220 newCompositeNode(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_2_0()); 5839 newCompositeNode(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_3_0());
4221 5840
4222 pushFollow(FOLLOW_28); 5841 pushFollow(FOLLOW_37);
4223 lv_body_2_0=ruleExpression(); 5842 lv_body_3_0=ruleExpression();
4224 5843
4225 state._fsp--; 5844 state._fsp--;
4226 5845
@@ -4231,7 +5850,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4231 set( 5850 set(
4232 current, 5851 current,
4233 "body", 5852 "body",
4234 lv_body_2_0, 5853 lv_body_3_0,
4235 "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 5854 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
4236 afterParserOrEnumRuleCall(); 5855 afterParserOrEnumRuleCall();
4237 5856
@@ -4241,44 +5860,61 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4241 5860
4242 } 5861 }
4243 5862
4244 otherlv_3=(Token)match(input,VerticalLine,FOLLOW_6); 5863 // InternalSolverLanguageParser.g:2368:3: (otherlv_4= VerticalLine ( (lv_condition_5_0= ruleExpression ) ) )?
5864 int alt28=2;
5865 int LA28_0 = input.LA(1);
4245 5866
4246 newLeafNode(otherlv_3, grammarAccess.getAggregationAccess().getVerticalLineKeyword_3()); 5867 if ( (LA28_0==VerticalLine) ) {
4247 5868 alt28=1;
4248 // InternalSolverLanguageParser.g:1675:3: ( (lv_condition_4_0= ruleExpression ) ) 5869 }
4249 // InternalSolverLanguageParser.g:1676:4: (lv_condition_4_0= ruleExpression ) 5870 switch (alt28) {
4250 { 5871 case 1 :
4251 // InternalSolverLanguageParser.g:1676:4: (lv_condition_4_0= ruleExpression ) 5872 // InternalSolverLanguageParser.g:2369:4: otherlv_4= VerticalLine ( (lv_condition_5_0= ruleExpression ) )
4252 // InternalSolverLanguageParser.g:1677:5: lv_condition_4_0= ruleExpression 5873 {
4253 { 5874 otherlv_4=(Token)match(input,VerticalLine,FOLLOW_6);
4254 5875
4255 newCompositeNode(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0()); 5876 newLeafNode(otherlv_4, grammarAccess.getAggregationAccess().getVerticalLineKeyword_4_0());
4256 5877
4257 pushFollow(FOLLOW_27); 5878 // InternalSolverLanguageParser.g:2373:4: ( (lv_condition_5_0= ruleExpression ) )
4258 lv_condition_4_0=ruleExpression(); 5879 // InternalSolverLanguageParser.g:2374:5: (lv_condition_5_0= ruleExpression )
5880 {
5881 // InternalSolverLanguageParser.g:2374:5: (lv_condition_5_0= ruleExpression )
5882 // InternalSolverLanguageParser.g:2375:6: lv_condition_5_0= ruleExpression
5883 {
4259 5884
4260 state._fsp--; 5885 newCompositeNode(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_1_0());
5886
5887 pushFollow(FOLLOW_16);
5888 lv_condition_5_0=ruleExpression();
4261 5889
5890 state._fsp--;
4262 5891
4263 if (current==null) {
4264 current = createModelElementForParent(grammarAccess.getAggregationRule());
4265 }
4266 set(
4267 current,
4268 "condition",
4269 lv_condition_4_0,
4270 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
4271 afterParserOrEnumRuleCall();
4272
4273 5892
4274 } 5893 if (current==null) {
5894 current = createModelElementForParent(grammarAccess.getAggregationRule());
5895 }
5896 set(
5897 current,
5898 "condition",
5899 lv_condition_5_0,
5900 "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
5901 afterParserOrEnumRuleCall();
5902
5903
5904 }
5905
5906
5907 }
4275 5908
4276 5909
5910 }
5911 break;
5912
4277 } 5913 }
4278 5914
4279 otherlv_5=(Token)match(input,RightCurlyBracket,FOLLOW_2); 5915 otherlv_6=(Token)match(input,RightCurlyBracket,FOLLOW_2);
4280 5916
4281 newLeafNode(otherlv_5, grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5()); 5917 newLeafNode(otherlv_6, grammarAccess.getAggregationAccess().getRightCurlyBracketKeyword_5());
4282 5918
4283 5919
4284 } 5920 }
@@ -4303,7 +5939,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4303 5939
4304 5940
4305 // $ANTLR start "entryRuleAtomicExpression" 5941 // $ANTLR start "entryRuleAtomicExpression"
4306 // InternalSolverLanguageParser.g:1702:1: entryRuleAtomicExpression returns [EObject current=null] : iv_ruleAtomicExpression= ruleAtomicExpression EOF ; 5942 // InternalSolverLanguageParser.g:2401:1: entryRuleAtomicExpression returns [EObject current=null] : iv_ruleAtomicExpression= ruleAtomicExpression EOF ;
4307 public final EObject entryRuleAtomicExpression() throws RecognitionException { 5943 public final EObject entryRuleAtomicExpression() throws RecognitionException {
4308 EObject current = null; 5944 EObject current = null;
4309 5945
@@ -4311,8 +5947,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4311 5947
4312 5948
4313 try { 5949 try {
4314 // InternalSolverLanguageParser.g:1702:57: (iv_ruleAtomicExpression= ruleAtomicExpression EOF ) 5950 // InternalSolverLanguageParser.g:2401:57: (iv_ruleAtomicExpression= ruleAtomicExpression EOF )
4315 // InternalSolverLanguageParser.g:1703:2: iv_ruleAtomicExpression= ruleAtomicExpression EOF 5951 // InternalSolverLanguageParser.g:2402:2: iv_ruleAtomicExpression= ruleAtomicExpression EOF
4316 { 5952 {
4317 newCompositeNode(grammarAccess.getAtomicExpressionRule()); 5953 newCompositeNode(grammarAccess.getAtomicExpressionRule());
4318 pushFollow(FOLLOW_1); 5954 pushFollow(FOLLOW_1);
@@ -4339,7 +5975,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4339 5975
4340 5976
4341 // $ANTLR start "ruleAtomicExpression" 5977 // $ANTLR start "ruleAtomicExpression"
4342 // InternalSolverLanguageParser.g:1709:1: ruleAtomicExpression returns [EObject current=null] : (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) ) ; 5978 // InternalSolverLanguageParser.g:2408:1: ruleAtomicExpression returns [EObject current=null] : (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) ) ;
4343 public final EObject ruleAtomicExpression() throws RecognitionException { 5979 public final EObject ruleAtomicExpression() throws RecognitionException {
4344 EObject current = null; 5980 EObject current = null;
4345 5981
@@ -4360,15 +5996,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4360 enterRule(); 5996 enterRule();
4361 5997
4362 try { 5998 try {
4363 // InternalSolverLanguageParser.g:1715:2: ( (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) ) ) 5999 // InternalSolverLanguageParser.g:2414:2: ( (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) ) )
4364 // InternalSolverLanguageParser.g:1716:2: (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) ) 6000 // InternalSolverLanguageParser.g:2415:2: (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) )
4365 { 6001 {
4366 // InternalSolverLanguageParser.g:1716:2: (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) ) 6002 // InternalSolverLanguageParser.g:2415:2: (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) )
4367 int alt20=5; 6003 int alt29=5;
4368 alt20 = dfa20.predict(input); 6004 alt29 = dfa29.predict(input);
4369 switch (alt20) { 6005 switch (alt29) {
4370 case 1 : 6006 case 1 :
4371 // InternalSolverLanguageParser.g:1717:3: this_Reference_0= ruleReference 6007 // InternalSolverLanguageParser.g:2416:3: this_Reference_0= ruleReference
4372 { 6008 {
4373 6009
4374 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getReferenceParserRuleCall_0()); 6010 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getReferenceParserRuleCall_0());
@@ -4386,7 +6022,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4386 } 6022 }
4387 break; 6023 break;
4388 case 2 : 6024 case 2 :
4389 // InternalSolverLanguageParser.g:1726:3: this_Call_1= ruleCall 6025 // InternalSolverLanguageParser.g:2425:3: this_Call_1= ruleCall
4390 { 6026 {
4391 6027
4392 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getCallParserRuleCall_1()); 6028 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getCallParserRuleCall_1());
@@ -4404,7 +6040,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4404 } 6040 }
4405 break; 6041 break;
4406 case 3 : 6042 case 3 :
4407 // InternalSolverLanguageParser.g:1735:3: this_Interval_2= ruleInterval 6043 // InternalSolverLanguageParser.g:2434:3: this_Interval_2= ruleInterval
4408 { 6044 {
4409 6045
4410 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getIntervalParserRuleCall_2()); 6046 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getIntervalParserRuleCall_2());
@@ -4422,7 +6058,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4422 } 6058 }
4423 break; 6059 break;
4424 case 4 : 6060 case 4 :
4425 // InternalSolverLanguageParser.g:1744:3: this_Literal_3= ruleLiteral 6061 // InternalSolverLanguageParser.g:2443:3: this_Literal_3= ruleLiteral
4426 { 6062 {
4427 6063
4428 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getLiteralParserRuleCall_3()); 6064 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getLiteralParserRuleCall_3());
@@ -4440,10 +6076,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4440 } 6076 }
4441 break; 6077 break;
4442 case 5 : 6078 case 5 :
4443 // InternalSolverLanguageParser.g:1753:3: (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) 6079 // InternalSolverLanguageParser.g:2452:3: (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis )
4444 { 6080 {
4445 // InternalSolverLanguageParser.g:1753:3: (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) 6081 // InternalSolverLanguageParser.g:2452:3: (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis )
4446 // InternalSolverLanguageParser.g:1754:4: otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis 6082 // InternalSolverLanguageParser.g:2453:4: otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis
4447 { 6083 {
4448 otherlv_4=(Token)match(input,LeftParenthesis,FOLLOW_6); 6084 otherlv_4=(Token)match(input,LeftParenthesis,FOLLOW_6);
4449 6085
@@ -4452,7 +6088,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4452 6088
4453 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getExpressionParserRuleCall_4_1()); 6089 newCompositeNode(grammarAccess.getAtomicExpressionAccess().getExpressionParserRuleCall_4_1());
4454 6090
4455 pushFollow(FOLLOW_29); 6091 pushFollow(FOLLOW_38);
4456 this_Expression_5=ruleExpression(); 6092 this_Expression_5=ruleExpression();
4457 6093
4458 state._fsp--; 6094 state._fsp--;
@@ -4494,7 +6130,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4494 6130
4495 6131
4496 // $ANTLR start "entryRuleCall" 6132 // $ANTLR start "entryRuleCall"
4497 // InternalSolverLanguageParser.g:1775:1: entryRuleCall returns [EObject current=null] : iv_ruleCall= ruleCall EOF ; 6133 // InternalSolverLanguageParser.g:2474:1: entryRuleCall returns [EObject current=null] : iv_ruleCall= ruleCall EOF ;
4498 public final EObject entryRuleCall() throws RecognitionException { 6134 public final EObject entryRuleCall() throws RecognitionException {
4499 EObject current = null; 6135 EObject current = null;
4500 6136
@@ -4502,8 +6138,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4502 6138
4503 6139
4504 try { 6140 try {
4505 // InternalSolverLanguageParser.g:1775:45: (iv_ruleCall= ruleCall EOF ) 6141 // InternalSolverLanguageParser.g:2474:45: (iv_ruleCall= ruleCall EOF )
4506 // InternalSolverLanguageParser.g:1776:2: iv_ruleCall= ruleCall EOF 6142 // InternalSolverLanguageParser.g:2475:2: iv_ruleCall= ruleCall EOF
4507 { 6143 {
4508 newCompositeNode(grammarAccess.getCallRule()); 6144 newCompositeNode(grammarAccess.getCallRule());
4509 pushFollow(FOLLOW_1); 6145 pushFollow(FOLLOW_1);
@@ -4530,7 +6166,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4530 6166
4531 6167
4532 // $ANTLR start "ruleCall" 6168 // $ANTLR start "ruleCall"
4533 // InternalSolverLanguageParser.g:1782:1: ruleCall returns [EObject current=null] : ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) ) ; 6169 // InternalSolverLanguageParser.g:2481:1: ruleCall returns [EObject current=null] : ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) ) ;
4534 public final EObject ruleCall() throws RecognitionException { 6170 public final EObject ruleCall() throws RecognitionException {
4535 EObject current = null; 6171 EObject current = null;
4536 6172
@@ -4545,22 +6181,22 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4545 enterRule(); 6181 enterRule();
4546 6182
4547 try { 6183 try {
4548 // InternalSolverLanguageParser.g:1788:2: ( ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) ) ) 6184 // InternalSolverLanguageParser.g:2487:2: ( ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) ) )
4549 // InternalSolverLanguageParser.g:1789:2: ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) ) 6185 // InternalSolverLanguageParser.g:2488:2: ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) )
4550 { 6186 {
4551 // InternalSolverLanguageParser.g:1789:2: ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) ) 6187 // InternalSolverLanguageParser.g:2488:2: ( ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) )
4552 // InternalSolverLanguageParser.g:1790:3: ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) ) 6188 // InternalSolverLanguageParser.g:2489:3: ( (lv_functor_0_0= ruleReference ) ) ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? ( (lv_argumentList_3_0= ruleArgumentList ) )
4553 { 6189 {
4554 // InternalSolverLanguageParser.g:1790:3: ( (lv_functor_0_0= ruleReference ) ) 6190 // InternalSolverLanguageParser.g:2489:3: ( (lv_functor_0_0= ruleReference ) )
4555 // InternalSolverLanguageParser.g:1791:4: (lv_functor_0_0= ruleReference ) 6191 // InternalSolverLanguageParser.g:2490:4: (lv_functor_0_0= ruleReference )
4556 { 6192 {
4557 // InternalSolverLanguageParser.g:1791:4: (lv_functor_0_0= ruleReference ) 6193 // InternalSolverLanguageParser.g:2490:4: (lv_functor_0_0= ruleReference )
4558 // InternalSolverLanguageParser.g:1792:5: lv_functor_0_0= ruleReference 6194 // InternalSolverLanguageParser.g:2491:5: lv_functor_0_0= ruleReference
4559 { 6195 {
4560 6196
4561 newCompositeNode(grammarAccess.getCallAccess().getFunctorReferenceParserRuleCall_0_0()); 6197 newCompositeNode(grammarAccess.getCallAccess().getFunctorReferenceParserRuleCall_0_0());
4562 6198
4563 pushFollow(FOLLOW_30); 6199 pushFollow(FOLLOW_39);
4564 lv_functor_0_0=ruleReference(); 6200 lv_functor_0_0=ruleReference();
4565 6201
4566 state._fsp--; 6202 state._fsp--;
@@ -4582,25 +6218,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4582 6218
4583 } 6219 }
4584 6220
4585 // InternalSolverLanguageParser.g:1809:3: ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )? 6221 // InternalSolverLanguageParser.g:2508:3: ( ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) | ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) )?
4586 int alt21=3; 6222 int alt30=3;
4587 int LA21_0 = input.LA(1); 6223 int LA30_0 = input.LA(1);
4588 6224
4589 if ( (LA21_0==RULE_TRANSITIVE_CLOSURE) ) { 6225 if ( (LA30_0==RULE_TRANSITIVE_CLOSURE) ) {
4590 alt21=1; 6226 alt30=1;
4591 } 6227 }
4592 else if ( (LA21_0==RULE_REFLEXIVE_TRANSITIVE_CLOSURE) ) { 6228 else if ( (LA30_0==RULE_REFLEXIVE_TRANSITIVE_CLOSURE) ) {
4593 alt21=2; 6229 alt30=2;
4594 } 6230 }
4595 switch (alt21) { 6231 switch (alt30) {
4596 case 1 : 6232 case 1 :
4597 // InternalSolverLanguageParser.g:1810:4: ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) 6233 // InternalSolverLanguageParser.g:2509:4: ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) )
4598 { 6234 {
4599 // InternalSolverLanguageParser.g:1810:4: ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) ) 6235 // InternalSolverLanguageParser.g:2509:4: ( (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) )
4600 // InternalSolverLanguageParser.g:1811:5: (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) 6236 // InternalSolverLanguageParser.g:2510:5: (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE )
4601 { 6237 {
4602 // InternalSolverLanguageParser.g:1811:5: (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE ) 6238 // InternalSolverLanguageParser.g:2510:5: (lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE )
4603 // InternalSolverLanguageParser.g:1812:6: lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE 6239 // InternalSolverLanguageParser.g:2511:6: lv_transitiveClosure_1_0= RULE_TRANSITIVE_CLOSURE
4604 { 6240 {
4605 lv_transitiveClosure_1_0=(Token)match(input,RULE_TRANSITIVE_CLOSURE,FOLLOW_11); 6241 lv_transitiveClosure_1_0=(Token)match(input,RULE_TRANSITIVE_CLOSURE,FOLLOW_11);
4606 6242
@@ -4626,13 +6262,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4626 } 6262 }
4627 break; 6263 break;
4628 case 2 : 6264 case 2 :
4629 // InternalSolverLanguageParser.g:1829:4: ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) 6265 // InternalSolverLanguageParser.g:2528:4: ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) )
4630 { 6266 {
4631 // InternalSolverLanguageParser.g:1829:4: ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) ) 6267 // InternalSolverLanguageParser.g:2528:4: ( (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) )
4632 // InternalSolverLanguageParser.g:1830:5: (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) 6268 // InternalSolverLanguageParser.g:2529:5: (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE )
4633 { 6269 {
4634 // InternalSolverLanguageParser.g:1830:5: (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE ) 6270 // InternalSolverLanguageParser.g:2529:5: (lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE )
4635 // InternalSolverLanguageParser.g:1831:6: lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE 6271 // InternalSolverLanguageParser.g:2530:6: lv_reflexiveTransitiveClosure_2_0= RULE_REFLEXIVE_TRANSITIVE_CLOSURE
4636 { 6272 {
4637 lv_reflexiveTransitiveClosure_2_0=(Token)match(input,RULE_REFLEXIVE_TRANSITIVE_CLOSURE,FOLLOW_11); 6273 lv_reflexiveTransitiveClosure_2_0=(Token)match(input,RULE_REFLEXIVE_TRANSITIVE_CLOSURE,FOLLOW_11);
4638 6274
@@ -4660,11 +6296,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4660 6296
4661 } 6297 }
4662 6298
4663 // InternalSolverLanguageParser.g:1848:3: ( (lv_argumentList_3_0= ruleArgumentList ) ) 6299 // InternalSolverLanguageParser.g:2547:3: ( (lv_argumentList_3_0= ruleArgumentList ) )
4664 // InternalSolverLanguageParser.g:1849:4: (lv_argumentList_3_0= ruleArgumentList ) 6300 // InternalSolverLanguageParser.g:2548:4: (lv_argumentList_3_0= ruleArgumentList )
4665 { 6301 {
4666 // InternalSolverLanguageParser.g:1849:4: (lv_argumentList_3_0= ruleArgumentList ) 6302 // InternalSolverLanguageParser.g:2548:4: (lv_argumentList_3_0= ruleArgumentList )
4667 // InternalSolverLanguageParser.g:1850:5: lv_argumentList_3_0= ruleArgumentList 6303 // InternalSolverLanguageParser.g:2549:5: lv_argumentList_3_0= ruleArgumentList
4668 { 6304 {
4669 6305
4670 newCompositeNode(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_2_0()); 6306 newCompositeNode(grammarAccess.getCallAccess().getArgumentListArgumentListParserRuleCall_2_0());
@@ -4714,7 +6350,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4714 6350
4715 6351
4716 // $ANTLR start "entryRuleArgumentList" 6352 // $ANTLR start "entryRuleArgumentList"
4717 // InternalSolverLanguageParser.g:1871:1: entryRuleArgumentList returns [EObject current=null] : iv_ruleArgumentList= ruleArgumentList EOF ; 6353 // InternalSolverLanguageParser.g:2570:1: entryRuleArgumentList returns [EObject current=null] : iv_ruleArgumentList= ruleArgumentList EOF ;
4718 public final EObject entryRuleArgumentList() throws RecognitionException { 6354 public final EObject entryRuleArgumentList() throws RecognitionException {
4719 EObject current = null; 6355 EObject current = null;
4720 6356
@@ -4722,8 +6358,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4722 6358
4723 6359
4724 try { 6360 try {
4725 // InternalSolverLanguageParser.g:1871:53: (iv_ruleArgumentList= ruleArgumentList EOF ) 6361 // InternalSolverLanguageParser.g:2570:53: (iv_ruleArgumentList= ruleArgumentList EOF )
4726 // InternalSolverLanguageParser.g:1872:2: iv_ruleArgumentList= ruleArgumentList EOF 6362 // InternalSolverLanguageParser.g:2571:2: iv_ruleArgumentList= ruleArgumentList EOF
4727 { 6363 {
4728 newCompositeNode(grammarAccess.getArgumentListRule()); 6364 newCompositeNode(grammarAccess.getArgumentListRule());
4729 pushFollow(FOLLOW_1); 6365 pushFollow(FOLLOW_1);
@@ -4750,7 +6386,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4750 6386
4751 6387
4752 // $ANTLR start "ruleArgumentList" 6388 // $ANTLR start "ruleArgumentList"
4753 // InternalSolverLanguageParser.g:1878:1: ruleArgumentList returns [EObject current=null] : ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis ) ; 6389 // InternalSolverLanguageParser.g:2577:1: ruleArgumentList returns [EObject current=null] : ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis ) ;
4754 public final EObject ruleArgumentList() throws RecognitionException { 6390 public final EObject ruleArgumentList() throws RecognitionException {
4755 EObject current = null; 6391 EObject current = null;
4756 6392
@@ -4766,14 +6402,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4766 enterRule(); 6402 enterRule();
4767 6403
4768 try { 6404 try {
4769 // InternalSolverLanguageParser.g:1884:2: ( ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis ) ) 6405 // InternalSolverLanguageParser.g:2583:2: ( ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis ) )
4770 // InternalSolverLanguageParser.g:1885:2: ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis ) 6406 // InternalSolverLanguageParser.g:2584:2: ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis )
4771 { 6407 {
4772 // InternalSolverLanguageParser.g:1885:2: ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis ) 6408 // InternalSolverLanguageParser.g:2584:2: ( () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis )
4773 // InternalSolverLanguageParser.g:1886:3: () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis 6409 // InternalSolverLanguageParser.g:2585:3: () otherlv_1= LeftParenthesis ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? otherlv_5= RightParenthesis
4774 { 6410 {
4775 // InternalSolverLanguageParser.g:1886:3: () 6411 // InternalSolverLanguageParser.g:2585:3: ()
4776 // InternalSolverLanguageParser.g:1887:4: 6412 // InternalSolverLanguageParser.g:2586:4:
4777 { 6413 {
4778 6414
4779 current = forceCreateModelElement( 6415 current = forceCreateModelElement(
@@ -4783,31 +6419,31 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4783 6419
4784 } 6420 }
4785 6421
4786 otherlv_1=(Token)match(input,LeftParenthesis,FOLLOW_31); 6422 otherlv_1=(Token)match(input,LeftParenthesis,FOLLOW_40);
4787 6423
4788 newLeafNode(otherlv_1, grammarAccess.getArgumentListAccess().getLeftParenthesisKeyword_1()); 6424 newLeafNode(otherlv_1, grammarAccess.getArgumentListAccess().getLeftParenthesisKeyword_1());
4789 6425
4790 // InternalSolverLanguageParser.g:1897:3: ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )? 6426 // InternalSolverLanguageParser.g:2596:3: ( ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* )?
4791 int alt23=2; 6427 int alt32=2;
4792 int LA23_0 = input.LA(1); 6428 int LA32_0 = input.LA(1);
4793 6429
4794 if ( (LA23_0==Current||LA23_0==Unknown||(LA23_0>=Count && LA23_0<=False)||(LA23_0>=Must && LA23_0<=Prod)||LA23_0==True||(LA23_0>=Avg && LA23_0<=Inf)||(LA23_0>=Max && LA23_0<=Sum)||(LA23_0>=ExclamationMark && LA23_0<=LeftParenthesis)||(LA23_0>=Asterisk && LA23_0<=PlusSign)||LA23_0==HyphenMinus||LA23_0==LeftSquareBracket||(LA23_0>=RULE_STRING && LA23_0<=RULE_QUOTED_ID)||(LA23_0>=RULE_ID && LA23_0<=RULE_INT)) ) { 6430 if ( (LA32_0==Current||(LA32_0>=Unknown && LA32_0<=Exists)||LA32_0==Forall||(LA32_0>=Count && LA32_0<=False)||LA32_0==Must||LA32_0==True||LA32_0==Inf||LA32_0==May||(LA32_0>=ExclamationMark && LA32_0<=LeftParenthesis)||(LA32_0>=Asterisk && LA32_0<=PlusSign)||LA32_0==HyphenMinus||LA32_0==LeftSquareBracket||(LA32_0>=RULE_STRING && LA32_0<=RULE_QUOTED_ID)||(LA32_0>=RULE_ID && LA32_0<=RULE_INT)) ) {
4795 alt23=1; 6431 alt32=1;
4796 } 6432 }
4797 switch (alt23) { 6433 switch (alt32) {
4798 case 1 : 6434 case 1 :
4799 // InternalSolverLanguageParser.g:1898:4: ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* 6435 // InternalSolverLanguageParser.g:2597:4: ( (lv_arguments_2_0= ruleArgument ) ) (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )*
4800 { 6436 {
4801 // InternalSolverLanguageParser.g:1898:4: ( (lv_arguments_2_0= ruleArgument ) ) 6437 // InternalSolverLanguageParser.g:2597:4: ( (lv_arguments_2_0= ruleArgument ) )
4802 // InternalSolverLanguageParser.g:1899:5: (lv_arguments_2_0= ruleArgument ) 6438 // InternalSolverLanguageParser.g:2598:5: (lv_arguments_2_0= ruleArgument )
4803 { 6439 {
4804 // InternalSolverLanguageParser.g:1899:5: (lv_arguments_2_0= ruleArgument ) 6440 // InternalSolverLanguageParser.g:2598:5: (lv_arguments_2_0= ruleArgument )
4805 // InternalSolverLanguageParser.g:1900:6: lv_arguments_2_0= ruleArgument 6441 // InternalSolverLanguageParser.g:2599:6: lv_arguments_2_0= ruleArgument
4806 { 6442 {
4807 6443
4808 newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_0_0()); 6444 newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_0_0());
4809 6445
4810 pushFollow(FOLLOW_32); 6446 pushFollow(FOLLOW_41);
4811 lv_arguments_2_0=ruleArgument(); 6447 lv_arguments_2_0=ruleArgument();
4812 6448
4813 state._fsp--; 6449 state._fsp--;
@@ -4829,35 +6465,35 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4829 6465
4830 } 6466 }
4831 6467
4832 // InternalSolverLanguageParser.g:1917:4: (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )* 6468 // InternalSolverLanguageParser.g:2616:4: (otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) )*
4833 loop22: 6469 loop31:
4834 do { 6470 do {
4835 int alt22=2; 6471 int alt31=2;
4836 int LA22_0 = input.LA(1); 6472 int LA31_0 = input.LA(1);
4837 6473
4838 if ( (LA22_0==Comma) ) { 6474 if ( (LA31_0==Comma) ) {
4839 alt22=1; 6475 alt31=1;
4840 } 6476 }
4841 6477
4842 6478
4843 switch (alt22) { 6479 switch (alt31) {
4844 case 1 : 6480 case 1 :
4845 // InternalSolverLanguageParser.g:1918:5: otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) ) 6481 // InternalSolverLanguageParser.g:2617:5: otherlv_3= Comma ( (lv_arguments_4_0= ruleArgument ) )
4846 { 6482 {
4847 otherlv_3=(Token)match(input,Comma,FOLLOW_33); 6483 otherlv_3=(Token)match(input,Comma,FOLLOW_42);
4848 6484
4849 newLeafNode(otherlv_3, grammarAccess.getArgumentListAccess().getCommaKeyword_2_1_0()); 6485 newLeafNode(otherlv_3, grammarAccess.getArgumentListAccess().getCommaKeyword_2_1_0());
4850 6486
4851 // InternalSolverLanguageParser.g:1922:5: ( (lv_arguments_4_0= ruleArgument ) ) 6487 // InternalSolverLanguageParser.g:2621:5: ( (lv_arguments_4_0= ruleArgument ) )
4852 // InternalSolverLanguageParser.g:1923:6: (lv_arguments_4_0= ruleArgument ) 6488 // InternalSolverLanguageParser.g:2622:6: (lv_arguments_4_0= ruleArgument )
4853 { 6489 {
4854 // InternalSolverLanguageParser.g:1923:6: (lv_arguments_4_0= ruleArgument ) 6490 // InternalSolverLanguageParser.g:2622:6: (lv_arguments_4_0= ruleArgument )
4855 // InternalSolverLanguageParser.g:1924:7: lv_arguments_4_0= ruleArgument 6491 // InternalSolverLanguageParser.g:2623:7: lv_arguments_4_0= ruleArgument
4856 { 6492 {
4857 6493
4858 newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_1_1_0()); 6494 newCompositeNode(grammarAccess.getArgumentListAccess().getArgumentsArgumentParserRuleCall_2_1_1_0());
4859 6495
4860 pushFollow(FOLLOW_32); 6496 pushFollow(FOLLOW_41);
4861 lv_arguments_4_0=ruleArgument(); 6497 lv_arguments_4_0=ruleArgument();
4862 6498
4863 state._fsp--; 6499 state._fsp--;
@@ -4884,7 +6520,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4884 break; 6520 break;
4885 6521
4886 default : 6522 default :
4887 break loop22; 6523 break loop31;
4888 } 6524 }
4889 } while (true); 6525 } while (true);
4890 6526
@@ -4921,7 +6557,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4921 6557
4922 6558
4923 // $ANTLR start "entryRuleArgument" 6559 // $ANTLR start "entryRuleArgument"
4924 // InternalSolverLanguageParser.g:1951:1: entryRuleArgument returns [EObject current=null] : iv_ruleArgument= ruleArgument EOF ; 6560 // InternalSolverLanguageParser.g:2650:1: entryRuleArgument returns [EObject current=null] : iv_ruleArgument= ruleArgument EOF ;
4925 public final EObject entryRuleArgument() throws RecognitionException { 6561 public final EObject entryRuleArgument() throws RecognitionException {
4926 EObject current = null; 6562 EObject current = null;
4927 6563
@@ -4929,8 +6565,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4929 6565
4930 6566
4931 try { 6567 try {
4932 // InternalSolverLanguageParser.g:1951:49: (iv_ruleArgument= ruleArgument EOF ) 6568 // InternalSolverLanguageParser.g:2650:49: (iv_ruleArgument= ruleArgument EOF )
4933 // InternalSolverLanguageParser.g:1952:2: iv_ruleArgument= ruleArgument EOF 6569 // InternalSolverLanguageParser.g:2651:2: iv_ruleArgument= ruleArgument EOF
4934 { 6570 {
4935 newCompositeNode(grammarAccess.getArgumentRule()); 6571 newCompositeNode(grammarAccess.getArgumentRule());
4936 pushFollow(FOLLOW_1); 6572 pushFollow(FOLLOW_1);
@@ -4957,7 +6593,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4957 6593
4958 6594
4959 // $ANTLR start "ruleArgument" 6595 // $ANTLR start "ruleArgument"
4960 // InternalSolverLanguageParser.g:1958:1: ruleArgument returns [EObject current=null] : (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) ; 6596 // InternalSolverLanguageParser.g:2657:1: ruleArgument returns [EObject current=null] : (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) ;
4961 public final EObject ruleArgument() throws RecognitionException { 6597 public final EObject ruleArgument() throws RecognitionException {
4962 EObject current = null; 6598 EObject current = null;
4963 6599
@@ -4974,15 +6610,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
4974 enterRule(); 6610 enterRule();
4975 6611
4976 try { 6612 try {
4977 // InternalSolverLanguageParser.g:1964:2: ( (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) ) 6613 // InternalSolverLanguageParser.g:2663:2: ( (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) )
4978 // InternalSolverLanguageParser.g:1965:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) 6614 // InternalSolverLanguageParser.g:2664:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument )
4979 { 6615 {
4980 // InternalSolverLanguageParser.g:1965:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument ) 6616 // InternalSolverLanguageParser.g:2664:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument )
4981 int alt24=4; 6617 int alt33=4;
4982 alt24 = dfa24.predict(input); 6618 alt33 = dfa33.predict(input);
4983 switch (alt24) { 6619 switch (alt33) {
4984 case 1 : 6620 case 1 :
4985 // InternalSolverLanguageParser.g:1966:3: this_ExpressionArgument_0= ruleExpressionArgument 6621 // InternalSolverLanguageParser.g:2665:3: this_ExpressionArgument_0= ruleExpressionArgument
4986 { 6622 {
4987 6623
4988 newCompositeNode(grammarAccess.getArgumentAccess().getExpressionArgumentParserRuleCall_0()); 6624 newCompositeNode(grammarAccess.getArgumentAccess().getExpressionArgumentParserRuleCall_0());
@@ -5000,7 +6636,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5000 } 6636 }
5001 break; 6637 break;
5002 case 2 : 6638 case 2 :
5003 // InternalSolverLanguageParser.g:1975:3: this_StarArgument_1= ruleStarArgument 6639 // InternalSolverLanguageParser.g:2674:3: this_StarArgument_1= ruleStarArgument
5004 { 6640 {
5005 6641
5006 newCompositeNode(grammarAccess.getArgumentAccess().getStarArgumentParserRuleCall_1()); 6642 newCompositeNode(grammarAccess.getArgumentAccess().getStarArgumentParserRuleCall_1());
@@ -5018,7 +6654,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5018 } 6654 }
5019 break; 6655 break;
5020 case 3 : 6656 case 3 :
5021 // InternalSolverLanguageParser.g:1984:3: this_TypedArgument_2= ruleTypedArgument 6657 // InternalSolverLanguageParser.g:2683:3: this_TypedArgument_2= ruleTypedArgument
5022 { 6658 {
5023 6659
5024 newCompositeNode(grammarAccess.getArgumentAccess().getTypedArgumentParserRuleCall_2()); 6660 newCompositeNode(grammarAccess.getArgumentAccess().getTypedArgumentParserRuleCall_2());
@@ -5036,7 +6672,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5036 } 6672 }
5037 break; 6673 break;
5038 case 4 : 6674 case 4 :
5039 // InternalSolverLanguageParser.g:1993:3: this_TypedStarArgument_3= ruleTypedStarArgument 6675 // InternalSolverLanguageParser.g:2692:3: this_TypedStarArgument_3= ruleTypedStarArgument
5040 { 6676 {
5041 6677
5042 newCompositeNode(grammarAccess.getArgumentAccess().getTypedStarArgumentParserRuleCall_3()); 6678 newCompositeNode(grammarAccess.getArgumentAccess().getTypedStarArgumentParserRuleCall_3());
@@ -5076,7 +6712,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5076 6712
5077 6713
5078 // $ANTLR start "entryRuleExpressionArgument" 6714 // $ANTLR start "entryRuleExpressionArgument"
5079 // InternalSolverLanguageParser.g:2005:1: entryRuleExpressionArgument returns [EObject current=null] : iv_ruleExpressionArgument= ruleExpressionArgument EOF ; 6715 // InternalSolverLanguageParser.g:2704:1: entryRuleExpressionArgument returns [EObject current=null] : iv_ruleExpressionArgument= ruleExpressionArgument EOF ;
5080 public final EObject entryRuleExpressionArgument() throws RecognitionException { 6716 public final EObject entryRuleExpressionArgument() throws RecognitionException {
5081 EObject current = null; 6717 EObject current = null;
5082 6718
@@ -5084,8 +6720,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5084 6720
5085 6721
5086 try { 6722 try {
5087 // InternalSolverLanguageParser.g:2005:59: (iv_ruleExpressionArgument= ruleExpressionArgument EOF ) 6723 // InternalSolverLanguageParser.g:2704:59: (iv_ruleExpressionArgument= ruleExpressionArgument EOF )
5088 // InternalSolverLanguageParser.g:2006:2: iv_ruleExpressionArgument= ruleExpressionArgument EOF 6724 // InternalSolverLanguageParser.g:2705:2: iv_ruleExpressionArgument= ruleExpressionArgument EOF
5089 { 6725 {
5090 newCompositeNode(grammarAccess.getExpressionArgumentRule()); 6726 newCompositeNode(grammarAccess.getExpressionArgumentRule());
5091 pushFollow(FOLLOW_1); 6727 pushFollow(FOLLOW_1);
@@ -5112,7 +6748,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5112 6748
5113 6749
5114 // $ANTLR start "ruleExpressionArgument" 6750 // $ANTLR start "ruleExpressionArgument"
5115 // InternalSolverLanguageParser.g:2012:1: ruleExpressionArgument returns [EObject current=null] : ( (lv_body_0_0= ruleComparisonExpression ) ) ; 6751 // InternalSolverLanguageParser.g:2711:1: ruleExpressionArgument returns [EObject current=null] : ( (lv_body_0_0= ruleComparisonExpression ) ) ;
5116 public final EObject ruleExpressionArgument() throws RecognitionException { 6752 public final EObject ruleExpressionArgument() throws RecognitionException {
5117 EObject current = null; 6753 EObject current = null;
5118 6754
@@ -5123,14 +6759,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5123 enterRule(); 6759 enterRule();
5124 6760
5125 try { 6761 try {
5126 // InternalSolverLanguageParser.g:2018:2: ( ( (lv_body_0_0= ruleComparisonExpression ) ) ) 6762 // InternalSolverLanguageParser.g:2717:2: ( ( (lv_body_0_0= ruleComparisonExpression ) ) )
5127 // InternalSolverLanguageParser.g:2019:2: ( (lv_body_0_0= ruleComparisonExpression ) ) 6763 // InternalSolverLanguageParser.g:2718:2: ( (lv_body_0_0= ruleComparisonExpression ) )
5128 { 6764 {
5129 // InternalSolverLanguageParser.g:2019:2: ( (lv_body_0_0= ruleComparisonExpression ) ) 6765 // InternalSolverLanguageParser.g:2718:2: ( (lv_body_0_0= ruleComparisonExpression ) )
5130 // InternalSolverLanguageParser.g:2020:3: (lv_body_0_0= ruleComparisonExpression ) 6766 // InternalSolverLanguageParser.g:2719:3: (lv_body_0_0= ruleComparisonExpression )
5131 { 6767 {
5132 // InternalSolverLanguageParser.g:2020:3: (lv_body_0_0= ruleComparisonExpression ) 6768 // InternalSolverLanguageParser.g:2719:3: (lv_body_0_0= ruleComparisonExpression )
5133 // InternalSolverLanguageParser.g:2021:4: lv_body_0_0= ruleComparisonExpression 6769 // InternalSolverLanguageParser.g:2720:4: lv_body_0_0= ruleComparisonExpression
5134 { 6770 {
5135 6771
5136 newCompositeNode(grammarAccess.getExpressionArgumentAccess().getBodyComparisonExpressionParserRuleCall_0()); 6772 newCompositeNode(grammarAccess.getExpressionArgumentAccess().getBodyComparisonExpressionParserRuleCall_0());
@@ -5177,7 +6813,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5177 6813
5178 6814
5179 // $ANTLR start "entryRuleStarArgument" 6815 // $ANTLR start "entryRuleStarArgument"
5180 // InternalSolverLanguageParser.g:2041:1: entryRuleStarArgument returns [EObject current=null] : iv_ruleStarArgument= ruleStarArgument EOF ; 6816 // InternalSolverLanguageParser.g:2740:1: entryRuleStarArgument returns [EObject current=null] : iv_ruleStarArgument= ruleStarArgument EOF ;
5181 public final EObject entryRuleStarArgument() throws RecognitionException { 6817 public final EObject entryRuleStarArgument() throws RecognitionException {
5182 EObject current = null; 6818 EObject current = null;
5183 6819
@@ -5185,8 +6821,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5185 6821
5186 6822
5187 try { 6823 try {
5188 // InternalSolverLanguageParser.g:2041:53: (iv_ruleStarArgument= ruleStarArgument EOF ) 6824 // InternalSolverLanguageParser.g:2740:53: (iv_ruleStarArgument= ruleStarArgument EOF )
5189 // InternalSolverLanguageParser.g:2042:2: iv_ruleStarArgument= ruleStarArgument EOF 6825 // InternalSolverLanguageParser.g:2741:2: iv_ruleStarArgument= ruleStarArgument EOF
5190 { 6826 {
5191 newCompositeNode(grammarAccess.getStarArgumentRule()); 6827 newCompositeNode(grammarAccess.getStarArgumentRule());
5192 pushFollow(FOLLOW_1); 6828 pushFollow(FOLLOW_1);
@@ -5213,7 +6849,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5213 6849
5214 6850
5215 // $ANTLR start "ruleStarArgument" 6851 // $ANTLR start "ruleStarArgument"
5216 // InternalSolverLanguageParser.g:2048:1: ruleStarArgument returns [EObject current=null] : ( () otherlv_1= Asterisk ) ; 6852 // InternalSolverLanguageParser.g:2747:1: ruleStarArgument returns [EObject current=null] : ( () otherlv_1= Asterisk ) ;
5217 public final EObject ruleStarArgument() throws RecognitionException { 6853 public final EObject ruleStarArgument() throws RecognitionException {
5218 EObject current = null; 6854 EObject current = null;
5219 6855
@@ -5223,14 +6859,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5223 enterRule(); 6859 enterRule();
5224 6860
5225 try { 6861 try {
5226 // InternalSolverLanguageParser.g:2054:2: ( ( () otherlv_1= Asterisk ) ) 6862 // InternalSolverLanguageParser.g:2753:2: ( ( () otherlv_1= Asterisk ) )
5227 // InternalSolverLanguageParser.g:2055:2: ( () otherlv_1= Asterisk ) 6863 // InternalSolverLanguageParser.g:2754:2: ( () otherlv_1= Asterisk )
5228 { 6864 {
5229 // InternalSolverLanguageParser.g:2055:2: ( () otherlv_1= Asterisk ) 6865 // InternalSolverLanguageParser.g:2754:2: ( () otherlv_1= Asterisk )
5230 // InternalSolverLanguageParser.g:2056:3: () otherlv_1= Asterisk 6866 // InternalSolverLanguageParser.g:2755:3: () otherlv_1= Asterisk
5231 { 6867 {
5232 // InternalSolverLanguageParser.g:2056:3: () 6868 // InternalSolverLanguageParser.g:2755:3: ()
5233 // InternalSolverLanguageParser.g:2057:4: 6869 // InternalSolverLanguageParser.g:2756:4:
5234 { 6870 {
5235 6871
5236 current = forceCreateModelElement( 6872 current = forceCreateModelElement(
@@ -5267,7 +6903,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5267 6903
5268 6904
5269 // $ANTLR start "entryRuleTypedArgument" 6905 // $ANTLR start "entryRuleTypedArgument"
5270 // InternalSolverLanguageParser.g:2071:1: entryRuleTypedArgument returns [EObject current=null] : iv_ruleTypedArgument= ruleTypedArgument EOF ; 6906 // InternalSolverLanguageParser.g:2770:1: entryRuleTypedArgument returns [EObject current=null] : iv_ruleTypedArgument= ruleTypedArgument EOF ;
5271 public final EObject entryRuleTypedArgument() throws RecognitionException { 6907 public final EObject entryRuleTypedArgument() throws RecognitionException {
5272 EObject current = null; 6908 EObject current = null;
5273 6909
@@ -5275,8 +6911,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5275 6911
5276 6912
5277 try { 6913 try {
5278 // InternalSolverLanguageParser.g:2071:54: (iv_ruleTypedArgument= ruleTypedArgument EOF ) 6914 // InternalSolverLanguageParser.g:2770:54: (iv_ruleTypedArgument= ruleTypedArgument EOF )
5279 // InternalSolverLanguageParser.g:2072:2: iv_ruleTypedArgument= ruleTypedArgument EOF 6915 // InternalSolverLanguageParser.g:2771:2: iv_ruleTypedArgument= ruleTypedArgument EOF
5280 { 6916 {
5281 newCompositeNode(grammarAccess.getTypedArgumentRule()); 6917 newCompositeNode(grammarAccess.getTypedArgumentRule());
5282 pushFollow(FOLLOW_1); 6918 pushFollow(FOLLOW_1);
@@ -5303,7 +6939,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5303 6939
5304 6940
5305 // $ANTLR start "ruleTypedArgument" 6941 // $ANTLR start "ruleTypedArgument"
5306 // InternalSolverLanguageParser.g:2078:1: ruleTypedArgument returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) ; 6942 // InternalSolverLanguageParser.g:2777:1: ruleTypedArgument returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) ;
5307 public final EObject ruleTypedArgument() throws RecognitionException { 6943 public final EObject ruleTypedArgument() throws RecognitionException {
5308 EObject current = null; 6944 EObject current = null;
5309 6945
@@ -5311,17 +6947,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5311 enterRule(); 6947 enterRule();
5312 6948
5313 try { 6949 try {
5314 // InternalSolverLanguageParser.g:2084:2: ( ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) ) 6950 // InternalSolverLanguageParser.g:2783:2: ( ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) )
5315 // InternalSolverLanguageParser.g:2085:2: ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) 6951 // InternalSolverLanguageParser.g:2784:2: ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) )
5316 { 6952 {
5317 // InternalSolverLanguageParser.g:2085:2: ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) ) 6953 // InternalSolverLanguageParser.g:2784:2: ( ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) )
5318 // InternalSolverLanguageParser.g:2086:3: ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) ) 6954 // InternalSolverLanguageParser.g:2785:3: ( ( ruleQualifiedName ) ) ( ( ruleQualifiedName ) )
5319 { 6955 {
5320 // InternalSolverLanguageParser.g:2086:3: ( ( ruleQualifiedName ) ) 6956 // InternalSolverLanguageParser.g:2785:3: ( ( ruleQualifiedName ) )
5321 // InternalSolverLanguageParser.g:2087:4: ( ruleQualifiedName ) 6957 // InternalSolverLanguageParser.g:2786:4: ( ruleQualifiedName )
5322 { 6958 {
5323 // InternalSolverLanguageParser.g:2087:4: ( ruleQualifiedName ) 6959 // InternalSolverLanguageParser.g:2786:4: ( ruleQualifiedName )
5324 // InternalSolverLanguageParser.g:2088:5: ruleQualifiedName 6960 // InternalSolverLanguageParser.g:2787:5: ruleQualifiedName
5325 { 6961 {
5326 6962
5327 if (current==null) { 6963 if (current==null) {
@@ -5345,11 +6981,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5345 6981
5346 } 6982 }
5347 6983
5348 // InternalSolverLanguageParser.g:2102:3: ( ( ruleQualifiedName ) ) 6984 // InternalSolverLanguageParser.g:2801:3: ( ( ruleQualifiedName ) )
5349 // InternalSolverLanguageParser.g:2103:4: ( ruleQualifiedName ) 6985 // InternalSolverLanguageParser.g:2802:4: ( ruleQualifiedName )
5350 { 6986 {
5351 // InternalSolverLanguageParser.g:2103:4: ( ruleQualifiedName ) 6987 // InternalSolverLanguageParser.g:2802:4: ( ruleQualifiedName )
5352 // InternalSolverLanguageParser.g:2104:5: ruleQualifiedName 6988 // InternalSolverLanguageParser.g:2803:5: ruleQualifiedName
5353 { 6989 {
5354 6990
5355 if (current==null) { 6991 if (current==null) {
@@ -5396,7 +7032,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5396 7032
5397 7033
5398 // $ANTLR start "entryRuleTypedStarArgument" 7034 // $ANTLR start "entryRuleTypedStarArgument"
5399 // InternalSolverLanguageParser.g:2122:1: entryRuleTypedStarArgument returns [EObject current=null] : iv_ruleTypedStarArgument= ruleTypedStarArgument EOF ; 7035 // InternalSolverLanguageParser.g:2821:1: entryRuleTypedStarArgument returns [EObject current=null] : iv_ruleTypedStarArgument= ruleTypedStarArgument EOF ;
5400 public final EObject entryRuleTypedStarArgument() throws RecognitionException { 7036 public final EObject entryRuleTypedStarArgument() throws RecognitionException {
5401 EObject current = null; 7037 EObject current = null;
5402 7038
@@ -5404,8 +7040,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5404 7040
5405 7041
5406 try { 7042 try {
5407 // InternalSolverLanguageParser.g:2122:58: (iv_ruleTypedStarArgument= ruleTypedStarArgument EOF ) 7043 // InternalSolverLanguageParser.g:2821:58: (iv_ruleTypedStarArgument= ruleTypedStarArgument EOF )
5408 // InternalSolverLanguageParser.g:2123:2: iv_ruleTypedStarArgument= ruleTypedStarArgument EOF 7044 // InternalSolverLanguageParser.g:2822:2: iv_ruleTypedStarArgument= ruleTypedStarArgument EOF
5409 { 7045 {
5410 newCompositeNode(grammarAccess.getTypedStarArgumentRule()); 7046 newCompositeNode(grammarAccess.getTypedStarArgumentRule());
5411 pushFollow(FOLLOW_1); 7047 pushFollow(FOLLOW_1);
@@ -5432,7 +7068,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5432 7068
5433 7069
5434 // $ANTLR start "ruleTypedStarArgument" 7070 // $ANTLR start "ruleTypedStarArgument"
5435 // InternalSolverLanguageParser.g:2129:1: ruleTypedStarArgument returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) ; 7071 // InternalSolverLanguageParser.g:2828:1: ruleTypedStarArgument returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) ;
5436 public final EObject ruleTypedStarArgument() throws RecognitionException { 7072 public final EObject ruleTypedStarArgument() throws RecognitionException {
5437 EObject current = null; 7073 EObject current = null;
5438 7074
@@ -5442,17 +7078,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5442 enterRule(); 7078 enterRule();
5443 7079
5444 try { 7080 try {
5445 // InternalSolverLanguageParser.g:2135:2: ( ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) ) 7081 // InternalSolverLanguageParser.g:2834:2: ( ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) )
5446 // InternalSolverLanguageParser.g:2136:2: ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) 7082 // InternalSolverLanguageParser.g:2835:2: ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk )
5447 { 7083 {
5448 // InternalSolverLanguageParser.g:2136:2: ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk ) 7084 // InternalSolverLanguageParser.g:2835:2: ( ( ( ruleQualifiedName ) ) otherlv_1= Asterisk )
5449 // InternalSolverLanguageParser.g:2137:3: ( ( ruleQualifiedName ) ) otherlv_1= Asterisk 7085 // InternalSolverLanguageParser.g:2836:3: ( ( ruleQualifiedName ) ) otherlv_1= Asterisk
5450 { 7086 {
5451 // InternalSolverLanguageParser.g:2137:3: ( ( ruleQualifiedName ) ) 7087 // InternalSolverLanguageParser.g:2836:3: ( ( ruleQualifiedName ) )
5452 // InternalSolverLanguageParser.g:2138:4: ( ruleQualifiedName ) 7088 // InternalSolverLanguageParser.g:2837:4: ( ruleQualifiedName )
5453 { 7089 {
5454 // InternalSolverLanguageParser.g:2138:4: ( ruleQualifiedName ) 7090 // InternalSolverLanguageParser.g:2837:4: ( ruleQualifiedName )
5455 // InternalSolverLanguageParser.g:2139:5: ruleQualifiedName 7091 // InternalSolverLanguageParser.g:2838:5: ruleQualifiedName
5456 { 7092 {
5457 7093
5458 if (current==null) { 7094 if (current==null) {
@@ -5462,7 +7098,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5462 7098
5463 newCompositeNode(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementCrossReference_0_0()); 7099 newCompositeNode(grammarAccess.getTypedStarArgumentAccess().getTypeNamedElementCrossReference_0_0());
5464 7100
5465 pushFollow(FOLLOW_34); 7101 pushFollow(FOLLOW_43);
5466 ruleQualifiedName(); 7102 ruleQualifiedName();
5467 7103
5468 state._fsp--; 7104 state._fsp--;
@@ -5503,7 +7139,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5503 7139
5504 7140
5505 // $ANTLR start "entryRuleReference" 7141 // $ANTLR start "entryRuleReference"
5506 // InternalSolverLanguageParser.g:2161:1: entryRuleReference returns [EObject current=null] : iv_ruleReference= ruleReference EOF ; 7142 // InternalSolverLanguageParser.g:2860:1: entryRuleReference returns [EObject current=null] : iv_ruleReference= ruleReference EOF ;
5507 public final EObject entryRuleReference() throws RecognitionException { 7143 public final EObject entryRuleReference() throws RecognitionException {
5508 EObject current = null; 7144 EObject current = null;
5509 7145
@@ -5511,8 +7147,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5511 7147
5512 7148
5513 try { 7149 try {
5514 // InternalSolverLanguageParser.g:2161:50: (iv_ruleReference= ruleReference EOF ) 7150 // InternalSolverLanguageParser.g:2860:50: (iv_ruleReference= ruleReference EOF )
5515 // InternalSolverLanguageParser.g:2162:2: iv_ruleReference= ruleReference EOF 7151 // InternalSolverLanguageParser.g:2861:2: iv_ruleReference= ruleReference EOF
5516 { 7152 {
5517 newCompositeNode(grammarAccess.getReferenceRule()); 7153 newCompositeNode(grammarAccess.getReferenceRule());
5518 pushFollow(FOLLOW_1); 7154 pushFollow(FOLLOW_1);
@@ -5539,7 +7175,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5539 7175
5540 7176
5541 // $ANTLR start "ruleReference" 7177 // $ANTLR start "ruleReference"
5542 // InternalSolverLanguageParser.g:2168:1: ruleReference returns [EObject current=null] : ( ( ruleQualifiedName ) ) ; 7178 // InternalSolverLanguageParser.g:2867:1: ruleReference returns [EObject current=null] : ( ( ruleQualifiedName ) ) ;
5543 public final EObject ruleReference() throws RecognitionException { 7179 public final EObject ruleReference() throws RecognitionException {
5544 EObject current = null; 7180 EObject current = null;
5545 7181
@@ -5547,14 +7183,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5547 enterRule(); 7183 enterRule();
5548 7184
5549 try { 7185 try {
5550 // InternalSolverLanguageParser.g:2174:2: ( ( ( ruleQualifiedName ) ) ) 7186 // InternalSolverLanguageParser.g:2873:2: ( ( ( ruleQualifiedName ) ) )
5551 // InternalSolverLanguageParser.g:2175:2: ( ( ruleQualifiedName ) ) 7187 // InternalSolverLanguageParser.g:2874:2: ( ( ruleQualifiedName ) )
5552 { 7188 {
5553 // InternalSolverLanguageParser.g:2175:2: ( ( ruleQualifiedName ) ) 7189 // InternalSolverLanguageParser.g:2874:2: ( ( ruleQualifiedName ) )
5554 // InternalSolverLanguageParser.g:2176:3: ( ruleQualifiedName ) 7190 // InternalSolverLanguageParser.g:2875:3: ( ruleQualifiedName )
5555 { 7191 {
5556 // InternalSolverLanguageParser.g:2176:3: ( ruleQualifiedName ) 7192 // InternalSolverLanguageParser.g:2875:3: ( ruleQualifiedName )
5557 // InternalSolverLanguageParser.g:2177:4: ruleQualifiedName 7193 // InternalSolverLanguageParser.g:2876:4: ruleQualifiedName
5558 { 7194 {
5559 7195
5560 if (current==null) { 7196 if (current==null) {
@@ -5598,7 +7234,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5598 7234
5599 7235
5600 // $ANTLR start "entryRuleInterval" 7236 // $ANTLR start "entryRuleInterval"
5601 // InternalSolverLanguageParser.g:2194:1: entryRuleInterval returns [EObject current=null] : iv_ruleInterval= ruleInterval EOF ; 7237 // InternalSolverLanguageParser.g:2893:1: entryRuleInterval returns [EObject current=null] : iv_ruleInterval= ruleInterval EOF ;
5602 public final EObject entryRuleInterval() throws RecognitionException { 7238 public final EObject entryRuleInterval() throws RecognitionException {
5603 EObject current = null; 7239 EObject current = null;
5604 7240
@@ -5606,8 +7242,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5606 7242
5607 7243
5608 try { 7244 try {
5609 // InternalSolverLanguageParser.g:2194:49: (iv_ruleInterval= ruleInterval EOF ) 7245 // InternalSolverLanguageParser.g:2893:49: (iv_ruleInterval= ruleInterval EOF )
5610 // InternalSolverLanguageParser.g:2195:2: iv_ruleInterval= ruleInterval EOF 7246 // InternalSolverLanguageParser.g:2894:2: iv_ruleInterval= ruleInterval EOF
5611 { 7247 {
5612 newCompositeNode(grammarAccess.getIntervalRule()); 7248 newCompositeNode(grammarAccess.getIntervalRule());
5613 pushFollow(FOLLOW_1); 7249 pushFollow(FOLLOW_1);
@@ -5634,7 +7270,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5634 7270
5635 7271
5636 // $ANTLR start "ruleInterval" 7272 // $ANTLR start "ruleInterval"
5637 // InternalSolverLanguageParser.g:2201:1: ruleInterval returns [EObject current=null] : (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket ) ; 7273 // InternalSolverLanguageParser.g:2900:1: ruleInterval returns [EObject current=null] : (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket ) ;
5638 public final EObject ruleInterval() throws RecognitionException { 7274 public final EObject ruleInterval() throws RecognitionException {
5639 EObject current = null; 7275 EObject current = null;
5640 7276
@@ -5650,26 +7286,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5650 enterRule(); 7286 enterRule();
5651 7287
5652 try { 7288 try {
5653 // InternalSolverLanguageParser.g:2207:2: ( (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket ) ) 7289 // InternalSolverLanguageParser.g:2906:2: ( (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket ) )
5654 // InternalSolverLanguageParser.g:2208:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket ) 7290 // InternalSolverLanguageParser.g:2907:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket )
5655 { 7291 {
5656 // InternalSolverLanguageParser.g:2208:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket ) 7292 // InternalSolverLanguageParser.g:2907:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket )
5657 // InternalSolverLanguageParser.g:2209:3: otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket 7293 // InternalSolverLanguageParser.g:2908:3: otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= ruleExpression ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleExpression ) ) otherlv_4= RightSquareBracket
5658 { 7294 {
5659 otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_6); 7295 otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_6);
5660 7296
5661 newLeafNode(otherlv_0, grammarAccess.getIntervalAccess().getLeftSquareBracketKeyword_0()); 7297 newLeafNode(otherlv_0, grammarAccess.getIntervalAccess().getLeftSquareBracketKeyword_0());
5662 7298
5663 // InternalSolverLanguageParser.g:2213:3: ( (lv_lowerBound_1_0= ruleExpression ) ) 7299 // InternalSolverLanguageParser.g:2912:3: ( (lv_lowerBound_1_0= ruleExpression ) )
5664 // InternalSolverLanguageParser.g:2214:4: (lv_lowerBound_1_0= ruleExpression ) 7300 // InternalSolverLanguageParser.g:2913:4: (lv_lowerBound_1_0= ruleExpression )
5665 { 7301 {
5666 // InternalSolverLanguageParser.g:2214:4: (lv_lowerBound_1_0= ruleExpression ) 7302 // InternalSolverLanguageParser.g:2913:4: (lv_lowerBound_1_0= ruleExpression )
5667 // InternalSolverLanguageParser.g:2215:5: lv_lowerBound_1_0= ruleExpression 7303 // InternalSolverLanguageParser.g:2914:5: lv_lowerBound_1_0= ruleExpression
5668 { 7304 {
5669 7305
5670 newCompositeNode(grammarAccess.getIntervalAccess().getLowerBoundExpressionParserRuleCall_1_0()); 7306 newCompositeNode(grammarAccess.getIntervalAccess().getLowerBoundExpressionParserRuleCall_1_0());
5671 7307
5672 pushFollow(FOLLOW_35); 7308 pushFollow(FOLLOW_44);
5673 lv_lowerBound_1_0=ruleExpression(); 7309 lv_lowerBound_1_0=ruleExpression();
5674 7310
5675 state._fsp--; 7311 state._fsp--;
@@ -5695,16 +7331,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5695 7331
5696 newLeafNode(otherlv_2, grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_2()); 7332 newLeafNode(otherlv_2, grammarAccess.getIntervalAccess().getFullStopFullStopKeyword_2());
5697 7333
5698 // InternalSolverLanguageParser.g:2236:3: ( (lv_upperBound_3_0= ruleExpression ) ) 7334 // InternalSolverLanguageParser.g:2935:3: ( (lv_upperBound_3_0= ruleExpression ) )
5699 // InternalSolverLanguageParser.g:2237:4: (lv_upperBound_3_0= ruleExpression ) 7335 // InternalSolverLanguageParser.g:2936:4: (lv_upperBound_3_0= ruleExpression )
5700 { 7336 {
5701 // InternalSolverLanguageParser.g:2237:4: (lv_upperBound_3_0= ruleExpression ) 7337 // InternalSolverLanguageParser.g:2936:4: (lv_upperBound_3_0= ruleExpression )
5702 // InternalSolverLanguageParser.g:2238:5: lv_upperBound_3_0= ruleExpression 7338 // InternalSolverLanguageParser.g:2937:5: lv_upperBound_3_0= ruleExpression
5703 { 7339 {
5704 7340
5705 newCompositeNode(grammarAccess.getIntervalAccess().getUpperBoundExpressionParserRuleCall_3_0()); 7341 newCompositeNode(grammarAccess.getIntervalAccess().getUpperBoundExpressionParserRuleCall_3_0());
5706 7342
5707 pushFollow(FOLLOW_36); 7343 pushFollow(FOLLOW_45);
5708 lv_upperBound_3_0=ruleExpression(); 7344 lv_upperBound_3_0=ruleExpression();
5709 7345
5710 state._fsp--; 7346 state._fsp--;
@@ -5753,7 +7389,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5753 7389
5754 7390
5755 // $ANTLR start "entryRuleLiteral" 7391 // $ANTLR start "entryRuleLiteral"
5756 // InternalSolverLanguageParser.g:2263:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ; 7392 // InternalSolverLanguageParser.g:2962:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ;
5757 public final EObject entryRuleLiteral() throws RecognitionException { 7393 public final EObject entryRuleLiteral() throws RecognitionException {
5758 EObject current = null; 7394 EObject current = null;
5759 7395
@@ -5761,8 +7397,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5761 7397
5762 7398
5763 try { 7399 try {
5764 // InternalSolverLanguageParser.g:2263:48: (iv_ruleLiteral= ruleLiteral EOF ) 7400 // InternalSolverLanguageParser.g:2962:48: (iv_ruleLiteral= ruleLiteral EOF )
5765 // InternalSolverLanguageParser.g:2264:2: iv_ruleLiteral= ruleLiteral EOF 7401 // InternalSolverLanguageParser.g:2963:2: iv_ruleLiteral= ruleLiteral EOF
5766 { 7402 {
5767 newCompositeNode(grammarAccess.getLiteralRule()); 7403 newCompositeNode(grammarAccess.getLiteralRule());
5768 pushFollow(FOLLOW_1); 7404 pushFollow(FOLLOW_1);
@@ -5789,7 +7425,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5789 7425
5790 7426
5791 // $ANTLR start "ruleLiteral" 7427 // $ANTLR start "ruleLiteral"
5792 // InternalSolverLanguageParser.g:2270:1: ruleLiteral returns [EObject current=null] : (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) ; 7428 // InternalSolverLanguageParser.g:2969:1: ruleLiteral returns [EObject current=null] : (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) ;
5793 public final EObject ruleLiteral() throws RecognitionException { 7429 public final EObject ruleLiteral() throws RecognitionException {
5794 EObject current = null; 7430 EObject current = null;
5795 7431
@@ -5808,50 +7444,50 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5808 enterRule(); 7444 enterRule();
5809 7445
5810 try { 7446 try {
5811 // InternalSolverLanguageParser.g:2276:2: ( (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) ) 7447 // InternalSolverLanguageParser.g:2975:2: ( (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) )
5812 // InternalSolverLanguageParser.g:2277:2: (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) 7448 // InternalSolverLanguageParser.g:2976:2: (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral )
5813 { 7449 {
5814 // InternalSolverLanguageParser.g:2277:2: (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral ) 7450 // InternalSolverLanguageParser.g:2976:2: (this_LogicLiteral_0= ruleLogicLiteral | this_NumericLiteral_1= ruleNumericLiteral | this_InfinityLiteral_2= ruleInfinityLiteral | this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral | this_StringLiteral_4= ruleStringLiteral )
5815 int alt25=5; 7451 int alt34=5;
5816 switch ( input.LA(1) ) { 7452 switch ( input.LA(1) ) {
5817 case Unknown: 7453 case Unknown:
5818 case Error: 7454 case Error:
5819 case False: 7455 case False:
5820 case True: 7456 case True:
5821 { 7457 {
5822 alt25=1; 7458 alt34=1;
5823 } 7459 }
5824 break; 7460 break;
5825 case RULE_INT: 7461 case RULE_INT:
5826 { 7462 {
5827 alt25=2; 7463 alt34=2;
5828 } 7464 }
5829 break; 7465 break;
5830 case Inf: 7466 case Inf:
5831 { 7467 {
5832 alt25=3; 7468 alt34=3;
5833 } 7469 }
5834 break; 7470 break;
5835 case Empty: 7471 case Empty:
5836 { 7472 {
5837 alt25=4; 7473 alt34=4;
5838 } 7474 }
5839 break; 7475 break;
5840 case RULE_STRING: 7476 case RULE_STRING:
5841 { 7477 {
5842 alt25=5; 7478 alt34=5;
5843 } 7479 }
5844 break; 7480 break;
5845 default: 7481 default:
5846 NoViableAltException nvae = 7482 NoViableAltException nvae =
5847 new NoViableAltException("", 25, 0, input); 7483 new NoViableAltException("", 34, 0, input);
5848 7484
5849 throw nvae; 7485 throw nvae;
5850 } 7486 }
5851 7487
5852 switch (alt25) { 7488 switch (alt34) {
5853 case 1 : 7489 case 1 :
5854 // InternalSolverLanguageParser.g:2278:3: this_LogicLiteral_0= ruleLogicLiteral 7490 // InternalSolverLanguageParser.g:2977:3: this_LogicLiteral_0= ruleLogicLiteral
5855 { 7491 {
5856 7492
5857 newCompositeNode(grammarAccess.getLiteralAccess().getLogicLiteralParserRuleCall_0()); 7493 newCompositeNode(grammarAccess.getLiteralAccess().getLogicLiteralParserRuleCall_0());
@@ -5869,7 +7505,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5869 } 7505 }
5870 break; 7506 break;
5871 case 2 : 7507 case 2 :
5872 // InternalSolverLanguageParser.g:2287:3: this_NumericLiteral_1= ruleNumericLiteral 7508 // InternalSolverLanguageParser.g:2986:3: this_NumericLiteral_1= ruleNumericLiteral
5873 { 7509 {
5874 7510
5875 newCompositeNode(grammarAccess.getLiteralAccess().getNumericLiteralParserRuleCall_1()); 7511 newCompositeNode(grammarAccess.getLiteralAccess().getNumericLiteralParserRuleCall_1());
@@ -5887,7 +7523,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5887 } 7523 }
5888 break; 7524 break;
5889 case 3 : 7525 case 3 :
5890 // InternalSolverLanguageParser.g:2296:3: this_InfinityLiteral_2= ruleInfinityLiteral 7526 // InternalSolverLanguageParser.g:2995:3: this_InfinityLiteral_2= ruleInfinityLiteral
5891 { 7527 {
5892 7528
5893 newCompositeNode(grammarAccess.getLiteralAccess().getInfinityLiteralParserRuleCall_2()); 7529 newCompositeNode(grammarAccess.getLiteralAccess().getInfinityLiteralParserRuleCall_2());
@@ -5905,7 +7541,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5905 } 7541 }
5906 break; 7542 break;
5907 case 4 : 7543 case 4 :
5908 // InternalSolverLanguageParser.g:2305:3: this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral 7544 // InternalSolverLanguageParser.g:3004:3: this_EmptyIntervalLiteral_3= ruleEmptyIntervalLiteral
5909 { 7545 {
5910 7546
5911 newCompositeNode(grammarAccess.getLiteralAccess().getEmptyIntervalLiteralParserRuleCall_3()); 7547 newCompositeNode(grammarAccess.getLiteralAccess().getEmptyIntervalLiteralParserRuleCall_3());
@@ -5923,7 +7559,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5923 } 7559 }
5924 break; 7560 break;
5925 case 5 : 7561 case 5 :
5926 // InternalSolverLanguageParser.g:2314:3: this_StringLiteral_4= ruleStringLiteral 7562 // InternalSolverLanguageParser.g:3013:3: this_StringLiteral_4= ruleStringLiteral
5927 { 7563 {
5928 7564
5929 newCompositeNode(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4()); 7565 newCompositeNode(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_4());
@@ -5963,7 +7599,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5963 7599
5964 7600
5965 // $ANTLR start "entryRuleLogicLiteral" 7601 // $ANTLR start "entryRuleLogicLiteral"
5966 // InternalSolverLanguageParser.g:2326:1: entryRuleLogicLiteral returns [EObject current=null] : iv_ruleLogicLiteral= ruleLogicLiteral EOF ; 7602 // InternalSolverLanguageParser.g:3025:1: entryRuleLogicLiteral returns [EObject current=null] : iv_ruleLogicLiteral= ruleLogicLiteral EOF ;
5967 public final EObject entryRuleLogicLiteral() throws RecognitionException { 7603 public final EObject entryRuleLogicLiteral() throws RecognitionException {
5968 EObject current = null; 7604 EObject current = null;
5969 7605
@@ -5971,8 +7607,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5971 7607
5972 7608
5973 try { 7609 try {
5974 // InternalSolverLanguageParser.g:2326:53: (iv_ruleLogicLiteral= ruleLogicLiteral EOF ) 7610 // InternalSolverLanguageParser.g:3025:53: (iv_ruleLogicLiteral= ruleLogicLiteral EOF )
5975 // InternalSolverLanguageParser.g:2327:2: iv_ruleLogicLiteral= ruleLogicLiteral EOF 7611 // InternalSolverLanguageParser.g:3026:2: iv_ruleLogicLiteral= ruleLogicLiteral EOF
5976 { 7612 {
5977 newCompositeNode(grammarAccess.getLogicLiteralRule()); 7613 newCompositeNode(grammarAccess.getLogicLiteralRule());
5978 pushFollow(FOLLOW_1); 7614 pushFollow(FOLLOW_1);
@@ -5999,7 +7635,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
5999 7635
6000 7636
6001 // $ANTLR start "ruleLogicLiteral" 7637 // $ANTLR start "ruleLogicLiteral"
6002 // InternalSolverLanguageParser.g:2333:1: ruleLogicLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleLogicValue ) ) ; 7638 // InternalSolverLanguageParser.g:3032:1: ruleLogicLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleLogicValue ) ) ;
6003 public final EObject ruleLogicLiteral() throws RecognitionException { 7639 public final EObject ruleLogicLiteral() throws RecognitionException {
6004 EObject current = null; 7640 EObject current = null;
6005 7641
@@ -6010,14 +7646,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6010 enterRule(); 7646 enterRule();
6011 7647
6012 try { 7648 try {
6013 // InternalSolverLanguageParser.g:2339:2: ( ( (lv_value_0_0= ruleLogicValue ) ) ) 7649 // InternalSolverLanguageParser.g:3038:2: ( ( (lv_value_0_0= ruleLogicValue ) ) )
6014 // InternalSolverLanguageParser.g:2340:2: ( (lv_value_0_0= ruleLogicValue ) ) 7650 // InternalSolverLanguageParser.g:3039:2: ( (lv_value_0_0= ruleLogicValue ) )
6015 { 7651 {
6016 // InternalSolverLanguageParser.g:2340:2: ( (lv_value_0_0= ruleLogicValue ) ) 7652 // InternalSolverLanguageParser.g:3039:2: ( (lv_value_0_0= ruleLogicValue ) )
6017 // InternalSolverLanguageParser.g:2341:3: (lv_value_0_0= ruleLogicValue ) 7653 // InternalSolverLanguageParser.g:3040:3: (lv_value_0_0= ruleLogicValue )
6018 { 7654 {
6019 // InternalSolverLanguageParser.g:2341:3: (lv_value_0_0= ruleLogicValue ) 7655 // InternalSolverLanguageParser.g:3040:3: (lv_value_0_0= ruleLogicValue )
6020 // InternalSolverLanguageParser.g:2342:4: lv_value_0_0= ruleLogicValue 7656 // InternalSolverLanguageParser.g:3041:4: lv_value_0_0= ruleLogicValue
6021 { 7657 {
6022 7658
6023 newCompositeNode(grammarAccess.getLogicLiteralAccess().getValueLogicValueEnumRuleCall_0()); 7659 newCompositeNode(grammarAccess.getLogicLiteralAccess().getValueLogicValueEnumRuleCall_0());
@@ -6064,7 +7700,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6064 7700
6065 7701
6066 // $ANTLR start "entryRuleNumericLiteral" 7702 // $ANTLR start "entryRuleNumericLiteral"
6067 // InternalSolverLanguageParser.g:2362:1: entryRuleNumericLiteral returns [EObject current=null] : iv_ruleNumericLiteral= ruleNumericLiteral EOF ; 7703 // InternalSolverLanguageParser.g:3061:1: entryRuleNumericLiteral returns [EObject current=null] : iv_ruleNumericLiteral= ruleNumericLiteral EOF ;
6068 public final EObject entryRuleNumericLiteral() throws RecognitionException { 7704 public final EObject entryRuleNumericLiteral() throws RecognitionException {
6069 EObject current = null; 7705 EObject current = null;
6070 7706
@@ -6072,8 +7708,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6072 7708
6073 7709
6074 try { 7710 try {
6075 // InternalSolverLanguageParser.g:2362:55: (iv_ruleNumericLiteral= ruleNumericLiteral EOF ) 7711 // InternalSolverLanguageParser.g:3061:55: (iv_ruleNumericLiteral= ruleNumericLiteral EOF )
6076 // InternalSolverLanguageParser.g:2363:2: iv_ruleNumericLiteral= ruleNumericLiteral EOF 7712 // InternalSolverLanguageParser.g:3062:2: iv_ruleNumericLiteral= ruleNumericLiteral EOF
6077 { 7713 {
6078 newCompositeNode(grammarAccess.getNumericLiteralRule()); 7714 newCompositeNode(grammarAccess.getNumericLiteralRule());
6079 pushFollow(FOLLOW_1); 7715 pushFollow(FOLLOW_1);
@@ -6100,7 +7736,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6100 7736
6101 7737
6102 // $ANTLR start "ruleNumericLiteral" 7738 // $ANTLR start "ruleNumericLiteral"
6103 // InternalSolverLanguageParser.g:2369:1: ruleNumericLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleReal ) ) ; 7739 // InternalSolverLanguageParser.g:3068:1: ruleNumericLiteral returns [EObject current=null] : ( (lv_value_0_0= ruleReal ) ) ;
6104 public final EObject ruleNumericLiteral() throws RecognitionException { 7740 public final EObject ruleNumericLiteral() throws RecognitionException {
6105 EObject current = null; 7741 EObject current = null;
6106 7742
@@ -6111,14 +7747,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6111 enterRule(); 7747 enterRule();
6112 7748
6113 try { 7749 try {
6114 // InternalSolverLanguageParser.g:2375:2: ( ( (lv_value_0_0= ruleReal ) ) ) 7750 // InternalSolverLanguageParser.g:3074:2: ( ( (lv_value_0_0= ruleReal ) ) )
6115 // InternalSolverLanguageParser.g:2376:2: ( (lv_value_0_0= ruleReal ) ) 7751 // InternalSolverLanguageParser.g:3075:2: ( (lv_value_0_0= ruleReal ) )
6116 { 7752 {
6117 // InternalSolverLanguageParser.g:2376:2: ( (lv_value_0_0= ruleReal ) ) 7753 // InternalSolverLanguageParser.g:3075:2: ( (lv_value_0_0= ruleReal ) )
6118 // InternalSolverLanguageParser.g:2377:3: (lv_value_0_0= ruleReal ) 7754 // InternalSolverLanguageParser.g:3076:3: (lv_value_0_0= ruleReal )
6119 { 7755 {
6120 // InternalSolverLanguageParser.g:2377:3: (lv_value_0_0= ruleReal ) 7756 // InternalSolverLanguageParser.g:3076:3: (lv_value_0_0= ruleReal )
6121 // InternalSolverLanguageParser.g:2378:4: lv_value_0_0= ruleReal 7757 // InternalSolverLanguageParser.g:3077:4: lv_value_0_0= ruleReal
6122 { 7758 {
6123 7759
6124 newCompositeNode(grammarAccess.getNumericLiteralAccess().getValueRealParserRuleCall_0()); 7760 newCompositeNode(grammarAccess.getNumericLiteralAccess().getValueRealParserRuleCall_0());
@@ -6165,7 +7801,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6165 7801
6166 7802
6167 // $ANTLR start "entryRuleInfinityLiteral" 7803 // $ANTLR start "entryRuleInfinityLiteral"
6168 // InternalSolverLanguageParser.g:2398:1: entryRuleInfinityLiteral returns [EObject current=null] : iv_ruleInfinityLiteral= ruleInfinityLiteral EOF ; 7804 // InternalSolverLanguageParser.g:3097:1: entryRuleInfinityLiteral returns [EObject current=null] : iv_ruleInfinityLiteral= ruleInfinityLiteral EOF ;
6169 public final EObject entryRuleInfinityLiteral() throws RecognitionException { 7805 public final EObject entryRuleInfinityLiteral() throws RecognitionException {
6170 EObject current = null; 7806 EObject current = null;
6171 7807
@@ -6173,8 +7809,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6173 7809
6174 7810
6175 try { 7811 try {
6176 // InternalSolverLanguageParser.g:2398:56: (iv_ruleInfinityLiteral= ruleInfinityLiteral EOF ) 7812 // InternalSolverLanguageParser.g:3097:56: (iv_ruleInfinityLiteral= ruleInfinityLiteral EOF )
6177 // InternalSolverLanguageParser.g:2399:2: iv_ruleInfinityLiteral= ruleInfinityLiteral EOF 7813 // InternalSolverLanguageParser.g:3098:2: iv_ruleInfinityLiteral= ruleInfinityLiteral EOF
6178 { 7814 {
6179 newCompositeNode(grammarAccess.getInfinityLiteralRule()); 7815 newCompositeNode(grammarAccess.getInfinityLiteralRule());
6180 pushFollow(FOLLOW_1); 7816 pushFollow(FOLLOW_1);
@@ -6201,7 +7837,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6201 7837
6202 7838
6203 // $ANTLR start "ruleInfinityLiteral" 7839 // $ANTLR start "ruleInfinityLiteral"
6204 // InternalSolverLanguageParser.g:2405:1: ruleInfinityLiteral returns [EObject current=null] : ( () otherlv_1= Inf ) ; 7840 // InternalSolverLanguageParser.g:3104:1: ruleInfinityLiteral returns [EObject current=null] : ( () otherlv_1= Inf ) ;
6205 public final EObject ruleInfinityLiteral() throws RecognitionException { 7841 public final EObject ruleInfinityLiteral() throws RecognitionException {
6206 EObject current = null; 7842 EObject current = null;
6207 7843
@@ -6211,14 +7847,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6211 enterRule(); 7847 enterRule();
6212 7848
6213 try { 7849 try {
6214 // InternalSolverLanguageParser.g:2411:2: ( ( () otherlv_1= Inf ) ) 7850 // InternalSolverLanguageParser.g:3110:2: ( ( () otherlv_1= Inf ) )
6215 // InternalSolverLanguageParser.g:2412:2: ( () otherlv_1= Inf ) 7851 // InternalSolverLanguageParser.g:3111:2: ( () otherlv_1= Inf )
6216 { 7852 {
6217 // InternalSolverLanguageParser.g:2412:2: ( () otherlv_1= Inf ) 7853 // InternalSolverLanguageParser.g:3111:2: ( () otherlv_1= Inf )
6218 // InternalSolverLanguageParser.g:2413:3: () otherlv_1= Inf 7854 // InternalSolverLanguageParser.g:3112:3: () otherlv_1= Inf
6219 { 7855 {
6220 // InternalSolverLanguageParser.g:2413:3: () 7856 // InternalSolverLanguageParser.g:3112:3: ()
6221 // InternalSolverLanguageParser.g:2414:4: 7857 // InternalSolverLanguageParser.g:3113:4:
6222 { 7858 {
6223 7859
6224 current = forceCreateModelElement( 7860 current = forceCreateModelElement(
@@ -6255,7 +7891,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6255 7891
6256 7892
6257 // $ANTLR start "entryRuleEmptyIntervalLiteral" 7893 // $ANTLR start "entryRuleEmptyIntervalLiteral"
6258 // InternalSolverLanguageParser.g:2428:1: entryRuleEmptyIntervalLiteral returns [EObject current=null] : iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF ; 7894 // InternalSolverLanguageParser.g:3127:1: entryRuleEmptyIntervalLiteral returns [EObject current=null] : iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF ;
6259 public final EObject entryRuleEmptyIntervalLiteral() throws RecognitionException { 7895 public final EObject entryRuleEmptyIntervalLiteral() throws RecognitionException {
6260 EObject current = null; 7896 EObject current = null;
6261 7897
@@ -6263,8 +7899,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6263 7899
6264 7900
6265 try { 7901 try {
6266 // InternalSolverLanguageParser.g:2428:61: (iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF ) 7902 // InternalSolverLanguageParser.g:3127:61: (iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF )
6267 // InternalSolverLanguageParser.g:2429:2: iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF 7903 // InternalSolverLanguageParser.g:3128:2: iv_ruleEmptyIntervalLiteral= ruleEmptyIntervalLiteral EOF
6268 { 7904 {
6269 newCompositeNode(grammarAccess.getEmptyIntervalLiteralRule()); 7905 newCompositeNode(grammarAccess.getEmptyIntervalLiteralRule());
6270 pushFollow(FOLLOW_1); 7906 pushFollow(FOLLOW_1);
@@ -6291,7 +7927,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6291 7927
6292 7928
6293 // $ANTLR start "ruleEmptyIntervalLiteral" 7929 // $ANTLR start "ruleEmptyIntervalLiteral"
6294 // InternalSolverLanguageParser.g:2435:1: ruleEmptyIntervalLiteral returns [EObject current=null] : ( () otherlv_1= Empty ) ; 7930 // InternalSolverLanguageParser.g:3134:1: ruleEmptyIntervalLiteral returns [EObject current=null] : ( () otherlv_1= Empty ) ;
6295 public final EObject ruleEmptyIntervalLiteral() throws RecognitionException { 7931 public final EObject ruleEmptyIntervalLiteral() throws RecognitionException {
6296 EObject current = null; 7932 EObject current = null;
6297 7933
@@ -6301,14 +7937,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6301 enterRule(); 7937 enterRule();
6302 7938
6303 try { 7939 try {
6304 // InternalSolverLanguageParser.g:2441:2: ( ( () otherlv_1= Empty ) ) 7940 // InternalSolverLanguageParser.g:3140:2: ( ( () otherlv_1= Empty ) )
6305 // InternalSolverLanguageParser.g:2442:2: ( () otherlv_1= Empty ) 7941 // InternalSolverLanguageParser.g:3141:2: ( () otherlv_1= Empty )
6306 { 7942 {
6307 // InternalSolverLanguageParser.g:2442:2: ( () otherlv_1= Empty ) 7943 // InternalSolverLanguageParser.g:3141:2: ( () otherlv_1= Empty )
6308 // InternalSolverLanguageParser.g:2443:3: () otherlv_1= Empty 7944 // InternalSolverLanguageParser.g:3142:3: () otherlv_1= Empty
6309 { 7945 {
6310 // InternalSolverLanguageParser.g:2443:3: () 7946 // InternalSolverLanguageParser.g:3142:3: ()
6311 // InternalSolverLanguageParser.g:2444:4: 7947 // InternalSolverLanguageParser.g:3143:4:
6312 { 7948 {
6313 7949
6314 current = forceCreateModelElement( 7950 current = forceCreateModelElement(
@@ -6345,7 +7981,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6345 7981
6346 7982
6347 // $ANTLR start "entryRuleStringLiteral" 7983 // $ANTLR start "entryRuleStringLiteral"
6348 // InternalSolverLanguageParser.g:2458:1: entryRuleStringLiteral returns [EObject current=null] : iv_ruleStringLiteral= ruleStringLiteral EOF ; 7984 // InternalSolverLanguageParser.g:3157:1: entryRuleStringLiteral returns [EObject current=null] : iv_ruleStringLiteral= ruleStringLiteral EOF ;
6349 public final EObject entryRuleStringLiteral() throws RecognitionException { 7985 public final EObject entryRuleStringLiteral() throws RecognitionException {
6350 EObject current = null; 7986 EObject current = null;
6351 7987
@@ -6353,8 +7989,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6353 7989
6354 7990
6355 try { 7991 try {
6356 // InternalSolverLanguageParser.g:2458:54: (iv_ruleStringLiteral= ruleStringLiteral EOF ) 7992 // InternalSolverLanguageParser.g:3157:54: (iv_ruleStringLiteral= ruleStringLiteral EOF )
6357 // InternalSolverLanguageParser.g:2459:2: iv_ruleStringLiteral= ruleStringLiteral EOF 7993 // InternalSolverLanguageParser.g:3158:2: iv_ruleStringLiteral= ruleStringLiteral EOF
6358 { 7994 {
6359 newCompositeNode(grammarAccess.getStringLiteralRule()); 7995 newCompositeNode(grammarAccess.getStringLiteralRule());
6360 pushFollow(FOLLOW_1); 7996 pushFollow(FOLLOW_1);
@@ -6381,7 +8017,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6381 8017
6382 8018
6383 // $ANTLR start "ruleStringLiteral" 8019 // $ANTLR start "ruleStringLiteral"
6384 // InternalSolverLanguageParser.g:2465:1: ruleStringLiteral returns [EObject current=null] : ( (lv_value_0_0= RULE_STRING ) ) ; 8020 // InternalSolverLanguageParser.g:3164:1: ruleStringLiteral returns [EObject current=null] : ( (lv_value_0_0= RULE_STRING ) ) ;
6385 public final EObject ruleStringLiteral() throws RecognitionException { 8021 public final EObject ruleStringLiteral() throws RecognitionException {
6386 EObject current = null; 8022 EObject current = null;
6387 8023
@@ -6391,14 +8027,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6391 enterRule(); 8027 enterRule();
6392 8028
6393 try { 8029 try {
6394 // InternalSolverLanguageParser.g:2471:2: ( ( (lv_value_0_0= RULE_STRING ) ) ) 8030 // InternalSolverLanguageParser.g:3170:2: ( ( (lv_value_0_0= RULE_STRING ) ) )
6395 // InternalSolverLanguageParser.g:2472:2: ( (lv_value_0_0= RULE_STRING ) ) 8031 // InternalSolverLanguageParser.g:3171:2: ( (lv_value_0_0= RULE_STRING ) )
6396 { 8032 {
6397 // InternalSolverLanguageParser.g:2472:2: ( (lv_value_0_0= RULE_STRING ) ) 8033 // InternalSolverLanguageParser.g:3171:2: ( (lv_value_0_0= RULE_STRING ) )
6398 // InternalSolverLanguageParser.g:2473:3: (lv_value_0_0= RULE_STRING ) 8034 // InternalSolverLanguageParser.g:3172:3: (lv_value_0_0= RULE_STRING )
6399 { 8035 {
6400 // InternalSolverLanguageParser.g:2473:3: (lv_value_0_0= RULE_STRING ) 8036 // InternalSolverLanguageParser.g:3172:3: (lv_value_0_0= RULE_STRING )
6401 // InternalSolverLanguageParser.g:2474:4: lv_value_0_0= RULE_STRING 8037 // InternalSolverLanguageParser.g:3173:4: lv_value_0_0= RULE_STRING
6402 { 8038 {
6403 lv_value_0_0=(Token)match(input,RULE_STRING,FOLLOW_2); 8039 lv_value_0_0=(Token)match(input,RULE_STRING,FOLLOW_2);
6404 8040
@@ -6440,7 +8076,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6440 8076
6441 8077
6442 // $ANTLR start "entryRuleClassDefinition" 8078 // $ANTLR start "entryRuleClassDefinition"
6443 // InternalSolverLanguageParser.g:2493:1: entryRuleClassDefinition returns [EObject current=null] : iv_ruleClassDefinition= ruleClassDefinition EOF ; 8079 // InternalSolverLanguageParser.g:3192:1: entryRuleClassDefinition returns [EObject current=null] : iv_ruleClassDefinition= ruleClassDefinition EOF ;
6444 public final EObject entryRuleClassDefinition() throws RecognitionException { 8080 public final EObject entryRuleClassDefinition() throws RecognitionException {
6445 EObject current = null; 8081 EObject current = null;
6446 8082
@@ -6448,8 +8084,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6448 8084
6449 8085
6450 try { 8086 try {
6451 // InternalSolverLanguageParser.g:2493:56: (iv_ruleClassDefinition= ruleClassDefinition EOF ) 8087 // InternalSolverLanguageParser.g:3192:56: (iv_ruleClassDefinition= ruleClassDefinition EOF )
6452 // InternalSolverLanguageParser.g:2494:2: iv_ruleClassDefinition= ruleClassDefinition EOF 8088 // InternalSolverLanguageParser.g:3193:2: iv_ruleClassDefinition= ruleClassDefinition EOF
6453 { 8089 {
6454 newCompositeNode(grammarAccess.getClassDefinitionRule()); 8090 newCompositeNode(grammarAccess.getClassDefinitionRule());
6455 pushFollow(FOLLOW_1); 8091 pushFollow(FOLLOW_1);
@@ -6476,7 +8112,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6476 8112
6477 8113
6478 // $ANTLR start "ruleClassDefinition" 8114 // $ANTLR start "ruleClassDefinition"
6479 // InternalSolverLanguageParser.g:2500:1: ruleClassDefinition returns [EObject current=null] : ( ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket ) ; 8115 // InternalSolverLanguageParser.g:3199:1: ruleClassDefinition returns [EObject current=null] : ( ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket ) ;
6480 public final EObject ruleClassDefinition() throws RecognitionException { 8116 public final EObject ruleClassDefinition() throws RecognitionException {
6481 EObject current = null; 8117 EObject current = null;
6482 8118
@@ -6494,27 +8130,27 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6494 enterRule(); 8130 enterRule();
6495 8131
6496 try { 8132 try {
6497 // InternalSolverLanguageParser.g:2506:2: ( ( ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket ) ) 8133 // InternalSolverLanguageParser.g:3205:2: ( ( ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket ) )
6498 // InternalSolverLanguageParser.g:2507:2: ( ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket ) 8134 // InternalSolverLanguageParser.g:3206:2: ( ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket )
6499 { 8135 {
6500 // InternalSolverLanguageParser.g:2507:2: ( ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket ) 8136 // InternalSolverLanguageParser.g:3206:2: ( ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket )
6501 // InternalSolverLanguageParser.g:2508:3: ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket 8137 // InternalSolverLanguageParser.g:3207:3: ( (lv_abstract_0_0= Abstract ) )? otherlv_1= Class ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? otherlv_7= LeftCurlyBracket ( (lv_members_8_0= ruleMemberDefinition ) )* otherlv_9= RightCurlyBracket
6502 { 8138 {
6503 // InternalSolverLanguageParser.g:2508:3: ( (lv_abstract_0_0= Abstract ) )? 8139 // InternalSolverLanguageParser.g:3207:3: ( (lv_abstract_0_0= Abstract ) )?
6504 int alt26=2; 8140 int alt35=2;
6505 int LA26_0 = input.LA(1); 8141 int LA35_0 = input.LA(1);
6506 8142
6507 if ( (LA26_0==Abstract) ) { 8143 if ( (LA35_0==Abstract) ) {
6508 alt26=1; 8144 alt35=1;
6509 } 8145 }
6510 switch (alt26) { 8146 switch (alt35) {
6511 case 1 : 8147 case 1 :
6512 // InternalSolverLanguageParser.g:2509:4: (lv_abstract_0_0= Abstract ) 8148 // InternalSolverLanguageParser.g:3208:4: (lv_abstract_0_0= Abstract )
6513 { 8149 {
6514 // InternalSolverLanguageParser.g:2509:4: (lv_abstract_0_0= Abstract ) 8150 // InternalSolverLanguageParser.g:3208:4: (lv_abstract_0_0= Abstract )
6515 // InternalSolverLanguageParser.g:2510:5: lv_abstract_0_0= Abstract 8151 // InternalSolverLanguageParser.g:3209:5: lv_abstract_0_0= Abstract
6516 { 8152 {
6517 lv_abstract_0_0=(Token)match(input,Abstract,FOLLOW_37); 8153 lv_abstract_0_0=(Token)match(input,Abstract,FOLLOW_46);
6518 8154
6519 newLeafNode(lv_abstract_0_0, grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0()); 8155 newLeafNode(lv_abstract_0_0, grammarAccess.getClassDefinitionAccess().getAbstractAbstractKeyword_0_0());
6520 8156
@@ -6533,17 +8169,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6533 8169
6534 } 8170 }
6535 8171
6536 otherlv_1=(Token)match(input,Class,FOLLOW_38); 8172 otherlv_1=(Token)match(input,Class,FOLLOW_20);
6537 8173
6538 newLeafNode(otherlv_1, grammarAccess.getClassDefinitionAccess().getClassKeyword_1()); 8174 newLeafNode(otherlv_1, grammarAccess.getClassDefinitionAccess().getClassKeyword_1());
6539 8175
6540 // InternalSolverLanguageParser.g:2526:3: ( (lv_name_2_0= RULE_ID ) ) 8176 // InternalSolverLanguageParser.g:3225:3: ( (lv_name_2_0= RULE_ID ) )
6541 // InternalSolverLanguageParser.g:2527:4: (lv_name_2_0= RULE_ID ) 8177 // InternalSolverLanguageParser.g:3226:4: (lv_name_2_0= RULE_ID )
6542 { 8178 {
6543 // InternalSolverLanguageParser.g:2527:4: (lv_name_2_0= RULE_ID ) 8179 // InternalSolverLanguageParser.g:3226:4: (lv_name_2_0= RULE_ID )
6544 // InternalSolverLanguageParser.g:2528:5: lv_name_2_0= RULE_ID 8180 // InternalSolverLanguageParser.g:3227:5: lv_name_2_0= RULE_ID
6545 { 8181 {
6546 lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_39); 8182 lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_47);
6547 8183
6548 newLeafNode(lv_name_2_0, grammarAccess.getClassDefinitionAccess().getNameIDTerminalRuleCall_2_0()); 8184 newLeafNode(lv_name_2_0, grammarAccess.getClassDefinitionAccess().getNameIDTerminalRuleCall_2_0());
6549 8185
@@ -6563,26 +8199,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6563 8199
6564 } 8200 }
6565 8201
6566 // InternalSolverLanguageParser.g:2544:3: (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )? 8202 // InternalSolverLanguageParser.g:3243:3: (otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* )?
6567 int alt28=2; 8203 int alt37=2;
6568 int LA28_0 = input.LA(1); 8204 int LA37_0 = input.LA(1);
6569 8205
6570 if ( (LA28_0==Extends) ) { 8206 if ( (LA37_0==Extends) ) {
6571 alt28=1; 8207 alt37=1;
6572 } 8208 }
6573 switch (alt28) { 8209 switch (alt37) {
6574 case 1 : 8210 case 1 :
6575 // InternalSolverLanguageParser.g:2545:4: otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* 8211 // InternalSolverLanguageParser.g:3244:4: otherlv_3= Extends ( ( ruleQualifiedName ) ) (otherlv_5= Comma ( ( ruleQualifiedName ) ) )*
6576 { 8212 {
6577 otherlv_3=(Token)match(input,Extends,FOLLOW_8); 8213 otherlv_3=(Token)match(input,Extends,FOLLOW_8);
6578 8214
6579 newLeafNode(otherlv_3, grammarAccess.getClassDefinitionAccess().getExtendsKeyword_3_0()); 8215 newLeafNode(otherlv_3, grammarAccess.getClassDefinitionAccess().getExtendsKeyword_3_0());
6580 8216
6581 // InternalSolverLanguageParser.g:2549:4: ( ( ruleQualifiedName ) ) 8217 // InternalSolverLanguageParser.g:3248:4: ( ( ruleQualifiedName ) )
6582 // InternalSolverLanguageParser.g:2550:5: ( ruleQualifiedName ) 8218 // InternalSolverLanguageParser.g:3249:5: ( ruleQualifiedName )
6583 { 8219 {
6584 // InternalSolverLanguageParser.g:2550:5: ( ruleQualifiedName ) 8220 // InternalSolverLanguageParser.g:3249:5: ( ruleQualifiedName )
6585 // InternalSolverLanguageParser.g:2551:6: ruleQualifiedName 8221 // InternalSolverLanguageParser.g:3250:6: ruleQualifiedName
6586 { 8222 {
6587 8223
6588 if (current==null) { 8224 if (current==null) {
@@ -6592,7 +8228,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6592 8228
6593 newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_1_0()); 8229 newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_1_0());
6594 8230
6595 pushFollow(FOLLOW_40); 8231 pushFollow(FOLLOW_48);
6596 ruleQualifiedName(); 8232 ruleQualifiedName();
6597 8233
6598 state._fsp--; 8234 state._fsp--;
@@ -6606,30 +8242,30 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6606 8242
6607 } 8243 }
6608 8244
6609 // InternalSolverLanguageParser.g:2565:4: (otherlv_5= Comma ( ( ruleQualifiedName ) ) )* 8245 // InternalSolverLanguageParser.g:3264:4: (otherlv_5= Comma ( ( ruleQualifiedName ) ) )*
6610 loop27: 8246 loop36:
6611 do { 8247 do {
6612 int alt27=2; 8248 int alt36=2;
6613 int LA27_0 = input.LA(1); 8249 int LA36_0 = input.LA(1);
6614 8250
6615 if ( (LA27_0==Comma) ) { 8251 if ( (LA36_0==Comma) ) {
6616 alt27=1; 8252 alt36=1;
6617 } 8253 }
6618 8254
6619 8255
6620 switch (alt27) { 8256 switch (alt36) {
6621 case 1 : 8257 case 1 :
6622 // InternalSolverLanguageParser.g:2566:5: otherlv_5= Comma ( ( ruleQualifiedName ) ) 8258 // InternalSolverLanguageParser.g:3265:5: otherlv_5= Comma ( ( ruleQualifiedName ) )
6623 { 8259 {
6624 otherlv_5=(Token)match(input,Comma,FOLLOW_8); 8260 otherlv_5=(Token)match(input,Comma,FOLLOW_8);
6625 8261
6626 newLeafNode(otherlv_5, grammarAccess.getClassDefinitionAccess().getCommaKeyword_3_2_0()); 8262 newLeafNode(otherlv_5, grammarAccess.getClassDefinitionAccess().getCommaKeyword_3_2_0());
6627 8263
6628 // InternalSolverLanguageParser.g:2570:5: ( ( ruleQualifiedName ) ) 8264 // InternalSolverLanguageParser.g:3269:5: ( ( ruleQualifiedName ) )
6629 // InternalSolverLanguageParser.g:2571:6: ( ruleQualifiedName ) 8265 // InternalSolverLanguageParser.g:3270:6: ( ruleQualifiedName )
6630 { 8266 {
6631 // InternalSolverLanguageParser.g:2571:6: ( ruleQualifiedName ) 8267 // InternalSolverLanguageParser.g:3270:6: ( ruleQualifiedName )
6632 // InternalSolverLanguageParser.g:2572:7: ruleQualifiedName 8268 // InternalSolverLanguageParser.g:3271:7: ruleQualifiedName
6633 { 8269 {
6634 8270
6635 if (current==null) { 8271 if (current==null) {
@@ -6639,7 +8275,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6639 8275
6640 newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_2_1_0()); 8276 newCompositeNode(grammarAccess.getClassDefinitionAccess().getSuperclassesNamedElementCrossReference_3_2_1_0());
6641 8277
6642 pushFollow(FOLLOW_40); 8278 pushFollow(FOLLOW_48);
6643 ruleQualifiedName(); 8279 ruleQualifiedName();
6644 8280
6645 state._fsp--; 8281 state._fsp--;
@@ -6658,7 +8294,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6658 break; 8294 break;
6659 8295
6660 default : 8296 default :
6661 break loop27; 8297 break loop36;
6662 } 8298 }
6663 } while (true); 8299 } while (true);
6664 8300
@@ -6668,32 +8304,32 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6668 8304
6669 } 8305 }
6670 8306
6671 otherlv_7=(Token)match(input,LeftCurlyBracket,FOLLOW_41); 8307 otherlv_7=(Token)match(input,LeftCurlyBracket,FOLLOW_49);
6672 8308
6673 newLeafNode(otherlv_7, grammarAccess.getClassDefinitionAccess().getLeftCurlyBracketKeyword_4()); 8309 newLeafNode(otherlv_7, grammarAccess.getClassDefinitionAccess().getLeftCurlyBracketKeyword_4());
6674 8310
6675 // InternalSolverLanguageParser.g:2592:3: ( (lv_members_8_0= ruleMemberDefinition ) )* 8311 // InternalSolverLanguageParser.g:3291:3: ( (lv_members_8_0= ruleMemberDefinition ) )*
6676 loop29: 8312 loop38:
6677 do { 8313 do {
6678 int alt29=2; 8314 int alt38=2;
6679 int LA29_0 = input.LA(1); 8315 int LA38_0 = input.LA(1);
6680 8316
6681 if ( (LA29_0==Contains||LA29_0==RULE_QUOTED_ID||LA29_0==RULE_ID) ) { 8317 if ( (LA38_0==Contains||LA38_0==RULE_QUOTED_ID||LA38_0==RULE_ID) ) {
6682 alt29=1; 8318 alt38=1;
6683 } 8319 }
6684 8320
6685 8321
6686 switch (alt29) { 8322 switch (alt38) {
6687 case 1 : 8323 case 1 :
6688 // InternalSolverLanguageParser.g:2593:4: (lv_members_8_0= ruleMemberDefinition ) 8324 // InternalSolverLanguageParser.g:3292:4: (lv_members_8_0= ruleMemberDefinition )
6689 { 8325 {
6690 // InternalSolverLanguageParser.g:2593:4: (lv_members_8_0= ruleMemberDefinition ) 8326 // InternalSolverLanguageParser.g:3292:4: (lv_members_8_0= ruleMemberDefinition )
6691 // InternalSolverLanguageParser.g:2594:5: lv_members_8_0= ruleMemberDefinition 8327 // InternalSolverLanguageParser.g:3293:5: lv_members_8_0= ruleMemberDefinition
6692 { 8328 {
6693 8329
6694 newCompositeNode(grammarAccess.getClassDefinitionAccess().getMembersMemberDefinitionParserRuleCall_5_0()); 8330 newCompositeNode(grammarAccess.getClassDefinitionAccess().getMembersMemberDefinitionParserRuleCall_5_0());
6695 8331
6696 pushFollow(FOLLOW_41); 8332 pushFollow(FOLLOW_49);
6697 lv_members_8_0=ruleMemberDefinition(); 8333 lv_members_8_0=ruleMemberDefinition();
6698 8334
6699 state._fsp--; 8335 state._fsp--;
@@ -6717,7 +8353,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6717 break; 8353 break;
6718 8354
6719 default : 8355 default :
6720 break loop29; 8356 break loop38;
6721 } 8357 }
6722 } while (true); 8358 } while (true);
6723 8359
@@ -6748,7 +8384,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6748 8384
6749 8385
6750 // $ANTLR start "entryRuleMemberDefinition" 8386 // $ANTLR start "entryRuleMemberDefinition"
6751 // InternalSolverLanguageParser.g:2619:1: entryRuleMemberDefinition returns [EObject current=null] : iv_ruleMemberDefinition= ruleMemberDefinition EOF ; 8387 // InternalSolverLanguageParser.g:3318:1: entryRuleMemberDefinition returns [EObject current=null] : iv_ruleMemberDefinition= ruleMemberDefinition EOF ;
6752 public final EObject entryRuleMemberDefinition() throws RecognitionException { 8388 public final EObject entryRuleMemberDefinition() throws RecognitionException {
6753 EObject current = null; 8389 EObject current = null;
6754 8390
@@ -6756,8 +8392,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6756 8392
6757 8393
6758 try { 8394 try {
6759 // InternalSolverLanguageParser.g:2619:57: (iv_ruleMemberDefinition= ruleMemberDefinition EOF ) 8395 // InternalSolverLanguageParser.g:3318:57: (iv_ruleMemberDefinition= ruleMemberDefinition EOF )
6760 // InternalSolverLanguageParser.g:2620:2: iv_ruleMemberDefinition= ruleMemberDefinition EOF 8396 // InternalSolverLanguageParser.g:3319:2: iv_ruleMemberDefinition= ruleMemberDefinition EOF
6761 { 8397 {
6762 newCompositeNode(grammarAccess.getMemberDefinitionRule()); 8398 newCompositeNode(grammarAccess.getMemberDefinitionRule());
6763 pushFollow(FOLLOW_1); 8399 pushFollow(FOLLOW_1);
@@ -6784,7 +8420,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6784 8420
6785 8421
6786 // $ANTLR start "ruleMemberDefinition" 8422 // $ANTLR start "ruleMemberDefinition"
6787 // InternalSolverLanguageParser.g:2626:1: ruleMemberDefinition returns [EObject current=null] : ( ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? ) ; 8423 // InternalSolverLanguageParser.g:3325:1: ruleMemberDefinition returns [EObject current=null] : ( ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? ) ;
6788 public final EObject ruleMemberDefinition() throws RecognitionException { 8424 public final EObject ruleMemberDefinition() throws RecognitionException {
6789 EObject current = null; 8425 EObject current = null;
6790 8426
@@ -6799,25 +8435,25 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6799 enterRule(); 8435 enterRule();
6800 8436
6801 try { 8437 try {
6802 // InternalSolverLanguageParser.g:2632:2: ( ( ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? ) ) 8438 // InternalSolverLanguageParser.g:3331:2: ( ( ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? ) )
6803 // InternalSolverLanguageParser.g:2633:2: ( ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? ) 8439 // InternalSolverLanguageParser.g:3332:2: ( ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? )
6804 { 8440 {
6805 // InternalSolverLanguageParser.g:2633:2: ( ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? ) 8441 // InternalSolverLanguageParser.g:3332:2: ( ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? )
6806 // InternalSolverLanguageParser.g:2634:3: ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )? 8442 // InternalSolverLanguageParser.g:3333:3: ( (lv_containment_0_0= Contains ) )? ( ( ruleQualifiedName ) ) ( (lv_multiplicity_2_0= ruleMultiplicity ) )? ( (lv_name_3_0= RULE_ID ) ) (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? (otherlv_6= Semicolon )?
6807 { 8443 {
6808 // InternalSolverLanguageParser.g:2634:3: ( (lv_containment_0_0= Contains ) )? 8444 // InternalSolverLanguageParser.g:3333:3: ( (lv_containment_0_0= Contains ) )?
6809 int alt30=2; 8445 int alt39=2;
6810 int LA30_0 = input.LA(1); 8446 int LA39_0 = input.LA(1);
6811 8447
6812 if ( (LA30_0==Contains) ) { 8448 if ( (LA39_0==Contains) ) {
6813 alt30=1; 8449 alt39=1;
6814 } 8450 }
6815 switch (alt30) { 8451 switch (alt39) {
6816 case 1 : 8452 case 1 :
6817 // InternalSolverLanguageParser.g:2635:4: (lv_containment_0_0= Contains ) 8453 // InternalSolverLanguageParser.g:3334:4: (lv_containment_0_0= Contains )
6818 { 8454 {
6819 // InternalSolverLanguageParser.g:2635:4: (lv_containment_0_0= Contains ) 8455 // InternalSolverLanguageParser.g:3334:4: (lv_containment_0_0= Contains )
6820 // InternalSolverLanguageParser.g:2636:5: lv_containment_0_0= Contains 8456 // InternalSolverLanguageParser.g:3335:5: lv_containment_0_0= Contains
6821 { 8457 {
6822 lv_containment_0_0=(Token)match(input,Contains,FOLLOW_8); 8458 lv_containment_0_0=(Token)match(input,Contains,FOLLOW_8);
6823 8459
@@ -6838,11 +8474,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6838 8474
6839 } 8475 }
6840 8476
6841 // InternalSolverLanguageParser.g:2648:3: ( ( ruleQualifiedName ) ) 8477 // InternalSolverLanguageParser.g:3347:3: ( ( ruleQualifiedName ) )
6842 // InternalSolverLanguageParser.g:2649:4: ( ruleQualifiedName ) 8478 // InternalSolverLanguageParser.g:3348:4: ( ruleQualifiedName )
6843 { 8479 {
6844 // InternalSolverLanguageParser.g:2649:4: ( ruleQualifiedName ) 8480 // InternalSolverLanguageParser.g:3348:4: ( ruleQualifiedName )
6845 // InternalSolverLanguageParser.g:2650:5: ruleQualifiedName 8481 // InternalSolverLanguageParser.g:3349:5: ruleQualifiedName
6846 { 8482 {
6847 8483
6848 if (current==null) { 8484 if (current==null) {
@@ -6852,7 +8488,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6852 8488
6853 newCompositeNode(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementCrossReference_1_0()); 8489 newCompositeNode(grammarAccess.getMemberDefinitionAccess().getTypeNamedElementCrossReference_1_0());
6854 8490
6855 pushFollow(FOLLOW_42); 8491 pushFollow(FOLLOW_50);
6856 ruleQualifiedName(); 8492 ruleQualifiedName();
6857 8493
6858 state._fsp--; 8494 state._fsp--;
@@ -6866,24 +8502,24 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6866 8502
6867 } 8503 }
6868 8504
6869 // InternalSolverLanguageParser.g:2664:3: ( (lv_multiplicity_2_0= ruleMultiplicity ) )? 8505 // InternalSolverLanguageParser.g:3363:3: ( (lv_multiplicity_2_0= ruleMultiplicity ) )?
6870 int alt31=2; 8506 int alt40=2;
6871 int LA31_0 = input.LA(1); 8507 int LA40_0 = input.LA(1);
6872 8508
6873 if ( (LA31_0==LeftSquareBracket) ) { 8509 if ( (LA40_0==LeftSquareBracket) ) {
6874 alt31=1; 8510 alt40=1;
6875 } 8511 }
6876 switch (alt31) { 8512 switch (alt40) {
6877 case 1 : 8513 case 1 :
6878 // InternalSolverLanguageParser.g:2665:4: (lv_multiplicity_2_0= ruleMultiplicity ) 8514 // InternalSolverLanguageParser.g:3364:4: (lv_multiplicity_2_0= ruleMultiplicity )
6879 { 8515 {
6880 // InternalSolverLanguageParser.g:2665:4: (lv_multiplicity_2_0= ruleMultiplicity ) 8516 // InternalSolverLanguageParser.g:3364:4: (lv_multiplicity_2_0= ruleMultiplicity )
6881 // InternalSolverLanguageParser.g:2666:5: lv_multiplicity_2_0= ruleMultiplicity 8517 // InternalSolverLanguageParser.g:3365:5: lv_multiplicity_2_0= ruleMultiplicity
6882 { 8518 {
6883 8519
6884 newCompositeNode(grammarAccess.getMemberDefinitionAccess().getMultiplicityMultiplicityParserRuleCall_2_0()); 8520 newCompositeNode(grammarAccess.getMemberDefinitionAccess().getMultiplicityMultiplicityParserRuleCall_2_0());
6885 8521
6886 pushFollow(FOLLOW_38); 8522 pushFollow(FOLLOW_20);
6887 lv_multiplicity_2_0=ruleMultiplicity(); 8523 lv_multiplicity_2_0=ruleMultiplicity();
6888 8524
6889 state._fsp--; 8525 state._fsp--;
@@ -6908,13 +8544,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6908 8544
6909 } 8545 }
6910 8546
6911 // InternalSolverLanguageParser.g:2683:3: ( (lv_name_3_0= RULE_ID ) ) 8547 // InternalSolverLanguageParser.g:3382:3: ( (lv_name_3_0= RULE_ID ) )
6912 // InternalSolverLanguageParser.g:2684:4: (lv_name_3_0= RULE_ID ) 8548 // InternalSolverLanguageParser.g:3383:4: (lv_name_3_0= RULE_ID )
6913 { 8549 {
6914 // InternalSolverLanguageParser.g:2684:4: (lv_name_3_0= RULE_ID ) 8550 // InternalSolverLanguageParser.g:3383:4: (lv_name_3_0= RULE_ID )
6915 // InternalSolverLanguageParser.g:2685:5: lv_name_3_0= RULE_ID 8551 // InternalSolverLanguageParser.g:3384:5: lv_name_3_0= RULE_ID
6916 { 8552 {
6917 lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_43); 8553 lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_51);
6918 8554
6919 newLeafNode(lv_name_3_0, grammarAccess.getMemberDefinitionAccess().getNameIDTerminalRuleCall_3_0()); 8555 newLeafNode(lv_name_3_0, grammarAccess.getMemberDefinitionAccess().getNameIDTerminalRuleCall_3_0());
6920 8556
@@ -6934,26 +8570,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6934 8570
6935 } 8571 }
6936 8572
6937 // InternalSolverLanguageParser.g:2701:3: (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )? 8573 // InternalSolverLanguageParser.g:3400:3: (otherlv_4= Opposite ( ( ruleQualifiedName ) ) )?
6938 int alt32=2; 8574 int alt41=2;
6939 int LA32_0 = input.LA(1); 8575 int LA41_0 = input.LA(1);
6940 8576
6941 if ( (LA32_0==Opposite) ) { 8577 if ( (LA41_0==Opposite) ) {
6942 alt32=1; 8578 alt41=1;
6943 } 8579 }
6944 switch (alt32) { 8580 switch (alt41) {
6945 case 1 : 8581 case 1 :
6946 // InternalSolverLanguageParser.g:2702:4: otherlv_4= Opposite ( ( ruleQualifiedName ) ) 8582 // InternalSolverLanguageParser.g:3401:4: otherlv_4= Opposite ( ( ruleQualifiedName ) )
6947 { 8583 {
6948 otherlv_4=(Token)match(input,Opposite,FOLLOW_8); 8584 otherlv_4=(Token)match(input,Opposite,FOLLOW_8);
6949 8585
6950 newLeafNode(otherlv_4, grammarAccess.getMemberDefinitionAccess().getOppositeKeyword_4_0()); 8586 newLeafNode(otherlv_4, grammarAccess.getMemberDefinitionAccess().getOppositeKeyword_4_0());
6951 8587
6952 // InternalSolverLanguageParser.g:2706:4: ( ( ruleQualifiedName ) ) 8588 // InternalSolverLanguageParser.g:3405:4: ( ( ruleQualifiedName ) )
6953 // InternalSolverLanguageParser.g:2707:5: ( ruleQualifiedName ) 8589 // InternalSolverLanguageParser.g:3406:5: ( ruleQualifiedName )
6954 { 8590 {
6955 // InternalSolverLanguageParser.g:2707:5: ( ruleQualifiedName ) 8591 // InternalSolverLanguageParser.g:3406:5: ( ruleQualifiedName )
6956 // InternalSolverLanguageParser.g:2708:6: ruleQualifiedName 8592 // InternalSolverLanguageParser.g:3407:6: ruleQualifiedName
6957 { 8593 {
6958 8594
6959 if (current==null) { 8595 if (current==null) {
@@ -6963,7 +8599,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6963 8599
6964 newCompositeNode(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementCrossReference_4_1_0()); 8600 newCompositeNode(grammarAccess.getMemberDefinitionAccess().getOppositeNamedElementCrossReference_4_1_0());
6965 8601
6966 pushFollow(FOLLOW_18); 8602 pushFollow(FOLLOW_26);
6967 ruleQualifiedName(); 8603 ruleQualifiedName();
6968 8604
6969 state._fsp--; 8605 state._fsp--;
@@ -6983,16 +8619,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
6983 8619
6984 } 8620 }
6985 8621
6986 // InternalSolverLanguageParser.g:2723:3: (otherlv_6= Semicolon )? 8622 // InternalSolverLanguageParser.g:3422:3: (otherlv_6= Semicolon )?
6987 int alt33=2; 8623 int alt42=2;
6988 int LA33_0 = input.LA(1); 8624 int LA42_0 = input.LA(1);
6989 8625
6990 if ( (LA33_0==Semicolon) ) { 8626 if ( (LA42_0==Semicolon) ) {
6991 alt33=1; 8627 alt42=1;
6992 } 8628 }
6993 switch (alt33) { 8629 switch (alt42) {
6994 case 1 : 8630 case 1 :
6995 // InternalSolverLanguageParser.g:2724:4: otherlv_6= Semicolon 8631 // InternalSolverLanguageParser.g:3423:4: otherlv_6= Semicolon
6996 { 8632 {
6997 otherlv_6=(Token)match(input,Semicolon,FOLLOW_2); 8633 otherlv_6=(Token)match(input,Semicolon,FOLLOW_2);
6998 8634
@@ -7027,7 +8663,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7027 8663
7028 8664
7029 // $ANTLR start "entryRuleMultiplicity" 8665 // $ANTLR start "entryRuleMultiplicity"
7030 // InternalSolverLanguageParser.g:2733:1: entryRuleMultiplicity returns [EObject current=null] : iv_ruleMultiplicity= ruleMultiplicity EOF ; 8666 // InternalSolverLanguageParser.g:3432:1: entryRuleMultiplicity returns [EObject current=null] : iv_ruleMultiplicity= ruleMultiplicity EOF ;
7031 public final EObject entryRuleMultiplicity() throws RecognitionException { 8667 public final EObject entryRuleMultiplicity() throws RecognitionException {
7032 EObject current = null; 8668 EObject current = null;
7033 8669
@@ -7035,8 +8671,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7035 8671
7036 8672
7037 try { 8673 try {
7038 // InternalSolverLanguageParser.g:2733:53: (iv_ruleMultiplicity= ruleMultiplicity EOF ) 8674 // InternalSolverLanguageParser.g:3432:53: (iv_ruleMultiplicity= ruleMultiplicity EOF )
7039 // InternalSolverLanguageParser.g:2734:2: iv_ruleMultiplicity= ruleMultiplicity EOF 8675 // InternalSolverLanguageParser.g:3433:2: iv_ruleMultiplicity= ruleMultiplicity EOF
7040 { 8676 {
7041 newCompositeNode(grammarAccess.getMultiplicityRule()); 8677 newCompositeNode(grammarAccess.getMultiplicityRule());
7042 pushFollow(FOLLOW_1); 8678 pushFollow(FOLLOW_1);
@@ -7063,7 +8699,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7063 8699
7064 8700
7065 // $ANTLR start "ruleMultiplicity" 8701 // $ANTLR start "ruleMultiplicity"
7066 // InternalSolverLanguageParser.g:2740:1: ruleMultiplicity returns [EObject current=null] : (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) ; 8702 // InternalSolverLanguageParser.g:3439:1: ruleMultiplicity returns [EObject current=null] : (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) ;
7067 public final EObject ruleMultiplicity() throws RecognitionException { 8703 public final EObject ruleMultiplicity() throws RecognitionException {
7068 EObject current = null; 8704 EObject current = null;
7069 8705
@@ -7078,28 +8714,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7078 enterRule(); 8714 enterRule();
7079 8715
7080 try { 8716 try {
7081 // InternalSolverLanguageParser.g:2746:2: ( (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) ) 8717 // InternalSolverLanguageParser.g:3445:2: ( (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) )
7082 // InternalSolverLanguageParser.g:2747:2: (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) 8718 // InternalSolverLanguageParser.g:3446:2: (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity )
7083 { 8719 {
7084 // InternalSolverLanguageParser.g:2747:2: (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity ) 8720 // InternalSolverLanguageParser.g:3446:2: (this_ManyMultiplicity_0= ruleManyMultiplicity | this_ExactMultiplicity_1= ruleExactMultiplicity | this_BoundedMultiplicity_2= ruleBoundedMultiplicity )
7085 int alt34=3; 8721 int alt43=3;
7086 int LA34_0 = input.LA(1); 8722 int LA43_0 = input.LA(1);
7087 8723
7088 if ( (LA34_0==LeftSquareBracket) ) { 8724 if ( (LA43_0==LeftSquareBracket) ) {
7089 switch ( input.LA(2) ) { 8725 switch ( input.LA(2) ) {
7090 case RULE_INT: 8726 case RULE_INT:
7091 { 8727 {
7092 int LA34_2 = input.LA(3); 8728 int LA43_2 = input.LA(3);
7093 8729
7094 if ( (LA34_2==FullStopFullStop) ) { 8730 if ( (LA43_2==FullStopFullStop) ) {
7095 alt34=3; 8731 alt43=3;
7096 } 8732 }
7097 else if ( (LA34_2==RightSquareBracket) ) { 8733 else if ( (LA43_2==RightSquareBracket) ) {
7098 alt34=2; 8734 alt43=2;
7099 } 8735 }
7100 else { 8736 else {
7101 NoViableAltException nvae = 8737 NoViableAltException nvae =
7102 new NoViableAltException("", 34, 2, input); 8738 new NoViableAltException("", 43, 2, input);
7103 8739
7104 throw nvae; 8740 throw nvae;
7105 } 8741 }
@@ -7107,17 +8743,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7107 break; 8743 break;
7108 case Asterisk: 8744 case Asterisk:
7109 { 8745 {
7110 alt34=2; 8746 alt43=2;
7111 } 8747 }
7112 break; 8748 break;
7113 case RightSquareBracket: 8749 case RightSquareBracket:
7114 { 8750 {
7115 alt34=1; 8751 alt43=1;
7116 } 8752 }
7117 break; 8753 break;
7118 default: 8754 default:
7119 NoViableAltException nvae = 8755 NoViableAltException nvae =
7120 new NoViableAltException("", 34, 1, input); 8756 new NoViableAltException("", 43, 1, input);
7121 8757
7122 throw nvae; 8758 throw nvae;
7123 } 8759 }
@@ -7125,13 +8761,13 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7125 } 8761 }
7126 else { 8762 else {
7127 NoViableAltException nvae = 8763 NoViableAltException nvae =
7128 new NoViableAltException("", 34, 0, input); 8764 new NoViableAltException("", 43, 0, input);
7129 8765
7130 throw nvae; 8766 throw nvae;
7131 } 8767 }
7132 switch (alt34) { 8768 switch (alt43) {
7133 case 1 : 8769 case 1 :
7134 // InternalSolverLanguageParser.g:2748:3: this_ManyMultiplicity_0= ruleManyMultiplicity 8770 // InternalSolverLanguageParser.g:3447:3: this_ManyMultiplicity_0= ruleManyMultiplicity
7135 { 8771 {
7136 8772
7137 newCompositeNode(grammarAccess.getMultiplicityAccess().getManyMultiplicityParserRuleCall_0()); 8773 newCompositeNode(grammarAccess.getMultiplicityAccess().getManyMultiplicityParserRuleCall_0());
@@ -7149,7 +8785,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7149 } 8785 }
7150 break; 8786 break;
7151 case 2 : 8787 case 2 :
7152 // InternalSolverLanguageParser.g:2757:3: this_ExactMultiplicity_1= ruleExactMultiplicity 8788 // InternalSolverLanguageParser.g:3456:3: this_ExactMultiplicity_1= ruleExactMultiplicity
7153 { 8789 {
7154 8790
7155 newCompositeNode(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1()); 8791 newCompositeNode(grammarAccess.getMultiplicityAccess().getExactMultiplicityParserRuleCall_1());
@@ -7167,7 +8803,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7167 } 8803 }
7168 break; 8804 break;
7169 case 3 : 8805 case 3 :
7170 // InternalSolverLanguageParser.g:2766:3: this_BoundedMultiplicity_2= ruleBoundedMultiplicity 8806 // InternalSolverLanguageParser.g:3465:3: this_BoundedMultiplicity_2= ruleBoundedMultiplicity
7171 { 8807 {
7172 8808
7173 newCompositeNode(grammarAccess.getMultiplicityAccess().getBoundedMultiplicityParserRuleCall_2()); 8809 newCompositeNode(grammarAccess.getMultiplicityAccess().getBoundedMultiplicityParserRuleCall_2());
@@ -7207,7 +8843,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7207 8843
7208 8844
7209 // $ANTLR start "entryRuleManyMultiplicity" 8845 // $ANTLR start "entryRuleManyMultiplicity"
7210 // InternalSolverLanguageParser.g:2778:1: entryRuleManyMultiplicity returns [EObject current=null] : iv_ruleManyMultiplicity= ruleManyMultiplicity EOF ; 8846 // InternalSolverLanguageParser.g:3477:1: entryRuleManyMultiplicity returns [EObject current=null] : iv_ruleManyMultiplicity= ruleManyMultiplicity EOF ;
7211 public final EObject entryRuleManyMultiplicity() throws RecognitionException { 8847 public final EObject entryRuleManyMultiplicity() throws RecognitionException {
7212 EObject current = null; 8848 EObject current = null;
7213 8849
@@ -7215,8 +8851,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7215 8851
7216 8852
7217 try { 8853 try {
7218 // InternalSolverLanguageParser.g:2778:57: (iv_ruleManyMultiplicity= ruleManyMultiplicity EOF ) 8854 // InternalSolverLanguageParser.g:3477:57: (iv_ruleManyMultiplicity= ruleManyMultiplicity EOF )
7219 // InternalSolverLanguageParser.g:2779:2: iv_ruleManyMultiplicity= ruleManyMultiplicity EOF 8855 // InternalSolverLanguageParser.g:3478:2: iv_ruleManyMultiplicity= ruleManyMultiplicity EOF
7220 { 8856 {
7221 newCompositeNode(grammarAccess.getManyMultiplicityRule()); 8857 newCompositeNode(grammarAccess.getManyMultiplicityRule());
7222 pushFollow(FOLLOW_1); 8858 pushFollow(FOLLOW_1);
@@ -7243,7 +8879,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7243 8879
7244 8880
7245 // $ANTLR start "ruleManyMultiplicity" 8881 // $ANTLR start "ruleManyMultiplicity"
7246 // InternalSolverLanguageParser.g:2785:1: ruleManyMultiplicity returns [EObject current=null] : ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) ; 8882 // InternalSolverLanguageParser.g:3484:1: ruleManyMultiplicity returns [EObject current=null] : ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) ;
7247 public final EObject ruleManyMultiplicity() throws RecognitionException { 8883 public final EObject ruleManyMultiplicity() throws RecognitionException {
7248 EObject current = null; 8884 EObject current = null;
7249 8885
@@ -7254,14 +8890,14 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7254 enterRule(); 8890 enterRule();
7255 8891
7256 try { 8892 try {
7257 // InternalSolverLanguageParser.g:2791:2: ( ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) ) 8893 // InternalSolverLanguageParser.g:3490:2: ( ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) )
7258 // InternalSolverLanguageParser.g:2792:2: ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) 8894 // InternalSolverLanguageParser.g:3491:2: ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket )
7259 { 8895 {
7260 // InternalSolverLanguageParser.g:2792:2: ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket ) 8896 // InternalSolverLanguageParser.g:3491:2: ( () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket )
7261 // InternalSolverLanguageParser.g:2793:3: () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket 8897 // InternalSolverLanguageParser.g:3492:3: () otherlv_1= LeftSquareBracket otherlv_2= RightSquareBracket
7262 { 8898 {
7263 // InternalSolverLanguageParser.g:2793:3: () 8899 // InternalSolverLanguageParser.g:3492:3: ()
7264 // InternalSolverLanguageParser.g:2794:4: 8900 // InternalSolverLanguageParser.g:3493:4:
7265 { 8901 {
7266 8902
7267 current = forceCreateModelElement( 8903 current = forceCreateModelElement(
@@ -7271,7 +8907,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7271 8907
7272 } 8908 }
7273 8909
7274 otherlv_1=(Token)match(input,LeftSquareBracket,FOLLOW_36); 8910 otherlv_1=(Token)match(input,LeftSquareBracket,FOLLOW_45);
7275 8911
7276 newLeafNode(otherlv_1, grammarAccess.getManyMultiplicityAccess().getLeftSquareBracketKeyword_1()); 8912 newLeafNode(otherlv_1, grammarAccess.getManyMultiplicityAccess().getLeftSquareBracketKeyword_1());
7277 8913
@@ -7302,7 +8938,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7302 8938
7303 8939
7304 // $ANTLR start "entryRuleExactMultiplicity" 8940 // $ANTLR start "entryRuleExactMultiplicity"
7305 // InternalSolverLanguageParser.g:2812:1: entryRuleExactMultiplicity returns [EObject current=null] : iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ; 8941 // InternalSolverLanguageParser.g:3511:1: entryRuleExactMultiplicity returns [EObject current=null] : iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ;
7306 public final EObject entryRuleExactMultiplicity() throws RecognitionException { 8942 public final EObject entryRuleExactMultiplicity() throws RecognitionException {
7307 EObject current = null; 8943 EObject current = null;
7308 8944
@@ -7310,8 +8946,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7310 8946
7311 8947
7312 try { 8948 try {
7313 // InternalSolverLanguageParser.g:2812:58: (iv_ruleExactMultiplicity= ruleExactMultiplicity EOF ) 8949 // InternalSolverLanguageParser.g:3511:58: (iv_ruleExactMultiplicity= ruleExactMultiplicity EOF )
7314 // InternalSolverLanguageParser.g:2813:2: iv_ruleExactMultiplicity= ruleExactMultiplicity EOF 8950 // InternalSolverLanguageParser.g:3512:2: iv_ruleExactMultiplicity= ruleExactMultiplicity EOF
7315 { 8951 {
7316 newCompositeNode(grammarAccess.getExactMultiplicityRule()); 8952 newCompositeNode(grammarAccess.getExactMultiplicityRule());
7317 pushFollow(FOLLOW_1); 8953 pushFollow(FOLLOW_1);
@@ -7338,7 +8974,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7338 8974
7339 8975
7340 // $ANTLR start "ruleExactMultiplicity" 8976 // $ANTLR start "ruleExactMultiplicity"
7341 // InternalSolverLanguageParser.g:2819:1: ruleExactMultiplicity returns [EObject current=null] : (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) ; 8977 // InternalSolverLanguageParser.g:3518:1: ruleExactMultiplicity returns [EObject current=null] : (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) ;
7342 public final EObject ruleExactMultiplicity() throws RecognitionException { 8978 public final EObject ruleExactMultiplicity() throws RecognitionException {
7343 EObject current = null; 8979 EObject current = null;
7344 8980
@@ -7351,26 +8987,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7351 enterRule(); 8987 enterRule();
7352 8988
7353 try { 8989 try {
7354 // InternalSolverLanguageParser.g:2825:2: ( (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) ) 8990 // InternalSolverLanguageParser.g:3524:2: ( (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) )
7355 // InternalSolverLanguageParser.g:2826:2: (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) 8991 // InternalSolverLanguageParser.g:3525:2: (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket )
7356 { 8992 {
7357 // InternalSolverLanguageParser.g:2826:2: (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket ) 8993 // InternalSolverLanguageParser.g:3525:2: (otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket )
7358 // InternalSolverLanguageParser.g:2827:3: otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket 8994 // InternalSolverLanguageParser.g:3526:3: otherlv_0= LeftSquareBracket ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) otherlv_2= RightSquareBracket
7359 { 8995 {
7360 otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_44); 8996 otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_52);
7361 8997
7362 newLeafNode(otherlv_0, grammarAccess.getExactMultiplicityAccess().getLeftSquareBracketKeyword_0()); 8998 newLeafNode(otherlv_0, grammarAccess.getExactMultiplicityAccess().getLeftSquareBracketKeyword_0());
7363 8999
7364 // InternalSolverLanguageParser.g:2831:3: ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) ) 9000 // InternalSolverLanguageParser.g:3530:3: ( (lv_multiplicity_1_0= ruleUpperMultiplicty ) )
7365 // InternalSolverLanguageParser.g:2832:4: (lv_multiplicity_1_0= ruleUpperMultiplicty ) 9001 // InternalSolverLanguageParser.g:3531:4: (lv_multiplicity_1_0= ruleUpperMultiplicty )
7366 { 9002 {
7367 // InternalSolverLanguageParser.g:2832:4: (lv_multiplicity_1_0= ruleUpperMultiplicty ) 9003 // InternalSolverLanguageParser.g:3531:4: (lv_multiplicity_1_0= ruleUpperMultiplicty )
7368 // InternalSolverLanguageParser.g:2833:5: lv_multiplicity_1_0= ruleUpperMultiplicty 9004 // InternalSolverLanguageParser.g:3532:5: lv_multiplicity_1_0= ruleUpperMultiplicty
7369 { 9005 {
7370 9006
7371 newCompositeNode(grammarAccess.getExactMultiplicityAccess().getMultiplicityUpperMultiplictyParserRuleCall_1_0()); 9007 newCompositeNode(grammarAccess.getExactMultiplicityAccess().getMultiplicityUpperMultiplictyParserRuleCall_1_0());
7372 9008
7373 pushFollow(FOLLOW_36); 9009 pushFollow(FOLLOW_45);
7374 lv_multiplicity_1_0=ruleUpperMultiplicty(); 9010 lv_multiplicity_1_0=ruleUpperMultiplicty();
7375 9011
7376 state._fsp--; 9012 state._fsp--;
@@ -7419,7 +9055,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7419 9055
7420 9056
7421 // $ANTLR start "entryRuleBoundedMultiplicity" 9057 // $ANTLR start "entryRuleBoundedMultiplicity"
7422 // InternalSolverLanguageParser.g:2858:1: entryRuleBoundedMultiplicity returns [EObject current=null] : iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF ; 9058 // InternalSolverLanguageParser.g:3557:1: entryRuleBoundedMultiplicity returns [EObject current=null] : iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF ;
7423 public final EObject entryRuleBoundedMultiplicity() throws RecognitionException { 9059 public final EObject entryRuleBoundedMultiplicity() throws RecognitionException {
7424 EObject current = null; 9060 EObject current = null;
7425 9061
@@ -7427,8 +9063,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7427 9063
7428 9064
7429 try { 9065 try {
7430 // InternalSolverLanguageParser.g:2858:60: (iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF ) 9066 // InternalSolverLanguageParser.g:3557:60: (iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF )
7431 // InternalSolverLanguageParser.g:2859:2: iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF 9067 // InternalSolverLanguageParser.g:3558:2: iv_ruleBoundedMultiplicity= ruleBoundedMultiplicity EOF
7432 { 9068 {
7433 newCompositeNode(grammarAccess.getBoundedMultiplicityRule()); 9069 newCompositeNode(grammarAccess.getBoundedMultiplicityRule());
7434 pushFollow(FOLLOW_1); 9070 pushFollow(FOLLOW_1);
@@ -7455,7 +9091,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7455 9091
7456 9092
7457 // $ANTLR start "ruleBoundedMultiplicity" 9093 // $ANTLR start "ruleBoundedMultiplicity"
7458 // InternalSolverLanguageParser.g:2865:1: ruleBoundedMultiplicity returns [EObject current=null] : (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket ) ; 9094 // InternalSolverLanguageParser.g:3564:1: ruleBoundedMultiplicity returns [EObject current=null] : (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket ) ;
7459 public final EObject ruleBoundedMultiplicity() throws RecognitionException { 9095 public final EObject ruleBoundedMultiplicity() throws RecognitionException {
7460 EObject current = null; 9096 EObject current = null;
7461 9097
@@ -7470,23 +9106,23 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7470 enterRule(); 9106 enterRule();
7471 9107
7472 try { 9108 try {
7473 // InternalSolverLanguageParser.g:2871:2: ( (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket ) ) 9109 // InternalSolverLanguageParser.g:3570:2: ( (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket ) )
7474 // InternalSolverLanguageParser.g:2872:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket ) 9110 // InternalSolverLanguageParser.g:3571:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket )
7475 { 9111 {
7476 // InternalSolverLanguageParser.g:2872:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket ) 9112 // InternalSolverLanguageParser.g:3571:2: (otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket )
7477 // InternalSolverLanguageParser.g:2873:3: otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket 9113 // InternalSolverLanguageParser.g:3572:3: otherlv_0= LeftSquareBracket ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= FullStopFullStop ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) otherlv_4= RightSquareBracket
7478 { 9114 {
7479 otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_45); 9115 otherlv_0=(Token)match(input,LeftSquareBracket,FOLLOW_53);
7480 9116
7481 newLeafNode(otherlv_0, grammarAccess.getBoundedMultiplicityAccess().getLeftSquareBracketKeyword_0()); 9117 newLeafNode(otherlv_0, grammarAccess.getBoundedMultiplicityAccess().getLeftSquareBracketKeyword_0());
7482 9118
7483 // InternalSolverLanguageParser.g:2877:3: ( (lv_lowerBound_1_0= RULE_INT ) ) 9119 // InternalSolverLanguageParser.g:3576:3: ( (lv_lowerBound_1_0= RULE_INT ) )
7484 // InternalSolverLanguageParser.g:2878:4: (lv_lowerBound_1_0= RULE_INT ) 9120 // InternalSolverLanguageParser.g:3577:4: (lv_lowerBound_1_0= RULE_INT )
7485 { 9121 {
7486 // InternalSolverLanguageParser.g:2878:4: (lv_lowerBound_1_0= RULE_INT ) 9122 // InternalSolverLanguageParser.g:3577:4: (lv_lowerBound_1_0= RULE_INT )
7487 // InternalSolverLanguageParser.g:2879:5: lv_lowerBound_1_0= RULE_INT 9123 // InternalSolverLanguageParser.g:3578:5: lv_lowerBound_1_0= RULE_INT
7488 { 9124 {
7489 lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_35); 9125 lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_44);
7490 9126
7491 newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedMultiplicityAccess().getLowerBoundINTTerminalRuleCall_1_0()); 9127 newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedMultiplicityAccess().getLowerBoundINTTerminalRuleCall_1_0());
7492 9128
@@ -7506,20 +9142,20 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7506 9142
7507 } 9143 }
7508 9144
7509 otherlv_2=(Token)match(input,FullStopFullStop,FOLLOW_44); 9145 otherlv_2=(Token)match(input,FullStopFullStop,FOLLOW_52);
7510 9146
7511 newLeafNode(otherlv_2, grammarAccess.getBoundedMultiplicityAccess().getFullStopFullStopKeyword_2()); 9147 newLeafNode(otherlv_2, grammarAccess.getBoundedMultiplicityAccess().getFullStopFullStopKeyword_2());
7512 9148
7513 // InternalSolverLanguageParser.g:2899:3: ( (lv_upperBound_3_0= ruleUpperMultiplicty ) ) 9149 // InternalSolverLanguageParser.g:3598:3: ( (lv_upperBound_3_0= ruleUpperMultiplicty ) )
7514 // InternalSolverLanguageParser.g:2900:4: (lv_upperBound_3_0= ruleUpperMultiplicty ) 9150 // InternalSolverLanguageParser.g:3599:4: (lv_upperBound_3_0= ruleUpperMultiplicty )
7515 { 9151 {
7516 // InternalSolverLanguageParser.g:2900:4: (lv_upperBound_3_0= ruleUpperMultiplicty ) 9152 // InternalSolverLanguageParser.g:3599:4: (lv_upperBound_3_0= ruleUpperMultiplicty )
7517 // InternalSolverLanguageParser.g:2901:5: lv_upperBound_3_0= ruleUpperMultiplicty 9153 // InternalSolverLanguageParser.g:3600:5: lv_upperBound_3_0= ruleUpperMultiplicty
7518 { 9154 {
7519 9155
7520 newCompositeNode(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundUpperMultiplictyParserRuleCall_3_0()); 9156 newCompositeNode(grammarAccess.getBoundedMultiplicityAccess().getUpperBoundUpperMultiplictyParserRuleCall_3_0());
7521 9157
7522 pushFollow(FOLLOW_36); 9158 pushFollow(FOLLOW_45);
7523 lv_upperBound_3_0=ruleUpperMultiplicty(); 9159 lv_upperBound_3_0=ruleUpperMultiplicty();
7524 9160
7525 state._fsp--; 9161 state._fsp--;
@@ -7568,7 +9204,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7568 9204
7569 9205
7570 // $ANTLR start "entryRuleScopeDefinition" 9206 // $ANTLR start "entryRuleScopeDefinition"
7571 // InternalSolverLanguageParser.g:2926:1: entryRuleScopeDefinition returns [EObject current=null] : iv_ruleScopeDefinition= ruleScopeDefinition EOF ; 9207 // InternalSolverLanguageParser.g:3625:1: entryRuleScopeDefinition returns [EObject current=null] : iv_ruleScopeDefinition= ruleScopeDefinition EOF ;
7572 public final EObject entryRuleScopeDefinition() throws RecognitionException { 9208 public final EObject entryRuleScopeDefinition() throws RecognitionException {
7573 EObject current = null; 9209 EObject current = null;
7574 9210
@@ -7576,8 +9212,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7576 9212
7577 9213
7578 try { 9214 try {
7579 // InternalSolverLanguageParser.g:2926:56: (iv_ruleScopeDefinition= ruleScopeDefinition EOF ) 9215 // InternalSolverLanguageParser.g:3625:56: (iv_ruleScopeDefinition= ruleScopeDefinition EOF )
7580 // InternalSolverLanguageParser.g:2927:2: iv_ruleScopeDefinition= ruleScopeDefinition EOF 9216 // InternalSolverLanguageParser.g:3626:2: iv_ruleScopeDefinition= ruleScopeDefinition EOF
7581 { 9217 {
7582 newCompositeNode(grammarAccess.getScopeDefinitionRule()); 9218 newCompositeNode(grammarAccess.getScopeDefinitionRule());
7583 pushFollow(FOLLOW_1); 9219 pushFollow(FOLLOW_1);
@@ -7604,7 +9240,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7604 9240
7605 9241
7606 // $ANTLR start "ruleScopeDefinition" 9242 // $ANTLR start "ruleScopeDefinition"
7607 // InternalSolverLanguageParser.g:2933:1: ruleScopeDefinition returns [EObject current=null] : (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) ; 9243 // InternalSolverLanguageParser.g:3632:1: ruleScopeDefinition returns [EObject current=null] : (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) ;
7608 public final EObject ruleScopeDefinition() throws RecognitionException { 9244 public final EObject ruleScopeDefinition() throws RecognitionException {
7609 EObject current = null; 9245 EObject current = null;
7610 9246
@@ -7619,15 +9255,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7619 enterRule(); 9255 enterRule();
7620 9256
7621 try { 9257 try {
7622 // InternalSolverLanguageParser.g:2939:2: ( (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) ) 9258 // InternalSolverLanguageParser.g:3638:2: ( (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) )
7623 // InternalSolverLanguageParser.g:2940:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) 9259 // InternalSolverLanguageParser.g:3639:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition )
7624 { 9260 {
7625 // InternalSolverLanguageParser.g:2940:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition ) 9261 // InternalSolverLanguageParser.g:3639:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition )
7626 int alt35=3; 9262 int alt44=3;
7627 alt35 = dfa35.predict(input); 9263 alt44 = dfa44.predict(input);
7628 switch (alt35) { 9264 switch (alt44) {
7629 case 1 : 9265 case 1 :
7630 // InternalSolverLanguageParser.g:2941:3: this_ExactScopeDefinition_0= ruleExactScopeDefinition 9266 // InternalSolverLanguageParser.g:3640:3: this_ExactScopeDefinition_0= ruleExactScopeDefinition
7631 { 9267 {
7632 9268
7633 newCompositeNode(grammarAccess.getScopeDefinitionAccess().getExactScopeDefinitionParserRuleCall_0()); 9269 newCompositeNode(grammarAccess.getScopeDefinitionAccess().getExactScopeDefinitionParserRuleCall_0());
@@ -7645,7 +9281,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7645 } 9281 }
7646 break; 9282 break;
7647 case 2 : 9283 case 2 :
7648 // InternalSolverLanguageParser.g:2950:3: this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition 9284 // InternalSolverLanguageParser.g:3649:3: this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition
7649 { 9285 {
7650 9286
7651 newCompositeNode(grammarAccess.getScopeDefinitionAccess().getBoundedScopeDefinitionParserRuleCall_1()); 9287 newCompositeNode(grammarAccess.getScopeDefinitionAccess().getBoundedScopeDefinitionParserRuleCall_1());
@@ -7663,7 +9299,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7663 } 9299 }
7664 break; 9300 break;
7665 case 3 : 9301 case 3 :
7666 // InternalSolverLanguageParser.g:2959:3: this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition 9302 // InternalSolverLanguageParser.g:3658:3: this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition
7667 { 9303 {
7668 9304
7669 newCompositeNode(grammarAccess.getScopeDefinitionAccess().getLowerBoundedScopeDefinitionParserRuleCall_2()); 9305 newCompositeNode(grammarAccess.getScopeDefinitionAccess().getLowerBoundedScopeDefinitionParserRuleCall_2());
@@ -7703,7 +9339,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7703 9339
7704 9340
7705 // $ANTLR start "entryRuleExactScopeDefinition" 9341 // $ANTLR start "entryRuleExactScopeDefinition"
7706 // InternalSolverLanguageParser.g:2971:1: entryRuleExactScopeDefinition returns [EObject current=null] : iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF ; 9342 // InternalSolverLanguageParser.g:3670:1: entryRuleExactScopeDefinition returns [EObject current=null] : iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF ;
7707 public final EObject entryRuleExactScopeDefinition() throws RecognitionException { 9343 public final EObject entryRuleExactScopeDefinition() throws RecognitionException {
7708 EObject current = null; 9344 EObject current = null;
7709 9345
@@ -7711,8 +9347,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7711 9347
7712 9348
7713 try { 9349 try {
7714 // InternalSolverLanguageParser.g:2971:61: (iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF ) 9350 // InternalSolverLanguageParser.g:3670:61: (iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF )
7715 // InternalSolverLanguageParser.g:2972:2: iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF 9351 // InternalSolverLanguageParser.g:3671:2: iv_ruleExactScopeDefinition= ruleExactScopeDefinition EOF
7716 { 9352 {
7717 newCompositeNode(grammarAccess.getExactScopeDefinitionRule()); 9353 newCompositeNode(grammarAccess.getExactScopeDefinitionRule());
7718 pushFollow(FOLLOW_1); 9354 pushFollow(FOLLOW_1);
@@ -7739,7 +9375,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7739 9375
7740 9376
7741 // $ANTLR start "ruleExactScopeDefinition" 9377 // $ANTLR start "ruleExactScopeDefinition"
7742 // InternalSolverLanguageParser.g:2978:1: ruleExactScopeDefinition returns [EObject current=null] : (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) ) ; 9378 // InternalSolverLanguageParser.g:3677:1: ruleExactScopeDefinition returns [EObject current=null] : (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) ) ;
7743 public final EObject ruleExactScopeDefinition() throws RecognitionException { 9379 public final EObject ruleExactScopeDefinition() throws RecognitionException {
7744 EObject current = null; 9380 EObject current = null;
7745 9381
@@ -7751,21 +9387,21 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7751 enterRule(); 9387 enterRule();
7752 9388
7753 try { 9389 try {
7754 // InternalSolverLanguageParser.g:2984:2: ( (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) ) ) 9390 // InternalSolverLanguageParser.g:3683:2: ( (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) ) )
7755 // InternalSolverLanguageParser.g:2985:2: (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) ) 9391 // InternalSolverLanguageParser.g:3684:2: (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) )
7756 { 9392 {
7757 // InternalSolverLanguageParser.g:2985:2: (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) ) 9393 // InternalSolverLanguageParser.g:3684:2: (otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) )
7758 // InternalSolverLanguageParser.g:2986:3: otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) ) 9394 // InternalSolverLanguageParser.g:3685:3: otherlv_0= Scope ( ( ruleQualifiedName ) ) otherlv_2= EqualsSignEqualsSign ( (lv_exactScope_3_0= RULE_INT ) )
7759 { 9395 {
7760 otherlv_0=(Token)match(input,Scope,FOLLOW_8); 9396 otherlv_0=(Token)match(input,Scope,FOLLOW_8);
7761 9397
7762 newLeafNode(otherlv_0, grammarAccess.getExactScopeDefinitionAccess().getScopeKeyword_0()); 9398 newLeafNode(otherlv_0, grammarAccess.getExactScopeDefinitionAccess().getScopeKeyword_0());
7763 9399
7764 // InternalSolverLanguageParser.g:2990:3: ( ( ruleQualifiedName ) ) 9400 // InternalSolverLanguageParser.g:3689:3: ( ( ruleQualifiedName ) )
7765 // InternalSolverLanguageParser.g:2991:4: ( ruleQualifiedName ) 9401 // InternalSolverLanguageParser.g:3690:4: ( ruleQualifiedName )
7766 { 9402 {
7767 // InternalSolverLanguageParser.g:2991:4: ( ruleQualifiedName ) 9403 // InternalSolverLanguageParser.g:3690:4: ( ruleQualifiedName )
7768 // InternalSolverLanguageParser.g:2992:5: ruleQualifiedName 9404 // InternalSolverLanguageParser.g:3691:5: ruleQualifiedName
7769 { 9405 {
7770 9406
7771 if (current==null) { 9407 if (current==null) {
@@ -7775,7 +9411,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7775 9411
7776 newCompositeNode(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0()); 9412 newCompositeNode(grammarAccess.getExactScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0());
7777 9413
7778 pushFollow(FOLLOW_46); 9414 pushFollow(FOLLOW_54);
7779 ruleQualifiedName(); 9415 ruleQualifiedName();
7780 9416
7781 state._fsp--; 9417 state._fsp--;
@@ -7789,15 +9425,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7789 9425
7790 } 9426 }
7791 9427
7792 otherlv_2=(Token)match(input,EqualsSignEqualsSign,FOLLOW_45); 9428 otherlv_2=(Token)match(input,EqualsSignEqualsSign,FOLLOW_53);
7793 9429
7794 newLeafNode(otherlv_2, grammarAccess.getExactScopeDefinitionAccess().getEqualsSignEqualsSignKeyword_2()); 9430 newLeafNode(otherlv_2, grammarAccess.getExactScopeDefinitionAccess().getEqualsSignEqualsSignKeyword_2());
7795 9431
7796 // InternalSolverLanguageParser.g:3010:3: ( (lv_exactScope_3_0= RULE_INT ) ) 9432 // InternalSolverLanguageParser.g:3709:3: ( (lv_exactScope_3_0= RULE_INT ) )
7797 // InternalSolverLanguageParser.g:3011:4: (lv_exactScope_3_0= RULE_INT ) 9433 // InternalSolverLanguageParser.g:3710:4: (lv_exactScope_3_0= RULE_INT )
7798 { 9434 {
7799 // InternalSolverLanguageParser.g:3011:4: (lv_exactScope_3_0= RULE_INT ) 9435 // InternalSolverLanguageParser.g:3710:4: (lv_exactScope_3_0= RULE_INT )
7800 // InternalSolverLanguageParser.g:3012:5: lv_exactScope_3_0= RULE_INT 9436 // InternalSolverLanguageParser.g:3711:5: lv_exactScope_3_0= RULE_INT
7801 { 9437 {
7802 lv_exactScope_3_0=(Token)match(input,RULE_INT,FOLLOW_2); 9438 lv_exactScope_3_0=(Token)match(input,RULE_INT,FOLLOW_2);
7803 9439
@@ -7842,7 +9478,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7842 9478
7843 9479
7844 // $ANTLR start "entryRuleBoundedScopeDefinition" 9480 // $ANTLR start "entryRuleBoundedScopeDefinition"
7845 // InternalSolverLanguageParser.g:3032:1: entryRuleBoundedScopeDefinition returns [EObject current=null] : iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF ; 9481 // InternalSolverLanguageParser.g:3731:1: entryRuleBoundedScopeDefinition returns [EObject current=null] : iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF ;
7846 public final EObject entryRuleBoundedScopeDefinition() throws RecognitionException { 9482 public final EObject entryRuleBoundedScopeDefinition() throws RecognitionException {
7847 EObject current = null; 9483 EObject current = null;
7848 9484
@@ -7850,8 +9486,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7850 9486
7851 9487
7852 try { 9488 try {
7853 // InternalSolverLanguageParser.g:3032:63: (iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF ) 9489 // InternalSolverLanguageParser.g:3731:63: (iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF )
7854 // InternalSolverLanguageParser.g:3033:2: iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF 9490 // InternalSolverLanguageParser.g:3732:2: iv_ruleBoundedScopeDefinition= ruleBoundedScopeDefinition EOF
7855 { 9491 {
7856 newCompositeNode(grammarAccess.getBoundedScopeDefinitionRule()); 9492 newCompositeNode(grammarAccess.getBoundedScopeDefinitionRule());
7857 pushFollow(FOLLOW_1); 9493 pushFollow(FOLLOW_1);
@@ -7878,7 +9514,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7878 9514
7879 9515
7880 // $ANTLR start "ruleBoundedScopeDefinition" 9516 // $ANTLR start "ruleBoundedScopeDefinition"
7881 // InternalSolverLanguageParser.g:3039:1: ruleBoundedScopeDefinition returns [EObject current=null] : (otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) ) ; 9517 // InternalSolverLanguageParser.g:3738:1: ruleBoundedScopeDefinition returns [EObject current=null] : (otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) ) ;
7882 public final EObject ruleBoundedScopeDefinition() throws RecognitionException { 9518 public final EObject ruleBoundedScopeDefinition() throws RecognitionException {
7883 EObject current = null; 9519 EObject current = null;
7884 9520
@@ -7896,70 +9532,70 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7896 enterRule(); 9532 enterRule();
7897 9533
7898 try { 9534 try {
7899 // InternalSolverLanguageParser.g:3045:2: ( (otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) ) ) 9535 // InternalSolverLanguageParser.g:3744:2: ( (otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) ) )
7900 // InternalSolverLanguageParser.g:3046:2: (otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) ) 9536 // InternalSolverLanguageParser.g:3745:2: (otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) )
7901 { 9537 {
7902 // InternalSolverLanguageParser.g:3046:2: (otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) ) 9538 // InternalSolverLanguageParser.g:3745:2: (otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) )
7903 // InternalSolverLanguageParser.g:3047:3: otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) 9539 // InternalSolverLanguageParser.g:3746:3: otherlv_0= Scope ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) )
7904 { 9540 {
7905 otherlv_0=(Token)match(input,Scope,FOLLOW_47); 9541 otherlv_0=(Token)match(input,Scope,FOLLOW_55);
7906 9542
7907 newLeafNode(otherlv_0, grammarAccess.getBoundedScopeDefinitionAccess().getScopeKeyword_0()); 9543 newLeafNode(otherlv_0, grammarAccess.getBoundedScopeDefinitionAccess().getScopeKeyword_0());
7908 9544
7909 // InternalSolverLanguageParser.g:3051:3: ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) ) 9545 // InternalSolverLanguageParser.g:3750:3: ( ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) | ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) )
7910 int alt38=2; 9546 int alt47=2;
7911 int LA38_0 = input.LA(1); 9547 int LA47_0 = input.LA(1);
7912 9548
7913 if ( (LA38_0==RULE_INT) ) { 9549 if ( (LA47_0==RULE_INT) ) {
7914 int LA38_1 = input.LA(2); 9550 int LA47_1 = input.LA(2);
7915 9551
7916 if ( (LA38_1==GreaterThanSignEqualsSign) ) { 9552 if ( (LA47_1==GreaterThanSignEqualsSign) ) {
7917 alt38=2; 9553 alt47=2;
7918 } 9554 }
7919 else if ( (LA38_1==LessThanSignEqualsSign) ) { 9555 else if ( (LA47_1==LessThanSignEqualsSign) ) {
7920 alt38=1; 9556 alt47=1;
7921 } 9557 }
7922 else { 9558 else {
7923 NoViableAltException nvae = 9559 NoViableAltException nvae =
7924 new NoViableAltException("", 38, 1, input); 9560 new NoViableAltException("", 47, 1, input);
7925 9561
7926 throw nvae; 9562 throw nvae;
7927 } 9563 }
7928 } 9564 }
7929 else if ( (LA38_0==RULE_QUOTED_ID||LA38_0==RULE_ID) ) { 9565 else if ( (LA47_0==RULE_QUOTED_ID||LA47_0==RULE_ID) ) {
7930 alt38=1; 9566 alt47=1;
7931 } 9567 }
7932 else { 9568 else {
7933 NoViableAltException nvae = 9569 NoViableAltException nvae =
7934 new NoViableAltException("", 38, 0, input); 9570 new NoViableAltException("", 47, 0, input);
7935 9571
7936 throw nvae; 9572 throw nvae;
7937 } 9573 }
7938 switch (alt38) { 9574 switch (alt47) {
7939 case 1 : 9575 case 1 :
7940 // InternalSolverLanguageParser.g:3052:4: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) 9576 // InternalSolverLanguageParser.g:3751:4: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) )
7941 { 9577 {
7942 // InternalSolverLanguageParser.g:3052:4: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) ) 9578 // InternalSolverLanguageParser.g:3751:4: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) )
7943 // InternalSolverLanguageParser.g:3053:5: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) ) 9579 // InternalSolverLanguageParser.g:3752:5: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? ( ( ruleQualifiedName ) ) otherlv_4= LessThanSignEqualsSign ( (lv_upperBound_5_0= RULE_INT ) )
7944 { 9580 {
7945 // InternalSolverLanguageParser.g:3053:5: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )? 9581 // InternalSolverLanguageParser.g:3752:5: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign )?
7946 int alt36=2; 9582 int alt45=2;
7947 int LA36_0 = input.LA(1); 9583 int LA45_0 = input.LA(1);
7948 9584
7949 if ( (LA36_0==RULE_INT) ) { 9585 if ( (LA45_0==RULE_INT) ) {
7950 alt36=1; 9586 alt45=1;
7951 } 9587 }
7952 switch (alt36) { 9588 switch (alt45) {
7953 case 1 : 9589 case 1 :
7954 // InternalSolverLanguageParser.g:3054:6: ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign 9590 // InternalSolverLanguageParser.g:3753:6: ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign
7955 { 9591 {
7956 // InternalSolverLanguageParser.g:3054:6: ( (lv_lowerBound_1_0= RULE_INT ) ) 9592 // InternalSolverLanguageParser.g:3753:6: ( (lv_lowerBound_1_0= RULE_INT ) )
7957 // InternalSolverLanguageParser.g:3055:7: (lv_lowerBound_1_0= RULE_INT ) 9593 // InternalSolverLanguageParser.g:3754:7: (lv_lowerBound_1_0= RULE_INT )
7958 { 9594 {
7959 // InternalSolverLanguageParser.g:3055:7: (lv_lowerBound_1_0= RULE_INT ) 9595 // InternalSolverLanguageParser.g:3754:7: (lv_lowerBound_1_0= RULE_INT )
7960 // InternalSolverLanguageParser.g:3056:8: lv_lowerBound_1_0= RULE_INT 9596 // InternalSolverLanguageParser.g:3755:8: lv_lowerBound_1_0= RULE_INT
7961 { 9597 {
7962 lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_48); 9598 lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_56);
7963 9599
7964 newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0_0()); 9600 newLeafNode(lv_lowerBound_1_0, grammarAccess.getBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0_0());
7965 9601
@@ -7989,11 +9625,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
7989 9625
7990 } 9626 }
7991 9627
7992 // InternalSolverLanguageParser.g:3077:5: ( ( ruleQualifiedName ) ) 9628 // InternalSolverLanguageParser.g:3776:5: ( ( ruleQualifiedName ) )
7993 // InternalSolverLanguageParser.g:3078:6: ( ruleQualifiedName ) 9629 // InternalSolverLanguageParser.g:3777:6: ( ruleQualifiedName )
7994 { 9630 {
7995 // InternalSolverLanguageParser.g:3078:6: ( ruleQualifiedName ) 9631 // InternalSolverLanguageParser.g:3777:6: ( ruleQualifiedName )
7996 // InternalSolverLanguageParser.g:3079:7: ruleQualifiedName 9632 // InternalSolverLanguageParser.g:3778:7: ruleQualifiedName
7997 { 9633 {
7998 9634
7999 if (current==null) { 9635 if (current==null) {
@@ -8003,7 +9639,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8003 9639
8004 newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_1_0()); 9640 newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_0_1_0());
8005 9641
8006 pushFollow(FOLLOW_48); 9642 pushFollow(FOLLOW_56);
8007 ruleQualifiedName(); 9643 ruleQualifiedName();
8008 9644
8009 state._fsp--; 9645 state._fsp--;
@@ -8017,15 +9653,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8017 9653
8018 } 9654 }
8019 9655
8020 otherlv_4=(Token)match(input,LessThanSignEqualsSign,FOLLOW_45); 9656 otherlv_4=(Token)match(input,LessThanSignEqualsSign,FOLLOW_53);
8021 9657
8022 newLeafNode(otherlv_4, grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_2()); 9658 newLeafNode(otherlv_4, grammarAccess.getBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_2());
8023 9659
8024 // InternalSolverLanguageParser.g:3097:5: ( (lv_upperBound_5_0= RULE_INT ) ) 9660 // InternalSolverLanguageParser.g:3796:5: ( (lv_upperBound_5_0= RULE_INT ) )
8025 // InternalSolverLanguageParser.g:3098:6: (lv_upperBound_5_0= RULE_INT ) 9661 // InternalSolverLanguageParser.g:3797:6: (lv_upperBound_5_0= RULE_INT )
8026 { 9662 {
8027 // InternalSolverLanguageParser.g:3098:6: (lv_upperBound_5_0= RULE_INT ) 9663 // InternalSolverLanguageParser.g:3797:6: (lv_upperBound_5_0= RULE_INT )
8028 // InternalSolverLanguageParser.g:3099:7: lv_upperBound_5_0= RULE_INT 9664 // InternalSolverLanguageParser.g:3798:7: lv_upperBound_5_0= RULE_INT
8029 { 9665 {
8030 lv_upperBound_5_0=(Token)match(input,RULE_INT,FOLLOW_2); 9666 lv_upperBound_5_0=(Token)match(input,RULE_INT,FOLLOW_2);
8031 9667
@@ -8054,18 +9690,18 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8054 } 9690 }
8055 break; 9691 break;
8056 case 2 : 9692 case 2 :
8057 // InternalSolverLanguageParser.g:3117:4: ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) 9693 // InternalSolverLanguageParser.g:3816:4: ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? )
8058 { 9694 {
8059 // InternalSolverLanguageParser.g:3117:4: ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? ) 9695 // InternalSolverLanguageParser.g:3816:4: ( ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? )
8060 // InternalSolverLanguageParser.g:3118:5: ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? 9696 // InternalSolverLanguageParser.g:3817:5: ( (lv_upperBound_6_0= RULE_INT ) ) otherlv_7= GreaterThanSignEqualsSign ( ( ruleQualifiedName ) ) (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )?
8061 { 9697 {
8062 // InternalSolverLanguageParser.g:3118:5: ( (lv_upperBound_6_0= RULE_INT ) ) 9698 // InternalSolverLanguageParser.g:3817:5: ( (lv_upperBound_6_0= RULE_INT ) )
8063 // InternalSolverLanguageParser.g:3119:6: (lv_upperBound_6_0= RULE_INT ) 9699 // InternalSolverLanguageParser.g:3818:6: (lv_upperBound_6_0= RULE_INT )
8064 { 9700 {
8065 // InternalSolverLanguageParser.g:3119:6: (lv_upperBound_6_0= RULE_INT ) 9701 // InternalSolverLanguageParser.g:3818:6: (lv_upperBound_6_0= RULE_INT )
8066 // InternalSolverLanguageParser.g:3120:7: lv_upperBound_6_0= RULE_INT 9702 // InternalSolverLanguageParser.g:3819:7: lv_upperBound_6_0= RULE_INT
8067 { 9703 {
8068 lv_upperBound_6_0=(Token)match(input,RULE_INT,FOLLOW_49); 9704 lv_upperBound_6_0=(Token)match(input,RULE_INT,FOLLOW_57);
8069 9705
8070 newLeafNode(lv_upperBound_6_0, grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_1_0_0()); 9706 newLeafNode(lv_upperBound_6_0, grammarAccess.getBoundedScopeDefinitionAccess().getUpperBoundINTTerminalRuleCall_1_1_0_0());
8071 9707
@@ -8089,11 +9725,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8089 9725
8090 newLeafNode(otherlv_7, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); 9726 newLeafNode(otherlv_7, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1());
8091 9727
8092 // InternalSolverLanguageParser.g:3140:5: ( ( ruleQualifiedName ) ) 9728 // InternalSolverLanguageParser.g:3839:5: ( ( ruleQualifiedName ) )
8093 // InternalSolverLanguageParser.g:3141:6: ( ruleQualifiedName ) 9729 // InternalSolverLanguageParser.g:3840:6: ( ruleQualifiedName )
8094 { 9730 {
8095 // InternalSolverLanguageParser.g:3141:6: ( ruleQualifiedName ) 9731 // InternalSolverLanguageParser.g:3840:6: ( ruleQualifiedName )
8096 // InternalSolverLanguageParser.g:3142:7: ruleQualifiedName 9732 // InternalSolverLanguageParser.g:3841:7: ruleQualifiedName
8097 { 9733 {
8098 9734
8099 if (current==null) { 9735 if (current==null) {
@@ -8103,7 +9739,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8103 9739
8104 newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_2_0()); 9740 newCompositeNode(grammarAccess.getBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_2_0());
8105 9741
8106 pushFollow(FOLLOW_50); 9742 pushFollow(FOLLOW_58);
8107 ruleQualifiedName(); 9743 ruleQualifiedName();
8108 9744
8109 state._fsp--; 9745 state._fsp--;
@@ -8117,26 +9753,26 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8117 9753
8118 } 9754 }
8119 9755
8120 // InternalSolverLanguageParser.g:3156:5: (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )? 9756 // InternalSolverLanguageParser.g:3855:5: (otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) )?
8121 int alt37=2; 9757 int alt46=2;
8122 int LA37_0 = input.LA(1); 9758 int LA46_0 = input.LA(1);
8123 9759
8124 if ( (LA37_0==GreaterThanSignEqualsSign) ) { 9760 if ( (LA46_0==GreaterThanSignEqualsSign) ) {
8125 alt37=1; 9761 alt46=1;
8126 } 9762 }
8127 switch (alt37) { 9763 switch (alt46) {
8128 case 1 : 9764 case 1 :
8129 // InternalSolverLanguageParser.g:3157:6: otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) ) 9765 // InternalSolverLanguageParser.g:3856:6: otherlv_9= GreaterThanSignEqualsSign ( (lv_lowerBound_10_0= RULE_INT ) )
8130 { 9766 {
8131 otherlv_9=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_45); 9767 otherlv_9=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_53);
8132 9768
8133 newLeafNode(otherlv_9, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_3_0()); 9769 newLeafNode(otherlv_9, grammarAccess.getBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_3_0());
8134 9770
8135 // InternalSolverLanguageParser.g:3161:6: ( (lv_lowerBound_10_0= RULE_INT ) ) 9771 // InternalSolverLanguageParser.g:3860:6: ( (lv_lowerBound_10_0= RULE_INT ) )
8136 // InternalSolverLanguageParser.g:3162:7: (lv_lowerBound_10_0= RULE_INT ) 9772 // InternalSolverLanguageParser.g:3861:7: (lv_lowerBound_10_0= RULE_INT )
8137 { 9773 {
8138 // InternalSolverLanguageParser.g:3162:7: (lv_lowerBound_10_0= RULE_INT ) 9774 // InternalSolverLanguageParser.g:3861:7: (lv_lowerBound_10_0= RULE_INT )
8139 // InternalSolverLanguageParser.g:3163:8: lv_lowerBound_10_0= RULE_INT 9775 // InternalSolverLanguageParser.g:3862:8: lv_lowerBound_10_0= RULE_INT
8140 { 9776 {
8141 lv_lowerBound_10_0=(Token)match(input,RULE_INT,FOLLOW_2); 9777 lv_lowerBound_10_0=(Token)match(input,RULE_INT,FOLLOW_2);
8142 9778
@@ -8196,7 +9832,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8196 9832
8197 9833
8198 // $ANTLR start "entryRuleLowerBoundedScopeDefinition" 9834 // $ANTLR start "entryRuleLowerBoundedScopeDefinition"
8199 // InternalSolverLanguageParser.g:3186:1: entryRuleLowerBoundedScopeDefinition returns [EObject current=null] : iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF ; 9835 // InternalSolverLanguageParser.g:3885:1: entryRuleLowerBoundedScopeDefinition returns [EObject current=null] : iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF ;
8200 public final EObject entryRuleLowerBoundedScopeDefinition() throws RecognitionException { 9836 public final EObject entryRuleLowerBoundedScopeDefinition() throws RecognitionException {
8201 EObject current = null; 9837 EObject current = null;
8202 9838
@@ -8204,8 +9840,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8204 9840
8205 9841
8206 try { 9842 try {
8207 // InternalSolverLanguageParser.g:3186:68: (iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF ) 9843 // InternalSolverLanguageParser.g:3885:68: (iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF )
8208 // InternalSolverLanguageParser.g:3187:2: iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF 9844 // InternalSolverLanguageParser.g:3886:2: iv_ruleLowerBoundedScopeDefinition= ruleLowerBoundedScopeDefinition EOF
8209 { 9845 {
8210 newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionRule()); 9846 newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionRule());
8211 pushFollow(FOLLOW_1); 9847 pushFollow(FOLLOW_1);
@@ -8232,7 +9868,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8232 9868
8233 9869
8234 // $ANTLR start "ruleLowerBoundedScopeDefinition" 9870 // $ANTLR start "ruleLowerBoundedScopeDefinition"
8235 // InternalSolverLanguageParser.g:3193:1: ruleLowerBoundedScopeDefinition returns [EObject current=null] : (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) ) ; 9871 // InternalSolverLanguageParser.g:3892:1: ruleLowerBoundedScopeDefinition returns [EObject current=null] : (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) ) ;
8236 public final EObject ruleLowerBoundedScopeDefinition() throws RecognitionException { 9872 public final EObject ruleLowerBoundedScopeDefinition() throws RecognitionException {
8237 EObject current = null; 9873 EObject current = null;
8238 9874
@@ -8246,46 +9882,46 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8246 enterRule(); 9882 enterRule();
8247 9883
8248 try { 9884 try {
8249 // InternalSolverLanguageParser.g:3199:2: ( (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) ) ) 9885 // InternalSolverLanguageParser.g:3898:2: ( (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) ) )
8250 // InternalSolverLanguageParser.g:3200:2: (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) ) 9886 // InternalSolverLanguageParser.g:3899:2: (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) )
8251 { 9887 {
8252 // InternalSolverLanguageParser.g:3200:2: (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) ) 9888 // InternalSolverLanguageParser.g:3899:2: (otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) )
8253 // InternalSolverLanguageParser.g:3201:3: otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) 9889 // InternalSolverLanguageParser.g:3900:3: otherlv_0= Scope ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) )
8254 { 9890 {
8255 otherlv_0=(Token)match(input,Scope,FOLLOW_47); 9891 otherlv_0=(Token)match(input,Scope,FOLLOW_55);
8256 9892
8257 newLeafNode(otherlv_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getScopeKeyword_0()); 9893 newLeafNode(otherlv_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getScopeKeyword_0());
8258 9894
8259 // InternalSolverLanguageParser.g:3205:3: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) ) 9895 // InternalSolverLanguageParser.g:3904:3: ( ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) | ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) )
8260 int alt39=2; 9896 int alt48=2;
8261 int LA39_0 = input.LA(1); 9897 int LA48_0 = input.LA(1);
8262 9898
8263 if ( (LA39_0==RULE_INT) ) { 9899 if ( (LA48_0==RULE_INT) ) {
8264 alt39=1; 9900 alt48=1;
8265 } 9901 }
8266 else if ( (LA39_0==RULE_QUOTED_ID||LA39_0==RULE_ID) ) { 9902 else if ( (LA48_0==RULE_QUOTED_ID||LA48_0==RULE_ID) ) {
8267 alt39=2; 9903 alt48=2;
8268 } 9904 }
8269 else { 9905 else {
8270 NoViableAltException nvae = 9906 NoViableAltException nvae =
8271 new NoViableAltException("", 39, 0, input); 9907 new NoViableAltException("", 48, 0, input);
8272 9908
8273 throw nvae; 9909 throw nvae;
8274 } 9910 }
8275 switch (alt39) { 9911 switch (alt48) {
8276 case 1 : 9912 case 1 :
8277 // InternalSolverLanguageParser.g:3206:4: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) 9913 // InternalSolverLanguageParser.g:3905:4: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) )
8278 { 9914 {
8279 // InternalSolverLanguageParser.g:3206:4: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) ) 9915 // InternalSolverLanguageParser.g:3905:4: ( ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) )
8280 // InternalSolverLanguageParser.g:3207:5: ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) ) 9916 // InternalSolverLanguageParser.g:3906:5: ( (lv_lowerBound_1_0= RULE_INT ) ) otherlv_2= LessThanSignEqualsSign ( ( ruleQualifiedName ) )
8281 { 9917 {
8282 // InternalSolverLanguageParser.g:3207:5: ( (lv_lowerBound_1_0= RULE_INT ) ) 9918 // InternalSolverLanguageParser.g:3906:5: ( (lv_lowerBound_1_0= RULE_INT ) )
8283 // InternalSolverLanguageParser.g:3208:6: (lv_lowerBound_1_0= RULE_INT ) 9919 // InternalSolverLanguageParser.g:3907:6: (lv_lowerBound_1_0= RULE_INT )
8284 { 9920 {
8285 // InternalSolverLanguageParser.g:3208:6: (lv_lowerBound_1_0= RULE_INT ) 9921 // InternalSolverLanguageParser.g:3907:6: (lv_lowerBound_1_0= RULE_INT )
8286 // InternalSolverLanguageParser.g:3209:7: lv_lowerBound_1_0= RULE_INT 9922 // InternalSolverLanguageParser.g:3908:7: lv_lowerBound_1_0= RULE_INT
8287 { 9923 {
8288 lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_48); 9924 lv_lowerBound_1_0=(Token)match(input,RULE_INT,FOLLOW_56);
8289 9925
8290 newLeafNode(lv_lowerBound_1_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0()); 9926 newLeafNode(lv_lowerBound_1_0, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLowerBoundINTTerminalRuleCall_1_0_0_0());
8291 9927
@@ -8309,11 +9945,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8309 9945
8310 newLeafNode(otherlv_2, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_1()); 9946 newLeafNode(otherlv_2, grammarAccess.getLowerBoundedScopeDefinitionAccess().getLessThanSignEqualsSignKeyword_1_0_1());
8311 9947
8312 // InternalSolverLanguageParser.g:3229:5: ( ( ruleQualifiedName ) ) 9948 // InternalSolverLanguageParser.g:3928:5: ( ( ruleQualifiedName ) )
8313 // InternalSolverLanguageParser.g:3230:6: ( ruleQualifiedName ) 9949 // InternalSolverLanguageParser.g:3929:6: ( ruleQualifiedName )
8314 { 9950 {
8315 // InternalSolverLanguageParser.g:3230:6: ( ruleQualifiedName ) 9951 // InternalSolverLanguageParser.g:3929:6: ( ruleQualifiedName )
8316 // InternalSolverLanguageParser.g:3231:7: ruleQualifiedName 9952 // InternalSolverLanguageParser.g:3930:7: ruleQualifiedName
8317 { 9953 {
8318 9954
8319 if (current==null) { 9955 if (current==null) {
@@ -8344,16 +9980,16 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8344 } 9980 }
8345 break; 9981 break;
8346 case 2 : 9982 case 2 :
8347 // InternalSolverLanguageParser.g:3247:4: ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) 9983 // InternalSolverLanguageParser.g:3946:4: ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) )
8348 { 9984 {
8349 // InternalSolverLanguageParser.g:3247:4: ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) ) 9985 // InternalSolverLanguageParser.g:3946:4: ( ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) )
8350 // InternalSolverLanguageParser.g:3248:5: ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) ) 9986 // InternalSolverLanguageParser.g:3947:5: ( ( ruleQualifiedName ) ) otherlv_5= GreaterThanSignEqualsSign ( (lv_lowerBound_6_0= RULE_INT ) )
8351 { 9987 {
8352 // InternalSolverLanguageParser.g:3248:5: ( ( ruleQualifiedName ) ) 9988 // InternalSolverLanguageParser.g:3947:5: ( ( ruleQualifiedName ) )
8353 // InternalSolverLanguageParser.g:3249:6: ( ruleQualifiedName ) 9989 // InternalSolverLanguageParser.g:3948:6: ( ruleQualifiedName )
8354 { 9990 {
8355 // InternalSolverLanguageParser.g:3249:6: ( ruleQualifiedName ) 9991 // InternalSolverLanguageParser.g:3948:6: ( ruleQualifiedName )
8356 // InternalSolverLanguageParser.g:3250:7: ruleQualifiedName 9992 // InternalSolverLanguageParser.g:3949:7: ruleQualifiedName
8357 { 9993 {
8358 9994
8359 if (current==null) { 9995 if (current==null) {
@@ -8363,7 +9999,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8363 9999
8364 newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_0_0()); 10000 newCompositeNode(grammarAccess.getLowerBoundedScopeDefinitionAccess().getTypeNamedElementCrossReference_1_1_0_0());
8365 10001
8366 pushFollow(FOLLOW_49); 10002 pushFollow(FOLLOW_57);
8367 ruleQualifiedName(); 10003 ruleQualifiedName();
8368 10004
8369 state._fsp--; 10005 state._fsp--;
@@ -8377,15 +10013,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8377 10013
8378 } 10014 }
8379 10015
8380 otherlv_5=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_45); 10016 otherlv_5=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_53);
8381 10017
8382 newLeafNode(otherlv_5, grammarAccess.getLowerBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1()); 10018 newLeafNode(otherlv_5, grammarAccess.getLowerBoundedScopeDefinitionAccess().getGreaterThanSignEqualsSignKeyword_1_1_1());
8383 10019
8384 // InternalSolverLanguageParser.g:3268:5: ( (lv_lowerBound_6_0= RULE_INT ) ) 10020 // InternalSolverLanguageParser.g:3967:5: ( (lv_lowerBound_6_0= RULE_INT ) )
8385 // InternalSolverLanguageParser.g:3269:6: (lv_lowerBound_6_0= RULE_INT ) 10021 // InternalSolverLanguageParser.g:3968:6: (lv_lowerBound_6_0= RULE_INT )
8386 { 10022 {
8387 // InternalSolverLanguageParser.g:3269:6: (lv_lowerBound_6_0= RULE_INT ) 10023 // InternalSolverLanguageParser.g:3968:6: (lv_lowerBound_6_0= RULE_INT )
8388 // InternalSolverLanguageParser.g:3270:7: lv_lowerBound_6_0= RULE_INT 10024 // InternalSolverLanguageParser.g:3969:7: lv_lowerBound_6_0= RULE_INT
8389 { 10025 {
8390 lv_lowerBound_6_0=(Token)match(input,RULE_INT,FOLLOW_2); 10026 lv_lowerBound_6_0=(Token)match(input,RULE_INT,FOLLOW_2);
8391 10027
@@ -8439,7 +10075,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8439 10075
8440 10076
8441 // $ANTLR start "entryRuleObjectiveDefinition" 10077 // $ANTLR start "entryRuleObjectiveDefinition"
8442 // InternalSolverLanguageParser.g:3292:1: entryRuleObjectiveDefinition returns [EObject current=null] : iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF ; 10078 // InternalSolverLanguageParser.g:3991:1: entryRuleObjectiveDefinition returns [EObject current=null] : iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF ;
8443 public final EObject entryRuleObjectiveDefinition() throws RecognitionException { 10079 public final EObject entryRuleObjectiveDefinition() throws RecognitionException {
8444 EObject current = null; 10080 EObject current = null;
8445 10081
@@ -8447,8 +10083,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8447 10083
8448 10084
8449 try { 10085 try {
8450 // InternalSolverLanguageParser.g:3292:60: (iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF ) 10086 // InternalSolverLanguageParser.g:3991:60: (iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF )
8451 // InternalSolverLanguageParser.g:3293:2: iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF 10087 // InternalSolverLanguageParser.g:3992:2: iv_ruleObjectiveDefinition= ruleObjectiveDefinition EOF
8452 { 10088 {
8453 newCompositeNode(grammarAccess.getObjectiveDefinitionRule()); 10089 newCompositeNode(grammarAccess.getObjectiveDefinitionRule());
8454 pushFollow(FOLLOW_1); 10090 pushFollow(FOLLOW_1);
@@ -8475,7 +10111,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8475 10111
8476 10112
8477 // $ANTLR start "ruleObjectiveDefinition" 10113 // $ANTLR start "ruleObjectiveDefinition"
8478 // InternalSolverLanguageParser.g:3299:1: ruleObjectiveDefinition returns [EObject current=null] : ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) ; 10114 // InternalSolverLanguageParser.g:3998:1: ruleObjectiveDefinition returns [EObject current=null] : ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) ;
8479 public final EObject ruleObjectiveDefinition() throws RecognitionException { 10115 public final EObject ruleObjectiveDefinition() throws RecognitionException {
8480 EObject current = null; 10116 EObject current = null;
8481 10117
@@ -8488,17 +10124,17 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8488 enterRule(); 10124 enterRule();
8489 10125
8490 try { 10126 try {
8491 // InternalSolverLanguageParser.g:3305:2: ( ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) ) 10127 // InternalSolverLanguageParser.g:4004:2: ( ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) )
8492 // InternalSolverLanguageParser.g:3306:2: ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) 10128 // InternalSolverLanguageParser.g:4005:2: ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) )
8493 { 10129 {
8494 // InternalSolverLanguageParser.g:3306:2: ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) ) 10130 // InternalSolverLanguageParser.g:4005:2: ( ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) )
8495 // InternalSolverLanguageParser.g:3307:3: ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) ) 10131 // InternalSolverLanguageParser.g:4006:3: ( (lv_kind_0_0= ruleObjectiveKind ) ) ( (lv_objective_1_0= ruleExpression ) )
8496 { 10132 {
8497 // InternalSolverLanguageParser.g:3307:3: ( (lv_kind_0_0= ruleObjectiveKind ) ) 10133 // InternalSolverLanguageParser.g:4006:3: ( (lv_kind_0_0= ruleObjectiveKind ) )
8498 // InternalSolverLanguageParser.g:3308:4: (lv_kind_0_0= ruleObjectiveKind ) 10134 // InternalSolverLanguageParser.g:4007:4: (lv_kind_0_0= ruleObjectiveKind )
8499 { 10135 {
8500 // InternalSolverLanguageParser.g:3308:4: (lv_kind_0_0= ruleObjectiveKind ) 10136 // InternalSolverLanguageParser.g:4007:4: (lv_kind_0_0= ruleObjectiveKind )
8501 // InternalSolverLanguageParser.g:3309:5: lv_kind_0_0= ruleObjectiveKind 10137 // InternalSolverLanguageParser.g:4008:5: lv_kind_0_0= ruleObjectiveKind
8502 { 10138 {
8503 10139
8504 newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getKindObjectiveKindEnumRuleCall_0_0()); 10140 newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getKindObjectiveKindEnumRuleCall_0_0());
@@ -8525,11 +10161,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8525 10161
8526 } 10162 }
8527 10163
8528 // InternalSolverLanguageParser.g:3326:3: ( (lv_objective_1_0= ruleExpression ) ) 10164 // InternalSolverLanguageParser.g:4025:3: ( (lv_objective_1_0= ruleExpression ) )
8529 // InternalSolverLanguageParser.g:3327:4: (lv_objective_1_0= ruleExpression ) 10165 // InternalSolverLanguageParser.g:4026:4: (lv_objective_1_0= ruleExpression )
8530 { 10166 {
8531 // InternalSolverLanguageParser.g:3327:4: (lv_objective_1_0= ruleExpression ) 10167 // InternalSolverLanguageParser.g:4026:4: (lv_objective_1_0= ruleExpression )
8532 // InternalSolverLanguageParser.g:3328:5: lv_objective_1_0= ruleExpression 10168 // InternalSolverLanguageParser.g:4027:5: lv_objective_1_0= ruleExpression
8533 { 10169 {
8534 10170
8535 newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getObjectiveExpressionParserRuleCall_1_0()); 10171 newCompositeNode(grammarAccess.getObjectiveDefinitionAccess().getObjectiveExpressionParserRuleCall_1_0());
@@ -8579,7 +10215,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8579 10215
8580 10216
8581 // $ANTLR start "entryRuleUpperMultiplicty" 10217 // $ANTLR start "entryRuleUpperMultiplicty"
8582 // InternalSolverLanguageParser.g:3349:1: entryRuleUpperMultiplicty returns [String current=null] : iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF ; 10218 // InternalSolverLanguageParser.g:4048:1: entryRuleUpperMultiplicty returns [String current=null] : iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF ;
8583 public final String entryRuleUpperMultiplicty() throws RecognitionException { 10219 public final String entryRuleUpperMultiplicty() throws RecognitionException {
8584 String current = null; 10220 String current = null;
8585 10221
@@ -8587,8 +10223,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8587 10223
8588 10224
8589 try { 10225 try {
8590 // InternalSolverLanguageParser.g:3349:56: (iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF ) 10226 // InternalSolverLanguageParser.g:4048:56: (iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF )
8591 // InternalSolverLanguageParser.g:3350:2: iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF 10227 // InternalSolverLanguageParser.g:4049:2: iv_ruleUpperMultiplicty= ruleUpperMultiplicty EOF
8592 { 10228 {
8593 newCompositeNode(grammarAccess.getUpperMultiplictyRule()); 10229 newCompositeNode(grammarAccess.getUpperMultiplictyRule());
8594 pushFollow(FOLLOW_1); 10230 pushFollow(FOLLOW_1);
@@ -8615,7 +10251,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8615 10251
8616 10252
8617 // $ANTLR start "ruleUpperMultiplicty" 10253 // $ANTLR start "ruleUpperMultiplicty"
8618 // InternalSolverLanguageParser.g:3356:1: ruleUpperMultiplicty returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | kw= Asterisk ) ; 10254 // InternalSolverLanguageParser.g:4055:1: ruleUpperMultiplicty returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | kw= Asterisk ) ;
8619 public final AntlrDatatypeRuleToken ruleUpperMultiplicty() throws RecognitionException { 10255 public final AntlrDatatypeRuleToken ruleUpperMultiplicty() throws RecognitionException {
8620 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); 10256 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
8621 10257
@@ -8626,28 +10262,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8626 enterRule(); 10262 enterRule();
8627 10263
8628 try { 10264 try {
8629 // InternalSolverLanguageParser.g:3362:2: ( (this_INT_0= RULE_INT | kw= Asterisk ) ) 10265 // InternalSolverLanguageParser.g:4061:2: ( (this_INT_0= RULE_INT | kw= Asterisk ) )
8630 // InternalSolverLanguageParser.g:3363:2: (this_INT_0= RULE_INT | kw= Asterisk ) 10266 // InternalSolverLanguageParser.g:4062:2: (this_INT_0= RULE_INT | kw= Asterisk )
8631 { 10267 {
8632 // InternalSolverLanguageParser.g:3363:2: (this_INT_0= RULE_INT | kw= Asterisk ) 10268 // InternalSolverLanguageParser.g:4062:2: (this_INT_0= RULE_INT | kw= Asterisk )
8633 int alt40=2; 10269 int alt49=2;
8634 int LA40_0 = input.LA(1); 10270 int LA49_0 = input.LA(1);
8635 10271
8636 if ( (LA40_0==RULE_INT) ) { 10272 if ( (LA49_0==RULE_INT) ) {
8637 alt40=1; 10273 alt49=1;
8638 } 10274 }
8639 else if ( (LA40_0==Asterisk) ) { 10275 else if ( (LA49_0==Asterisk) ) {
8640 alt40=2; 10276 alt49=2;
8641 } 10277 }
8642 else { 10278 else {
8643 NoViableAltException nvae = 10279 NoViableAltException nvae =
8644 new NoViableAltException("", 40, 0, input); 10280 new NoViableAltException("", 49, 0, input);
8645 10281
8646 throw nvae; 10282 throw nvae;
8647 } 10283 }
8648 switch (alt40) { 10284 switch (alt49) {
8649 case 1 : 10285 case 1 :
8650 // InternalSolverLanguageParser.g:3364:3: this_INT_0= RULE_INT 10286 // InternalSolverLanguageParser.g:4063:3: this_INT_0= RULE_INT
8651 { 10287 {
8652 this_INT_0=(Token)match(input,RULE_INT,FOLLOW_2); 10288 this_INT_0=(Token)match(input,RULE_INT,FOLLOW_2);
8653 10289
@@ -8660,7 +10296,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8660 } 10296 }
8661 break; 10297 break;
8662 case 2 : 10298 case 2 :
8663 // InternalSolverLanguageParser.g:3372:3: kw= Asterisk 10299 // InternalSolverLanguageParser.g:4071:3: kw= Asterisk
8664 { 10300 {
8665 kw=(Token)match(input,Asterisk,FOLLOW_2); 10301 kw=(Token)match(input,Asterisk,FOLLOW_2);
8666 10302
@@ -8693,7 +10329,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8693 10329
8694 10330
8695 // $ANTLR start "entryRuleReal" 10331 // $ANTLR start "entryRuleReal"
8696 // InternalSolverLanguageParser.g:3381:1: entryRuleReal returns [String current=null] : iv_ruleReal= ruleReal EOF ; 10332 // InternalSolverLanguageParser.g:4080:1: entryRuleReal returns [String current=null] : iv_ruleReal= ruleReal EOF ;
8697 public final String entryRuleReal() throws RecognitionException { 10333 public final String entryRuleReal() throws RecognitionException {
8698 String current = null; 10334 String current = null;
8699 10335
@@ -8704,8 +10340,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8704 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); 10340 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
8705 10341
8706 try { 10342 try {
8707 // InternalSolverLanguageParser.g:3383:2: (iv_ruleReal= ruleReal EOF ) 10343 // InternalSolverLanguageParser.g:4082:2: (iv_ruleReal= ruleReal EOF )
8708 // InternalSolverLanguageParser.g:3384:2: iv_ruleReal= ruleReal EOF 10344 // InternalSolverLanguageParser.g:4083:2: iv_ruleReal= ruleReal EOF
8709 { 10345 {
8710 newCompositeNode(grammarAccess.getRealRule()); 10346 newCompositeNode(grammarAccess.getRealRule());
8711 pushFollow(FOLLOW_1); 10347 pushFollow(FOLLOW_1);
@@ -8735,7 +10371,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8735 10371
8736 10372
8737 // $ANTLR start "ruleReal" 10373 // $ANTLR start "ruleReal"
8738 // InternalSolverLanguageParser.g:3393:1: ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? ) ; 10374 // InternalSolverLanguageParser.g:4092:1: ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? ) ;
8739 public final AntlrDatatypeRuleToken ruleReal() throws RecognitionException { 10375 public final AntlrDatatypeRuleToken ruleReal() throws RecognitionException {
8740 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); 10376 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
8741 10377
@@ -8748,31 +10384,31 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8748 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); 10384 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
8749 10385
8750 try { 10386 try {
8751 // InternalSolverLanguageParser.g:3400:2: ( (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? ) ) 10387 // InternalSolverLanguageParser.g:4099:2: ( (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? ) )
8752 // InternalSolverLanguageParser.g:3401:2: (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? ) 10388 // InternalSolverLanguageParser.g:4100:2: (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? )
8753 { 10389 {
8754 // InternalSolverLanguageParser.g:3401:2: (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? ) 10390 // InternalSolverLanguageParser.g:4100:2: (this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? )
8755 // InternalSolverLanguageParser.g:3402:3: this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )? 10391 // InternalSolverLanguageParser.g:4101:3: this_INT_0= RULE_INT (kw= FullStop this_INT_2= RULE_INT )?
8756 { 10392 {
8757 this_INT_0=(Token)match(input,RULE_INT,FOLLOW_51); 10393 this_INT_0=(Token)match(input,RULE_INT,FOLLOW_59);
8758 10394
8759 current.merge(this_INT_0); 10395 current.merge(this_INT_0);
8760 10396
8761 10397
8762 newLeafNode(this_INT_0, grammarAccess.getRealAccess().getINTTerminalRuleCall_0()); 10398 newLeafNode(this_INT_0, grammarAccess.getRealAccess().getINTTerminalRuleCall_0());
8763 10399
8764 // InternalSolverLanguageParser.g:3409:3: (kw= FullStop this_INT_2= RULE_INT )? 10400 // InternalSolverLanguageParser.g:4108:3: (kw= FullStop this_INT_2= RULE_INT )?
8765 int alt41=2; 10401 int alt50=2;
8766 int LA41_0 = input.LA(1); 10402 int LA50_0 = input.LA(1);
8767 10403
8768 if ( (LA41_0==FullStop) ) { 10404 if ( (LA50_0==FullStop) ) {
8769 alt41=1; 10405 alt50=1;
8770 } 10406 }
8771 switch (alt41) { 10407 switch (alt50) {
8772 case 1 : 10408 case 1 :
8773 // InternalSolverLanguageParser.g:3410:4: kw= FullStop this_INT_2= RULE_INT 10409 // InternalSolverLanguageParser.g:4109:4: kw= FullStop this_INT_2= RULE_INT
8774 { 10410 {
8775 kw=(Token)match(input,FullStop,FOLLOW_45); 10411 kw=(Token)match(input,FullStop,FOLLOW_53);
8776 10412
8777 current.merge(kw); 10413 current.merge(kw);
8778 newLeafNode(kw, grammarAccess.getRealAccess().getFullStopKeyword_1_0()); 10414 newLeafNode(kw, grammarAccess.getRealAccess().getFullStopKeyword_1_0());
@@ -8816,7 +10452,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8816 10452
8817 10453
8818 // $ANTLR start "entryRuleQualifiedName" 10454 // $ANTLR start "entryRuleQualifiedName"
8819 // InternalSolverLanguageParser.g:3430:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ; 10455 // InternalSolverLanguageParser.g:4129:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ;
8820 public final String entryRuleQualifiedName() throws RecognitionException { 10456 public final String entryRuleQualifiedName() throws RecognitionException {
8821 String current = null; 10457 String current = null;
8822 10458
@@ -8827,8 +10463,8 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8827 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); 10463 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
8828 10464
8829 try { 10465 try {
8830 // InternalSolverLanguageParser.g:3432:2: (iv_ruleQualifiedName= ruleQualifiedName EOF ) 10466 // InternalSolverLanguageParser.g:4131:2: (iv_ruleQualifiedName= ruleQualifiedName EOF )
8831 // InternalSolverLanguageParser.g:3433:2: iv_ruleQualifiedName= ruleQualifiedName EOF 10467 // InternalSolverLanguageParser.g:4132:2: iv_ruleQualifiedName= ruleQualifiedName EOF
8832 { 10468 {
8833 newCompositeNode(grammarAccess.getQualifiedNameRule()); 10469 newCompositeNode(grammarAccess.getQualifiedNameRule());
8834 pushFollow(FOLLOW_1); 10470 pushFollow(FOLLOW_1);
@@ -8858,7 +10494,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8858 10494
8859 10495
8860 // $ANTLR start "ruleQualifiedName" 10496 // $ANTLR start "ruleQualifiedName"
8861 // InternalSolverLanguageParser.g:3442:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) ; 10497 // InternalSolverLanguageParser.g:4141:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) ;
8862 public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException { 10498 public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException {
8863 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); 10499 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
8864 10500
@@ -8872,60 +10508,60 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8872 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); 10508 HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
8873 10509
8874 try { 10510 try {
8875 // InternalSolverLanguageParser.g:3449:2: ( ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) ) 10511 // InternalSolverLanguageParser.g:4148:2: ( ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) )
8876 // InternalSolverLanguageParser.g:3450:2: ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) 10512 // InternalSolverLanguageParser.g:4149:2: ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID )
8877 { 10513 {
8878 // InternalSolverLanguageParser.g:3450:2: ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID ) 10514 // InternalSolverLanguageParser.g:4149:2: ( (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) | this_QUOTED_ID_3= RULE_QUOTED_ID )
8879 int alt43=2; 10515 int alt52=2;
8880 int LA43_0 = input.LA(1); 10516 int LA52_0 = input.LA(1);
8881 10517
8882 if ( (LA43_0==RULE_ID) ) { 10518 if ( (LA52_0==RULE_ID) ) {
8883 alt43=1; 10519 alt52=1;
8884 } 10520 }
8885 else if ( (LA43_0==RULE_QUOTED_ID) ) { 10521 else if ( (LA52_0==RULE_QUOTED_ID) ) {
8886 alt43=2; 10522 alt52=2;
8887 } 10523 }
8888 else { 10524 else {
8889 NoViableAltException nvae = 10525 NoViableAltException nvae =
8890 new NoViableAltException("", 43, 0, input); 10526 new NoViableAltException("", 52, 0, input);
8891 10527
8892 throw nvae; 10528 throw nvae;
8893 } 10529 }
8894 switch (alt43) { 10530 switch (alt52) {
8895 case 1 : 10531 case 1 :
8896 // InternalSolverLanguageParser.g:3451:3: (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) 10532 // InternalSolverLanguageParser.g:4150:3: (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* )
8897 { 10533 {
8898 // InternalSolverLanguageParser.g:3451:3: (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* ) 10534 // InternalSolverLanguageParser.g:4150:3: (this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* )
8899 // InternalSolverLanguageParser.g:3452:4: this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )* 10535 // InternalSolverLanguageParser.g:4151:4: this_ID_0= RULE_ID (kw= FullStop this_ID_2= RULE_ID )*
8900 { 10536 {
8901 this_ID_0=(Token)match(input,RULE_ID,FOLLOW_51); 10537 this_ID_0=(Token)match(input,RULE_ID,FOLLOW_59);
8902 10538
8903 current.merge(this_ID_0); 10539 current.merge(this_ID_0);
8904 10540
8905 10541
8906 newLeafNode(this_ID_0, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_0()); 10542 newLeafNode(this_ID_0, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0_0());
8907 10543
8908 // InternalSolverLanguageParser.g:3459:4: (kw= FullStop this_ID_2= RULE_ID )* 10544 // InternalSolverLanguageParser.g:4158:4: (kw= FullStop this_ID_2= RULE_ID )*
8909 loop42: 10545 loop51:
8910 do { 10546 do {
8911 int alt42=2; 10547 int alt51=2;
8912 int LA42_0 = input.LA(1); 10548 int LA51_0 = input.LA(1);
8913 10549
8914 if ( (LA42_0==FullStop) ) { 10550 if ( (LA51_0==FullStop) ) {
8915 alt42=1; 10551 alt51=1;
8916 } 10552 }
8917 10553
8918 10554
8919 switch (alt42) { 10555 switch (alt51) {
8920 case 1 : 10556 case 1 :
8921 // InternalSolverLanguageParser.g:3460:5: kw= FullStop this_ID_2= RULE_ID 10557 // InternalSolverLanguageParser.g:4159:5: kw= FullStop this_ID_2= RULE_ID
8922 { 10558 {
8923 kw=(Token)match(input,FullStop,FOLLOW_38); 10559 kw=(Token)match(input,FullStop,FOLLOW_20);
8924 10560
8925 current.merge(kw); 10561 current.merge(kw);
8926 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_0_1_0()); 10562 newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_0_1_0());
8927 10563
8928 this_ID_2=(Token)match(input,RULE_ID,FOLLOW_51); 10564 this_ID_2=(Token)match(input,RULE_ID,FOLLOW_59);
8929 10565
8930 current.merge(this_ID_2); 10566 current.merge(this_ID_2);
8931 10567
@@ -8937,7 +10573,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8937 break; 10573 break;
8938 10574
8939 default : 10575 default :
8940 break loop42; 10576 break loop51;
8941 } 10577 }
8942 } while (true); 10578 } while (true);
8943 10579
@@ -8948,7 +10584,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8948 } 10584 }
8949 break; 10585 break;
8950 case 2 : 10586 case 2 :
8951 // InternalSolverLanguageParser.g:3475:3: this_QUOTED_ID_3= RULE_QUOTED_ID 10587 // InternalSolverLanguageParser.g:4174:3: this_QUOTED_ID_3= RULE_QUOTED_ID
8952 { 10588 {
8953 this_QUOTED_ID_3=(Token)match(input,RULE_QUOTED_ID,FOLLOW_2); 10589 this_QUOTED_ID_3=(Token)match(input,RULE_QUOTED_ID,FOLLOW_2);
8954 10590
@@ -8985,72 +10621,28 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
8985 // $ANTLR end "ruleQualifiedName" 10621 // $ANTLR end "ruleQualifiedName"
8986 10622
8987 10623
8988 // $ANTLR start "ruleMetricType" 10624 // $ANTLR start "ruleImplicationOperator"
8989 // InternalSolverLanguageParser.g:3489:1: ruleMetricType returns [Enumerator current=null] : ( (enumLiteral_0= Int ) | (enumLiteral_1= Real ) ) ; 10625 // InternalSolverLanguageParser.g:4188:1: ruleImplicationOperator returns [Enumerator current=null] : (enumLiteral_0= EqualsSignGreaterThanSign ) ;
8990 public final Enumerator ruleMetricType() throws RecognitionException { 10626 public final Enumerator ruleImplicationOperator() throws RecognitionException {
8991 Enumerator current = null; 10627 Enumerator current = null;
8992 10628
8993 Token enumLiteral_0=null; 10629 Token enumLiteral_0=null;
8994 Token enumLiteral_1=null;
8995 10630
8996 10631
8997 enterRule(); 10632 enterRule();
8998 10633
8999 try { 10634 try {
9000 // InternalSolverLanguageParser.g:3495:2: ( ( (enumLiteral_0= Int ) | (enumLiteral_1= Real ) ) ) 10635 // InternalSolverLanguageParser.g:4194:2: ( (enumLiteral_0= EqualsSignGreaterThanSign ) )
9001 // InternalSolverLanguageParser.g:3496:2: ( (enumLiteral_0= Int ) | (enumLiteral_1= Real ) ) 10636 // InternalSolverLanguageParser.g:4195:2: (enumLiteral_0= EqualsSignGreaterThanSign )
9002 { 10637 {
9003 // InternalSolverLanguageParser.g:3496:2: ( (enumLiteral_0= Int ) | (enumLiteral_1= Real ) ) 10638 // InternalSolverLanguageParser.g:4195:2: (enumLiteral_0= EqualsSignGreaterThanSign )
9004 int alt44=2; 10639 // InternalSolverLanguageParser.g:4196:3: enumLiteral_0= EqualsSignGreaterThanSign
9005 int LA44_0 = input.LA(1); 10640 {
9006 10641 enumLiteral_0=(Token)match(input,EqualsSignGreaterThanSign,FOLLOW_2);
9007 if ( (LA44_0==Int) ) {
9008 alt44=1;
9009 }
9010 else if ( (LA44_0==Real) ) {
9011 alt44=2;
9012 }
9013 else {
9014 NoViableAltException nvae =
9015 new NoViableAltException("", 44, 0, input);
9016
9017 throw nvae;
9018 }
9019 switch (alt44) {
9020 case 1 :
9021 // InternalSolverLanguageParser.g:3497:3: (enumLiteral_0= Int )
9022 {
9023 // InternalSolverLanguageParser.g:3497:3: (enumLiteral_0= Int )
9024 // InternalSolverLanguageParser.g:3498:4: enumLiteral_0= Int
9025 {
9026 enumLiteral_0=(Token)match(input,Int,FOLLOW_2);
9027
9028 current = grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
9029 newLeafNode(enumLiteral_0, grammarAccess.getMetricTypeAccess().getINTEnumLiteralDeclaration_0());
9030
9031
9032 }
9033
9034
9035 }
9036 break;
9037 case 2 :
9038 // InternalSolverLanguageParser.g:3505:3: (enumLiteral_1= Real )
9039 {
9040 // InternalSolverLanguageParser.g:3505:3: (enumLiteral_1= Real )
9041 // InternalSolverLanguageParser.g:3506:4: enumLiteral_1= Real
9042 {
9043 enumLiteral_1=(Token)match(input,Real,FOLLOW_2);
9044
9045 current = grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
9046 newLeafNode(enumLiteral_1, grammarAccess.getMetricTypeAccess().getREALEnumLiteralDeclaration_1());
9047
9048
9049 }
9050
9051 10642
9052 } 10643 current = grammarAccess.getImplicationOperatorAccess().getIMPLIESEnumLiteralDeclaration().getEnumLiteral().getInstance();
9053 break; 10644 newLeafNode(enumLiteral_0, grammarAccess.getImplicationOperatorAccess().getIMPLIESEnumLiteralDeclaration());
10645
9054 10646
9055 } 10647 }
9056 10648
@@ -9070,11 +10662,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9070 } 10662 }
9071 return current; 10663 return current;
9072 } 10664 }
9073 // $ANTLR end "ruleMetricType" 10665 // $ANTLR end "ruleImplicationOperator"
9074 10666
9075 10667
9076 // $ANTLR start "ruleComparisonOperator" 10668 // $ANTLR start "ruleComparisonOperator"
9077 // InternalSolverLanguageParser.g:3516:1: ruleComparisonOperator returns [Enumerator current=null] : ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) ) ; 10669 // InternalSolverLanguageParser.g:4205:1: ruleComparisonOperator returns [Enumerator current=null] : ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) ) ;
9078 public final Enumerator ruleComparisonOperator() throws RecognitionException { 10670 public final Enumerator ruleComparisonOperator() throws RecognitionException {
9079 Enumerator current = null; 10671 Enumerator current = null;
9080 10672
@@ -9090,60 +10682,60 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9090 enterRule(); 10682 enterRule();
9091 10683
9092 try { 10684 try {
9093 // InternalSolverLanguageParser.g:3522:2: ( ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) ) ) 10685 // InternalSolverLanguageParser.g:4211:2: ( ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) ) )
9094 // InternalSolverLanguageParser.g:3523:2: ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) ) 10686 // InternalSolverLanguageParser.g:4212:2: ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) )
9095 { 10687 {
9096 // InternalSolverLanguageParser.g:3523:2: ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) ) 10688 // InternalSolverLanguageParser.g:4212:2: ( (enumLiteral_0= EqualsSignEqualsSign ) | (enumLiteral_1= ExclamationMarkEqualsSign ) | (enumLiteral_2= LessThanSign ) | (enumLiteral_3= LessThanSignEqualsSign ) | (enumLiteral_4= GreaterThanSign ) | (enumLiteral_5= GreaterThanSignEqualsSign ) | (enumLiteral_6= In ) )
9097 int alt45=7; 10689 int alt53=7;
9098 switch ( input.LA(1) ) { 10690 switch ( input.LA(1) ) {
9099 case EqualsSignEqualsSign: 10691 case EqualsSignEqualsSign:
9100 { 10692 {
9101 alt45=1; 10693 alt53=1;
9102 } 10694 }
9103 break; 10695 break;
9104 case ExclamationMarkEqualsSign: 10696 case ExclamationMarkEqualsSign:
9105 { 10697 {
9106 alt45=2; 10698 alt53=2;
9107 } 10699 }
9108 break; 10700 break;
9109 case LessThanSign: 10701 case LessThanSign:
9110 { 10702 {
9111 alt45=3; 10703 alt53=3;
9112 } 10704 }
9113 break; 10705 break;
9114 case LessThanSignEqualsSign: 10706 case LessThanSignEqualsSign:
9115 { 10707 {
9116 alt45=4; 10708 alt53=4;
9117 } 10709 }
9118 break; 10710 break;
9119 case GreaterThanSign: 10711 case GreaterThanSign:
9120 { 10712 {
9121 alt45=5; 10713 alt53=5;
9122 } 10714 }
9123 break; 10715 break;
9124 case GreaterThanSignEqualsSign: 10716 case GreaterThanSignEqualsSign:
9125 { 10717 {
9126 alt45=6; 10718 alt53=6;
9127 } 10719 }
9128 break; 10720 break;
9129 case In: 10721 case In:
9130 { 10722 {
9131 alt45=7; 10723 alt53=7;
9132 } 10724 }
9133 break; 10725 break;
9134 default: 10726 default:
9135 NoViableAltException nvae = 10727 NoViableAltException nvae =
9136 new NoViableAltException("", 45, 0, input); 10728 new NoViableAltException("", 53, 0, input);
9137 10729
9138 throw nvae; 10730 throw nvae;
9139 } 10731 }
9140 10732
9141 switch (alt45) { 10733 switch (alt53) {
9142 case 1 : 10734 case 1 :
9143 // InternalSolverLanguageParser.g:3524:3: (enumLiteral_0= EqualsSignEqualsSign ) 10735 // InternalSolverLanguageParser.g:4213:3: (enumLiteral_0= EqualsSignEqualsSign )
9144 { 10736 {
9145 // InternalSolverLanguageParser.g:3524:3: (enumLiteral_0= EqualsSignEqualsSign ) 10737 // InternalSolverLanguageParser.g:4213:3: (enumLiteral_0= EqualsSignEqualsSign )
9146 // InternalSolverLanguageParser.g:3525:4: enumLiteral_0= EqualsSignEqualsSign 10738 // InternalSolverLanguageParser.g:4214:4: enumLiteral_0= EqualsSignEqualsSign
9147 { 10739 {
9148 enumLiteral_0=(Token)match(input,EqualsSignEqualsSign,FOLLOW_2); 10740 enumLiteral_0=(Token)match(input,EqualsSignEqualsSign,FOLLOW_2);
9149 10741
@@ -9157,10 +10749,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9157 } 10749 }
9158 break; 10750 break;
9159 case 2 : 10751 case 2 :
9160 // InternalSolverLanguageParser.g:3532:3: (enumLiteral_1= ExclamationMarkEqualsSign ) 10752 // InternalSolverLanguageParser.g:4221:3: (enumLiteral_1= ExclamationMarkEqualsSign )
9161 { 10753 {
9162 // InternalSolverLanguageParser.g:3532:3: (enumLiteral_1= ExclamationMarkEqualsSign ) 10754 // InternalSolverLanguageParser.g:4221:3: (enumLiteral_1= ExclamationMarkEqualsSign )
9163 // InternalSolverLanguageParser.g:3533:4: enumLiteral_1= ExclamationMarkEqualsSign 10755 // InternalSolverLanguageParser.g:4222:4: enumLiteral_1= ExclamationMarkEqualsSign
9164 { 10756 {
9165 enumLiteral_1=(Token)match(input,ExclamationMarkEqualsSign,FOLLOW_2); 10757 enumLiteral_1=(Token)match(input,ExclamationMarkEqualsSign,FOLLOW_2);
9166 10758
@@ -9174,10 +10766,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9174 } 10766 }
9175 break; 10767 break;
9176 case 3 : 10768 case 3 :
9177 // InternalSolverLanguageParser.g:3540:3: (enumLiteral_2= LessThanSign ) 10769 // InternalSolverLanguageParser.g:4229:3: (enumLiteral_2= LessThanSign )
9178 { 10770 {
9179 // InternalSolverLanguageParser.g:3540:3: (enumLiteral_2= LessThanSign ) 10771 // InternalSolverLanguageParser.g:4229:3: (enumLiteral_2= LessThanSign )
9180 // InternalSolverLanguageParser.g:3541:4: enumLiteral_2= LessThanSign 10772 // InternalSolverLanguageParser.g:4230:4: enumLiteral_2= LessThanSign
9181 { 10773 {
9182 enumLiteral_2=(Token)match(input,LessThanSign,FOLLOW_2); 10774 enumLiteral_2=(Token)match(input,LessThanSign,FOLLOW_2);
9183 10775
@@ -9191,10 +10783,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9191 } 10783 }
9192 break; 10784 break;
9193 case 4 : 10785 case 4 :
9194 // InternalSolverLanguageParser.g:3548:3: (enumLiteral_3= LessThanSignEqualsSign ) 10786 // InternalSolverLanguageParser.g:4237:3: (enumLiteral_3= LessThanSignEqualsSign )
9195 { 10787 {
9196 // InternalSolverLanguageParser.g:3548:3: (enumLiteral_3= LessThanSignEqualsSign ) 10788 // InternalSolverLanguageParser.g:4237:3: (enumLiteral_3= LessThanSignEqualsSign )
9197 // InternalSolverLanguageParser.g:3549:4: enumLiteral_3= LessThanSignEqualsSign 10789 // InternalSolverLanguageParser.g:4238:4: enumLiteral_3= LessThanSignEqualsSign
9198 { 10790 {
9199 enumLiteral_3=(Token)match(input,LessThanSignEqualsSign,FOLLOW_2); 10791 enumLiteral_3=(Token)match(input,LessThanSignEqualsSign,FOLLOW_2);
9200 10792
@@ -9208,10 +10800,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9208 } 10800 }
9209 break; 10801 break;
9210 case 5 : 10802 case 5 :
9211 // InternalSolverLanguageParser.g:3556:3: (enumLiteral_4= GreaterThanSign ) 10803 // InternalSolverLanguageParser.g:4245:3: (enumLiteral_4= GreaterThanSign )
9212 { 10804 {
9213 // InternalSolverLanguageParser.g:3556:3: (enumLiteral_4= GreaterThanSign ) 10805 // InternalSolverLanguageParser.g:4245:3: (enumLiteral_4= GreaterThanSign )
9214 // InternalSolverLanguageParser.g:3557:4: enumLiteral_4= GreaterThanSign 10806 // InternalSolverLanguageParser.g:4246:4: enumLiteral_4= GreaterThanSign
9215 { 10807 {
9216 enumLiteral_4=(Token)match(input,GreaterThanSign,FOLLOW_2); 10808 enumLiteral_4=(Token)match(input,GreaterThanSign,FOLLOW_2);
9217 10809
@@ -9225,10 +10817,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9225 } 10817 }
9226 break; 10818 break;
9227 case 6 : 10819 case 6 :
9228 // InternalSolverLanguageParser.g:3564:3: (enumLiteral_5= GreaterThanSignEqualsSign ) 10820 // InternalSolverLanguageParser.g:4253:3: (enumLiteral_5= GreaterThanSignEqualsSign )
9229 { 10821 {
9230 // InternalSolverLanguageParser.g:3564:3: (enumLiteral_5= GreaterThanSignEqualsSign ) 10822 // InternalSolverLanguageParser.g:4253:3: (enumLiteral_5= GreaterThanSignEqualsSign )
9231 // InternalSolverLanguageParser.g:3565:4: enumLiteral_5= GreaterThanSignEqualsSign 10823 // InternalSolverLanguageParser.g:4254:4: enumLiteral_5= GreaterThanSignEqualsSign
9232 { 10824 {
9233 enumLiteral_5=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_2); 10825 enumLiteral_5=(Token)match(input,GreaterThanSignEqualsSign,FOLLOW_2);
9234 10826
@@ -9242,10 +10834,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9242 } 10834 }
9243 break; 10835 break;
9244 case 7 : 10836 case 7 :
9245 // InternalSolverLanguageParser.g:3572:3: (enumLiteral_6= In ) 10837 // InternalSolverLanguageParser.g:4261:3: (enumLiteral_6= In )
9246 { 10838 {
9247 // InternalSolverLanguageParser.g:3572:3: (enumLiteral_6= In ) 10839 // InternalSolverLanguageParser.g:4261:3: (enumLiteral_6= In )
9248 // InternalSolverLanguageParser.g:3573:4: enumLiteral_6= In 10840 // InternalSolverLanguageParser.g:4262:4: enumLiteral_6= In
9249 { 10841 {
9250 enumLiteral_6=(Token)match(input,In,FOLLOW_2); 10842 enumLiteral_6=(Token)match(input,In,FOLLOW_2);
9251 10843
@@ -9281,7 +10873,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9281 10873
9282 10874
9283 // $ANTLR start "ruleAdditiveBinaryOperator" 10875 // $ANTLR start "ruleAdditiveBinaryOperator"
9284 // InternalSolverLanguageParser.g:3583:1: ruleAdditiveBinaryOperator returns [Enumerator current=null] : ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) ; 10876 // InternalSolverLanguageParser.g:4272:1: ruleAdditiveBinaryOperator returns [Enumerator current=null] : ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) ;
9285 public final Enumerator ruleAdditiveBinaryOperator() throws RecognitionException { 10877 public final Enumerator ruleAdditiveBinaryOperator() throws RecognitionException {
9286 Enumerator current = null; 10878 Enumerator current = null;
9287 10879
@@ -9292,31 +10884,31 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9292 enterRule(); 10884 enterRule();
9293 10885
9294 try { 10886 try {
9295 // InternalSolverLanguageParser.g:3589:2: ( ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) ) 10887 // InternalSolverLanguageParser.g:4278:2: ( ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) )
9296 // InternalSolverLanguageParser.g:3590:2: ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) 10888 // InternalSolverLanguageParser.g:4279:2: ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) )
9297 { 10889 {
9298 // InternalSolverLanguageParser.g:3590:2: ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) ) 10890 // InternalSolverLanguageParser.g:4279:2: ( (enumLiteral_0= PlusSign ) | (enumLiteral_1= HyphenMinus ) )
9299 int alt46=2; 10891 int alt54=2;
9300 int LA46_0 = input.LA(1); 10892 int LA54_0 = input.LA(1);
9301 10893
9302 if ( (LA46_0==PlusSign) ) { 10894 if ( (LA54_0==PlusSign) ) {
9303 alt46=1; 10895 alt54=1;
9304 } 10896 }
9305 else if ( (LA46_0==HyphenMinus) ) { 10897 else if ( (LA54_0==HyphenMinus) ) {
9306 alt46=2; 10898 alt54=2;
9307 } 10899 }
9308 else { 10900 else {
9309 NoViableAltException nvae = 10901 NoViableAltException nvae =
9310 new NoViableAltException("", 46, 0, input); 10902 new NoViableAltException("", 54, 0, input);
9311 10903
9312 throw nvae; 10904 throw nvae;
9313 } 10905 }
9314 switch (alt46) { 10906 switch (alt54) {
9315 case 1 : 10907 case 1 :
9316 // InternalSolverLanguageParser.g:3591:3: (enumLiteral_0= PlusSign ) 10908 // InternalSolverLanguageParser.g:4280:3: (enumLiteral_0= PlusSign )
9317 { 10909 {
9318 // InternalSolverLanguageParser.g:3591:3: (enumLiteral_0= PlusSign ) 10910 // InternalSolverLanguageParser.g:4280:3: (enumLiteral_0= PlusSign )
9319 // InternalSolverLanguageParser.g:3592:4: enumLiteral_0= PlusSign 10911 // InternalSolverLanguageParser.g:4281:4: enumLiteral_0= PlusSign
9320 { 10912 {
9321 enumLiteral_0=(Token)match(input,PlusSign,FOLLOW_2); 10913 enumLiteral_0=(Token)match(input,PlusSign,FOLLOW_2);
9322 10914
@@ -9330,10 +10922,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9330 } 10922 }
9331 break; 10923 break;
9332 case 2 : 10924 case 2 :
9333 // InternalSolverLanguageParser.g:3599:3: (enumLiteral_1= HyphenMinus ) 10925 // InternalSolverLanguageParser.g:4288:3: (enumLiteral_1= HyphenMinus )
9334 { 10926 {
9335 // InternalSolverLanguageParser.g:3599:3: (enumLiteral_1= HyphenMinus ) 10927 // InternalSolverLanguageParser.g:4288:3: (enumLiteral_1= HyphenMinus )
9336 // InternalSolverLanguageParser.g:3600:4: enumLiteral_1= HyphenMinus 10928 // InternalSolverLanguageParser.g:4289:4: enumLiteral_1= HyphenMinus
9337 { 10929 {
9338 enumLiteral_1=(Token)match(input,HyphenMinus,FOLLOW_2); 10930 enumLiteral_1=(Token)match(input,HyphenMinus,FOLLOW_2);
9339 10931
@@ -9369,7 +10961,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9369 10961
9370 10962
9371 // $ANTLR start "ruleMultiplicativeBinaryOperator" 10963 // $ANTLR start "ruleMultiplicativeBinaryOperator"
9372 // InternalSolverLanguageParser.g:3610:1: ruleMultiplicativeBinaryOperator returns [Enumerator current=null] : ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) ; 10964 // InternalSolverLanguageParser.g:4299:1: ruleMultiplicativeBinaryOperator returns [Enumerator current=null] : ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) ;
9373 public final Enumerator ruleMultiplicativeBinaryOperator() throws RecognitionException { 10965 public final Enumerator ruleMultiplicativeBinaryOperator() throws RecognitionException {
9374 Enumerator current = null; 10966 Enumerator current = null;
9375 10967
@@ -9380,31 +10972,31 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9380 enterRule(); 10972 enterRule();
9381 10973
9382 try { 10974 try {
9383 // InternalSolverLanguageParser.g:3616:2: ( ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) ) 10975 // InternalSolverLanguageParser.g:4305:2: ( ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) )
9384 // InternalSolverLanguageParser.g:3617:2: ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) 10976 // InternalSolverLanguageParser.g:4306:2: ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) )
9385 { 10977 {
9386 // InternalSolverLanguageParser.g:3617:2: ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) ) 10978 // InternalSolverLanguageParser.g:4306:2: ( (enumLiteral_0= Asterisk ) | (enumLiteral_1= Solidus ) )
9387 int alt47=2; 10979 int alt55=2;
9388 int LA47_0 = input.LA(1); 10980 int LA55_0 = input.LA(1);
9389 10981
9390 if ( (LA47_0==Asterisk) ) { 10982 if ( (LA55_0==Asterisk) ) {
9391 alt47=1; 10983 alt55=1;
9392 } 10984 }
9393 else if ( (LA47_0==Solidus) ) { 10985 else if ( (LA55_0==Solidus) ) {
9394 alt47=2; 10986 alt55=2;
9395 } 10987 }
9396 else { 10988 else {
9397 NoViableAltException nvae = 10989 NoViableAltException nvae =
9398 new NoViableAltException("", 47, 0, input); 10990 new NoViableAltException("", 55, 0, input);
9399 10991
9400 throw nvae; 10992 throw nvae;
9401 } 10993 }
9402 switch (alt47) { 10994 switch (alt55) {
9403 case 1 : 10995 case 1 :
9404 // InternalSolverLanguageParser.g:3618:3: (enumLiteral_0= Asterisk ) 10996 // InternalSolverLanguageParser.g:4307:3: (enumLiteral_0= Asterisk )
9405 { 10997 {
9406 // InternalSolverLanguageParser.g:3618:3: (enumLiteral_0= Asterisk ) 10998 // InternalSolverLanguageParser.g:4307:3: (enumLiteral_0= Asterisk )
9407 // InternalSolverLanguageParser.g:3619:4: enumLiteral_0= Asterisk 10999 // InternalSolverLanguageParser.g:4308:4: enumLiteral_0= Asterisk
9408 { 11000 {
9409 enumLiteral_0=(Token)match(input,Asterisk,FOLLOW_2); 11001 enumLiteral_0=(Token)match(input,Asterisk,FOLLOW_2);
9410 11002
@@ -9418,10 +11010,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9418 } 11010 }
9419 break; 11011 break;
9420 case 2 : 11012 case 2 :
9421 // InternalSolverLanguageParser.g:3626:3: (enumLiteral_1= Solidus ) 11013 // InternalSolverLanguageParser.g:4315:3: (enumLiteral_1= Solidus )
9422 { 11014 {
9423 // InternalSolverLanguageParser.g:3626:3: (enumLiteral_1= Solidus ) 11015 // InternalSolverLanguageParser.g:4315:3: (enumLiteral_1= Solidus )
9424 // InternalSolverLanguageParser.g:3627:4: enumLiteral_1= Solidus 11016 // InternalSolverLanguageParser.g:4316:4: enumLiteral_1= Solidus
9425 { 11017 {
9426 enumLiteral_1=(Token)match(input,Solidus,FOLLOW_2); 11018 enumLiteral_1=(Token)match(input,Solidus,FOLLOW_2);
9427 11019
@@ -9457,7 +11049,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9457 11049
9458 11050
9459 // $ANTLR start "ruleExponentialOp" 11051 // $ANTLR start "ruleExponentialOp"
9460 // InternalSolverLanguageParser.g:3637:1: ruleExponentialOp returns [Enumerator current=null] : (enumLiteral_0= CircumflexAccent ) ; 11052 // InternalSolverLanguageParser.g:4326:1: ruleExponentialOp returns [Enumerator current=null] : (enumLiteral_0= CircumflexAccent ) ;
9461 public final Enumerator ruleExponentialOp() throws RecognitionException { 11053 public final Enumerator ruleExponentialOp() throws RecognitionException {
9462 Enumerator current = null; 11054 Enumerator current = null;
9463 11055
@@ -9467,11 +11059,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9467 enterRule(); 11059 enterRule();
9468 11060
9469 try { 11061 try {
9470 // InternalSolverLanguageParser.g:3643:2: ( (enumLiteral_0= CircumflexAccent ) ) 11062 // InternalSolverLanguageParser.g:4332:2: ( (enumLiteral_0= CircumflexAccent ) )
9471 // InternalSolverLanguageParser.g:3644:2: (enumLiteral_0= CircumflexAccent ) 11063 // InternalSolverLanguageParser.g:4333:2: (enumLiteral_0= CircumflexAccent )
9472 { 11064 {
9473 // InternalSolverLanguageParser.g:3644:2: (enumLiteral_0= CircumflexAccent ) 11065 // InternalSolverLanguageParser.g:4333:2: (enumLiteral_0= CircumflexAccent )
9474 // InternalSolverLanguageParser.g:3645:3: enumLiteral_0= CircumflexAccent 11066 // InternalSolverLanguageParser.g:4334:3: enumLiteral_0= CircumflexAccent
9475 { 11067 {
9476 enumLiteral_0=(Token)match(input,CircumflexAccent,FOLLOW_2); 11068 enumLiteral_0=(Token)match(input,CircumflexAccent,FOLLOW_2);
9477 11069
@@ -9501,7 +11093,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9501 11093
9502 11094
9503 // $ANTLR start "ruleUnaryOp" 11095 // $ANTLR start "ruleUnaryOp"
9504 // InternalSolverLanguageParser.g:3654:1: ruleUnaryOp returns [Enumerator current=null] : ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) ) ; 11096 // InternalSolverLanguageParser.g:4343:1: ruleUnaryOp returns [Enumerator current=null] : ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) ) ;
9505 public final Enumerator ruleUnaryOp() throws RecognitionException { 11097 public final Enumerator ruleUnaryOp() throws RecognitionException {
9506 Enumerator current = null; 11098 Enumerator current = null;
9507 11099
@@ -9516,55 +11108,55 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9516 enterRule(); 11108 enterRule();
9517 11109
9518 try { 11110 try {
9519 // InternalSolverLanguageParser.g:3660:2: ( ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) ) ) 11111 // InternalSolverLanguageParser.g:4349:2: ( ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) ) )
9520 // InternalSolverLanguageParser.g:3661:2: ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) ) 11112 // InternalSolverLanguageParser.g:4350:2: ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) )
9521 { 11113 {
9522 // InternalSolverLanguageParser.g:3661:2: ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) ) 11114 // InternalSolverLanguageParser.g:4350:2: ( (enumLiteral_0= ExclamationMark ) | (enumLiteral_1= PlusSign ) | (enumLiteral_2= HyphenMinus ) | (enumLiteral_3= May ) | (enumLiteral_4= Must ) | (enumLiteral_5= Current ) )
9523 int alt48=6; 11115 int alt56=6;
9524 switch ( input.LA(1) ) { 11116 switch ( input.LA(1) ) {
9525 case ExclamationMark: 11117 case ExclamationMark:
9526 { 11118 {
9527 alt48=1; 11119 alt56=1;
9528 } 11120 }
9529 break; 11121 break;
9530 case PlusSign: 11122 case PlusSign:
9531 { 11123 {
9532 alt48=2; 11124 alt56=2;
9533 } 11125 }
9534 break; 11126 break;
9535 case HyphenMinus: 11127 case HyphenMinus:
9536 { 11128 {
9537 alt48=3; 11129 alt56=3;
9538 } 11130 }
9539 break; 11131 break;
9540 case May: 11132 case May:
9541 { 11133 {
9542 alt48=4; 11134 alt56=4;
9543 } 11135 }
9544 break; 11136 break;
9545 case Must: 11137 case Must:
9546 { 11138 {
9547 alt48=5; 11139 alt56=5;
9548 } 11140 }
9549 break; 11141 break;
9550 case Current: 11142 case Current:
9551 { 11143 {
9552 alt48=6; 11144 alt56=6;
9553 } 11145 }
9554 break; 11146 break;
9555 default: 11147 default:
9556 NoViableAltException nvae = 11148 NoViableAltException nvae =
9557 new NoViableAltException("", 48, 0, input); 11149 new NoViableAltException("", 56, 0, input);
9558 11150
9559 throw nvae; 11151 throw nvae;
9560 } 11152 }
9561 11153
9562 switch (alt48) { 11154 switch (alt56) {
9563 case 1 : 11155 case 1 :
9564 // InternalSolverLanguageParser.g:3662:3: (enumLiteral_0= ExclamationMark ) 11156 // InternalSolverLanguageParser.g:4351:3: (enumLiteral_0= ExclamationMark )
9565 { 11157 {
9566 // InternalSolverLanguageParser.g:3662:3: (enumLiteral_0= ExclamationMark ) 11158 // InternalSolverLanguageParser.g:4351:3: (enumLiteral_0= ExclamationMark )
9567 // InternalSolverLanguageParser.g:3663:4: enumLiteral_0= ExclamationMark 11159 // InternalSolverLanguageParser.g:4352:4: enumLiteral_0= ExclamationMark
9568 { 11160 {
9569 enumLiteral_0=(Token)match(input,ExclamationMark,FOLLOW_2); 11161 enumLiteral_0=(Token)match(input,ExclamationMark,FOLLOW_2);
9570 11162
@@ -9578,10 +11170,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9578 } 11170 }
9579 break; 11171 break;
9580 case 2 : 11172 case 2 :
9581 // InternalSolverLanguageParser.g:3670:3: (enumLiteral_1= PlusSign ) 11173 // InternalSolverLanguageParser.g:4359:3: (enumLiteral_1= PlusSign )
9582 { 11174 {
9583 // InternalSolverLanguageParser.g:3670:3: (enumLiteral_1= PlusSign ) 11175 // InternalSolverLanguageParser.g:4359:3: (enumLiteral_1= PlusSign )
9584 // InternalSolverLanguageParser.g:3671:4: enumLiteral_1= PlusSign 11176 // InternalSolverLanguageParser.g:4360:4: enumLiteral_1= PlusSign
9585 { 11177 {
9586 enumLiteral_1=(Token)match(input,PlusSign,FOLLOW_2); 11178 enumLiteral_1=(Token)match(input,PlusSign,FOLLOW_2);
9587 11179
@@ -9595,10 +11187,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9595 } 11187 }
9596 break; 11188 break;
9597 case 3 : 11189 case 3 :
9598 // InternalSolverLanguageParser.g:3678:3: (enumLiteral_2= HyphenMinus ) 11190 // InternalSolverLanguageParser.g:4367:3: (enumLiteral_2= HyphenMinus )
9599 { 11191 {
9600 // InternalSolverLanguageParser.g:3678:3: (enumLiteral_2= HyphenMinus ) 11192 // InternalSolverLanguageParser.g:4367:3: (enumLiteral_2= HyphenMinus )
9601 // InternalSolverLanguageParser.g:3679:4: enumLiteral_2= HyphenMinus 11193 // InternalSolverLanguageParser.g:4368:4: enumLiteral_2= HyphenMinus
9602 { 11194 {
9603 enumLiteral_2=(Token)match(input,HyphenMinus,FOLLOW_2); 11195 enumLiteral_2=(Token)match(input,HyphenMinus,FOLLOW_2);
9604 11196
@@ -9612,10 +11204,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9612 } 11204 }
9613 break; 11205 break;
9614 case 4 : 11206 case 4 :
9615 // InternalSolverLanguageParser.g:3686:3: (enumLiteral_3= May ) 11207 // InternalSolverLanguageParser.g:4375:3: (enumLiteral_3= May )
9616 { 11208 {
9617 // InternalSolverLanguageParser.g:3686:3: (enumLiteral_3= May ) 11209 // InternalSolverLanguageParser.g:4375:3: (enumLiteral_3= May )
9618 // InternalSolverLanguageParser.g:3687:4: enumLiteral_3= May 11210 // InternalSolverLanguageParser.g:4376:4: enumLiteral_3= May
9619 { 11211 {
9620 enumLiteral_3=(Token)match(input,May,FOLLOW_2); 11212 enumLiteral_3=(Token)match(input,May,FOLLOW_2);
9621 11213
@@ -9629,10 +11221,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9629 } 11221 }
9630 break; 11222 break;
9631 case 5 : 11223 case 5 :
9632 // InternalSolverLanguageParser.g:3694:3: (enumLiteral_4= Must ) 11224 // InternalSolverLanguageParser.g:4383:3: (enumLiteral_4= Must )
9633 { 11225 {
9634 // InternalSolverLanguageParser.g:3694:3: (enumLiteral_4= Must ) 11226 // InternalSolverLanguageParser.g:4383:3: (enumLiteral_4= Must )
9635 // InternalSolverLanguageParser.g:3695:4: enumLiteral_4= Must 11227 // InternalSolverLanguageParser.g:4384:4: enumLiteral_4= Must
9636 { 11228 {
9637 enumLiteral_4=(Token)match(input,Must,FOLLOW_2); 11229 enumLiteral_4=(Token)match(input,Must,FOLLOW_2);
9638 11230
@@ -9646,10 +11238,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9646 } 11238 }
9647 break; 11239 break;
9648 case 6 : 11240 case 6 :
9649 // InternalSolverLanguageParser.g:3702:3: (enumLiteral_5= Current ) 11241 // InternalSolverLanguageParser.g:4391:3: (enumLiteral_5= Current )
9650 { 11242 {
9651 // InternalSolverLanguageParser.g:3702:3: (enumLiteral_5= Current ) 11243 // InternalSolverLanguageParser.g:4391:3: (enumLiteral_5= Current )
9652 // InternalSolverLanguageParser.g:3703:4: enumLiteral_5= Current 11244 // InternalSolverLanguageParser.g:4392:4: enumLiteral_5= Current
9653 { 11245 {
9654 enumLiteral_5=(Token)match(input,Current,FOLLOW_2); 11246 enumLiteral_5=(Token)match(input,Current,FOLLOW_2);
9655 11247
@@ -9684,76 +11276,58 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9684 // $ANTLR end "ruleUnaryOp" 11276 // $ANTLR end "ruleUnaryOp"
9685 11277
9686 11278
9687 // $ANTLR start "ruleAggregationOp" 11279 // $ANTLR start "ruleQuantifier"
9688 // InternalSolverLanguageParser.g:3713:1: ruleAggregationOp returns [Enumerator current=null] : ( (enumLiteral_0= Only ) | (enumLiteral_1= Sum ) | (enumLiteral_2= Prod ) | (enumLiteral_3= Avg ) | (enumLiteral_4= Min ) | (enumLiteral_5= Max ) ) ; 11280 // InternalSolverLanguageParser.g:4402:1: ruleQuantifier returns [Enumerator current=null] : ( (enumLiteral_0= Exists ) | (enumLiteral_1= Forall ) | (enumLiteral_2= Count ) ) ;
9689 public final Enumerator ruleAggregationOp() throws RecognitionException { 11281 public final Enumerator ruleQuantifier() throws RecognitionException {
9690 Enumerator current = null; 11282 Enumerator current = null;
9691 11283
9692 Token enumLiteral_0=null; 11284 Token enumLiteral_0=null;
9693 Token enumLiteral_1=null; 11285 Token enumLiteral_1=null;
9694 Token enumLiteral_2=null; 11286 Token enumLiteral_2=null;
9695 Token enumLiteral_3=null;
9696 Token enumLiteral_4=null;
9697 Token enumLiteral_5=null;
9698 11287
9699 11288
9700 enterRule(); 11289 enterRule();
9701 11290
9702 try { 11291 try {
9703 // InternalSolverLanguageParser.g:3719:2: ( ( (enumLiteral_0= Only ) | (enumLiteral_1= Sum ) | (enumLiteral_2= Prod ) | (enumLiteral_3= Avg ) | (enumLiteral_4= Min ) | (enumLiteral_5= Max ) ) ) 11292 // InternalSolverLanguageParser.g:4408:2: ( ( (enumLiteral_0= Exists ) | (enumLiteral_1= Forall ) | (enumLiteral_2= Count ) ) )
9704 // InternalSolverLanguageParser.g:3720:2: ( (enumLiteral_0= Only ) | (enumLiteral_1= Sum ) | (enumLiteral_2= Prod ) | (enumLiteral_3= Avg ) | (enumLiteral_4= Min ) | (enumLiteral_5= Max ) ) 11293 // InternalSolverLanguageParser.g:4409:2: ( (enumLiteral_0= Exists ) | (enumLiteral_1= Forall ) | (enumLiteral_2= Count ) )
9705 { 11294 {
9706 // InternalSolverLanguageParser.g:3720:2: ( (enumLiteral_0= Only ) | (enumLiteral_1= Sum ) | (enumLiteral_2= Prod ) | (enumLiteral_3= Avg ) | (enumLiteral_4= Min ) | (enumLiteral_5= Max ) ) 11295 // InternalSolverLanguageParser.g:4409:2: ( (enumLiteral_0= Exists ) | (enumLiteral_1= Forall ) | (enumLiteral_2= Count ) )
9707 int alt49=6; 11296 int alt57=3;
9708 switch ( input.LA(1) ) { 11297 switch ( input.LA(1) ) {
9709 case Only: 11298 case Exists:
9710 {
9711 alt49=1;
9712 }
9713 break;
9714 case Sum:
9715 { 11299 {
9716 alt49=2; 11300 alt57=1;
9717 }
9718 break;
9719 case Prod:
9720 {
9721 alt49=3;
9722 }
9723 break;
9724 case Avg:
9725 {
9726 alt49=4;
9727 } 11301 }
9728 break; 11302 break;
9729 case Min: 11303 case Forall:
9730 { 11304 {
9731 alt49=5; 11305 alt57=2;
9732 } 11306 }
9733 break; 11307 break;
9734 case Max: 11308 case Count:
9735 { 11309 {
9736 alt49=6; 11310 alt57=3;
9737 } 11311 }
9738 break; 11312 break;
9739 default: 11313 default:
9740 NoViableAltException nvae = 11314 NoViableAltException nvae =
9741 new NoViableAltException("", 49, 0, input); 11315 new NoViableAltException("", 57, 0, input);
9742 11316
9743 throw nvae; 11317 throw nvae;
9744 } 11318 }
9745 11319
9746 switch (alt49) { 11320 switch (alt57) {
9747 case 1 : 11321 case 1 :
9748 // InternalSolverLanguageParser.g:3721:3: (enumLiteral_0= Only ) 11322 // InternalSolverLanguageParser.g:4410:3: (enumLiteral_0= Exists )
9749 { 11323 {
9750 // InternalSolverLanguageParser.g:3721:3: (enumLiteral_0= Only ) 11324 // InternalSolverLanguageParser.g:4410:3: (enumLiteral_0= Exists )
9751 // InternalSolverLanguageParser.g:3722:4: enumLiteral_0= Only 11325 // InternalSolverLanguageParser.g:4411:4: enumLiteral_0= Exists
9752 { 11326 {
9753 enumLiteral_0=(Token)match(input,Only,FOLLOW_2); 11327 enumLiteral_0=(Token)match(input,Exists,FOLLOW_2);
9754 11328
9755 current = grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); 11329 current = grammarAccess.getQuantifierAccess().getEXISTSEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
9756 newLeafNode(enumLiteral_0, grammarAccess.getAggregationOpAccess().getONLYEnumLiteralDeclaration_0()); 11330 newLeafNode(enumLiteral_0, grammarAccess.getQuantifierAccess().getEXISTSEnumLiteralDeclaration_0());
9757 11331
9758 11332
9759 } 11333 }
@@ -9762,15 +11336,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9762 } 11336 }
9763 break; 11337 break;
9764 case 2 : 11338 case 2 :
9765 // InternalSolverLanguageParser.g:3729:3: (enumLiteral_1= Sum ) 11339 // InternalSolverLanguageParser.g:4418:3: (enumLiteral_1= Forall )
9766 { 11340 {
9767 // InternalSolverLanguageParser.g:3729:3: (enumLiteral_1= Sum ) 11341 // InternalSolverLanguageParser.g:4418:3: (enumLiteral_1= Forall )
9768 // InternalSolverLanguageParser.g:3730:4: enumLiteral_1= Sum 11342 // InternalSolverLanguageParser.g:4419:4: enumLiteral_1= Forall
9769 { 11343 {
9770 enumLiteral_1=(Token)match(input,Sum,FOLLOW_2); 11344 enumLiteral_1=(Token)match(input,Forall,FOLLOW_2);
9771 11345
9772 current = grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); 11346 current = grammarAccess.getQuantifierAccess().getFORALLEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
9773 newLeafNode(enumLiteral_1, grammarAccess.getAggregationOpAccess().getSUMEnumLiteralDeclaration_1()); 11347 newLeafNode(enumLiteral_1, grammarAccess.getQuantifierAccess().getFORALLEnumLiteralDeclaration_1());
9774 11348
9775 11349
9776 } 11350 }
@@ -9779,66 +11353,15 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9779 } 11353 }
9780 break; 11354 break;
9781 case 3 : 11355 case 3 :
9782 // InternalSolverLanguageParser.g:3737:3: (enumLiteral_2= Prod ) 11356 // InternalSolverLanguageParser.g:4426:3: (enumLiteral_2= Count )
9783 {
9784 // InternalSolverLanguageParser.g:3737:3: (enumLiteral_2= Prod )
9785 // InternalSolverLanguageParser.g:3738:4: enumLiteral_2= Prod
9786 {
9787 enumLiteral_2=(Token)match(input,Prod,FOLLOW_2);
9788
9789 current = grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
9790 newLeafNode(enumLiteral_2, grammarAccess.getAggregationOpAccess().getPRODEnumLiteralDeclaration_2());
9791
9792
9793 }
9794
9795
9796 }
9797 break;
9798 case 4 :
9799 // InternalSolverLanguageParser.g:3745:3: (enumLiteral_3= Avg )
9800 { 11357 {
9801 // InternalSolverLanguageParser.g:3745:3: (enumLiteral_3= Avg ) 11358 // InternalSolverLanguageParser.g:4426:3: (enumLiteral_2= Count )
9802 // InternalSolverLanguageParser.g:3746:4: enumLiteral_3= Avg 11359 // InternalSolverLanguageParser.g:4427:4: enumLiteral_2= Count
9803 { 11360 {
9804 enumLiteral_3=(Token)match(input,Avg,FOLLOW_2); 11361 enumLiteral_2=(Token)match(input,Count,FOLLOW_2);
9805 11362
9806 current = grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); 11363 current = grammarAccess.getQuantifierAccess().getCOUNTEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
9807 newLeafNode(enumLiteral_3, grammarAccess.getAggregationOpAccess().getAVGEnumLiteralDeclaration_3()); 11364 newLeafNode(enumLiteral_2, grammarAccess.getQuantifierAccess().getCOUNTEnumLiteralDeclaration_2());
9808
9809
9810 }
9811
9812
9813 }
9814 break;
9815 case 5 :
9816 // InternalSolverLanguageParser.g:3753:3: (enumLiteral_4= Min )
9817 {
9818 // InternalSolverLanguageParser.g:3753:3: (enumLiteral_4= Min )
9819 // InternalSolverLanguageParser.g:3754:4: enumLiteral_4= Min
9820 {
9821 enumLiteral_4=(Token)match(input,Min,FOLLOW_2);
9822
9823 current = grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
9824 newLeafNode(enumLiteral_4, grammarAccess.getAggregationOpAccess().getMINEnumLiteralDeclaration_4());
9825
9826
9827 }
9828
9829
9830 }
9831 break;
9832 case 6 :
9833 // InternalSolverLanguageParser.g:3761:3: (enumLiteral_5= Max )
9834 {
9835 // InternalSolverLanguageParser.g:3761:3: (enumLiteral_5= Max )
9836 // InternalSolverLanguageParser.g:3762:4: enumLiteral_5= Max
9837 {
9838 enumLiteral_5=(Token)match(input,Max,FOLLOW_2);
9839
9840 current = grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
9841 newLeafNode(enumLiteral_5, grammarAccess.getAggregationOpAccess().getMAXEnumLiteralDeclaration_5());
9842 11365
9843 11366
9844 } 11367 }
@@ -9865,11 +11388,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9865 } 11388 }
9866 return current; 11389 return current;
9867 } 11390 }
9868 // $ANTLR end "ruleAggregationOp" 11391 // $ANTLR end "ruleQuantifier"
9869 11392
9870 11393
9871 // $ANTLR start "ruleLogicValue" 11394 // $ANTLR start "ruleLogicValue"
9872 // InternalSolverLanguageParser.g:3772:1: ruleLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) ; 11395 // InternalSolverLanguageParser.g:4437:1: ruleLogicValue returns [Enumerator current=null] : ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) ;
9873 public final Enumerator ruleLogicValue() throws RecognitionException { 11396 public final Enumerator ruleLogicValue() throws RecognitionException {
9874 Enumerator current = null; 11397 Enumerator current = null;
9875 11398
@@ -9882,45 +11405,45 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9882 enterRule(); 11405 enterRule();
9883 11406
9884 try { 11407 try {
9885 // InternalSolverLanguageParser.g:3778:2: ( ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) ) 11408 // InternalSolverLanguageParser.g:4443:2: ( ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) )
9886 // InternalSolverLanguageParser.g:3779:2: ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) 11409 // InternalSolverLanguageParser.g:4444:2: ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) )
9887 { 11410 {
9888 // InternalSolverLanguageParser.g:3779:2: ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) ) 11411 // InternalSolverLanguageParser.g:4444:2: ( (enumLiteral_0= True ) | (enumLiteral_1= False ) | (enumLiteral_2= Unknown ) | (enumLiteral_3= Error ) )
9889 int alt50=4; 11412 int alt58=4;
9890 switch ( input.LA(1) ) { 11413 switch ( input.LA(1) ) {
9891 case True: 11414 case True:
9892 { 11415 {
9893 alt50=1; 11416 alt58=1;
9894 } 11417 }
9895 break; 11418 break;
9896 case False: 11419 case False:
9897 { 11420 {
9898 alt50=2; 11421 alt58=2;
9899 } 11422 }
9900 break; 11423 break;
9901 case Unknown: 11424 case Unknown:
9902 { 11425 {
9903 alt50=3; 11426 alt58=3;
9904 } 11427 }
9905 break; 11428 break;
9906 case Error: 11429 case Error:
9907 { 11430 {
9908 alt50=4; 11431 alt58=4;
9909 } 11432 }
9910 break; 11433 break;
9911 default: 11434 default:
9912 NoViableAltException nvae = 11435 NoViableAltException nvae =
9913 new NoViableAltException("", 50, 0, input); 11436 new NoViableAltException("", 58, 0, input);
9914 11437
9915 throw nvae; 11438 throw nvae;
9916 } 11439 }
9917 11440
9918 switch (alt50) { 11441 switch (alt58) {
9919 case 1 : 11442 case 1 :
9920 // InternalSolverLanguageParser.g:3780:3: (enumLiteral_0= True ) 11443 // InternalSolverLanguageParser.g:4445:3: (enumLiteral_0= True )
9921 { 11444 {
9922 // InternalSolverLanguageParser.g:3780:3: (enumLiteral_0= True ) 11445 // InternalSolverLanguageParser.g:4445:3: (enumLiteral_0= True )
9923 // InternalSolverLanguageParser.g:3781:4: enumLiteral_0= True 11446 // InternalSolverLanguageParser.g:4446:4: enumLiteral_0= True
9924 { 11447 {
9925 enumLiteral_0=(Token)match(input,True,FOLLOW_2); 11448 enumLiteral_0=(Token)match(input,True,FOLLOW_2);
9926 11449
@@ -9934,10 +11457,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9934 } 11457 }
9935 break; 11458 break;
9936 case 2 : 11459 case 2 :
9937 // InternalSolverLanguageParser.g:3788:3: (enumLiteral_1= False ) 11460 // InternalSolverLanguageParser.g:4453:3: (enumLiteral_1= False )
9938 { 11461 {
9939 // InternalSolverLanguageParser.g:3788:3: (enumLiteral_1= False ) 11462 // InternalSolverLanguageParser.g:4453:3: (enumLiteral_1= False )
9940 // InternalSolverLanguageParser.g:3789:4: enumLiteral_1= False 11463 // InternalSolverLanguageParser.g:4454:4: enumLiteral_1= False
9941 { 11464 {
9942 enumLiteral_1=(Token)match(input,False,FOLLOW_2); 11465 enumLiteral_1=(Token)match(input,False,FOLLOW_2);
9943 11466
@@ -9951,10 +11474,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9951 } 11474 }
9952 break; 11475 break;
9953 case 3 : 11476 case 3 :
9954 // InternalSolverLanguageParser.g:3796:3: (enumLiteral_2= Unknown ) 11477 // InternalSolverLanguageParser.g:4461:3: (enumLiteral_2= Unknown )
9955 { 11478 {
9956 // InternalSolverLanguageParser.g:3796:3: (enumLiteral_2= Unknown ) 11479 // InternalSolverLanguageParser.g:4461:3: (enumLiteral_2= Unknown )
9957 // InternalSolverLanguageParser.g:3797:4: enumLiteral_2= Unknown 11480 // InternalSolverLanguageParser.g:4462:4: enumLiteral_2= Unknown
9958 { 11481 {
9959 enumLiteral_2=(Token)match(input,Unknown,FOLLOW_2); 11482 enumLiteral_2=(Token)match(input,Unknown,FOLLOW_2);
9960 11483
@@ -9968,10 +11491,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
9968 } 11491 }
9969 break; 11492 break;
9970 case 4 : 11493 case 4 :
9971 // InternalSolverLanguageParser.g:3804:3: (enumLiteral_3= Error ) 11494 // InternalSolverLanguageParser.g:4469:3: (enumLiteral_3= Error )
9972 { 11495 {
9973 // InternalSolverLanguageParser.g:3804:3: (enumLiteral_3= Error ) 11496 // InternalSolverLanguageParser.g:4469:3: (enumLiteral_3= Error )
9974 // InternalSolverLanguageParser.g:3805:4: enumLiteral_3= Error 11497 // InternalSolverLanguageParser.g:4470:4: enumLiteral_3= Error
9975 { 11498 {
9976 enumLiteral_3=(Token)match(input,Error,FOLLOW_2); 11499 enumLiteral_3=(Token)match(input,Error,FOLLOW_2);
9977 11500
@@ -10007,7 +11530,7 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10007 11530
10008 11531
10009 // $ANTLR start "ruleObjectiveKind" 11532 // $ANTLR start "ruleObjectiveKind"
10010 // InternalSolverLanguageParser.g:3815:1: ruleObjectiveKind returns [Enumerator current=null] : ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) ; 11533 // InternalSolverLanguageParser.g:4480:1: ruleObjectiveKind returns [Enumerator current=null] : ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) ;
10011 public final Enumerator ruleObjectiveKind() throws RecognitionException { 11534 public final Enumerator ruleObjectiveKind() throws RecognitionException {
10012 Enumerator current = null; 11535 Enumerator current = null;
10013 11536
@@ -10018,31 +11541,31 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10018 enterRule(); 11541 enterRule();
10019 11542
10020 try { 11543 try {
10021 // InternalSolverLanguageParser.g:3821:2: ( ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) ) 11544 // InternalSolverLanguageParser.g:4486:2: ( ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) )
10022 // InternalSolverLanguageParser.g:3822:2: ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) 11545 // InternalSolverLanguageParser.g:4487:2: ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) )
10023 { 11546 {
10024 // InternalSolverLanguageParser.g:3822:2: ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) ) 11547 // InternalSolverLanguageParser.g:4487:2: ( (enumLiteral_0= Minimize ) | (enumLiteral_1= Maximize ) )
10025 int alt51=2; 11548 int alt59=2;
10026 int LA51_0 = input.LA(1); 11549 int LA59_0 = input.LA(1);
10027 11550
10028 if ( (LA51_0==Minimize) ) { 11551 if ( (LA59_0==Minimize) ) {
10029 alt51=1; 11552 alt59=1;
10030 } 11553 }
10031 else if ( (LA51_0==Maximize) ) { 11554 else if ( (LA59_0==Maximize) ) {
10032 alt51=2; 11555 alt59=2;
10033 } 11556 }
10034 else { 11557 else {
10035 NoViableAltException nvae = 11558 NoViableAltException nvae =
10036 new NoViableAltException("", 51, 0, input); 11559 new NoViableAltException("", 59, 0, input);
10037 11560
10038 throw nvae; 11561 throw nvae;
10039 } 11562 }
10040 switch (alt51) { 11563 switch (alt59) {
10041 case 1 : 11564 case 1 :
10042 // InternalSolverLanguageParser.g:3823:3: (enumLiteral_0= Minimize ) 11565 // InternalSolverLanguageParser.g:4488:3: (enumLiteral_0= Minimize )
10043 { 11566 {
10044 // InternalSolverLanguageParser.g:3823:3: (enumLiteral_0= Minimize ) 11567 // InternalSolverLanguageParser.g:4488:3: (enumLiteral_0= Minimize )
10045 // InternalSolverLanguageParser.g:3824:4: enumLiteral_0= Minimize 11568 // InternalSolverLanguageParser.g:4489:4: enumLiteral_0= Minimize
10046 { 11569 {
10047 enumLiteral_0=(Token)match(input,Minimize,FOLLOW_2); 11570 enumLiteral_0=(Token)match(input,Minimize,FOLLOW_2);
10048 11571
@@ -10056,10 +11579,10 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10056 } 11579 }
10057 break; 11580 break;
10058 case 2 : 11581 case 2 :
10059 // InternalSolverLanguageParser.g:3831:3: (enumLiteral_1= Maximize ) 11582 // InternalSolverLanguageParser.g:4496:3: (enumLiteral_1= Maximize )
10060 { 11583 {
10061 // InternalSolverLanguageParser.g:3831:3: (enumLiteral_1= Maximize ) 11584 // InternalSolverLanguageParser.g:4496:3: (enumLiteral_1= Maximize )
10062 // InternalSolverLanguageParser.g:3832:4: enumLiteral_1= Maximize 11585 // InternalSolverLanguageParser.g:4497:4: enumLiteral_1= Maximize
10063 { 11586 {
10064 enumLiteral_1=(Token)match(input,Maximize,FOLLOW_2); 11587 enumLiteral_1=(Token)match(input,Maximize,FOLLOW_2);
10065 11588
@@ -10097,28 +11620,43 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10097 11620
10098 11621
10099 protected DFA2 dfa2 = new DFA2(this); 11622 protected DFA2 dfa2 = new DFA2(this);
10100 protected DFA20 dfa20 = new DFA20(this); 11623 protected DFA23 dfa23 = new DFA23(this);
10101 protected DFA24 dfa24 = new DFA24(this); 11624 protected DFA29 dfa29 = new DFA29(this);
10102 protected DFA35 dfa35 = new DFA35(this); 11625 protected DFA33 dfa33 = new DFA33(this);
10103 static final String dfa_1s = "\15\uffff"; 11626 protected DFA44 dfa44 = new DFA44(this);
10104 static final String dfa_2s = "\1\5\1\uffff\1\5\2\uffff\1\36\7\uffff"; 11627 static final String dfa_1s = "\33\uffff";
10105 static final String dfa_3s = "\1\123\1\uffff\1\122\2\uffff\1\122\7\uffff"; 11628 static final String dfa_2s = "\1\4\1\uffff\2\40\1\4\2\uffff\1\7\3\uffff\1\105\2\uffff\2\54\1\uffff\1\40\1\105\2\54\1\uffff\1\54\1\105\2\uffff\1\54";
10106 static final String dfa_4s = "\1\uffff\1\1\1\uffff\1\2\1\4\1\uffff\1\6\1\10\1\11\1\12\1\3\1\5\1\7"; 11629 static final String dfa_3s = "\1\106\1\uffff\3\105\2\uffff\1\105\3\uffff\1\105\2\uffff\2\105\1\uffff\2\105\2\74\1\uffff\2\105\2\uffff\1\74";
10107 static final String dfa_5s = "\15\uffff}>"; 11630 static final String dfa_4s = "\1\uffff\1\1\3\uffff\1\2\1\4\1\uffff\1\12\1\13\1\14\1\uffff\1\5\1\3\2\uffff\1\11\4\uffff\1\6\2\uffff\1\7\1\10\1\uffff";
11631 static final String dfa_5s = "\33\uffff}>";
10108 static final String[] dfa_6s = { 11632 static final String[] dfa_6s = {
10109 "\1\3\1\7\1\uffff\2\11\3\uffff\1\1\1\4\1\uffff\1\1\1\uffff\1\5\1\7\2\1\1\2\1\1\1\10\2\uffff\3\1\1\6\1\uffff\1\1\5\uffff\2\1\1\6\4\1\11\uffff\1\1\1\uffff\2\1\2\uffff\1\1\1\uffff\1\1\7\uffff\1\1\5\uffff\2\1\4\uffff\2\1", 11633 "\1\5\1\10\2\uffff\2\12\1\uffff\1\1\1\6\1\uffff\2\1\1\7\1\1\1\10\2\1\1\4\1\1\1\11\1\uffff\1\1\1\uffff\1\1\1\uffff\3\1\11\uffff\1\1\1\uffff\2\1\2\uffff\1\1\1\uffff\1\1\7\uffff\1\1\5\uffff\1\1\1\3\4\uffff\1\2\1\1",
10110 "", 11634 "",
10111 "\1\3\47\uffff\2\1\1\uffff\4\1\3\uffff\1\1\1\uffff\1\12\1\uffff\4\1\1\uffff\6\1\2\uffff\1\1\4\uffff\1\3\3\uffff\1\1\1\3", 11635 "\2\1\1\uffff\6\1\1\uffff\1\1\1\uffff\1\1\1\uffff\4\1\1\13\7\1\1\uffff\2\1\3\uffff\1\14\1\uffff\3\1\1\14",
11636 "\2\1\1\uffff\6\1\1\uffff\1\1\1\uffff\1\1\1\uffff\4\1\1\uffff\7\1\1\uffff\2\1\3\uffff\1\14\1\uffff\3\1\1\14",
11637 "\1\5\33\uffff\2\1\1\uffff\6\1\1\uffff\1\1\1\uffff\1\15\1\uffff\4\1\1\uffff\6\1\2\uffff\1\1\4\uffff\1\5\3\uffff\1\1\1\5",
10112 "", 11638 "",
10113 "", 11639 "",
10114 "\1\14\11\uffff\1\14\44\uffff\1\13\4\uffff\1\13", 11640 "\1\20\70\uffff\1\17\4\uffff\1\16",
10115 "", 11641 "",
10116 "", 11642 "",
10117 "", 11643 "",
11644 "\1\21",
10118 "", 11645 "",
10119 "", 11646 "",
11647 "\1\25\5\uffff\1\22\15\uffff\1\24\4\uffff\1\23",
11648 "\1\25\23\uffff\1\24\4\uffff\1\23",
10120 "", 11649 "",
10121 "" 11650 "\2\1\1\uffff\6\1\1\uffff\1\1\1\uffff\1\1\1\uffff\4\1\1\13\7\1\1\uffff\2\1\3\uffff\1\14\1\uffff\3\1\1\14",
11651 "\1\26",
11652 "\1\30\5\uffff\1\27\11\uffff\1\31",
11653 "\1\30\17\uffff\1\31",
11654 "",
11655 "\1\25\5\uffff\1\22\15\uffff\1\24\4\uffff\1\23",
11656 "\1\32",
11657 "",
11658 "",
11659 "\1\30\5\uffff\1\27\11\uffff\1\31"
10122 }; 11660 };
10123 11661
10124 static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); 11662 static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s);
@@ -10142,26 +11680,24 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10142 this.transition = dfa_6; 11680 this.transition = dfa_6;
10143 } 11681 }
10144 public String getDescription() { 11682 public String getDescription() {
10145 return "109:3: (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_ExternPredicateDefinition_4= ruleExternPredicateDefinition | this_MetricDefinition_5= ruleMetricDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ClassDefinition_7= ruleClassDefinition | this_ScopeDefinition_8= ruleScopeDefinition | this_ObjectiveDefinition_9= ruleObjectiveDefinition )"; 11683 return "109:3: (this_AssertionOrDefinition_0= ruleAssertionOrDefinition | this_PredicateDefinition_1= rulePredicateDefinition | this_UnnamedErrorPrediateDefinition_2= ruleUnnamedErrorPrediateDefinition | this_DefaultDefinition_3= ruleDefaultDefinition | this_MetricDefinition_4= ruleMetricDefinition | this_ExternPredicateDefinition_5= ruleExternPredicateDefinition | this_ExternMetricDefinition_6= ruleExternMetricDefinition | this_ExternAggregatorDefinition_7= ruleExternAggregatorDefinition | this_ExternDatatypeDefinition_8= ruleExternDatatypeDefinition | this_ClassDefinition_9= ruleClassDefinition | this_ScopeDefinition_10= ruleScopeDefinition | this_ObjectiveDefinition_11= ruleObjectiveDefinition )";
10146 } 11684 }
10147 } 11685 }
10148 static final String dfa_7s = "\12\uffff"; 11686 static final String dfa_7s = "\10\uffff";
10149 static final String dfa_8s = "\1\uffff\2\10\6\uffff\1\10"; 11687 static final String dfa_8s = "\1\uffff\2\3\4\uffff\1\3";
10150 static final String dfa_9s = "\1\20\2\32\3\uffff\1\122\2\uffff\1\32"; 11688 static final String dfa_9s = "\1\16\2\30\2\uffff\1\105\1\uffff\1\30";
10151 static final String dfa_10s = "\1\123\2\121\3\uffff\1\122\2\uffff\1\121"; 11689 static final String dfa_10s = "\1\106\2\104\2\uffff\1\105\1\uffff\1\104";
10152 static final String dfa_11s = "\3\uffff\1\3\1\4\1\5\1\uffff\1\2\1\1\1\uffff"; 11690 static final String dfa_11s = "\3\uffff\1\1\1\2\1\uffff\1\3\1\uffff";
10153 static final String dfa_12s = "\12\uffff}>"; 11691 static final String dfa_12s = "\10\uffff}>";
10154 static final String[] dfa_13s = { 11692 static final String[] dfa_13s = {
10155 "\1\4\4\uffff\3\4\10\uffff\1\4\6\uffff\1\4\21\uffff\1\5\14\uffff\1\3\5\uffff\1\4\1\2\4\uffff\1\1\1\4", 11693 "\1\3\1\4\1\uffff\1\4\1\uffff\1\4\3\3\4\uffff\1\3\1\uffff\1\3\16\uffff\1\3\14\uffff\1\3\5\uffff\1\3\1\2\4\uffff\1\1\1\3",
10156 "\1\10\4\uffff\1\10\15\uffff\7\10\3\uffff\1\10\1\uffff\1\7\5\10\1\6\6\10\1\uffff\2\10\1\uffff\2\10\3\uffff\2\7\1\10", 11694 "\1\3\1\uffff\1\3\5\uffff\11\3\1\uffff\1\3\1\uffff\6\3\1\5\6\3\1\6\2\3\1\6\2\3\3\uffff\3\3",
10157 "\1\10\4\uffff\1\10\15\uffff\7\10\3\uffff\1\10\1\uffff\1\7\5\10\1\uffff\6\10\1\uffff\2\10\1\uffff\2\10\3\uffff\2\7\1\10", 11695 "\1\3\1\uffff\1\3\5\uffff\11\3\1\uffff\1\3\1\uffff\6\3\1\uffff\6\3\1\6\2\3\1\6\2\3\3\uffff\3\3",
10158 "", 11696 "",
10159 "", 11697 "",
11698 "\1\7",
10160 "", 11699 "",
10161 "\1\11", 11700 "\1\3\1\uffff\1\3\5\uffff\11\3\1\uffff\1\3\1\uffff\6\3\1\5\6\3\1\6\2\3\1\6\2\3\3\uffff\3\3"
10162 "",
10163 "",
10164 "\1\10\4\uffff\1\10\15\uffff\7\10\3\uffff\1\10\1\uffff\1\7\5\10\1\6\6\10\1\uffff\2\10\1\uffff\2\10\3\uffff\2\7\1\10"
10165 }; 11701 };
10166 11702
10167 static final short[] dfa_7 = DFA.unpackEncodedString(dfa_7s); 11703 static final short[] dfa_7 = DFA.unpackEncodedString(dfa_7s);
@@ -10172,11 +11708,11 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10172 static final short[] dfa_12 = DFA.unpackEncodedString(dfa_12s); 11708 static final short[] dfa_12 = DFA.unpackEncodedString(dfa_12s);
10173 static final short[][] dfa_13 = unpackEncodedStringArray(dfa_13s); 11709 static final short[][] dfa_13 = unpackEncodedStringArray(dfa_13s);
10174 11710
10175 class DFA20 extends DFA { 11711 class DFA23 extends DFA {
10176 11712
10177 public DFA20(BaseRecognizer recognizer) { 11713 public DFA23(BaseRecognizer recognizer) {
10178 this.recognizer = recognizer; 11714 this.recognizer = recognizer;
10179 this.decisionNumber = 20; 11715 this.decisionNumber = 23;
10180 this.eot = dfa_7; 11716 this.eot = dfa_7;
10181 this.eof = dfa_8; 11717 this.eof = dfa_8;
10182 this.min = dfa_9; 11718 this.min = dfa_9;
@@ -10186,60 +11722,104 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10186 this.transition = dfa_13; 11722 this.transition = dfa_13;
10187 } 11723 }
10188 public String getDescription() { 11724 public String getDescription() {
10189 return "1716:2: (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) )"; 11725 return "2100:2: (this_AtomicExpression_0= ruleAtomicExpression | this_QuantifiedExpression_1= ruleQuantifiedExpression | this_Aggregation_2= ruleAggregation )";
10190 } 11726 }
10191 } 11727 }
10192 static final String dfa_14s = "\1\uffff\2\3\3\uffff\1\11\1\uffff\1\3\1\uffff"; 11728 static final String dfa_14s = "\12\uffff";
10193 static final String dfa_15s = "\1\15\2\55\2\uffff\1\122\1\15\1\uffff\1\55\1\uffff"; 11729 static final String dfa_15s = "\1\uffff\2\10\6\uffff\1\10";
10194 static final String dfa_16s = "\1\123\2\122\2\uffff\1\122\1\123\1\uffff\1\122\1\uffff"; 11730 static final String dfa_16s = "\1\16\2\30\3\uffff\1\105\2\uffff\1\30";
10195 static final String dfa_17s = "\3\uffff\1\1\1\2\2\uffff\1\3\1\uffff\1\4"; 11731 static final String dfa_17s = "\1\106\2\104\3\uffff\1\105\2\uffff\1\104";
10196 static final String[] dfa_18s = { 11732 static final String dfa_18s = "\3\uffff\1\3\1\4\1\5\1\uffff\1\2\1\1\1\uffff";
10197 "\1\3\2\uffff\1\3\3\uffff\4\3\3\uffff\3\3\2\uffff\1\3\5\uffff\2\3\1\uffff\4\3\13\uffff\2\3\1\uffff\1\4\1\3\1\uffff\1\3\7\uffff\1\3\5\uffff\1\3\1\2\4\uffff\1\1\1\3", 11733 static final String dfa_19s = "\12\uffff}>";
10198 "\1\3\3\uffff\3\3\3\uffff\1\3\1\uffff\2\3\1\6\3\3\1\5\1\3\2\uffff\1\3\1\uffff\1\3\2\uffff\1\3\4\uffff\1\7\1\uffff\2\3\1\uffff\1\7", 11734 static final String[] dfa_20s = {
10199 "\1\3\3\uffff\3\3\3\uffff\1\3\1\uffff\2\3\1\6\3\3\1\uffff\1\3\2\uffff\1\3\1\uffff\1\3\2\uffff\1\3\4\uffff\1\7\1\uffff\2\3\1\uffff\1\7", 11735 "\1\4\5\uffff\3\4\4\uffff\1\4\1\uffff\1\4\16\uffff\1\5\14\uffff\1\3\5\uffff\1\4\1\2\4\uffff\1\1\1\4",
11736 "\1\10\1\uffff\1\10\5\uffff\11\10\1\uffff\1\10\1\uffff\1\7\5\10\1\6\6\10\1\uffff\2\10\1\uffff\2\10\3\uffff\2\7\1\10",
11737 "\1\10\1\uffff\1\10\5\uffff\11\10\1\uffff\1\10\1\uffff\1\7\5\10\1\uffff\6\10\1\uffff\2\10\1\uffff\2\10\3\uffff\2\7\1\10",
10200 "", 11738 "",
10201 "", 11739 "",
10202 "\1\10",
10203 "\1\3\2\uffff\1\3\3\uffff\4\3\3\uffff\3\3\2\uffff\1\3\5\uffff\2\3\1\uffff\4\3\13\uffff\2\3\1\11\1\uffff\1\3\1\11\1\3\7\uffff\1\3\5\uffff\2\3\4\uffff\2\3",
10204 "", 11740 "",
10205 "\1\3\3\uffff\3\3\3\uffff\1\3\1\uffff\2\3\1\6\3\3\1\5\1\3\2\uffff\1\3\1\uffff\1\3\2\uffff\1\3\4\uffff\1\7\1\uffff\2\3\1\uffff\1\7", 11741 "\1\11",
10206 "" 11742 "",
11743 "",
11744 "\1\10\1\uffff\1\10\5\uffff\11\10\1\uffff\1\10\1\uffff\1\7\5\10\1\6\6\10\1\uffff\2\10\1\uffff\2\10\3\uffff\2\7\1\10"
10207 }; 11745 };
11746
10208 static final short[] dfa_14 = DFA.unpackEncodedString(dfa_14s); 11747 static final short[] dfa_14 = DFA.unpackEncodedString(dfa_14s);
10209 static final char[] dfa_15 = DFA.unpackEncodedStringToUnsignedChars(dfa_15s); 11748 static final short[] dfa_15 = DFA.unpackEncodedString(dfa_15s);
10210 static final char[] dfa_16 = DFA.unpackEncodedStringToUnsignedChars(dfa_16s); 11749 static final char[] dfa_16 = DFA.unpackEncodedStringToUnsignedChars(dfa_16s);
10211 static final short[] dfa_17 = DFA.unpackEncodedString(dfa_17s); 11750 static final char[] dfa_17 = DFA.unpackEncodedStringToUnsignedChars(dfa_17s);
10212 static final short[][] dfa_18 = unpackEncodedStringArray(dfa_18s); 11751 static final short[] dfa_18 = DFA.unpackEncodedString(dfa_18s);
11752 static final short[] dfa_19 = DFA.unpackEncodedString(dfa_19s);
11753 static final short[][] dfa_20 = unpackEncodedStringArray(dfa_20s);
10213 11754
10214 class DFA24 extends DFA { 11755 class DFA29 extends DFA {
10215 11756
10216 public DFA24(BaseRecognizer recognizer) { 11757 public DFA29(BaseRecognizer recognizer) {
10217 this.recognizer = recognizer; 11758 this.recognizer = recognizer;
10218 this.decisionNumber = 24; 11759 this.decisionNumber = 29;
10219 this.eot = dfa_7; 11760 this.eot = dfa_14;
10220 this.eof = dfa_14; 11761 this.eof = dfa_15;
10221 this.min = dfa_15; 11762 this.min = dfa_16;
10222 this.max = dfa_16; 11763 this.max = dfa_17;
10223 this.accept = dfa_17; 11764 this.accept = dfa_18;
10224 this.special = dfa_12; 11765 this.special = dfa_19;
10225 this.transition = dfa_18; 11766 this.transition = dfa_20;
10226 } 11767 }
10227 public String getDescription() { 11768 public String getDescription() {
10228 return "1965:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument )"; 11769 return "2415:2: (this_Reference_0= ruleReference | this_Call_1= ruleCall | this_Interval_2= ruleInterval | this_Literal_3= ruleLiteral | (otherlv_4= LeftParenthesis this_Expression_5= ruleExpression otherlv_6= RightParenthesis ) )";
10229 } 11770 }
10230 } 11771 }
10231 static final String dfa_19s = "\17\uffff"; 11772 static final String dfa_21s = "\1\uffff\2\3\3\uffff\1\11\1\uffff\1\3\1\uffff";
10232 static final String dfa_20s = "\12\uffff\2\10\2\uffff\1\10"; 11773 static final String dfa_22s = "\1\13\2\40\2\uffff\1\105\1\13\1\uffff\1\40\1\uffff";
10233 static final String dfa_21s = "\1\30\1\115\3\61\1\115\1\uffff\1\122\2\uffff\3\61\1\122\1\61"; 11774 static final String dfa_23s = "\1\106\2\105\2\uffff\1\105\1\106\1\uffff\1\105\1\uffff";
10234 static final String dfa_22s = "\1\30\1\123\1\63\1\77\1\63\1\122\1\uffff\1\122\2\uffff\2\121\1\77\1\122\1\121"; 11775 static final String dfa_24s = "\3\uffff\1\1\1\2\2\uffff\1\3\1\uffff\1\4";
10235 static final String dfa_23s = "\6\uffff\1\2\1\uffff\1\3\1\1\5\uffff";
10236 static final String dfa_24s = "\17\uffff}>";
10237 static final String[] dfa_25s = { 11776 static final String[] dfa_25s = {
11777 "\1\3\2\uffff\2\3\1\uffff\1\3\1\uffff\4\3\2\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\13\uffff\2\3\1\uffff\1\4\1\3\1\uffff\1\3\7\uffff\1\3\5\uffff\1\3\1\2\4\uffff\1\1\1\3",
11778 "\1\3\3\uffff\2\3\1\uffff\2\3\1\uffff\1\3\1\uffff\2\3\1\6\3\3\1\5\1\3\2\uffff\1\3\1\uffff\2\3\1\uffff\2\3\3\uffff\1\7\1\uffff\2\3\1\uffff\1\7",
11779 "\1\3\3\uffff\2\3\1\uffff\2\3\1\uffff\1\3\1\uffff\2\3\1\6\3\3\1\uffff\1\3\2\uffff\1\3\1\uffff\2\3\1\uffff\2\3\3\uffff\1\7\1\uffff\2\3\1\uffff\1\7",
11780 "",
11781 "",
11782 "\1\10",
11783 "\1\3\2\uffff\2\3\1\uffff\1\3\1\uffff\4\3\2\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\13\uffff\2\3\1\11\1\uffff\1\3\1\11\1\3\7\uffff\1\3\5\uffff\2\3\4\uffff\2\3",
11784 "",
11785 "\1\3\3\uffff\2\3\1\uffff\2\3\1\uffff\1\3\1\uffff\2\3\1\6\3\3\1\5\1\3\2\uffff\1\3\1\uffff\2\3\1\uffff\2\3\3\uffff\1\7\1\uffff\2\3\1\uffff\1\7",
11786 ""
11787 };
11788 static final short[] dfa_21 = DFA.unpackEncodedString(dfa_21s);
11789 static final char[] dfa_22 = DFA.unpackEncodedStringToUnsignedChars(dfa_22s);
11790 static final char[] dfa_23 = DFA.unpackEncodedStringToUnsignedChars(dfa_23s);
11791 static final short[] dfa_24 = DFA.unpackEncodedString(dfa_24s);
11792 static final short[][] dfa_25 = unpackEncodedStringArray(dfa_25s);
11793
11794 class DFA33 extends DFA {
11795
11796 public DFA33(BaseRecognizer recognizer) {
11797 this.recognizer = recognizer;
11798 this.decisionNumber = 33;
11799 this.eot = dfa_14;
11800 this.eof = dfa_21;
11801 this.min = dfa_22;
11802 this.max = dfa_23;
11803 this.accept = dfa_24;
11804 this.special = dfa_19;
11805 this.transition = dfa_25;
11806 }
11807 public String getDescription() {
11808 return "2664:2: (this_ExpressionArgument_0= ruleExpressionArgument | this_StarArgument_1= ruleStarArgument | this_TypedArgument_2= ruleTypedArgument | this_TypedStarArgument_3= ruleTypedStarArgument )";
11809 }
11810 }
11811 static final String dfa_26s = "\17\uffff";
11812 static final String dfa_27s = "\12\uffff\2\10\2\uffff\1\10";
11813 static final String dfa_28s = "\1\27\1\100\3\44\1\100\1\uffff\1\105\2\uffff\3\44\1\105\1\44";
11814 static final String dfa_29s = "\1\27\1\106\1\47\1\62\1\47\1\105\1\uffff\1\105\2\uffff\2\104\1\62\1\105\1\104";
11815 static final String dfa_30s = "\6\uffff\1\2\1\uffff\1\3\1\1\5\uffff";
11816 static final String dfa_31s = "\17\uffff}>";
11817 static final String[] dfa_32s = {
10238 "\1\1", 11818 "\1\1",
10239 "\1\4\4\uffff\1\3\1\2", 11819 "\1\4\4\uffff\1\3\1\2",
10240 "\1\5\1\uffff\1\6", 11820 "\1\5\2\uffff\1\6",
10241 "\1\6\1\11\1\10\13\uffff\1\7", 11821 "\1\6\1\11\1\uffff\1\10\12\uffff\1\7",
10242 "\1\6\1\11\1\10", 11822 "\1\6\1\11\1\uffff\1\10",
10243 "\1\13\4\uffff\1\12", 11823 "\1\13\4\uffff\1\12",
10244 "", 11824 "",
10245 "\1\14", 11825 "\1\14",
@@ -10247,88 +11827,96 @@ public class InternalSolverLanguageParser extends AbstractInternalAntlrParser {
10247 "", 11827 "",
10248 "\1\6\15\uffff\1\15\21\uffff\1\10", 11828 "\1\6\15\uffff\1\15\21\uffff\1\10",
10249 "\1\6\37\uffff\1\10", 11829 "\1\6\37\uffff\1\10",
10250 "\1\6\1\11\1\10\13\uffff\1\7", 11830 "\1\6\1\11\1\uffff\1\10\12\uffff\1\7",
10251 "\1\16", 11831 "\1\16",
10252 "\1\6\15\uffff\1\15\21\uffff\1\10" 11832 "\1\6\15\uffff\1\15\21\uffff\1\10"
10253 }; 11833 };
10254 11834
10255 static final short[] dfa_19 = DFA.unpackEncodedString(dfa_19s); 11835 static final short[] dfa_26 = DFA.unpackEncodedString(dfa_26s);
10256 static final short[] dfa_20 = DFA.unpackEncodedString(dfa_20s); 11836 static final short[] dfa_27 = DFA.unpackEncodedString(dfa_27s);
10257 static final char[] dfa_21 = DFA.unpackEncodedStringToUnsignedChars(dfa_21s); 11837 static final char[] dfa_28 = DFA.unpackEncodedStringToUnsignedChars(dfa_28s);
10258 static final char[] dfa_22 = DFA.unpackEncodedStringToUnsignedChars(dfa_22s); 11838 static final char[] dfa_29 = DFA.unpackEncodedStringToUnsignedChars(dfa_29s);
10259 static final short[] dfa_23 = DFA.unpackEncodedString(dfa_23s); 11839 static final short[] dfa_30 = DFA.unpackEncodedString(dfa_30s);
10260 static final short[] dfa_24 = DFA.unpackEncodedString(dfa_24s); 11840 static final short[] dfa_31 = DFA.unpackEncodedString(dfa_31s);
10261 static final short[][] dfa_25 = unpackEncodedStringArray(dfa_25s); 11841 static final short[][] dfa_32 = unpackEncodedStringArray(dfa_32s);
10262 11842
10263 class DFA35 extends DFA { 11843 class DFA44 extends DFA {
10264 11844
10265 public DFA35(BaseRecognizer recognizer) { 11845 public DFA44(BaseRecognizer recognizer) {
10266 this.recognizer = recognizer; 11846 this.recognizer = recognizer;
10267 this.decisionNumber = 35; 11847 this.decisionNumber = 44;
10268 this.eot = dfa_19; 11848 this.eot = dfa_26;
10269 this.eof = dfa_20; 11849 this.eof = dfa_27;
10270 this.min = dfa_21; 11850 this.min = dfa_28;
10271 this.max = dfa_22; 11851 this.max = dfa_29;
10272 this.accept = dfa_23; 11852 this.accept = dfa_30;
10273 this.special = dfa_24; 11853 this.special = dfa_31;
10274 this.transition = dfa_25; 11854 this.transition = dfa_32;
10275 } 11855 }
10276 public String getDescription() { 11856 public String getDescription() {
10277 return "2940:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition )"; 11857 return "3639:2: (this_ExactScopeDefinition_0= ruleExactScopeDefinition | this_BoundedScopeDefinition_1= ruleBoundedScopeDefinition | this_LowerBoundedScopeDefinition_2= ruleLowerBoundedScopeDefinition )";
10278 } 11858 }
10279 } 11859 }
10280 11860
10281 11861
10282 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); 11862 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L});
10283 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); 11863 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
10284 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x53401FC179FD6362L,0x00000000000C3040L}); 11864 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x82029A00EAFFDB32L,0x0000000000000061L});
10285 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L}); 11865 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
10286 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0001000000000002L,0x0000000000000012L}); 11866 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0090000800000002L});
10287 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x53401EC138F12000L,0x00000000000C3040L}); 11867 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x82029A00EA7AC800L,0x0000000000000061L});
10288 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000400000L,0x0000000000042000L}); 11868 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000200000L,0x0000000000000021L});
10289 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000000000L,0x0000000000042000L}); 11869 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000021L});
10290 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000000020L,0x0000000000042000L}); 11870 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000000010L,0x0000000000000021L});
10291 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0001000000000000L}); 11871 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000800000000L});
10292 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0200000000000000L}); 11872 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000100000000000L});
10293 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); 11873 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0010000000000000L});
10294 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); 11874 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0080000000000000L});
10295 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000010040000000L}); 11875 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x1000000000000000L});
10296 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000080000000L}); 11876 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000010000000L});
10297 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000004000000L}); 11877 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x4000000000000000L});
10298 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000400000000002L,0x0000000000000004L}); 11878 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000000080L});
10299 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000004L}); 11879 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000002000L});
10300 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000400000000000L}); 11880 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0001000000000002L});
10301 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x2000000000000002L}); 11881 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
10302 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x008E200000000002L,0x0000000000000028L}); 11882 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000004000000L});
10303 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x5000000000000002L}); 11883 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000001000000L});
10304 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0800000000000002L,0x0000000000000001L}); 11884 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0001040000000000L});
10305 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000100L}); 11885 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000004000000002L});
10306 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x02001AC130F10000L,0x00000000000C3040L}); 11886 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0020000200000002L});
10307 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); 11887 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0020000000000002L});
10308 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L}); 11888 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000200000000L});
10309 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L}); 11889 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x014004B100000002L});
10310 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0400000000000000L}); 11890 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0002800000000002L});
10311 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0200000000000000L,0x0000000000018000L}); 11891 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0008400000000002L});
10312 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x5F401EC138F12000L,0x00000000000C3040L}); 11892 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0800000000000002L});
10313 public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x2400000000000000L}); 11893 public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000010000000002L});
10314 public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x5B401EC138F12000L,0x00000000000C3040L}); 11894 public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x82001000287AC000L,0x0000000000000061L});
10315 public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0800000000000000L}); 11895 public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0400000000000000L,0x0000000000000021L});
10316 public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000800000000000L}); 11896 public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0401000000000000L});
10317 public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L}); 11897 public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x1200000000000000L});
10318 public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000000000080000L}); 11898 public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x6000000000000000L});
10319 public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L}); 11899 public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000200000000000L});
10320 public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000000000008000L,0x0000000000000200L}); 11900 public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000100000000000L,0x000000000000000CL});
10321 public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x2000000000000000L,0x0000000000000200L}); 11901 public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x8202FA00EA7AC800L,0x0000000000000061L});
10322 public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000000000000080L,0x0000000000042800L}); 11902 public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0001200000000000L});
10323 public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040040L}); 11903 public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x8202DA00EA7AC800L,0x0000000000000061L});
10324 public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000000000000402L,0x0000000000000004L}); 11904 public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000400000000000L});
10325 public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0800000000000000L,0x0000000000080000L}); 11905 public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000000400000000L});
10326 public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080000L}); 11906 public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0400000000000000L});
10327 public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0004000000000000L}); 11907 public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0000000000040000L});
10328 public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000000000000000L,0x00000000000C2000L}); 11908 public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x1000000000002000L});
10329 public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0002000000000000L}); 11909 public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x1001000000000000L});
10330 public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0008000000000000L}); 11910 public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x4000000000000040L,0x0000000000000021L});
10331 public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0008000000000002L}); 11911 public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0200000000000000L,0x0000000000000020L});
10332 public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x8000000000000002L}); 11912 public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0020000000000402L});
11913 public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000400000000000L,0x0000000000000040L});
11914 public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
11915 public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0000002000000000L});
11916 public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000061L});
11917 public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x0000001000000000L});
11918 public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0000008000000000L});
11919 public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0000008000000002L});
11920 public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0004000000000002L});
10333 11921
10334} \ No newline at end of file 11922} \ No newline at end of file
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.tokens b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.tokens
index 81343db5..736b2f0a 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.tokens
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/internal/InternalSolverLanguageParser.tokens
@@ -1,83 +1,70 @@
1'!'=56 1'!'=43
2'!='=45 2'!='=32
3'('=57 3'('=44
4')'=58 4')'=45
5'*'=59 5'*'=46
6'+'=60 6'+'=47
7','=61 7','=48
8'-'=62 8'-'=49
9'->'=46 9'->'=33
10'.'=63 10'.'=50
11'..'=47 11'..'=34
12'/'=64 12'...'=28
13':'=65 13'/'=51
14':-'=48 14':'=52
15';'=66 15':-'=35
16'<'=67 16';'=53
17'<='=49 17'<'=54
18'='=68 18'<='=36
19'=='=50 19'='=55
20'>'=69 20'=='=37
21'>='=51 21'=>'=38
22'ADD'=33 22'>'=56
23'DIV'=34 23'>='=39
24'EQ'=52 24'['=57
25'GREATER'=11 25']'=58
26'GREATER_EQ'=4 26'^'=59
27'IN'=53 27'abstract'=5
28'LESS'=25 28'as'=40
29'LESS_EQ'=12 29'class'=18
30'MUL'=35 30'contains'=6
31'NOT_EQ'=17 31'count'=19
32'POW'=36 32'current'=11
33'SUB'=37 33'datatype'=7
34'['=70 34'default'=12
35']'=71 35'else'=24
36'^'=72 36'empty'=20
37'abstract'=6 37'error'=21
38'avg'=38 38'exists'=15
39'class'=19 39'extends'=13
40'contains'=7 40'extern'=16
41'count'=20 41'false'=22
42'current'=13 42'forall'=17
43'default'=14 43'functional'=4
44'else'=26 44'if'=41
45'empty'=21 45'in'=42
46'error'=22 46'inf'=29
47'extends'=15 47'let'=30
48'extern'=18
49'false'=23
50'functional'=5
51'if'=54
52'in'=55
53'inf'=39
54'int'=40
55'max'=41
56'maximize'=8 48'maximize'=8
57'may'=42 49'may'=31
58'min'=43
59'minimize'=9 50'minimize'=9
60'must'=27 51'must'=25
61'only'=28
62'opposite'=10 52'opposite'=10
63'prod'=29 53'scope'=23
64'real'=30 54'then'=26
65'scope'=24 55'true'=27
66'sum'=44 56'unknown'=14
67'then'=31 57'{'=60
68'true'=32 58'|'=61
69'unknown'=16 59'}'=62
70'{'=73 60RULE_ANY_OTHER=73
71'|'=74 61RULE_FULL_STOP=68
72'}'=75 62RULE_ID=69
73RULE_ANY_OTHER=86 63RULE_INT=70
74RULE_FULL_STOP=81 64RULE_ML_COMMENT=71
75RULE_ID=82 65RULE_QUOTED_ID=64
76RULE_INT=83 66RULE_REFLEXIVE_TRANSITIVE_CLOSURE=67
77RULE_ML_COMMENT=84 67RULE_SL_COMMENT=65
78RULE_QUOTED_ID=77 68RULE_STRING=63
79RULE_REFLEXIVE_TRANSITIVE_CLOSURE=80 69RULE_TRANSITIVE_CLOSURE=66
80RULE_SL_COMMENT=78 70RULE_WS=72
81RULE_STRING=76
82RULE_TRANSITIVE_CLOSURE=79
83RULE_WS=85
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.g b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.g
index 1a29e53b..3c496e8a 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.g
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.g
@@ -11,24 +11,20 @@ package org.eclipse.viatra.solver.language.parser.antlr.lexer;
11import org.eclipse.xtext.parser.antlr.Lexer; 11import org.eclipse.xtext.parser.antlr.Lexer;
12} 12}
13 13
14GREATER_EQ : 'GREATER_EQ';
15
16Functional : 'functional'; 14Functional : 'functional';
17 15
18Abstract : 'abstract'; 16Abstract : 'abstract';
19 17
20Contains : 'contains'; 18Contains : 'contains';
21 19
20Datatype : 'datatype';
21
22Maximize : 'maximize'; 22Maximize : 'maximize';
23 23
24Minimize : 'minimize'; 24Minimize : 'minimize';
25 25
26Opposite : 'opposite'; 26Opposite : 'opposite';
27 27
28GREATER : 'GREATER';
29
30LESS_EQ : 'LESS_EQ';
31
32Current : 'current'; 28Current : 'current';
33 29
34Default : 'default'; 30Default : 'default';
@@ -37,10 +33,12 @@ Extends : 'extends';
37 33
38Unknown : 'unknown'; 34Unknown : 'unknown';
39 35
40NOT_EQ : 'NOT_EQ'; 36Exists : 'exists';
41 37
42Extern : 'extern'; 38Extern : 'extern';
43 39
40Forall : 'forall';
41
44Class : 'class'; 42Class : 'class';
45 43
46Count : 'count'; 44Count : 'count';
@@ -53,46 +51,22 @@ False : 'false';
53 51
54Scope : 'scope'; 52Scope : 'scope';
55 53
56LESS : 'LESS';
57
58Else : 'else'; 54Else : 'else';
59 55
60Must : 'must'; 56Must : 'must';
61 57
62Only : 'only';
63
64Prod : 'prod';
65
66Real : 'real';
67
68Then : 'then'; 58Then : 'then';
69 59
70True : 'true'; 60True : 'true';
71 61
72ADD : 'ADD'; 62FullStopFullStopFullStop : '...';
73
74DIV : 'DIV';
75
76MUL : 'MUL';
77
78POW : 'POW';
79
80SUB : 'SUB';
81
82Avg : 'avg';
83 63
84Inf : 'inf'; 64Inf : 'inf';
85 65
86Int : 'int'; 66Let : 'let';
87
88Max : 'max';
89 67
90May : 'may'; 68May : 'may';
91 69
92Min : 'min';
93
94Sum : 'sum';
95
96ExclamationMarkEqualsSign : '!='; 70ExclamationMarkEqualsSign : '!=';
97 71
98HyphenMinusGreaterThanSign : '->'; 72HyphenMinusGreaterThanSign : '->';
@@ -105,11 +79,11 @@ LessThanSignEqualsSign : '<=';
105 79
106EqualsSignEqualsSign : '=='; 80EqualsSignEqualsSign : '==';
107 81
108GreaterThanSignEqualsSign : '>='; 82EqualsSignGreaterThanSign : '=>';
109 83
110EQ : 'EQ'; 84GreaterThanSignEqualsSign : '>=';
111 85
112IN : 'IN'; 86As : 'as';
113 87
114If : 'if'; 88If : 'if';
115 89
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.java
index b46f86fc..b113baaf 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.java
@@ -12,90 +12,77 @@ import java.util.ArrayList;
12 12
13@SuppressWarnings("all") 13@SuppressWarnings("all")
14public class InternalSolverLanguageLexer extends Lexer { 14public class InternalSolverLanguageLexer extends Lexer {
15 public static final int ADD=33; 15 public static final int EqualsSignGreaterThanSign=38;
16 public static final int True=32; 16 public static final int True=27;
17 public static final int GREATER_EQ=4; 17 public static final int Count=19;
18 public static final int Count=20; 18 public static final int False=22;
19 public static final int False=23; 19 public static final int Must=25;
20 public static final int Must=27; 20 public static final int FullStopFullStopFullStop=28;
21 public static final int LessThanSign=67; 21 public static final int LessThanSign=54;
22 public static final int LeftParenthesis=57; 22 public static final int Datatype=7;
23 public static final int Unknown=16; 23 public static final int LeftParenthesis=44;
24 public static final int RULE_REFLEXIVE_TRANSITIVE_CLOSURE=80; 24 public static final int Unknown=14;
25 public static final int FullStopFullStop=47; 25 public static final int RULE_REFLEXIVE_TRANSITIVE_CLOSURE=67;
26 public static final int Real=30; 26 public static final int FullStopFullStop=34;
27 public static final int Then=31; 27 public static final int Then=26;
28 public static final int Extends=15; 28 public static final int Extends=13;
29 public static final int RightSquareBracket=71; 29 public static final int Forall=17;
30 public static final int ExclamationMark=56; 30 public static final int RightSquareBracket=58;
31 public static final int ExclamationMark=43;
31 public static final int Opposite=10; 32 public static final int Opposite=10;
32 public static final int SUB=37; 33 public static final int GreaterThanSign=56;
33 public static final int GreaterThanSign=69; 34 public static final int RULE_ID=69;
34 public static final int NOT_EQ=17; 35 public static final int RULE_QUOTED_ID=64;
35 public static final int RULE_ID=82; 36 public static final int RightParenthesis=45;
36 public static final int MUL=35; 37 public static final int GreaterThanSignEqualsSign=39;
37 public static final int IN=53; 38 public static final int Functional=4;
38 public static final int RULE_QUOTED_ID=77; 39 public static final int EqualsSignEqualsSign=37;
39 public static final int RightParenthesis=58; 40 public static final int VerticalLine=61;
40 public static final int Sum=44; 41 public static final int PlusSign=47;
41 public static final int EQ=52; 42 public static final int RULE_INT=70;
42 public static final int GreaterThanSignEqualsSign=51; 43 public static final int Contains=6;
43 public static final int Functional=5; 44 public static final int RULE_ML_COMMENT=71;
44 public static final int EqualsSignEqualsSign=50; 45 public static final int RULE_TRANSITIVE_CLOSURE=66;
45 public static final int Avg=38; 46 public static final int Class=18;
46 public static final int Min=43; 47 public static final int LeftSquareBracket=57;
47 public static final int VerticalLine=74; 48 public static final int RULE_FULL_STOP=68;
48 public static final int PlusSign=60; 49 public static final int Current=11;
49 public static final int RULE_INT=83; 50 public static final int If=41;
50 public static final int Contains=7; 51 public static final int Inf=29;
51 public static final int RULE_ML_COMMENT=84; 52 public static final int May=31;
52 public static final int POW=36; 53 public static final int In=42;
53 public static final int RULE_TRANSITIVE_CLOSURE=79; 54 public static final int RULE_STRING=63;
54 public static final int Class=19; 55 public static final int Extern=16;
55 public static final int LESS=25; 56 public static final int RULE_SL_COMMENT=65;
56 public static final int LeftSquareBracket=70; 57 public static final int Comma=48;
57 public static final int RULE_FULL_STOP=81; 58 public static final int EqualsSign=55;
58 public static final int Current=13; 59 public static final int Empty=20;
59 public static final int If=54; 60 public static final int As=40;
60 public static final int Inf=39; 61 public static final int HyphenMinus=49;
61 public static final int LESS_EQ=12;
62 public static final int May=42;
63 public static final int Max=41;
64 public static final int In=55;
65 public static final int RULE_STRING=76;
66 public static final int Int=40;
67 public static final int Extern=18;
68 public static final int RULE_SL_COMMENT=78;
69 public static final int Prod=29;
70 public static final int Comma=61;
71 public static final int EqualsSign=68;
72 public static final int Empty=21;
73 public static final int HyphenMinus=62;
74 public static final int Maximize=8; 62 public static final int Maximize=8;
75 public static final int LessThanSignEqualsSign=49; 63 public static final int LessThanSignEqualsSign=36;
76 public static final int Solidus=64; 64 public static final int Solidus=51;
77 public static final int Colon=65; 65 public static final int Colon=52;
78 public static final int RightCurlyBracket=75; 66 public static final int RightCurlyBracket=62;
79 public static final int EOF=-1; 67 public static final int EOF=-1;
80 public static final int Asterisk=59; 68 public static final int Asterisk=46;
81 public static final int FullStop=63; 69 public static final int FullStop=50;
82 public static final int RULE_WS=85; 70 public static final int RULE_WS=72;
83 public static final int Abstract=6; 71 public static final int Abstract=5;
84 public static final int Minimize=9; 72 public static final int Minimize=9;
85 public static final int GREATER=11; 73 public static final int LeftCurlyBracket=60;
86 public static final int LeftCurlyBracket=73; 74 public static final int Error=21;
87 public static final int Error=22; 75 public static final int RULE_ANY_OTHER=73;
88 public static final int Only=28; 76 public static final int Default=12;
89 public static final int RULE_ANY_OTHER=86; 77 public static final int ColonHyphenMinus=35;
90 public static final int Default=14; 78 public static final int CircumflexAccent=59;
91 public static final int ColonHyphenMinus=48; 79 public static final int Semicolon=53;
92 public static final int CircumflexAccent=72; 80 public static final int Scope=23;
93 public static final int DIV=34; 81 public static final int Exists=15;
94 public static final int Semicolon=66; 82 public static final int Else=24;
95 public static final int Scope=24; 83 public static final int Let=30;
96 public static final int Else=26; 84 public static final int ExclamationMarkEqualsSign=32;
97 public static final int ExclamationMarkEqualsSign=45; 85 public static final int HyphenMinusGreaterThanSign=33;
98 public static final int HyphenMinusGreaterThanSign=46;
99 86
100 // delegates 87 // delegates
101 // delegators 88 // delegators
@@ -110,34 +97,13 @@ public class InternalSolverLanguageLexer extends Lexer {
110 } 97 }
111 public String getGrammarFileName() { return "InternalSolverLanguageLexer.g"; } 98 public String getGrammarFileName() { return "InternalSolverLanguageLexer.g"; }
112 99
113 // $ANTLR start "GREATER_EQ"
114 public final void mGREATER_EQ() throws RecognitionException {
115 try {
116 int _type = GREATER_EQ;
117 int _channel = DEFAULT_TOKEN_CHANNEL;
118 // InternalSolverLanguageLexer.g:14:12: ( 'GREATER_EQ' )
119 // InternalSolverLanguageLexer.g:14:14: 'GREATER_EQ'
120 {
121 match("GREATER_EQ");
122
123
124 }
125
126 state.type = _type;
127 state.channel = _channel;
128 }
129 finally {
130 }
131 }
132 // $ANTLR end "GREATER_EQ"
133
134 // $ANTLR start "Functional" 100 // $ANTLR start "Functional"
135 public final void mFunctional() throws RecognitionException { 101 public final void mFunctional() throws RecognitionException {
136 try { 102 try {
137 int _type = Functional; 103 int _type = Functional;
138 int _channel = DEFAULT_TOKEN_CHANNEL; 104 int _channel = DEFAULT_TOKEN_CHANNEL;
139 // InternalSolverLanguageLexer.g:16:12: ( 'functional' ) 105 // InternalSolverLanguageLexer.g:14:12: ( 'functional' )
140 // InternalSolverLanguageLexer.g:16:14: 'functional' 106 // InternalSolverLanguageLexer.g:14:14: 'functional'
141 { 107 {
142 match("functional"); 108 match("functional");
143 109
@@ -157,8 +123,8 @@ public class InternalSolverLanguageLexer extends Lexer {
157 try { 123 try {
158 int _type = Abstract; 124 int _type = Abstract;
159 int _channel = DEFAULT_TOKEN_CHANNEL; 125 int _channel = DEFAULT_TOKEN_CHANNEL;
160 // InternalSolverLanguageLexer.g:18:10: ( 'abstract' ) 126 // InternalSolverLanguageLexer.g:16:10: ( 'abstract' )
161 // InternalSolverLanguageLexer.g:18:12: 'abstract' 127 // InternalSolverLanguageLexer.g:16:12: 'abstract'
162 { 128 {
163 match("abstract"); 129 match("abstract");
164 130
@@ -178,8 +144,8 @@ public class InternalSolverLanguageLexer extends Lexer {
178 try { 144 try {
179 int _type = Contains; 145 int _type = Contains;
180 int _channel = DEFAULT_TOKEN_CHANNEL; 146 int _channel = DEFAULT_TOKEN_CHANNEL;
181 // InternalSolverLanguageLexer.g:20:10: ( 'contains' ) 147 // InternalSolverLanguageLexer.g:18:10: ( 'contains' )
182 // InternalSolverLanguageLexer.g:20:12: 'contains' 148 // InternalSolverLanguageLexer.g:18:12: 'contains'
183 { 149 {
184 match("contains"); 150 match("contains");
185 151
@@ -194,6 +160,27 @@ public class InternalSolverLanguageLexer extends Lexer {
194 } 160 }
195 // $ANTLR end "Contains" 161 // $ANTLR end "Contains"
196 162
163 // $ANTLR start "Datatype"
164 public final void mDatatype() throws RecognitionException {
165 try {
166 int _type = Datatype;
167 int _channel = DEFAULT_TOKEN_CHANNEL;
168 // InternalSolverLanguageLexer.g:20:10: ( 'datatype' )
169 // InternalSolverLanguageLexer.g:20:12: 'datatype'
170 {
171 match("datatype");
172
173
174 }
175
176 state.type = _type;
177 state.channel = _channel;
178 }
179 finally {
180 }
181 }
182 // $ANTLR end "Datatype"
183
197 // $ANTLR start "Maximize" 184 // $ANTLR start "Maximize"
198 public final void mMaximize() throws RecognitionException { 185 public final void mMaximize() throws RecognitionException {
199 try { 186 try {
@@ -257,55 +244,13 @@ public class InternalSolverLanguageLexer extends Lexer {
257 } 244 }
258 // $ANTLR end "Opposite" 245 // $ANTLR end "Opposite"
259 246
260 // $ANTLR start "GREATER"
261 public final void mGREATER() throws RecognitionException {
262 try {
263 int _type = GREATER;
264 int _channel = DEFAULT_TOKEN_CHANNEL;
265 // InternalSolverLanguageLexer.g:28:9: ( 'GREATER' )
266 // InternalSolverLanguageLexer.g:28:11: 'GREATER'
267 {
268 match("GREATER");
269
270
271 }
272
273 state.type = _type;
274 state.channel = _channel;
275 }
276 finally {
277 }
278 }
279 // $ANTLR end "GREATER"
280
281 // $ANTLR start "LESS_EQ"
282 public final void mLESS_EQ() throws RecognitionException {
283 try {
284 int _type = LESS_EQ;
285 int _channel = DEFAULT_TOKEN_CHANNEL;
286 // InternalSolverLanguageLexer.g:30:9: ( 'LESS_EQ' )
287 // InternalSolverLanguageLexer.g:30:11: 'LESS_EQ'
288 {
289 match("LESS_EQ");
290
291
292 }
293
294 state.type = _type;
295 state.channel = _channel;
296 }
297 finally {
298 }
299 }
300 // $ANTLR end "LESS_EQ"
301
302 // $ANTLR start "Current" 247 // $ANTLR start "Current"
303 public final void mCurrent() throws RecognitionException { 248 public final void mCurrent() throws RecognitionException {
304 try { 249 try {
305 int _type = Current; 250 int _type = Current;
306 int _channel = DEFAULT_TOKEN_CHANNEL; 251 int _channel = DEFAULT_TOKEN_CHANNEL;
307 // InternalSolverLanguageLexer.g:32:9: ( 'current' ) 252 // InternalSolverLanguageLexer.g:28:9: ( 'current' )
308 // InternalSolverLanguageLexer.g:32:11: 'current' 253 // InternalSolverLanguageLexer.g:28:11: 'current'
309 { 254 {
310 match("current"); 255 match("current");
311 256
@@ -325,8 +270,8 @@ public class InternalSolverLanguageLexer extends Lexer {
325 try { 270 try {
326 int _type = Default; 271 int _type = Default;
327 int _channel = DEFAULT_TOKEN_CHANNEL; 272 int _channel = DEFAULT_TOKEN_CHANNEL;
328 // InternalSolverLanguageLexer.g:34:9: ( 'default' ) 273 // InternalSolverLanguageLexer.g:30:9: ( 'default' )
329 // InternalSolverLanguageLexer.g:34:11: 'default' 274 // InternalSolverLanguageLexer.g:30:11: 'default'
330 { 275 {
331 match("default"); 276 match("default");
332 277
@@ -346,8 +291,8 @@ public class InternalSolverLanguageLexer extends Lexer {
346 try { 291 try {
347 int _type = Extends; 292 int _type = Extends;
348 int _channel = DEFAULT_TOKEN_CHANNEL; 293 int _channel = DEFAULT_TOKEN_CHANNEL;
349 // InternalSolverLanguageLexer.g:36:9: ( 'extends' ) 294 // InternalSolverLanguageLexer.g:32:9: ( 'extends' )
350 // InternalSolverLanguageLexer.g:36:11: 'extends' 295 // InternalSolverLanguageLexer.g:32:11: 'extends'
351 { 296 {
352 match("extends"); 297 match("extends");
353 298
@@ -367,8 +312,8 @@ public class InternalSolverLanguageLexer extends Lexer {
367 try { 312 try {
368 int _type = Unknown; 313 int _type = Unknown;
369 int _channel = DEFAULT_TOKEN_CHANNEL; 314 int _channel = DEFAULT_TOKEN_CHANNEL;
370 // InternalSolverLanguageLexer.g:38:9: ( 'unknown' ) 315 // InternalSolverLanguageLexer.g:34:9: ( 'unknown' )
371 // InternalSolverLanguageLexer.g:38:11: 'unknown' 316 // InternalSolverLanguageLexer.g:34:11: 'unknown'
372 { 317 {
373 match("unknown"); 318 match("unknown");
374 319
@@ -383,15 +328,15 @@ public class InternalSolverLanguageLexer extends Lexer {
383 } 328 }
384 // $ANTLR end "Unknown" 329 // $ANTLR end "Unknown"
385 330
386 // $ANTLR start "NOT_EQ" 331 // $ANTLR start "Exists"
387 public final void mNOT_EQ() throws RecognitionException { 332 public final void mExists() throws RecognitionException {
388 try { 333 try {
389 int _type = NOT_EQ; 334 int _type = Exists;
390 int _channel = DEFAULT_TOKEN_CHANNEL; 335 int _channel = DEFAULT_TOKEN_CHANNEL;
391 // InternalSolverLanguageLexer.g:40:8: ( 'NOT_EQ' ) 336 // InternalSolverLanguageLexer.g:36:8: ( 'exists' )
392 // InternalSolverLanguageLexer.g:40:10: 'NOT_EQ' 337 // InternalSolverLanguageLexer.g:36:10: 'exists'
393 { 338 {
394 match("NOT_EQ"); 339 match("exists");
395 340
396 341
397 } 342 }
@@ -402,15 +347,15 @@ public class InternalSolverLanguageLexer extends Lexer {
402 finally { 347 finally {
403 } 348 }
404 } 349 }
405 // $ANTLR end "NOT_EQ" 350 // $ANTLR end "Exists"
406 351
407 // $ANTLR start "Extern" 352 // $ANTLR start "Extern"
408 public final void mExtern() throws RecognitionException { 353 public final void mExtern() throws RecognitionException {
409 try { 354 try {
410 int _type = Extern; 355 int _type = Extern;
411 int _channel = DEFAULT_TOKEN_CHANNEL; 356 int _channel = DEFAULT_TOKEN_CHANNEL;
412 // InternalSolverLanguageLexer.g:42:8: ( 'extern' ) 357 // InternalSolverLanguageLexer.g:38:8: ( 'extern' )
413 // InternalSolverLanguageLexer.g:42:10: 'extern' 358 // InternalSolverLanguageLexer.g:38:10: 'extern'
414 { 359 {
415 match("extern"); 360 match("extern");
416 361
@@ -425,13 +370,34 @@ public class InternalSolverLanguageLexer extends Lexer {
425 } 370 }
426 // $ANTLR end "Extern" 371 // $ANTLR end "Extern"
427 372
373 // $ANTLR start "Forall"
374 public final void mForall() throws RecognitionException {
375 try {
376 int _type = Forall;
377 int _channel = DEFAULT_TOKEN_CHANNEL;
378 // InternalSolverLanguageLexer.g:40:8: ( 'forall' )
379 // InternalSolverLanguageLexer.g:40:10: 'forall'
380 {
381 match("forall");
382
383
384 }
385
386 state.type = _type;
387 state.channel = _channel;
388 }
389 finally {
390 }
391 }
392 // $ANTLR end "Forall"
393
428 // $ANTLR start "Class" 394 // $ANTLR start "Class"
429 public final void mClass() throws RecognitionException { 395 public final void mClass() throws RecognitionException {
430 try { 396 try {
431 int _type = Class; 397 int _type = Class;
432 int _channel = DEFAULT_TOKEN_CHANNEL; 398 int _channel = DEFAULT_TOKEN_CHANNEL;
433 // InternalSolverLanguageLexer.g:44:7: ( 'class' ) 399 // InternalSolverLanguageLexer.g:42:7: ( 'class' )
434 // InternalSolverLanguageLexer.g:44:9: 'class' 400 // InternalSolverLanguageLexer.g:42:9: 'class'
435 { 401 {
436 match("class"); 402 match("class");
437 403
@@ -451,8 +417,8 @@ public class InternalSolverLanguageLexer extends Lexer {
451 try { 417 try {
452 int _type = Count; 418 int _type = Count;
453 int _channel = DEFAULT_TOKEN_CHANNEL; 419 int _channel = DEFAULT_TOKEN_CHANNEL;
454 // InternalSolverLanguageLexer.g:46:7: ( 'count' ) 420 // InternalSolverLanguageLexer.g:44:7: ( 'count' )
455 // InternalSolverLanguageLexer.g:46:9: 'count' 421 // InternalSolverLanguageLexer.g:44:9: 'count'
456 { 422 {
457 match("count"); 423 match("count");
458 424
@@ -472,8 +438,8 @@ public class InternalSolverLanguageLexer extends Lexer {
472 try { 438 try {
473 int _type = Empty; 439 int _type = Empty;
474 int _channel = DEFAULT_TOKEN_CHANNEL; 440 int _channel = DEFAULT_TOKEN_CHANNEL;
475 // InternalSolverLanguageLexer.g:48:7: ( 'empty' ) 441 // InternalSolverLanguageLexer.g:46:7: ( 'empty' )
476 // InternalSolverLanguageLexer.g:48:9: 'empty' 442 // InternalSolverLanguageLexer.g:46:9: 'empty'
477 { 443 {
478 match("empty"); 444 match("empty");
479 445
@@ -493,8 +459,8 @@ public class InternalSolverLanguageLexer extends Lexer {
493 try { 459 try {
494 int _type = Error; 460 int _type = Error;
495 int _channel = DEFAULT_TOKEN_CHANNEL; 461 int _channel = DEFAULT_TOKEN_CHANNEL;
496 // InternalSolverLanguageLexer.g:50:7: ( 'error' ) 462 // InternalSolverLanguageLexer.g:48:7: ( 'error' )
497 // InternalSolverLanguageLexer.g:50:9: 'error' 463 // InternalSolverLanguageLexer.g:48:9: 'error'
498 { 464 {
499 match("error"); 465 match("error");
500 466
@@ -514,8 +480,8 @@ public class InternalSolverLanguageLexer extends Lexer {
514 try { 480 try {
515 int _type = False; 481 int _type = False;
516 int _channel = DEFAULT_TOKEN_CHANNEL; 482 int _channel = DEFAULT_TOKEN_CHANNEL;
517 // InternalSolverLanguageLexer.g:52:7: ( 'false' ) 483 // InternalSolverLanguageLexer.g:50:7: ( 'false' )
518 // InternalSolverLanguageLexer.g:52:9: 'false' 484 // InternalSolverLanguageLexer.g:50:9: 'false'
519 { 485 {
520 match("false"); 486 match("false");
521 487
@@ -535,8 +501,8 @@ public class InternalSolverLanguageLexer extends Lexer {
535 try { 501 try {
536 int _type = Scope; 502 int _type = Scope;
537 int _channel = DEFAULT_TOKEN_CHANNEL; 503 int _channel = DEFAULT_TOKEN_CHANNEL;
538 // InternalSolverLanguageLexer.g:54:7: ( 'scope' ) 504 // InternalSolverLanguageLexer.g:52:7: ( 'scope' )
539 // InternalSolverLanguageLexer.g:54:9: 'scope' 505 // InternalSolverLanguageLexer.g:52:9: 'scope'
540 { 506 {
541 match("scope"); 507 match("scope");
542 508
@@ -551,34 +517,13 @@ public class InternalSolverLanguageLexer extends Lexer {
551 } 517 }
552 // $ANTLR end "Scope" 518 // $ANTLR end "Scope"
553 519
554 // $ANTLR start "LESS"
555 public final void mLESS() throws RecognitionException {
556 try {
557 int _type = LESS;
558 int _channel = DEFAULT_TOKEN_CHANNEL;
559 // InternalSolverLanguageLexer.g:56:6: ( 'LESS' )
560 // InternalSolverLanguageLexer.g:56:8: 'LESS'
561 {
562 match("LESS");
563
564
565 }
566
567 state.type = _type;
568 state.channel = _channel;
569 }
570 finally {
571 }
572 }
573 // $ANTLR end "LESS"
574
575 // $ANTLR start "Else" 520 // $ANTLR start "Else"
576 public final void mElse() throws RecognitionException { 521 public final void mElse() throws RecognitionException {
577 try { 522 try {
578 int _type = Else; 523 int _type = Else;
579 int _channel = DEFAULT_TOKEN_CHANNEL; 524 int _channel = DEFAULT_TOKEN_CHANNEL;
580 // InternalSolverLanguageLexer.g:58:6: ( 'else' ) 525 // InternalSolverLanguageLexer.g:54:6: ( 'else' )
581 // InternalSolverLanguageLexer.g:58:8: 'else' 526 // InternalSolverLanguageLexer.g:54:8: 'else'
582 { 527 {
583 match("else"); 528 match("else");
584 529
@@ -598,8 +543,8 @@ public class InternalSolverLanguageLexer extends Lexer {
598 try { 543 try {
599 int _type = Must; 544 int _type = Must;
600 int _channel = DEFAULT_TOKEN_CHANNEL; 545 int _channel = DEFAULT_TOKEN_CHANNEL;
601 // InternalSolverLanguageLexer.g:60:6: ( 'must' ) 546 // InternalSolverLanguageLexer.g:56:6: ( 'must' )
602 // InternalSolverLanguageLexer.g:60:8: 'must' 547 // InternalSolverLanguageLexer.g:56:8: 'must'
603 { 548 {
604 match("must"); 549 match("must");
605 550
@@ -614,76 +559,13 @@ public class InternalSolverLanguageLexer extends Lexer {
614 } 559 }
615 // $ANTLR end "Must" 560 // $ANTLR end "Must"
616 561
617 // $ANTLR start "Only"
618 public final void mOnly() throws RecognitionException {
619 try {
620 int _type = Only;
621 int _channel = DEFAULT_TOKEN_CHANNEL;
622 // InternalSolverLanguageLexer.g:62:6: ( 'only' )
623 // InternalSolverLanguageLexer.g:62:8: 'only'
624 {
625 match("only");
626
627
628 }
629
630 state.type = _type;
631 state.channel = _channel;
632 }
633 finally {
634 }
635 }
636 // $ANTLR end "Only"
637
638 // $ANTLR start "Prod"
639 public final void mProd() throws RecognitionException {
640 try {
641 int _type = Prod;
642 int _channel = DEFAULT_TOKEN_CHANNEL;
643 // InternalSolverLanguageLexer.g:64:6: ( 'prod' )
644 // InternalSolverLanguageLexer.g:64:8: 'prod'
645 {
646 match("prod");
647
648
649 }
650
651 state.type = _type;
652 state.channel = _channel;
653 }
654 finally {
655 }
656 }
657 // $ANTLR end "Prod"
658
659 // $ANTLR start "Real"
660 public final void mReal() throws RecognitionException {
661 try {
662 int _type = Real;
663 int _channel = DEFAULT_TOKEN_CHANNEL;
664 // InternalSolverLanguageLexer.g:66:6: ( 'real' )
665 // InternalSolverLanguageLexer.g:66:8: 'real'
666 {
667 match("real");
668
669
670 }
671
672 state.type = _type;
673 state.channel = _channel;
674 }
675 finally {
676 }
677 }
678 // $ANTLR end "Real"
679
680 // $ANTLR start "Then" 562 // $ANTLR start "Then"
681 public final void mThen() throws RecognitionException { 563 public final void mThen() throws RecognitionException {
682 try { 564 try {
683 int _type = Then; 565 int _type = Then;
684 int _channel = DEFAULT_TOKEN_CHANNEL; 566 int _channel = DEFAULT_TOKEN_CHANNEL;
685 // InternalSolverLanguageLexer.g:68:6: ( 'then' ) 567 // InternalSolverLanguageLexer.g:58:6: ( 'then' )
686 // InternalSolverLanguageLexer.g:68:8: 'then' 568 // InternalSolverLanguageLexer.g:58:8: 'then'
687 { 569 {
688 match("then"); 570 match("then");
689 571
@@ -703,8 +585,8 @@ public class InternalSolverLanguageLexer extends Lexer {
703 try { 585 try {
704 int _type = True; 586 int _type = True;
705 int _channel = DEFAULT_TOKEN_CHANNEL; 587 int _channel = DEFAULT_TOKEN_CHANNEL;
706 // InternalSolverLanguageLexer.g:70:6: ( 'true' ) 588 // InternalSolverLanguageLexer.g:60:6: ( 'true' )
707 // InternalSolverLanguageLexer.g:70:8: 'true' 589 // InternalSolverLanguageLexer.g:60:8: 'true'
708 { 590 {
709 match("true"); 591 match("true");
710 592
@@ -719,15 +601,15 @@ public class InternalSolverLanguageLexer extends Lexer {
719 } 601 }
720 // $ANTLR end "True" 602 // $ANTLR end "True"
721 603
722 // $ANTLR start "ADD" 604 // $ANTLR start "FullStopFullStopFullStop"
723 public final void mADD() throws RecognitionException { 605 public final void mFullStopFullStopFullStop() throws RecognitionException {
724 try { 606 try {
725 int _type = ADD; 607 int _type = FullStopFullStopFullStop;
726 int _channel = DEFAULT_TOKEN_CHANNEL; 608 int _channel = DEFAULT_TOKEN_CHANNEL;
727 // InternalSolverLanguageLexer.g:72:5: ( 'ADD' ) 609 // InternalSolverLanguageLexer.g:62:26: ( '...' )
728 // InternalSolverLanguageLexer.g:72:7: 'ADD' 610 // InternalSolverLanguageLexer.g:62:28: '...'
729 { 611 {
730 match("ADD"); 612 match("...");
731 613
732 614
733 } 615 }
@@ -738,120 +620,15 @@ public class InternalSolverLanguageLexer extends Lexer {
738 finally { 620 finally {
739 } 621 }
740 } 622 }
741 // $ANTLR end "ADD" 623 // $ANTLR end "FullStopFullStopFullStop"
742
743 // $ANTLR start "DIV"
744 public final void mDIV() throws RecognitionException {
745 try {
746 int _type = DIV;
747 int _channel = DEFAULT_TOKEN_CHANNEL;
748 // InternalSolverLanguageLexer.g:74:5: ( 'DIV' )
749 // InternalSolverLanguageLexer.g:74:7: 'DIV'
750 {
751 match("DIV");
752
753
754 }
755
756 state.type = _type;
757 state.channel = _channel;
758 }
759 finally {
760 }
761 }
762 // $ANTLR end "DIV"
763
764 // $ANTLR start "MUL"
765 public final void mMUL() throws RecognitionException {
766 try {
767 int _type = MUL;
768 int _channel = DEFAULT_TOKEN_CHANNEL;
769 // InternalSolverLanguageLexer.g:76:5: ( 'MUL' )
770 // InternalSolverLanguageLexer.g:76:7: 'MUL'
771 {
772 match("MUL");
773
774
775 }
776
777 state.type = _type;
778 state.channel = _channel;
779 }
780 finally {
781 }
782 }
783 // $ANTLR end "MUL"
784
785 // $ANTLR start "POW"
786 public final void mPOW() throws RecognitionException {
787 try {
788 int _type = POW;
789 int _channel = DEFAULT_TOKEN_CHANNEL;
790 // InternalSolverLanguageLexer.g:78:5: ( 'POW' )
791 // InternalSolverLanguageLexer.g:78:7: 'POW'
792 {
793 match("POW");
794
795
796 }
797
798 state.type = _type;
799 state.channel = _channel;
800 }
801 finally {
802 }
803 }
804 // $ANTLR end "POW"
805
806 // $ANTLR start "SUB"
807 public final void mSUB() throws RecognitionException {
808 try {
809 int _type = SUB;
810 int _channel = DEFAULT_TOKEN_CHANNEL;
811 // InternalSolverLanguageLexer.g:80:5: ( 'SUB' )
812 // InternalSolverLanguageLexer.g:80:7: 'SUB'
813 {
814 match("SUB");
815
816
817 }
818
819 state.type = _type;
820 state.channel = _channel;
821 }
822 finally {
823 }
824 }
825 // $ANTLR end "SUB"
826
827 // $ANTLR start "Avg"
828 public final void mAvg() throws RecognitionException {
829 try {
830 int _type = Avg;
831 int _channel = DEFAULT_TOKEN_CHANNEL;
832 // InternalSolverLanguageLexer.g:82:5: ( 'avg' )
833 // InternalSolverLanguageLexer.g:82:7: 'avg'
834 {
835 match("avg");
836
837
838 }
839
840 state.type = _type;
841 state.channel = _channel;
842 }
843 finally {
844 }
845 }
846 // $ANTLR end "Avg"
847 624
848 // $ANTLR start "Inf" 625 // $ANTLR start "Inf"
849 public final void mInf() throws RecognitionException { 626 public final void mInf() throws RecognitionException {
850 try { 627 try {
851 int _type = Inf; 628 int _type = Inf;
852 int _channel = DEFAULT_TOKEN_CHANNEL; 629 int _channel = DEFAULT_TOKEN_CHANNEL;
853 // InternalSolverLanguageLexer.g:84:5: ( 'inf' ) 630 // InternalSolverLanguageLexer.g:64:5: ( 'inf' )
854 // InternalSolverLanguageLexer.g:84:7: 'inf' 631 // InternalSolverLanguageLexer.g:64:7: 'inf'
855 { 632 {
856 match("inf"); 633 match("inf");
857 634
@@ -866,36 +643,15 @@ public class InternalSolverLanguageLexer extends Lexer {
866 } 643 }
867 // $ANTLR end "Inf" 644 // $ANTLR end "Inf"
868 645
869 // $ANTLR start "Int" 646 // $ANTLR start "Let"
870 public final void mInt() throws RecognitionException { 647 public final void mLet() throws RecognitionException {
871 try {
872 int _type = Int;
873 int _channel = DEFAULT_TOKEN_CHANNEL;
874 // InternalSolverLanguageLexer.g:86:5: ( 'int' )
875 // InternalSolverLanguageLexer.g:86:7: 'int'
876 {
877 match("int");
878
879
880 }
881
882 state.type = _type;
883 state.channel = _channel;
884 }
885 finally {
886 }
887 }
888 // $ANTLR end "Int"
889
890 // $ANTLR start "Max"
891 public final void mMax() throws RecognitionException {
892 try { 648 try {
893 int _type = Max; 649 int _type = Let;
894 int _channel = DEFAULT_TOKEN_CHANNEL; 650 int _channel = DEFAULT_TOKEN_CHANNEL;
895 // InternalSolverLanguageLexer.g:88:5: ( 'max' ) 651 // InternalSolverLanguageLexer.g:66:5: ( 'let' )
896 // InternalSolverLanguageLexer.g:88:7: 'max' 652 // InternalSolverLanguageLexer.g:66:7: 'let'
897 { 653 {
898 match("max"); 654 match("let");
899 655
900 656
901 } 657 }
@@ -906,15 +662,15 @@ public class InternalSolverLanguageLexer extends Lexer {
906 finally { 662 finally {
907 } 663 }
908 } 664 }
909 // $ANTLR end "Max" 665 // $ANTLR end "Let"
910 666
911 // $ANTLR start "May" 667 // $ANTLR start "May"
912 public final void mMay() throws RecognitionException { 668 public final void mMay() throws RecognitionException {
913 try { 669 try {
914 int _type = May; 670 int _type = May;
915 int _channel = DEFAULT_TOKEN_CHANNEL; 671 int _channel = DEFAULT_TOKEN_CHANNEL;
916 // InternalSolverLanguageLexer.g:90:5: ( 'may' ) 672 // InternalSolverLanguageLexer.g:68:5: ( 'may' )
917 // InternalSolverLanguageLexer.g:90:7: 'may' 673 // InternalSolverLanguageLexer.g:68:7: 'may'
918 { 674 {
919 match("may"); 675 match("may");
920 676
@@ -929,55 +685,13 @@ public class InternalSolverLanguageLexer extends Lexer {
929 } 685 }
930 // $ANTLR end "May" 686 // $ANTLR end "May"
931 687
932 // $ANTLR start "Min"
933 public final void mMin() throws RecognitionException {
934 try {
935 int _type = Min;
936 int _channel = DEFAULT_TOKEN_CHANNEL;
937 // InternalSolverLanguageLexer.g:92:5: ( 'min' )
938 // InternalSolverLanguageLexer.g:92:7: 'min'
939 {
940 match("min");
941
942
943 }
944
945 state.type = _type;
946 state.channel = _channel;
947 }
948 finally {
949 }
950 }
951 // $ANTLR end "Min"
952
953 // $ANTLR start "Sum"
954 public final void mSum() throws RecognitionException {
955 try {
956 int _type = Sum;
957 int _channel = DEFAULT_TOKEN_CHANNEL;
958 // InternalSolverLanguageLexer.g:94:5: ( 'sum' )
959 // InternalSolverLanguageLexer.g:94:7: 'sum'
960 {
961 match("sum");
962
963
964 }
965
966 state.type = _type;
967 state.channel = _channel;
968 }
969 finally {
970 }
971 }
972 // $ANTLR end "Sum"
973
974 // $ANTLR start "ExclamationMarkEqualsSign" 688 // $ANTLR start "ExclamationMarkEqualsSign"
975 public final void mExclamationMarkEqualsSign() throws RecognitionException { 689 public final void mExclamationMarkEqualsSign() throws RecognitionException {
976 try { 690 try {
977 int _type = ExclamationMarkEqualsSign; 691 int _type = ExclamationMarkEqualsSign;
978 int _channel = DEFAULT_TOKEN_CHANNEL; 692 int _channel = DEFAULT_TOKEN_CHANNEL;
979 // InternalSolverLanguageLexer.g:96:27: ( '!=' ) 693 // InternalSolverLanguageLexer.g:70:27: ( '!=' )
980 // InternalSolverLanguageLexer.g:96:29: '!=' 694 // InternalSolverLanguageLexer.g:70:29: '!='
981 { 695 {
982 match("!="); 696 match("!=");
983 697
@@ -997,8 +711,8 @@ public class InternalSolverLanguageLexer extends Lexer {
997 try { 711 try {
998 int _type = HyphenMinusGreaterThanSign; 712 int _type = HyphenMinusGreaterThanSign;
999 int _channel = DEFAULT_TOKEN_CHANNEL; 713 int _channel = DEFAULT_TOKEN_CHANNEL;
1000 // InternalSolverLanguageLexer.g:98:28: ( '->' ) 714 // InternalSolverLanguageLexer.g:72:28: ( '->' )
1001 // InternalSolverLanguageLexer.g:98:30: '->' 715 // InternalSolverLanguageLexer.g:72:30: '->'
1002 { 716 {
1003 match("->"); 717 match("->");
1004 718
@@ -1018,8 +732,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1018 try { 732 try {
1019 int _type = FullStopFullStop; 733 int _type = FullStopFullStop;
1020 int _channel = DEFAULT_TOKEN_CHANNEL; 734 int _channel = DEFAULT_TOKEN_CHANNEL;
1021 // InternalSolverLanguageLexer.g:100:18: ( '..' ) 735 // InternalSolverLanguageLexer.g:74:18: ( '..' )
1022 // InternalSolverLanguageLexer.g:100:20: '..' 736 // InternalSolverLanguageLexer.g:74:20: '..'
1023 { 737 {
1024 match(".."); 738 match("..");
1025 739
@@ -1039,8 +753,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1039 try { 753 try {
1040 int _type = ColonHyphenMinus; 754 int _type = ColonHyphenMinus;
1041 int _channel = DEFAULT_TOKEN_CHANNEL; 755 int _channel = DEFAULT_TOKEN_CHANNEL;
1042 // InternalSolverLanguageLexer.g:102:18: ( ':-' ) 756 // InternalSolverLanguageLexer.g:76:18: ( ':-' )
1043 // InternalSolverLanguageLexer.g:102:20: ':-' 757 // InternalSolverLanguageLexer.g:76:20: ':-'
1044 { 758 {
1045 match(":-"); 759 match(":-");
1046 760
@@ -1060,8 +774,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1060 try { 774 try {
1061 int _type = LessThanSignEqualsSign; 775 int _type = LessThanSignEqualsSign;
1062 int _channel = DEFAULT_TOKEN_CHANNEL; 776 int _channel = DEFAULT_TOKEN_CHANNEL;
1063 // InternalSolverLanguageLexer.g:104:24: ( '<=' ) 777 // InternalSolverLanguageLexer.g:78:24: ( '<=' )
1064 // InternalSolverLanguageLexer.g:104:26: '<=' 778 // InternalSolverLanguageLexer.g:78:26: '<='
1065 { 779 {
1066 match("<="); 780 match("<=");
1067 781
@@ -1081,8 +795,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1081 try { 795 try {
1082 int _type = EqualsSignEqualsSign; 796 int _type = EqualsSignEqualsSign;
1083 int _channel = DEFAULT_TOKEN_CHANNEL; 797 int _channel = DEFAULT_TOKEN_CHANNEL;
1084 // InternalSolverLanguageLexer.g:106:22: ( '==' ) 798 // InternalSolverLanguageLexer.g:80:22: ( '==' )
1085 // InternalSolverLanguageLexer.g:106:24: '==' 799 // InternalSolverLanguageLexer.g:80:24: '=='
1086 { 800 {
1087 match("=="); 801 match("==");
1088 802
@@ -1097,15 +811,15 @@ public class InternalSolverLanguageLexer extends Lexer {
1097 } 811 }
1098 // $ANTLR end "EqualsSignEqualsSign" 812 // $ANTLR end "EqualsSignEqualsSign"
1099 813
1100 // $ANTLR start "GreaterThanSignEqualsSign" 814 // $ANTLR start "EqualsSignGreaterThanSign"
1101 public final void mGreaterThanSignEqualsSign() throws RecognitionException { 815 public final void mEqualsSignGreaterThanSign() throws RecognitionException {
1102 try { 816 try {
1103 int _type = GreaterThanSignEqualsSign; 817 int _type = EqualsSignGreaterThanSign;
1104 int _channel = DEFAULT_TOKEN_CHANNEL; 818 int _channel = DEFAULT_TOKEN_CHANNEL;
1105 // InternalSolverLanguageLexer.g:108:27: ( '>=' ) 819 // InternalSolverLanguageLexer.g:82:27: ( '=>' )
1106 // InternalSolverLanguageLexer.g:108:29: '>=' 820 // InternalSolverLanguageLexer.g:82:29: '=>'
1107 { 821 {
1108 match(">="); 822 match("=>");
1109 823
1110 824
1111 } 825 }
@@ -1116,17 +830,17 @@ public class InternalSolverLanguageLexer extends Lexer {
1116 finally { 830 finally {
1117 } 831 }
1118 } 832 }
1119 // $ANTLR end "GreaterThanSignEqualsSign" 833 // $ANTLR end "EqualsSignGreaterThanSign"
1120 834
1121 // $ANTLR start "EQ" 835 // $ANTLR start "GreaterThanSignEqualsSign"
1122 public final void mEQ() throws RecognitionException { 836 public final void mGreaterThanSignEqualsSign() throws RecognitionException {
1123 try { 837 try {
1124 int _type = EQ; 838 int _type = GreaterThanSignEqualsSign;
1125 int _channel = DEFAULT_TOKEN_CHANNEL; 839 int _channel = DEFAULT_TOKEN_CHANNEL;
1126 // InternalSolverLanguageLexer.g:110:4: ( 'EQ' ) 840 // InternalSolverLanguageLexer.g:84:27: ( '>=' )
1127 // InternalSolverLanguageLexer.g:110:6: 'EQ' 841 // InternalSolverLanguageLexer.g:84:29: '>='
1128 { 842 {
1129 match("EQ"); 843 match(">=");
1130 844
1131 845
1132 } 846 }
@@ -1137,17 +851,17 @@ public class InternalSolverLanguageLexer extends Lexer {
1137 finally { 851 finally {
1138 } 852 }
1139 } 853 }
1140 // $ANTLR end "EQ" 854 // $ANTLR end "GreaterThanSignEqualsSign"
1141 855
1142 // $ANTLR start "IN" 856 // $ANTLR start "As"
1143 public final void mIN() throws RecognitionException { 857 public final void mAs() throws RecognitionException {
1144 try { 858 try {
1145 int _type = IN; 859 int _type = As;
1146 int _channel = DEFAULT_TOKEN_CHANNEL; 860 int _channel = DEFAULT_TOKEN_CHANNEL;
1147 // InternalSolverLanguageLexer.g:112:4: ( 'IN' ) 861 // InternalSolverLanguageLexer.g:86:4: ( 'as' )
1148 // InternalSolverLanguageLexer.g:112:6: 'IN' 862 // InternalSolverLanguageLexer.g:86:6: 'as'
1149 { 863 {
1150 match("IN"); 864 match("as");
1151 865
1152 866
1153 } 867 }
@@ -1158,15 +872,15 @@ public class InternalSolverLanguageLexer extends Lexer {
1158 finally { 872 finally {
1159 } 873 }
1160 } 874 }
1161 // $ANTLR end "IN" 875 // $ANTLR end "As"
1162 876
1163 // $ANTLR start "If" 877 // $ANTLR start "If"
1164 public final void mIf() throws RecognitionException { 878 public final void mIf() throws RecognitionException {
1165 try { 879 try {
1166 int _type = If; 880 int _type = If;
1167 int _channel = DEFAULT_TOKEN_CHANNEL; 881 int _channel = DEFAULT_TOKEN_CHANNEL;
1168 // InternalSolverLanguageLexer.g:114:4: ( 'if' ) 882 // InternalSolverLanguageLexer.g:88:4: ( 'if' )
1169 // InternalSolverLanguageLexer.g:114:6: 'if' 883 // InternalSolverLanguageLexer.g:88:6: 'if'
1170 { 884 {
1171 match("if"); 885 match("if");
1172 886
@@ -1186,8 +900,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1186 try { 900 try {
1187 int _type = In; 901 int _type = In;
1188 int _channel = DEFAULT_TOKEN_CHANNEL; 902 int _channel = DEFAULT_TOKEN_CHANNEL;
1189 // InternalSolverLanguageLexer.g:116:4: ( 'in' ) 903 // InternalSolverLanguageLexer.g:90:4: ( 'in' )
1190 // InternalSolverLanguageLexer.g:116:6: 'in' 904 // InternalSolverLanguageLexer.g:90:6: 'in'
1191 { 905 {
1192 match("in"); 906 match("in");
1193 907
@@ -1207,8 +921,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1207 try { 921 try {
1208 int _type = ExclamationMark; 922 int _type = ExclamationMark;
1209 int _channel = DEFAULT_TOKEN_CHANNEL; 923 int _channel = DEFAULT_TOKEN_CHANNEL;
1210 // InternalSolverLanguageLexer.g:118:17: ( '!' ) 924 // InternalSolverLanguageLexer.g:92:17: ( '!' )
1211 // InternalSolverLanguageLexer.g:118:19: '!' 925 // InternalSolverLanguageLexer.g:92:19: '!'
1212 { 926 {
1213 match('!'); 927 match('!');
1214 928
@@ -1227,8 +941,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1227 try { 941 try {
1228 int _type = LeftParenthesis; 942 int _type = LeftParenthesis;
1229 int _channel = DEFAULT_TOKEN_CHANNEL; 943 int _channel = DEFAULT_TOKEN_CHANNEL;
1230 // InternalSolverLanguageLexer.g:120:17: ( '(' ) 944 // InternalSolverLanguageLexer.g:94:17: ( '(' )
1231 // InternalSolverLanguageLexer.g:120:19: '(' 945 // InternalSolverLanguageLexer.g:94:19: '('
1232 { 946 {
1233 match('('); 947 match('(');
1234 948
@@ -1247,8 +961,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1247 try { 961 try {
1248 int _type = RightParenthesis; 962 int _type = RightParenthesis;
1249 int _channel = DEFAULT_TOKEN_CHANNEL; 963 int _channel = DEFAULT_TOKEN_CHANNEL;
1250 // InternalSolverLanguageLexer.g:122:18: ( ')' ) 964 // InternalSolverLanguageLexer.g:96:18: ( ')' )
1251 // InternalSolverLanguageLexer.g:122:20: ')' 965 // InternalSolverLanguageLexer.g:96:20: ')'
1252 { 966 {
1253 match(')'); 967 match(')');
1254 968
@@ -1267,8 +981,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1267 try { 981 try {
1268 int _type = Asterisk; 982 int _type = Asterisk;
1269 int _channel = DEFAULT_TOKEN_CHANNEL; 983 int _channel = DEFAULT_TOKEN_CHANNEL;
1270 // InternalSolverLanguageLexer.g:124:10: ( '*' ) 984 // InternalSolverLanguageLexer.g:98:10: ( '*' )
1271 // InternalSolverLanguageLexer.g:124:12: '*' 985 // InternalSolverLanguageLexer.g:98:12: '*'
1272 { 986 {
1273 match('*'); 987 match('*');
1274 988
@@ -1287,8 +1001,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1287 try { 1001 try {
1288 int _type = PlusSign; 1002 int _type = PlusSign;
1289 int _channel = DEFAULT_TOKEN_CHANNEL; 1003 int _channel = DEFAULT_TOKEN_CHANNEL;
1290 // InternalSolverLanguageLexer.g:126:10: ( '+' ) 1004 // InternalSolverLanguageLexer.g:100:10: ( '+' )
1291 // InternalSolverLanguageLexer.g:126:12: '+' 1005 // InternalSolverLanguageLexer.g:100:12: '+'
1292 { 1006 {
1293 match('+'); 1007 match('+');
1294 1008
@@ -1307,8 +1021,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1307 try { 1021 try {
1308 int _type = Comma; 1022 int _type = Comma;
1309 int _channel = DEFAULT_TOKEN_CHANNEL; 1023 int _channel = DEFAULT_TOKEN_CHANNEL;
1310 // InternalSolverLanguageLexer.g:128:7: ( ',' ) 1024 // InternalSolverLanguageLexer.g:102:7: ( ',' )
1311 // InternalSolverLanguageLexer.g:128:9: ',' 1025 // InternalSolverLanguageLexer.g:102:9: ','
1312 { 1026 {
1313 match(','); 1027 match(',');
1314 1028
@@ -1327,8 +1041,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1327 try { 1041 try {
1328 int _type = HyphenMinus; 1042 int _type = HyphenMinus;
1329 int _channel = DEFAULT_TOKEN_CHANNEL; 1043 int _channel = DEFAULT_TOKEN_CHANNEL;
1330 // InternalSolverLanguageLexer.g:130:13: ( '-' ) 1044 // InternalSolverLanguageLexer.g:104:13: ( '-' )
1331 // InternalSolverLanguageLexer.g:130:15: '-' 1045 // InternalSolverLanguageLexer.g:104:15: '-'
1332 { 1046 {
1333 match('-'); 1047 match('-');
1334 1048
@@ -1347,8 +1061,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1347 try { 1061 try {
1348 int _type = FullStop; 1062 int _type = FullStop;
1349 int _channel = DEFAULT_TOKEN_CHANNEL; 1063 int _channel = DEFAULT_TOKEN_CHANNEL;
1350 // InternalSolverLanguageLexer.g:132:10: ( '.' ) 1064 // InternalSolverLanguageLexer.g:106:10: ( '.' )
1351 // InternalSolverLanguageLexer.g:132:12: '.' 1065 // InternalSolverLanguageLexer.g:106:12: '.'
1352 { 1066 {
1353 match('.'); 1067 match('.');
1354 1068
@@ -1367,8 +1081,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1367 try { 1081 try {
1368 int _type = Solidus; 1082 int _type = Solidus;
1369 int _channel = DEFAULT_TOKEN_CHANNEL; 1083 int _channel = DEFAULT_TOKEN_CHANNEL;
1370 // InternalSolverLanguageLexer.g:134:9: ( '/' ) 1084 // InternalSolverLanguageLexer.g:108:9: ( '/' )
1371 // InternalSolverLanguageLexer.g:134:11: '/' 1085 // InternalSolverLanguageLexer.g:108:11: '/'
1372 { 1086 {
1373 match('/'); 1087 match('/');
1374 1088
@@ -1387,8 +1101,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1387 try { 1101 try {
1388 int _type = Colon; 1102 int _type = Colon;
1389 int _channel = DEFAULT_TOKEN_CHANNEL; 1103 int _channel = DEFAULT_TOKEN_CHANNEL;
1390 // InternalSolverLanguageLexer.g:136:7: ( ':' ) 1104 // InternalSolverLanguageLexer.g:110:7: ( ':' )
1391 // InternalSolverLanguageLexer.g:136:9: ':' 1105 // InternalSolverLanguageLexer.g:110:9: ':'
1392 { 1106 {
1393 match(':'); 1107 match(':');
1394 1108
@@ -1407,8 +1121,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1407 try { 1121 try {
1408 int _type = Semicolon; 1122 int _type = Semicolon;
1409 int _channel = DEFAULT_TOKEN_CHANNEL; 1123 int _channel = DEFAULT_TOKEN_CHANNEL;
1410 // InternalSolverLanguageLexer.g:138:11: ( ';' ) 1124 // InternalSolverLanguageLexer.g:112:11: ( ';' )
1411 // InternalSolverLanguageLexer.g:138:13: ';' 1125 // InternalSolverLanguageLexer.g:112:13: ';'
1412 { 1126 {
1413 match(';'); 1127 match(';');
1414 1128
@@ -1427,8 +1141,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1427 try { 1141 try {
1428 int _type = LessThanSign; 1142 int _type = LessThanSign;
1429 int _channel = DEFAULT_TOKEN_CHANNEL; 1143 int _channel = DEFAULT_TOKEN_CHANNEL;
1430 // InternalSolverLanguageLexer.g:140:14: ( '<' ) 1144 // InternalSolverLanguageLexer.g:114:14: ( '<' )
1431 // InternalSolverLanguageLexer.g:140:16: '<' 1145 // InternalSolverLanguageLexer.g:114:16: '<'
1432 { 1146 {
1433 match('<'); 1147 match('<');
1434 1148
@@ -1447,8 +1161,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1447 try { 1161 try {
1448 int _type = EqualsSign; 1162 int _type = EqualsSign;
1449 int _channel = DEFAULT_TOKEN_CHANNEL; 1163 int _channel = DEFAULT_TOKEN_CHANNEL;
1450 // InternalSolverLanguageLexer.g:142:12: ( '=' ) 1164 // InternalSolverLanguageLexer.g:116:12: ( '=' )
1451 // InternalSolverLanguageLexer.g:142:14: '=' 1165 // InternalSolverLanguageLexer.g:116:14: '='
1452 { 1166 {
1453 match('='); 1167 match('=');
1454 1168
@@ -1467,8 +1181,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1467 try { 1181 try {
1468 int _type = GreaterThanSign; 1182 int _type = GreaterThanSign;
1469 int _channel = DEFAULT_TOKEN_CHANNEL; 1183 int _channel = DEFAULT_TOKEN_CHANNEL;
1470 // InternalSolverLanguageLexer.g:144:17: ( '>' ) 1184 // InternalSolverLanguageLexer.g:118:17: ( '>' )
1471 // InternalSolverLanguageLexer.g:144:19: '>' 1185 // InternalSolverLanguageLexer.g:118:19: '>'
1472 { 1186 {
1473 match('>'); 1187 match('>');
1474 1188
@@ -1487,8 +1201,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1487 try { 1201 try {
1488 int _type = LeftSquareBracket; 1202 int _type = LeftSquareBracket;
1489 int _channel = DEFAULT_TOKEN_CHANNEL; 1203 int _channel = DEFAULT_TOKEN_CHANNEL;
1490 // InternalSolverLanguageLexer.g:146:19: ( '[' ) 1204 // InternalSolverLanguageLexer.g:120:19: ( '[' )
1491 // InternalSolverLanguageLexer.g:146:21: '[' 1205 // InternalSolverLanguageLexer.g:120:21: '['
1492 { 1206 {
1493 match('['); 1207 match('[');
1494 1208
@@ -1507,8 +1221,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1507 try { 1221 try {
1508 int _type = RightSquareBracket; 1222 int _type = RightSquareBracket;
1509 int _channel = DEFAULT_TOKEN_CHANNEL; 1223 int _channel = DEFAULT_TOKEN_CHANNEL;
1510 // InternalSolverLanguageLexer.g:148:20: ( ']' ) 1224 // InternalSolverLanguageLexer.g:122:20: ( ']' )
1511 // InternalSolverLanguageLexer.g:148:22: ']' 1225 // InternalSolverLanguageLexer.g:122:22: ']'
1512 { 1226 {
1513 match(']'); 1227 match(']');
1514 1228
@@ -1527,8 +1241,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1527 try { 1241 try {
1528 int _type = CircumflexAccent; 1242 int _type = CircumflexAccent;
1529 int _channel = DEFAULT_TOKEN_CHANNEL; 1243 int _channel = DEFAULT_TOKEN_CHANNEL;
1530 // InternalSolverLanguageLexer.g:150:18: ( '^' ) 1244 // InternalSolverLanguageLexer.g:124:18: ( '^' )
1531 // InternalSolverLanguageLexer.g:150:20: '^' 1245 // InternalSolverLanguageLexer.g:124:20: '^'
1532 { 1246 {
1533 match('^'); 1247 match('^');
1534 1248
@@ -1547,8 +1261,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1547 try { 1261 try {
1548 int _type = LeftCurlyBracket; 1262 int _type = LeftCurlyBracket;
1549 int _channel = DEFAULT_TOKEN_CHANNEL; 1263 int _channel = DEFAULT_TOKEN_CHANNEL;
1550 // InternalSolverLanguageLexer.g:152:18: ( '{' ) 1264 // InternalSolverLanguageLexer.g:126:18: ( '{' )
1551 // InternalSolverLanguageLexer.g:152:20: '{' 1265 // InternalSolverLanguageLexer.g:126:20: '{'
1552 { 1266 {
1553 match('{'); 1267 match('{');
1554 1268
@@ -1567,8 +1281,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1567 try { 1281 try {
1568 int _type = VerticalLine; 1282 int _type = VerticalLine;
1569 int _channel = DEFAULT_TOKEN_CHANNEL; 1283 int _channel = DEFAULT_TOKEN_CHANNEL;
1570 // InternalSolverLanguageLexer.g:154:14: ( '|' ) 1284 // InternalSolverLanguageLexer.g:128:14: ( '|' )
1571 // InternalSolverLanguageLexer.g:154:16: '|' 1285 // InternalSolverLanguageLexer.g:128:16: '|'
1572 { 1286 {
1573 match('|'); 1287 match('|');
1574 1288
@@ -1587,8 +1301,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1587 try { 1301 try {
1588 int _type = RightCurlyBracket; 1302 int _type = RightCurlyBracket;
1589 int _channel = DEFAULT_TOKEN_CHANNEL; 1303 int _channel = DEFAULT_TOKEN_CHANNEL;
1590 // InternalSolverLanguageLexer.g:156:19: ( '}' ) 1304 // InternalSolverLanguageLexer.g:130:19: ( '}' )
1591 // InternalSolverLanguageLexer.g:156:21: '}' 1305 // InternalSolverLanguageLexer.g:130:21: '}'
1592 { 1306 {
1593 match('}'); 1307 match('}');
1594 1308
@@ -1607,11 +1321,11 @@ public class InternalSolverLanguageLexer extends Lexer {
1607 try { 1321 try {
1608 int _type = RULE_STRING; 1322 int _type = RULE_STRING;
1609 int _channel = DEFAULT_TOKEN_CHANNEL; 1323 int _channel = DEFAULT_TOKEN_CHANNEL;
1610 // InternalSolverLanguageLexer.g:158:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' ) 1324 // InternalSolverLanguageLexer.g:132:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' )
1611 // InternalSolverLanguageLexer.g:158:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' 1325 // InternalSolverLanguageLexer.g:132:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
1612 { 1326 {
1613 match('\"'); 1327 match('\"');
1614 // InternalSolverLanguageLexer.g:158:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* 1328 // InternalSolverLanguageLexer.g:132:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
1615 loop1: 1329 loop1:
1616 do { 1330 do {
1617 int alt1=3; 1331 int alt1=3;
@@ -1627,7 +1341,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1627 1341
1628 switch (alt1) { 1342 switch (alt1) {
1629 case 1 : 1343 case 1 :
1630 // InternalSolverLanguageLexer.g:158:20: '\\\\' . 1344 // InternalSolverLanguageLexer.g:132:20: '\\\\' .
1631 { 1345 {
1632 match('\\'); 1346 match('\\');
1633 matchAny(); 1347 matchAny();
@@ -1635,7 +1349,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1635 } 1349 }
1636 break; 1350 break;
1637 case 2 : 1351 case 2 :
1638 // InternalSolverLanguageLexer.g:158:27: ~ ( ( '\\\\' | '\"' ) ) 1352 // InternalSolverLanguageLexer.g:132:27: ~ ( ( '\\\\' | '\"' ) )
1639 { 1353 {
1640 if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { 1354 if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
1641 input.consume(); 1355 input.consume();
@@ -1672,11 +1386,11 @@ public class InternalSolverLanguageLexer extends Lexer {
1672 try { 1386 try {
1673 int _type = RULE_QUOTED_ID; 1387 int _type = RULE_QUOTED_ID;
1674 int _channel = DEFAULT_TOKEN_CHANNEL; 1388 int _channel = DEFAULT_TOKEN_CHANNEL;
1675 // InternalSolverLanguageLexer.g:160:16: ( '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) 1389 // InternalSolverLanguageLexer.g:134:16: ( '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
1676 // InternalSolverLanguageLexer.g:160:18: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' 1390 // InternalSolverLanguageLexer.g:134:18: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
1677 { 1391 {
1678 match('\''); 1392 match('\'');
1679 // InternalSolverLanguageLexer.g:160:23: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* 1393 // InternalSolverLanguageLexer.g:134:23: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
1680 loop2: 1394 loop2:
1681 do { 1395 do {
1682 int alt2=3; 1396 int alt2=3;
@@ -1692,7 +1406,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1692 1406
1693 switch (alt2) { 1407 switch (alt2) {
1694 case 1 : 1408 case 1 :
1695 // InternalSolverLanguageLexer.g:160:24: '\\\\' . 1409 // InternalSolverLanguageLexer.g:134:24: '\\\\' .
1696 { 1410 {
1697 match('\\'); 1411 match('\\');
1698 matchAny(); 1412 matchAny();
@@ -1700,7 +1414,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1700 } 1414 }
1701 break; 1415 break;
1702 case 2 : 1416 case 2 :
1703 // InternalSolverLanguageLexer.g:160:31: ~ ( ( '\\\\' | '\\'' ) ) 1417 // InternalSolverLanguageLexer.g:134:31: ~ ( ( '\\\\' | '\\'' ) )
1704 { 1418 {
1705 if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { 1419 if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
1706 input.consume(); 1420 input.consume();
@@ -1737,10 +1451,10 @@ public class InternalSolverLanguageLexer extends Lexer {
1737 try { 1451 try {
1738 int _type = RULE_SL_COMMENT; 1452 int _type = RULE_SL_COMMENT;
1739 int _channel = DEFAULT_TOKEN_CHANNEL; 1453 int _channel = DEFAULT_TOKEN_CHANNEL;
1740 // InternalSolverLanguageLexer.g:162:17: ( ( '%' | '//' ) (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) 1454 // InternalSolverLanguageLexer.g:136:17: ( ( '%' | '//' ) (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
1741 // InternalSolverLanguageLexer.g:162:19: ( '%' | '//' ) (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? 1455 // InternalSolverLanguageLexer.g:136:19: ( '%' | '//' ) (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
1742 { 1456 {
1743 // InternalSolverLanguageLexer.g:162:19: ( '%' | '//' ) 1457 // InternalSolverLanguageLexer.g:136:19: ( '%' | '//' )
1744 int alt3=2; 1458 int alt3=2;
1745 int LA3_0 = input.LA(1); 1459 int LA3_0 = input.LA(1);
1746 1460
@@ -1758,14 +1472,14 @@ public class InternalSolverLanguageLexer extends Lexer {
1758 } 1472 }
1759 switch (alt3) { 1473 switch (alt3) {
1760 case 1 : 1474 case 1 :
1761 // InternalSolverLanguageLexer.g:162:20: '%' 1475 // InternalSolverLanguageLexer.g:136:20: '%'
1762 { 1476 {
1763 match('%'); 1477 match('%');
1764 1478
1765 } 1479 }
1766 break; 1480 break;
1767 case 2 : 1481 case 2 :
1768 // InternalSolverLanguageLexer.g:162:24: '//' 1482 // InternalSolverLanguageLexer.g:136:24: '//'
1769 { 1483 {
1770 match("//"); 1484 match("//");
1771 1485
@@ -1775,7 +1489,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1775 1489
1776 } 1490 }
1777 1491
1778 // InternalSolverLanguageLexer.g:162:30: (~ ( ( '\\n' | '\\r' ) ) )* 1492 // InternalSolverLanguageLexer.g:136:30: (~ ( ( '\\n' | '\\r' ) ) )*
1779 loop4: 1493 loop4:
1780 do { 1494 do {
1781 int alt4=2; 1495 int alt4=2;
@@ -1788,7 +1502,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1788 1502
1789 switch (alt4) { 1503 switch (alt4) {
1790 case 1 : 1504 case 1 :
1791 // InternalSolverLanguageLexer.g:162:30: ~ ( ( '\\n' | '\\r' ) ) 1505 // InternalSolverLanguageLexer.g:136:30: ~ ( ( '\\n' | '\\r' ) )
1792 { 1506 {
1793 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') ) { 1507 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') ) {
1794 input.consume(); 1508 input.consume();
@@ -1808,7 +1522,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1808 } 1522 }
1809 } while (true); 1523 } while (true);
1810 1524
1811 // InternalSolverLanguageLexer.g:162:46: ( ( '\\r' )? '\\n' )? 1525 // InternalSolverLanguageLexer.g:136:46: ( ( '\\r' )? '\\n' )?
1812 int alt6=2; 1526 int alt6=2;
1813 int LA6_0 = input.LA(1); 1527 int LA6_0 = input.LA(1);
1814 1528
@@ -1817,9 +1531,9 @@ public class InternalSolverLanguageLexer extends Lexer {
1817 } 1531 }
1818 switch (alt6) { 1532 switch (alt6) {
1819 case 1 : 1533 case 1 :
1820 // InternalSolverLanguageLexer.g:162:47: ( '\\r' )? '\\n' 1534 // InternalSolverLanguageLexer.g:136:47: ( '\\r' )? '\\n'
1821 { 1535 {
1822 // InternalSolverLanguageLexer.g:162:47: ( '\\r' )? 1536 // InternalSolverLanguageLexer.g:136:47: ( '\\r' )?
1823 int alt5=2; 1537 int alt5=2;
1824 int LA5_0 = input.LA(1); 1538 int LA5_0 = input.LA(1);
1825 1539
@@ -1828,7 +1542,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1828 } 1542 }
1829 switch (alt5) { 1543 switch (alt5) {
1830 case 1 : 1544 case 1 :
1831 // InternalSolverLanguageLexer.g:162:47: '\\r' 1545 // InternalSolverLanguageLexer.g:136:47: '\\r'
1832 { 1546 {
1833 match('\r'); 1547 match('\r');
1834 1548
@@ -1858,8 +1572,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1858 // $ANTLR start "RULE_TRANSITIVE_CLOSURE" 1572 // $ANTLR start "RULE_TRANSITIVE_CLOSURE"
1859 public final void mRULE_TRANSITIVE_CLOSURE() throws RecognitionException { 1573 public final void mRULE_TRANSITIVE_CLOSURE() throws RecognitionException {
1860 try { 1574 try {
1861 // InternalSolverLanguageLexer.g:164:34: () 1575 // InternalSolverLanguageLexer.g:138:34: ()
1862 // InternalSolverLanguageLexer.g:164:36: 1576 // InternalSolverLanguageLexer.g:138:36:
1863 { 1577 {
1864 } 1578 }
1865 1579
@@ -1872,8 +1586,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1872 // $ANTLR start "RULE_REFLEXIVE_TRANSITIVE_CLOSURE" 1586 // $ANTLR start "RULE_REFLEXIVE_TRANSITIVE_CLOSURE"
1873 public final void mRULE_REFLEXIVE_TRANSITIVE_CLOSURE() throws RecognitionException { 1587 public final void mRULE_REFLEXIVE_TRANSITIVE_CLOSURE() throws RecognitionException {
1874 try { 1588 try {
1875 // InternalSolverLanguageLexer.g:166:44: () 1589 // InternalSolverLanguageLexer.g:140:44: ()
1876 // InternalSolverLanguageLexer.g:166:46: 1590 // InternalSolverLanguageLexer.g:140:46:
1877 { 1591 {
1878 } 1592 }
1879 1593
@@ -1886,8 +1600,8 @@ public class InternalSolverLanguageLexer extends Lexer {
1886 // $ANTLR start "RULE_FULL_STOP" 1600 // $ANTLR start "RULE_FULL_STOP"
1887 public final void mRULE_FULL_STOP() throws RecognitionException { 1601 public final void mRULE_FULL_STOP() throws RecognitionException {
1888 try { 1602 try {
1889 // InternalSolverLanguageLexer.g:168:25: () 1603 // InternalSolverLanguageLexer.g:142:25: ()
1890 // InternalSolverLanguageLexer.g:168:27: 1604 // InternalSolverLanguageLexer.g:142:27:
1891 { 1605 {
1892 } 1606 }
1893 1607
@@ -1902,10 +1616,10 @@ public class InternalSolverLanguageLexer extends Lexer {
1902 try { 1616 try {
1903 int _type = RULE_ID; 1617 int _type = RULE_ID;
1904 int _channel = DEFAULT_TOKEN_CHANNEL; 1618 int _channel = DEFAULT_TOKEN_CHANNEL;
1905 // InternalSolverLanguageLexer.g:170:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) 1619 // InternalSolverLanguageLexer.g:144:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
1906 // InternalSolverLanguageLexer.g:170:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* 1620 // InternalSolverLanguageLexer.g:144:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
1907 { 1621 {
1908 // InternalSolverLanguageLexer.g:170:11: ( '^' )? 1622 // InternalSolverLanguageLexer.g:144:11: ( '^' )?
1909 int alt7=2; 1623 int alt7=2;
1910 int LA7_0 = input.LA(1); 1624 int LA7_0 = input.LA(1);
1911 1625
@@ -1914,7 +1628,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1914 } 1628 }
1915 switch (alt7) { 1629 switch (alt7) {
1916 case 1 : 1630 case 1 :
1917 // InternalSolverLanguageLexer.g:170:11: '^' 1631 // InternalSolverLanguageLexer.g:144:11: '^'
1918 { 1632 {
1919 match('^'); 1633 match('^');
1920 1634
@@ -1932,7 +1646,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1932 recover(mse); 1646 recover(mse);
1933 throw mse;} 1647 throw mse;}
1934 1648
1935 // InternalSolverLanguageLexer.g:170:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* 1649 // InternalSolverLanguageLexer.g:144:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
1936 loop8: 1650 loop8:
1937 do { 1651 do {
1938 int alt8=2; 1652 int alt8=2;
@@ -1981,10 +1695,10 @@ public class InternalSolverLanguageLexer extends Lexer {
1981 try { 1695 try {
1982 int _type = RULE_INT; 1696 int _type = RULE_INT;
1983 int _channel = DEFAULT_TOKEN_CHANNEL; 1697 int _channel = DEFAULT_TOKEN_CHANNEL;
1984 // InternalSolverLanguageLexer.g:172:10: ( ( '0' .. '9' )+ ) 1698 // InternalSolverLanguageLexer.g:146:10: ( ( '0' .. '9' )+ )
1985 // InternalSolverLanguageLexer.g:172:12: ( '0' .. '9' )+ 1699 // InternalSolverLanguageLexer.g:146:12: ( '0' .. '9' )+
1986 { 1700 {
1987 // InternalSolverLanguageLexer.g:172:12: ( '0' .. '9' )+ 1701 // InternalSolverLanguageLexer.g:146:12: ( '0' .. '9' )+
1988 int cnt9=0; 1702 int cnt9=0;
1989 loop9: 1703 loop9:
1990 do { 1704 do {
@@ -1998,7 +1712,7 @@ public class InternalSolverLanguageLexer extends Lexer {
1998 1712
1999 switch (alt9) { 1713 switch (alt9) {
2000 case 1 : 1714 case 1 :
2001 // InternalSolverLanguageLexer.g:172:13: '0' .. '9' 1715 // InternalSolverLanguageLexer.g:146:13: '0' .. '9'
2002 { 1716 {
2003 matchRange('0','9'); 1717 matchRange('0','9');
2004 1718
@@ -2030,12 +1744,12 @@ public class InternalSolverLanguageLexer extends Lexer {
2030 try { 1744 try {
2031 int _type = RULE_ML_COMMENT; 1745 int _type = RULE_ML_COMMENT;
2032 int _channel = DEFAULT_TOKEN_CHANNEL; 1746 int _channel = DEFAULT_TOKEN_CHANNEL;
2033 // InternalSolverLanguageLexer.g:174:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) 1747 // InternalSolverLanguageLexer.g:148:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
2034 // InternalSolverLanguageLexer.g:174:19: '/*' ( options {greedy=false; } : . )* '*/' 1748 // InternalSolverLanguageLexer.g:148:19: '/*' ( options {greedy=false; } : . )* '*/'
2035 { 1749 {
2036 match("/*"); 1750 match("/*");
2037 1751
2038 // InternalSolverLanguageLexer.g:174:24: ( options {greedy=false; } : . )* 1752 // InternalSolverLanguageLexer.g:148:24: ( options {greedy=false; } : . )*
2039 loop10: 1753 loop10:
2040 do { 1754 do {
2041 int alt10=2; 1755 int alt10=2;
@@ -2060,7 +1774,7 @@ public class InternalSolverLanguageLexer extends Lexer {
2060 1774
2061 switch (alt10) { 1775 switch (alt10) {
2062 case 1 : 1776 case 1 :
2063 // InternalSolverLanguageLexer.g:174:52: . 1777 // InternalSolverLanguageLexer.g:148:52: .
2064 { 1778 {
2065 matchAny(); 1779 matchAny();
2066 1780
@@ -2090,10 +1804,10 @@ public class InternalSolverLanguageLexer extends Lexer {
2090 try { 1804 try {
2091 int _type = RULE_WS; 1805 int _type = RULE_WS;
2092 int _channel = DEFAULT_TOKEN_CHANNEL; 1806 int _channel = DEFAULT_TOKEN_CHANNEL;
2093 // InternalSolverLanguageLexer.g:176:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) 1807 // InternalSolverLanguageLexer.g:150:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
2094 // InternalSolverLanguageLexer.g:176:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ 1808 // InternalSolverLanguageLexer.g:150:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
2095 { 1809 {
2096 // InternalSolverLanguageLexer.g:176:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ 1810 // InternalSolverLanguageLexer.g:150:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
2097 int cnt11=0; 1811 int cnt11=0;
2098 loop11: 1812 loop11:
2099 do { 1813 do {
@@ -2147,8 +1861,8 @@ public class InternalSolverLanguageLexer extends Lexer {
2147 try { 1861 try {
2148 int _type = RULE_ANY_OTHER; 1862 int _type = RULE_ANY_OTHER;
2149 int _channel = DEFAULT_TOKEN_CHANNEL; 1863 int _channel = DEFAULT_TOKEN_CHANNEL;
2150 // InternalSolverLanguageLexer.g:178:16: ( . ) 1864 // InternalSolverLanguageLexer.g:152:16: ( . )
2151 // InternalSolverLanguageLexer.g:178:18: . 1865 // InternalSolverLanguageLexer.g:152:18: .
2152 { 1866 {
2153 matchAny(); 1867 matchAny();
2154 1868
@@ -2163,565 +1877,474 @@ public class InternalSolverLanguageLexer extends Lexer {
2163 // $ANTLR end "RULE_ANY_OTHER" 1877 // $ANTLR end "RULE_ANY_OTHER"
2164 1878
2165 public void mTokens() throws RecognitionException { 1879 public void mTokens() throws RecognitionException {
2166 // InternalSolverLanguageLexer.g:1:8: ( GREATER_EQ | Functional | Abstract | Contains | Maximize | Minimize | Opposite | GREATER | LESS_EQ | Current | Default | Extends | Unknown | NOT_EQ | Extern | Class | Count | Empty | Error | False | Scope | LESS | Else | Must | Only | Prod | Real | Then | True | ADD | DIV | MUL | POW | SUB | Avg | Inf | Int | Max | May | Min | Sum | ExclamationMarkEqualsSign | HyphenMinusGreaterThanSign | FullStopFullStop | ColonHyphenMinus | LessThanSignEqualsSign | EqualsSignEqualsSign | GreaterThanSignEqualsSign | EQ | IN | If | In | ExclamationMark | LeftParenthesis | RightParenthesis | Asterisk | PlusSign | Comma | HyphenMinus | FullStop | Solidus | Colon | Semicolon | LessThanSign | EqualsSign | GreaterThanSign | LeftSquareBracket | RightSquareBracket | CircumflexAccent | LeftCurlyBracket | VerticalLine | RightCurlyBracket | RULE_STRING | RULE_QUOTED_ID | RULE_SL_COMMENT | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_WS | RULE_ANY_OTHER ) 1880 // InternalSolverLanguageLexer.g:1:8: ( Functional | Abstract | Contains | Datatype | Maximize | Minimize | Opposite | Current | Default | Extends | Unknown | Exists | Extern | Forall | Class | Count | Empty | Error | False | Scope | Else | Must | Then | True | FullStopFullStopFullStop | Inf | Let | May | ExclamationMarkEqualsSign | HyphenMinusGreaterThanSign | FullStopFullStop | ColonHyphenMinus | LessThanSignEqualsSign | EqualsSignEqualsSign | EqualsSignGreaterThanSign | GreaterThanSignEqualsSign | As | If | In | ExclamationMark | LeftParenthesis | RightParenthesis | Asterisk | PlusSign | Comma | HyphenMinus | FullStop | Solidus | Colon | Semicolon | LessThanSign | EqualsSign | GreaterThanSign | LeftSquareBracket | RightSquareBracket | CircumflexAccent | LeftCurlyBracket | VerticalLine | RightCurlyBracket | RULE_STRING | RULE_QUOTED_ID | RULE_SL_COMMENT | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_WS | RULE_ANY_OTHER )
2167 int alt12=80; 1881 int alt12=67;
2168 alt12 = dfa12.predict(input); 1882 alt12 = dfa12.predict(input);
2169 switch (alt12) { 1883 switch (alt12) {
2170 case 1 : 1884 case 1 :
2171 // InternalSolverLanguageLexer.g:1:10: GREATER_EQ 1885 // InternalSolverLanguageLexer.g:1:10: Functional
2172 { 1886 {
2173 mGREATER_EQ(); 1887 mFunctional();
2174 1888
2175 } 1889 }
2176 break; 1890 break;
2177 case 2 : 1891 case 2 :
2178 // InternalSolverLanguageLexer.g:1:21: Functional 1892 // InternalSolverLanguageLexer.g:1:21: Abstract
2179 { 1893 {
2180 mFunctional(); 1894 mAbstract();
2181 1895
2182 } 1896 }
2183 break; 1897 break;
2184 case 3 : 1898 case 3 :
2185 // InternalSolverLanguageLexer.g:1:32: Abstract 1899 // InternalSolverLanguageLexer.g:1:30: Contains
2186 { 1900 {
2187 mAbstract(); 1901 mContains();
2188 1902
2189 } 1903 }
2190 break; 1904 break;
2191 case 4 : 1905 case 4 :
2192 // InternalSolverLanguageLexer.g:1:41: Contains 1906 // InternalSolverLanguageLexer.g:1:39: Datatype
2193 { 1907 {
2194 mContains(); 1908 mDatatype();
2195 1909
2196 } 1910 }
2197 break; 1911 break;
2198 case 5 : 1912 case 5 :
2199 // InternalSolverLanguageLexer.g:1:50: Maximize 1913 // InternalSolverLanguageLexer.g:1:48: Maximize
2200 { 1914 {
2201 mMaximize(); 1915 mMaximize();
2202 1916
2203 } 1917 }
2204 break; 1918 break;
2205 case 6 : 1919 case 6 :
2206 // InternalSolverLanguageLexer.g:1:59: Minimize 1920 // InternalSolverLanguageLexer.g:1:57: Minimize
2207 { 1921 {
2208 mMinimize(); 1922 mMinimize();
2209 1923
2210 } 1924 }
2211 break; 1925 break;
2212 case 7 : 1926 case 7 :
2213 // InternalSolverLanguageLexer.g:1:68: Opposite 1927 // InternalSolverLanguageLexer.g:1:66: Opposite
2214 { 1928 {
2215 mOpposite(); 1929 mOpposite();
2216 1930
2217 } 1931 }
2218 break; 1932 break;
2219 case 8 : 1933 case 8 :
2220 // InternalSolverLanguageLexer.g:1:77: GREATER 1934 // InternalSolverLanguageLexer.g:1:75: Current
2221 { 1935 {
2222 mGREATER(); 1936 mCurrent();
2223 1937
2224 } 1938 }
2225 break; 1939 break;
2226 case 9 : 1940 case 9 :
2227 // InternalSolverLanguageLexer.g:1:85: LESS_EQ 1941 // InternalSolverLanguageLexer.g:1:83: Default
2228 { 1942 {
2229 mLESS_EQ(); 1943 mDefault();
2230 1944
2231 } 1945 }
2232 break; 1946 break;
2233 case 10 : 1947 case 10 :
2234 // InternalSolverLanguageLexer.g:1:93: Current 1948 // InternalSolverLanguageLexer.g:1:91: Extends
2235 { 1949 {
2236 mCurrent(); 1950 mExtends();
2237 1951
2238 } 1952 }
2239 break; 1953 break;
2240 case 11 : 1954 case 11 :
2241 // InternalSolverLanguageLexer.g:1:101: Default 1955 // InternalSolverLanguageLexer.g:1:99: Unknown
2242 { 1956 {
2243 mDefault(); 1957 mUnknown();
2244 1958
2245 } 1959 }
2246 break; 1960 break;
2247 case 12 : 1961 case 12 :
2248 // InternalSolverLanguageLexer.g:1:109: Extends 1962 // InternalSolverLanguageLexer.g:1:107: Exists
2249 { 1963 {
2250 mExtends(); 1964 mExists();
2251 1965
2252 } 1966 }
2253 break; 1967 break;
2254 case 13 : 1968 case 13 :
2255 // InternalSolverLanguageLexer.g:1:117: Unknown 1969 // InternalSolverLanguageLexer.g:1:114: Extern
2256 { 1970 {
2257 mUnknown(); 1971 mExtern();
2258 1972
2259 } 1973 }
2260 break; 1974 break;
2261 case 14 : 1975 case 14 :
2262 // InternalSolverLanguageLexer.g:1:125: NOT_EQ 1976 // InternalSolverLanguageLexer.g:1:121: Forall
2263 { 1977 {
2264 mNOT_EQ(); 1978 mForall();
2265 1979
2266 } 1980 }
2267 break; 1981 break;
2268 case 15 : 1982 case 15 :
2269 // InternalSolverLanguageLexer.g:1:132: Extern 1983 // InternalSolverLanguageLexer.g:1:128: Class
2270 { 1984 {
2271 mExtern(); 1985 mClass();
2272 1986
2273 } 1987 }
2274 break; 1988 break;
2275 case 16 : 1989 case 16 :
2276 // InternalSolverLanguageLexer.g:1:139: Class 1990 // InternalSolverLanguageLexer.g:1:134: Count
2277 { 1991 {
2278 mClass(); 1992 mCount();
2279 1993
2280 } 1994 }
2281 break; 1995 break;
2282 case 17 : 1996 case 17 :
2283 // InternalSolverLanguageLexer.g:1:145: Count 1997 // InternalSolverLanguageLexer.g:1:140: Empty
2284 { 1998 {
2285 mCount(); 1999 mEmpty();
2286 2000
2287 } 2001 }
2288 break; 2002 break;
2289 case 18 : 2003 case 18 :
2290 // InternalSolverLanguageLexer.g:1:151: Empty 2004 // InternalSolverLanguageLexer.g:1:146: Error
2291 { 2005 {
2292 mEmpty(); 2006 mError();
2293 2007
2294 } 2008 }
2295 break; 2009 break;
2296 case 19 : 2010 case 19 :
2297 // InternalSolverLanguageLexer.g:1:157: Error 2011 // InternalSolverLanguageLexer.g:1:152: False
2298 { 2012 {
2299 mError(); 2013 mFalse();
2300 2014
2301 } 2015 }
2302 break; 2016 break;
2303 case 20 : 2017 case 20 :
2304 // InternalSolverLanguageLexer.g:1:163: False 2018 // InternalSolverLanguageLexer.g:1:158: Scope
2305 { 2019 {
2306 mFalse(); 2020 mScope();
2307 2021
2308 } 2022 }
2309 break; 2023 break;
2310 case 21 : 2024 case 21 :
2311 // InternalSolverLanguageLexer.g:1:169: Scope 2025 // InternalSolverLanguageLexer.g:1:164: Else
2312 { 2026 {
2313 mScope(); 2027 mElse();
2314 2028
2315 } 2029 }
2316 break; 2030 break;
2317 case 22 : 2031 case 22 :
2318 // InternalSolverLanguageLexer.g:1:175: LESS 2032 // InternalSolverLanguageLexer.g:1:169: Must
2319 { 2033 {
2320 mLESS(); 2034 mMust();
2321 2035
2322 } 2036 }
2323 break; 2037 break;
2324 case 23 : 2038 case 23 :
2325 // InternalSolverLanguageLexer.g:1:180: Else 2039 // InternalSolverLanguageLexer.g:1:174: Then
2326 { 2040 {
2327 mElse(); 2041 mThen();
2328 2042
2329 } 2043 }
2330 break; 2044 break;
2331 case 24 : 2045 case 24 :
2332 // InternalSolverLanguageLexer.g:1:185: Must 2046 // InternalSolverLanguageLexer.g:1:179: True
2333 { 2047 {
2334 mMust(); 2048 mTrue();
2335 2049
2336 } 2050 }
2337 break; 2051 break;
2338 case 25 : 2052 case 25 :
2339 // InternalSolverLanguageLexer.g:1:190: Only 2053 // InternalSolverLanguageLexer.g:1:184: FullStopFullStopFullStop
2340 { 2054 {
2341 mOnly(); 2055 mFullStopFullStopFullStop();
2342 2056
2343 } 2057 }
2344 break; 2058 break;
2345 case 26 : 2059 case 26 :
2346 // InternalSolverLanguageLexer.g:1:195: Prod 2060 // InternalSolverLanguageLexer.g:1:209: Inf
2347 { 2061 {
2348 mProd(); 2062 mInf();
2349 2063
2350 } 2064 }
2351 break; 2065 break;
2352 case 27 : 2066 case 27 :
2353 // InternalSolverLanguageLexer.g:1:200: Real 2067 // InternalSolverLanguageLexer.g:1:213: Let
2354 { 2068 {
2355 mReal(); 2069 mLet();
2356 2070
2357 } 2071 }
2358 break; 2072 break;
2359 case 28 : 2073 case 28 :
2360 // InternalSolverLanguageLexer.g:1:205: Then 2074 // InternalSolverLanguageLexer.g:1:217: May
2361 { 2075 {
2362 mThen(); 2076 mMay();
2363 2077
2364 } 2078 }
2365 break; 2079 break;
2366 case 29 : 2080 case 29 :
2367 // InternalSolverLanguageLexer.g:1:210: True 2081 // InternalSolverLanguageLexer.g:1:221: ExclamationMarkEqualsSign
2368 { 2082 {
2369 mTrue(); 2083 mExclamationMarkEqualsSign();
2370 2084
2371 } 2085 }
2372 break; 2086 break;
2373 case 30 : 2087 case 30 :
2374 // InternalSolverLanguageLexer.g:1:215: ADD 2088 // InternalSolverLanguageLexer.g:1:247: HyphenMinusGreaterThanSign
2375 { 2089 {
2376 mADD(); 2090 mHyphenMinusGreaterThanSign();
2377 2091
2378 } 2092 }
2379 break; 2093 break;
2380 case 31 : 2094 case 31 :
2381 // InternalSolverLanguageLexer.g:1:219: DIV 2095 // InternalSolverLanguageLexer.g:1:274: FullStopFullStop
2382 { 2096 {
2383 mDIV(); 2097 mFullStopFullStop();
2384 2098
2385 } 2099 }
2386 break; 2100 break;
2387 case 32 : 2101 case 32 :
2388 // InternalSolverLanguageLexer.g:1:223: MUL 2102 // InternalSolverLanguageLexer.g:1:291: ColonHyphenMinus
2389 { 2103 {
2390 mMUL(); 2104 mColonHyphenMinus();
2391 2105
2392 } 2106 }
2393 break; 2107 break;
2394 case 33 : 2108 case 33 :
2395 // InternalSolverLanguageLexer.g:1:227: POW 2109 // InternalSolverLanguageLexer.g:1:308: LessThanSignEqualsSign
2396 { 2110 {
2397 mPOW(); 2111 mLessThanSignEqualsSign();
2398 2112
2399 } 2113 }
2400 break; 2114 break;
2401 case 34 : 2115 case 34 :
2402 // InternalSolverLanguageLexer.g:1:231: SUB 2116 // InternalSolverLanguageLexer.g:1:331: EqualsSignEqualsSign
2403 { 2117 {
2404 mSUB(); 2118 mEqualsSignEqualsSign();
2405 2119
2406 } 2120 }
2407 break; 2121 break;
2408 case 35 : 2122 case 35 :
2409 // InternalSolverLanguageLexer.g:1:235: Avg 2123 // InternalSolverLanguageLexer.g:1:352: EqualsSignGreaterThanSign
2410 { 2124 {
2411 mAvg(); 2125 mEqualsSignGreaterThanSign();
2412 2126
2413 } 2127 }
2414 break; 2128 break;
2415 case 36 : 2129 case 36 :
2416 // InternalSolverLanguageLexer.g:1:239: Inf 2130 // InternalSolverLanguageLexer.g:1:378: GreaterThanSignEqualsSign
2417 { 2131 {
2418 mInf(); 2132 mGreaterThanSignEqualsSign();
2419 2133
2420 } 2134 }
2421 break; 2135 break;
2422 case 37 : 2136 case 37 :
2423 // InternalSolverLanguageLexer.g:1:243: Int 2137 // InternalSolverLanguageLexer.g:1:404: As
2424 { 2138 {
2425 mInt(); 2139 mAs();
2426 2140
2427 } 2141 }
2428 break; 2142 break;
2429 case 38 : 2143 case 38 :
2430 // InternalSolverLanguageLexer.g:1:247: Max 2144 // InternalSolverLanguageLexer.g:1:407: If
2431 {
2432 mMax();
2433
2434 }
2435 break;
2436 case 39 :
2437 // InternalSolverLanguageLexer.g:1:251: May
2438 {
2439 mMay();
2440
2441 }
2442 break;
2443 case 40 :
2444 // InternalSolverLanguageLexer.g:1:255: Min
2445 {
2446 mMin();
2447
2448 }
2449 break;
2450 case 41 :
2451 // InternalSolverLanguageLexer.g:1:259: Sum
2452 {
2453 mSum();
2454
2455 }
2456 break;
2457 case 42 :
2458 // InternalSolverLanguageLexer.g:1:263: ExclamationMarkEqualsSign
2459 {
2460 mExclamationMarkEqualsSign();
2461
2462 }
2463 break;
2464 case 43 :
2465 // InternalSolverLanguageLexer.g:1:289: HyphenMinusGreaterThanSign
2466 {
2467 mHyphenMinusGreaterThanSign();
2468
2469 }
2470 break;
2471 case 44 :
2472 // InternalSolverLanguageLexer.g:1:316: FullStopFullStop
2473 {
2474 mFullStopFullStop();
2475
2476 }
2477 break;
2478 case 45 :
2479 // InternalSolverLanguageLexer.g:1:333: ColonHyphenMinus
2480 {
2481 mColonHyphenMinus();
2482
2483 }
2484 break;
2485 case 46 :
2486 // InternalSolverLanguageLexer.g:1:350: LessThanSignEqualsSign
2487 {
2488 mLessThanSignEqualsSign();
2489
2490 }
2491 break;
2492 case 47 :
2493 // InternalSolverLanguageLexer.g:1:373: EqualsSignEqualsSign
2494 {
2495 mEqualsSignEqualsSign();
2496
2497 }
2498 break;
2499 case 48 :
2500 // InternalSolverLanguageLexer.g:1:394: GreaterThanSignEqualsSign
2501 {
2502 mGreaterThanSignEqualsSign();
2503
2504 }
2505 break;
2506 case 49 :
2507 // InternalSolverLanguageLexer.g:1:420: EQ
2508 {
2509 mEQ();
2510
2511 }
2512 break;
2513 case 50 :
2514 // InternalSolverLanguageLexer.g:1:423: IN
2515 {
2516 mIN();
2517
2518 }
2519 break;
2520 case 51 :
2521 // InternalSolverLanguageLexer.g:1:426: If
2522 { 2145 {
2523 mIf(); 2146 mIf();
2524 2147
2525 } 2148 }
2526 break; 2149 break;
2527 case 52 : 2150 case 39 :
2528 // InternalSolverLanguageLexer.g:1:429: In 2151 // InternalSolverLanguageLexer.g:1:410: In
2529 { 2152 {
2530 mIn(); 2153 mIn();
2531 2154
2532 } 2155 }
2533 break; 2156 break;
2534 case 53 : 2157 case 40 :
2535 // InternalSolverLanguageLexer.g:1:432: ExclamationMark 2158 // InternalSolverLanguageLexer.g:1:413: ExclamationMark
2536 { 2159 {
2537 mExclamationMark(); 2160 mExclamationMark();
2538 2161
2539 } 2162 }
2540 break; 2163 break;
2541 case 54 : 2164 case 41 :
2542 // InternalSolverLanguageLexer.g:1:448: LeftParenthesis 2165 // InternalSolverLanguageLexer.g:1:429: LeftParenthesis
2543 { 2166 {
2544 mLeftParenthesis(); 2167 mLeftParenthesis();
2545 2168
2546 } 2169 }
2547 break; 2170 break;
2548 case 55 : 2171 case 42 :
2549 // InternalSolverLanguageLexer.g:1:464: RightParenthesis 2172 // InternalSolverLanguageLexer.g:1:445: RightParenthesis
2550 { 2173 {
2551 mRightParenthesis(); 2174 mRightParenthesis();
2552 2175
2553 } 2176 }
2554 break; 2177 break;
2555 case 56 : 2178 case 43 :
2556 // InternalSolverLanguageLexer.g:1:481: Asterisk 2179 // InternalSolverLanguageLexer.g:1:462: Asterisk
2557 { 2180 {
2558 mAsterisk(); 2181 mAsterisk();
2559 2182
2560 } 2183 }
2561 break; 2184 break;
2562 case 57 : 2185 case 44 :
2563 // InternalSolverLanguageLexer.g:1:490: PlusSign 2186 // InternalSolverLanguageLexer.g:1:471: PlusSign
2564 { 2187 {
2565 mPlusSign(); 2188 mPlusSign();
2566 2189
2567 } 2190 }
2568 break; 2191 break;
2569 case 58 : 2192 case 45 :
2570 // InternalSolverLanguageLexer.g:1:499: Comma 2193 // InternalSolverLanguageLexer.g:1:480: Comma
2571 { 2194 {
2572 mComma(); 2195 mComma();
2573 2196
2574 } 2197 }
2575 break; 2198 break;
2576 case 59 : 2199 case 46 :
2577 // InternalSolverLanguageLexer.g:1:505: HyphenMinus 2200 // InternalSolverLanguageLexer.g:1:486: HyphenMinus
2578 { 2201 {
2579 mHyphenMinus(); 2202 mHyphenMinus();
2580 2203
2581 } 2204 }
2582 break; 2205 break;
2583 case 60 : 2206 case 47 :
2584 // InternalSolverLanguageLexer.g:1:517: FullStop 2207 // InternalSolverLanguageLexer.g:1:498: FullStop
2585 { 2208 {
2586 mFullStop(); 2209 mFullStop();
2587 2210
2588 } 2211 }
2589 break; 2212 break;
2590 case 61 : 2213 case 48 :
2591 // InternalSolverLanguageLexer.g:1:526: Solidus 2214 // InternalSolverLanguageLexer.g:1:507: Solidus
2592 { 2215 {
2593 mSolidus(); 2216 mSolidus();
2594 2217
2595 } 2218 }
2596 break; 2219 break;
2597 case 62 : 2220 case 49 :
2598 // InternalSolverLanguageLexer.g:1:534: Colon 2221 // InternalSolverLanguageLexer.g:1:515: Colon
2599 { 2222 {
2600 mColon(); 2223 mColon();
2601 2224
2602 } 2225 }
2603 break; 2226 break;
2604 case 63 : 2227 case 50 :
2605 // InternalSolverLanguageLexer.g:1:540: Semicolon 2228 // InternalSolverLanguageLexer.g:1:521: Semicolon
2606 { 2229 {
2607 mSemicolon(); 2230 mSemicolon();
2608 2231
2609 } 2232 }
2610 break; 2233 break;
2611 case 64 : 2234 case 51 :
2612 // InternalSolverLanguageLexer.g:1:550: LessThanSign 2235 // InternalSolverLanguageLexer.g:1:531: LessThanSign
2613 { 2236 {
2614 mLessThanSign(); 2237 mLessThanSign();
2615 2238
2616 } 2239 }
2617 break; 2240 break;
2618 case 65 : 2241 case 52 :
2619 // InternalSolverLanguageLexer.g:1:563: EqualsSign 2242 // InternalSolverLanguageLexer.g:1:544: EqualsSign
2620 { 2243 {
2621 mEqualsSign(); 2244 mEqualsSign();
2622 2245
2623 } 2246 }
2624 break; 2247 break;
2625 case 66 : 2248 case 53 :
2626 // InternalSolverLanguageLexer.g:1:574: GreaterThanSign 2249 // InternalSolverLanguageLexer.g:1:555: GreaterThanSign
2627 { 2250 {
2628 mGreaterThanSign(); 2251 mGreaterThanSign();
2629 2252
2630 } 2253 }
2631 break; 2254 break;
2632 case 67 : 2255 case 54 :
2633 // InternalSolverLanguageLexer.g:1:590: LeftSquareBracket 2256 // InternalSolverLanguageLexer.g:1:571: LeftSquareBracket
2634 { 2257 {
2635 mLeftSquareBracket(); 2258 mLeftSquareBracket();
2636 2259
2637 } 2260 }
2638 break; 2261 break;
2639 case 68 : 2262 case 55 :
2640 // InternalSolverLanguageLexer.g:1:608: RightSquareBracket 2263 // InternalSolverLanguageLexer.g:1:589: RightSquareBracket
2641 { 2264 {
2642 mRightSquareBracket(); 2265 mRightSquareBracket();
2643 2266
2644 } 2267 }
2645 break; 2268 break;
2646 case 69 : 2269 case 56 :
2647 // InternalSolverLanguageLexer.g:1:627: CircumflexAccent 2270 // InternalSolverLanguageLexer.g:1:608: CircumflexAccent
2648 { 2271 {
2649 mCircumflexAccent(); 2272 mCircumflexAccent();
2650 2273
2651 } 2274 }
2652 break; 2275 break;
2653 case 70 : 2276 case 57 :
2654 // InternalSolverLanguageLexer.g:1:644: LeftCurlyBracket 2277 // InternalSolverLanguageLexer.g:1:625: LeftCurlyBracket
2655 { 2278 {
2656 mLeftCurlyBracket(); 2279 mLeftCurlyBracket();
2657 2280
2658 } 2281 }
2659 break; 2282 break;
2660 case 71 : 2283 case 58 :
2661 // InternalSolverLanguageLexer.g:1:661: VerticalLine 2284 // InternalSolverLanguageLexer.g:1:642: VerticalLine
2662 { 2285 {
2663 mVerticalLine(); 2286 mVerticalLine();
2664 2287
2665 } 2288 }
2666 break; 2289 break;
2667 case 72 : 2290 case 59 :
2668 // InternalSolverLanguageLexer.g:1:674: RightCurlyBracket 2291 // InternalSolverLanguageLexer.g:1:655: RightCurlyBracket
2669 { 2292 {
2670 mRightCurlyBracket(); 2293 mRightCurlyBracket();
2671 2294
2672 } 2295 }
2673 break; 2296 break;
2674 case 73 : 2297 case 60 :
2675 // InternalSolverLanguageLexer.g:1:692: RULE_STRING 2298 // InternalSolverLanguageLexer.g:1:673: RULE_STRING
2676 { 2299 {
2677 mRULE_STRING(); 2300 mRULE_STRING();
2678 2301
2679 } 2302 }
2680 break; 2303 break;
2681 case 74 : 2304 case 61 :
2682 // InternalSolverLanguageLexer.g:1:704: RULE_QUOTED_ID 2305 // InternalSolverLanguageLexer.g:1:685: RULE_QUOTED_ID
2683 { 2306 {
2684 mRULE_QUOTED_ID(); 2307 mRULE_QUOTED_ID();
2685 2308
2686 } 2309 }
2687 break; 2310 break;
2688 case 75 : 2311 case 62 :
2689 // InternalSolverLanguageLexer.g:1:719: RULE_SL_COMMENT 2312 // InternalSolverLanguageLexer.g:1:700: RULE_SL_COMMENT
2690 { 2313 {
2691 mRULE_SL_COMMENT(); 2314 mRULE_SL_COMMENT();
2692 2315
2693 } 2316 }
2694 break; 2317 break;
2695 case 76 : 2318 case 63 :
2696 // InternalSolverLanguageLexer.g:1:735: RULE_ID 2319 // InternalSolverLanguageLexer.g:1:716: RULE_ID
2697 { 2320 {
2698 mRULE_ID(); 2321 mRULE_ID();
2699 2322
2700 } 2323 }
2701 break; 2324 break;
2702 case 77 : 2325 case 64 :
2703 // InternalSolverLanguageLexer.g:1:743: RULE_INT 2326 // InternalSolverLanguageLexer.g:1:724: RULE_INT
2704 { 2327 {
2705 mRULE_INT(); 2328 mRULE_INT();
2706 2329
2707 } 2330 }
2708 break; 2331 break;
2709 case 78 : 2332 case 65 :
2710 // InternalSolverLanguageLexer.g:1:752: RULE_ML_COMMENT 2333 // InternalSolverLanguageLexer.g:1:733: RULE_ML_COMMENT
2711 { 2334 {
2712 mRULE_ML_COMMENT(); 2335 mRULE_ML_COMMENT();
2713 2336
2714 } 2337 }
2715 break; 2338 break;
2716 case 79 : 2339 case 66 :
2717 // InternalSolverLanguageLexer.g:1:768: RULE_WS 2340 // InternalSolverLanguageLexer.g:1:749: RULE_WS
2718 { 2341 {
2719 mRULE_WS(); 2342 mRULE_WS();
2720 2343
2721 } 2344 }
2722 break; 2345 break;
2723 case 80 : 2346 case 67 :
2724 // InternalSolverLanguageLexer.g:1:776: RULE_ANY_OTHER 2347 // InternalSolverLanguageLexer.g:1:757: RULE_ANY_OTHER
2725 { 2348 {
2726 mRULE_ANY_OTHER(); 2349 mRULE_ANY_OTHER();
2727 2350
@@ -2735,105 +2358,86 @@ public class InternalSolverLanguageLexer extends Lexer {
2735 2358
2736 protected DFA12 dfa12 = new DFA12(this); 2359 protected DFA12 dfa12 = new DFA12(this);
2737 static final String DFA12_eotS = 2360 static final String DFA12_eotS =
2738 "\1\uffff\25\64\1\127\1\131\1\133\1\135\1\137\1\141\1\143\2\64\5\uffff\1\155\3\uffff\1\161\3\uffff\2\62\5\uffff\1\64\1\uffff\37\64\1\u009d\1\u009e\16\uffff\1\u009f\1\u00a0\23\uffff\4\64\1\u00a5\4\64\1\u00ab\1\u00ac\1\u00ae\14\64\1\u00bb\4\64\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\4\uffff\4\64\1\uffff\5\64\2\uffff\1\64\1\uffff\1\u00d1\1\64\1\u00d3\1\u00d5\4\64\1\u00db\3\64\1\uffff\1\u00df\1\u00e0\1\u00e1\1\u00e2\7\uffff\2\64\1\u00e5\2\64\1\u00e8\1\64\1\u00ea\2\64\1\uffff\1\64\1\uffff\1\64\1\uffff\3\64\1\u00f2\1\u00f3\1\uffff\2\64\1\u00f6\4\uffff\2\64\1\uffff\2\64\1\uffff\1\64\1\uffff\6\64\1\u0102\2\uffff\1\64\1\u0104\1\uffff\1\u0106\3\64\1\u010a\3\64\1\u010e\1\u010f\1\u0110\1\uffff\1\u0111\1\uffff\1\64\1\uffff\1\64\1\u0114\1\u0115\1\uffff\1\u0116\1\u0117\1\u0118\4\uffff\2\64\5\uffff\1\u011b\1\u011c\2\uffff"; 2361 "\1\uffff\12\53\1\100\2\53\1\105\1\107\1\111\1\113\1\116\1\120\5\uffff\1\130\3\uffff\1\134\3\uffff\2\47\5\uffff\3\53\1\uffff\1\53\1\150\21\53\1\176\1\uffff\1\u0080\1\u0081\1\53\40\uffff\4\53\1\uffff\7\53\1\u008e\14\53\2\uffff\1\u009b\2\uffff\1\u009c\13\53\1\uffff\1\53\1\u00a9\5\53\1\u00b0\2\53\1\u00b3\1\u00b4\2\uffff\2\53\1\u00b7\2\53\1\u00ba\1\53\1\u00bc\4\53\1\uffff\4\53\1\u00c5\1\u00c6\1\uffff\1\53\1\u00c8\2\uffff\1\53\1\u00ca\1\uffff\2\53\1\uffff\1\53\1\uffff\6\53\1\u00d4\1\u00d5\2\uffff\1\53\1\uffff\1\53\1\uffff\2\53\1\u00da\1\53\1\u00dc\3\53\1\u00e0\2\uffff\1\u00e1\1\53\1\u00e3\1\u00e4\1\uffff\1\u00e5\1\uffff\1\u00e6\1\u00e7\1\u00e8\2\uffff\1\53\6\uffff\1\u00ea\1\uffff";
2739 static final String DFA12_eofS = 2362 static final String DFA12_eofS =
2740 "\u011d\uffff"; 2363 "\u00eb\uffff";
2741 static final String DFA12_minS = 2364 static final String DFA12_minS =
2742 "\1\0\1\122\1\141\1\142\1\154\1\141\1\156\1\105\1\145\1\154\1\156\1\117\1\143\1\162\1\145\1\150\1\104\1\111\1\125\1\117\1\125\1\146\1\75\1\76\1\56\1\55\3\75\1\121\1\116\5\uffff\1\52\3\uffff\1\101\3\uffff\2\0\5\uffff\1\105\1\uffff\1\156\1\154\1\163\1\147\1\156\1\162\1\141\1\170\1\156\1\163\1\160\1\154\1\123\1\146\1\164\1\160\1\162\1\163\1\153\1\124\1\157\1\155\1\157\1\141\1\145\1\165\1\104\1\126\1\114\1\127\1\102\2\60\16\uffff\2\60\23\uffff\1\101\1\143\1\163\1\164\1\60\1\164\1\156\1\162\1\163\3\60\1\164\1\157\1\171\1\123\1\141\1\145\1\164\1\157\1\145\1\156\1\137\1\160\1\60\1\144\1\154\1\156\1\145\7\60\4\uffff\1\124\1\164\1\145\1\162\1\uffff\1\141\1\164\1\145\1\163\1\155\2\uffff\1\155\1\uffff\1\60\1\163\2\60\1\165\1\156\1\171\1\162\1\60\1\157\1\105\1\145\1\uffff\4\60\7\uffff\1\105\1\151\1\60\1\141\1\151\1\60\1\156\1\60\2\151\1\uffff\1\151\1\uffff\1\105\1\uffff\1\154\1\144\1\156\2\60\1\uffff\1\167\1\121\1\60\4\uffff\1\122\1\157\1\uffff\1\143\1\156\1\uffff\1\164\1\uffff\2\172\1\164\1\121\1\164\1\163\1\60\2\uffff\1\156\1\60\1\uffff\1\60\1\156\1\164\1\163\1\60\3\145\3\60\1\uffff\1\60\1\uffff\1\105\1\uffff\1\141\2\60\1\uffff\3\60\4\uffff\1\121\1\154\5\uffff\2\60\2\uffff"; 2365 "\1\0\1\141\1\142\1\154\2\141\1\160\1\154\1\156\1\143\1\150\1\56\1\146\1\145\1\75\1\76\1\55\3\75\5\uffff\1\52\3\uffff\1\101\3\uffff\2\0\5\uffff\1\156\1\162\1\154\1\uffff\1\163\1\60\1\156\1\162\1\141\1\164\1\146\1\170\1\156\1\163\1\160\1\151\1\160\1\162\1\163\1\153\1\157\1\145\1\165\1\56\1\uffff\2\60\1\164\40\uffff\1\143\1\141\1\163\1\164\1\uffff\1\164\1\156\1\162\1\163\2\141\1\151\1\60\1\151\1\164\1\157\1\145\1\163\1\164\1\157\1\145\1\156\1\160\1\156\1\145\2\uffff\1\60\2\uffff\1\60\1\164\1\154\1\145\1\162\1\141\1\164\1\145\1\163\1\164\1\165\1\155\1\uffff\1\155\1\60\1\163\1\156\1\164\1\171\1\162\1\60\1\157\1\145\2\60\2\uffff\1\151\1\154\1\60\1\141\1\151\1\60\1\156\1\60\1\171\1\154\2\151\1\uffff\1\151\1\144\1\156\1\163\2\60\1\uffff\1\167\1\60\2\uffff\1\157\1\60\1\uffff\1\143\1\156\1\uffff\1\164\1\uffff\1\160\1\164\2\172\1\164\1\163\2\60\2\uffff\1\156\1\uffff\1\156\1\uffff\1\164\1\163\1\60\1\145\1\60\3\145\1\60\2\uffff\1\60\1\141\2\60\1\uffff\1\60\1\uffff\3\60\2\uffff\1\154\6\uffff\1\60\1\uffff";
2743 static final String DFA12_maxS = 2366 static final String DFA12_maxS =
2744 "\1\uffff\1\122\1\165\1\166\2\165\1\160\1\105\1\145\1\170\1\156\1\117\1\165\1\162\1\145\1\162\1\104\1\111\1\125\1\117\1\125\1\156\1\75\1\76\1\56\1\55\3\75\1\121\1\116\5\uffff\1\57\3\uffff\1\172\3\uffff\2\uffff\5\uffff\1\105\1\uffff\1\156\1\154\1\163\1\147\1\165\1\162\1\141\1\171\1\156\1\163\1\160\1\154\1\123\1\146\1\164\1\160\1\162\1\163\1\153\1\124\1\157\1\155\1\157\1\141\1\145\1\165\1\104\1\126\1\114\1\127\1\102\2\172\16\uffff\2\172\23\uffff\1\101\1\143\1\163\1\164\1\172\1\164\1\156\1\162\1\163\3\172\1\164\1\157\1\171\1\123\1\141\1\145\1\164\1\157\1\145\1\156\1\137\1\160\1\172\1\144\1\154\1\156\1\145\7\172\4\uffff\1\124\1\164\1\145\1\162\1\uffff\1\141\1\164\1\145\1\163\1\155\2\uffff\1\155\1\uffff\1\172\1\163\2\172\1\165\1\162\1\171\1\162\1\172\1\157\1\105\1\145\1\uffff\4\172\7\uffff\1\105\1\151\1\172\1\141\1\151\1\172\1\156\1\172\2\151\1\uffff\1\151\1\uffff\1\105\1\uffff\1\154\1\144\1\156\2\172\1\uffff\1\167\1\121\1\172\4\uffff\1\122\1\157\1\uffff\1\143\1\156\1\uffff\1\164\1\uffff\2\172\1\164\1\121\1\164\1\163\1\172\2\uffff\1\156\1\172\1\uffff\1\172\1\156\1\164\1\163\1\172\3\145\3\172\1\uffff\1\172\1\uffff\1\105\1\uffff\1\141\2\172\1\uffff\3\172\4\uffff\1\121\1\154\5\uffff\2\172\2\uffff"; 2367 "\1\uffff\1\165\1\163\1\165\1\145\1\165\1\160\1\170\1\156\1\143\1\162\1\56\1\156\1\145\1\75\1\76\1\55\1\75\1\76\1\75\5\uffff\1\57\3\uffff\1\172\3\uffff\2\uffff\5\uffff\1\156\1\162\1\154\1\uffff\1\163\1\172\1\165\1\162\1\141\1\164\1\146\1\171\1\156\1\163\1\160\1\164\1\160\1\162\1\163\1\153\1\157\1\145\1\165\1\56\1\uffff\2\172\1\164\40\uffff\1\143\1\141\1\163\1\164\1\uffff\1\164\1\156\1\162\1\163\2\141\1\151\1\172\1\151\1\164\1\157\1\145\1\163\1\164\1\157\1\145\1\156\1\160\1\156\1\145\2\uffff\1\172\2\uffff\1\172\1\164\1\154\1\145\1\162\1\141\1\164\1\145\1\163\1\164\1\165\1\155\1\uffff\1\155\1\172\1\163\1\162\1\164\1\171\1\162\1\172\1\157\1\145\2\172\2\uffff\1\151\1\154\1\172\1\141\1\151\1\172\1\156\1\172\1\171\1\154\2\151\1\uffff\1\151\1\144\1\156\1\163\2\172\1\uffff\1\167\1\172\2\uffff\1\157\1\172\1\uffff\1\143\1\156\1\uffff\1\164\1\uffff\1\160\1\164\2\172\1\164\1\163\2\172\2\uffff\1\156\1\uffff\1\156\1\uffff\1\164\1\163\1\172\1\145\1\172\3\145\1\172\2\uffff\1\172\1\141\2\172\1\uffff\1\172\1\uffff\3\172\2\uffff\1\154\6\uffff\1\172\1\uffff";
2745 static final String DFA12_acceptS = 2368 static final String DFA12_acceptS =
2746 "\37\uffff\1\66\1\67\1\70\1\71\1\72\1\uffff\1\77\1\103\1\104\1\uffff\1\106\1\107\1\110\2\uffff\1\113\1\114\1\115\1\117\1\120\1\uffff\1\114\41\uffff\1\52\1\65\1\53\1\73\1\54\1\74\1\55\1\76\1\56\1\100\1\57\1\101\1\60\1\102\2\uffff\1\66\1\67\1\70\1\71\1\72\1\113\1\116\1\75\1\77\1\103\1\104\1\105\1\106\1\107\1\110\1\111\1\112\1\115\1\117\44\uffff\1\64\1\63\1\61\1\62\4\uffff\1\43\5\uffff\1\46\1\47\1\uffff\1\50\14\uffff\1\51\4\uffff\1\36\1\37\1\40\1\41\1\42\1\44\1\45\12\uffff\1\30\1\uffff\1\31\1\uffff\1\26\5\uffff\1\27\3\uffff\1\32\1\33\1\34\1\35\2\uffff\1\24\2\uffff\1\21\1\uffff\1\20\7\uffff\1\22\1\23\2\uffff\1\25\13\uffff\1\17\1\uffff\1\16\1\uffff\1\10\3\uffff\1\12\3\uffff\1\11\1\13\1\14\1\15\2\uffff\1\3\1\4\1\5\1\6\1\7\2\uffff\1\1\1\2"; 2369 "\24\uffff\1\51\1\52\1\53\1\54\1\55\1\uffff\1\62\1\66\1\67\1\uffff\1\71\1\72\1\73\2\uffff\1\76\1\77\1\100\1\102\1\103\3\uffff\1\77\24\uffff\1\57\3\uffff\1\35\1\50\1\36\1\56\1\40\1\61\1\41\1\63\1\42\1\43\1\64\1\44\1\65\1\51\1\52\1\53\1\54\1\55\1\76\1\101\1\60\1\62\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\100\1\102\4\uffff\1\45\24\uffff\1\31\1\37\1\uffff\1\47\1\46\14\uffff\1\34\14\uffff\1\32\1\33\14\uffff\1\26\6\uffff\1\25\2\uffff\1\27\1\30\2\uffff\1\23\2\uffff\1\20\1\uffff\1\17\10\uffff\1\21\1\22\1\uffff\1\24\1\uffff\1\16\11\uffff\1\15\1\14\4\uffff\1\10\1\uffff\1\11\3\uffff\1\12\1\13\1\uffff\1\2\1\3\1\4\1\5\1\6\1\7\1\uffff\1\1";
2747 static final String DFA12_specialS = 2370 static final String DFA12_specialS =
2748 "\1\1\53\uffff\1\0\1\2\u00ef\uffff}>"; 2371 "\1\2\40\uffff\1\0\1\1\u00c8\uffff}>";
2749 static final String[] DFA12_transitionS = { 2372 static final String[] DFA12_transitionS = {
2750 "\11\62\2\61\2\62\1\61\22\62\1\61\1\26\1\54\2\62\1\56\1\62\1\55\1\37\1\40\1\41\1\42\1\43\1\27\1\30\1\44\12\60\1\31\1\45\1\32\1\33\1\34\2\62\1\20\2\57\1\21\1\35\1\57\1\1\1\57\1\36\2\57\1\7\1\22\1\13\1\57\1\23\2\57\1\24\7\57\1\46\1\62\1\47\1\50\1\57\1\62\1\3\1\57\1\4\1\10\1\11\1\2\2\57\1\25\3\57\1\5\1\57\1\6\1\15\1\57\1\16\1\14\1\17\1\12\5\57\1\51\1\52\1\53\uff82\62", 2373 "\11\47\2\46\2\47\1\46\22\47\1\46\1\16\1\41\2\47\1\43\1\47\1\42\1\24\1\25\1\26\1\27\1\30\1\17\1\13\1\31\12\45\1\20\1\32\1\21\1\22\1\23\2\47\32\44\1\33\1\47\1\34\1\35\1\44\1\47\1\2\1\44\1\3\1\4\1\7\1\1\2\44\1\14\2\44\1\15\1\5\1\44\1\6\3\44\1\11\1\12\1\10\5\44\1\36\1\37\1\40\uff82\47",
2751 "\1\63", 2374 "\1\52\15\uffff\1\51\5\uffff\1\50",
2752 "\1\66\23\uffff\1\65", 2375 "\1\54\20\uffff\1\55",
2753 "\1\67\23\uffff\1\70", 2376 "\1\60\2\uffff\1\56\5\uffff\1\57",
2754 "\1\73\2\uffff\1\71\5\uffff\1\72", 2377 "\1\61\3\uffff\1\62",
2755 "\1\74\7\uffff\1\75\13\uffff\1\76", 2378 "\1\63\7\uffff\1\64\13\uffff\1\65",
2756 "\1\100\1\uffff\1\77", 2379 "\1\66",
2757 "\1\101", 2380 "\1\72\1\70\4\uffff\1\71\5\uffff\1\67",
2758 "\1\102", 2381 "\1\73",
2759 "\1\106\1\104\4\uffff\1\105\5\uffff\1\103", 2382 "\1\74",
2760 "\1\107", 2383 "\1\75\11\uffff\1\76",
2384 "\1\77",
2385 "\1\102\7\uffff\1\101",
2386 "\1\103",
2387 "\1\104",
2388 "\1\106",
2761 "\1\110", 2389 "\1\110",
2762 "\1\111\21\uffff\1\112", 2390 "\1\112",
2763 "\1\113", 2391 "\1\114\1\115",
2764 "\1\114",
2765 "\1\115\11\uffff\1\116",
2766 "\1\117", 2392 "\1\117",
2767 "\1\120",
2768 "\1\121",
2769 "\1\122",
2770 "\1\123",
2771 "\1\125\7\uffff\1\124",
2772 "\1\126",
2773 "\1\130",
2774 "\1\132",
2775 "\1\134",
2776 "\1\136",
2777 "\1\140",
2778 "\1\142",
2779 "\1\144",
2780 "\1\145",
2781 "", 2393 "",
2782 "", 2394 "",
2783 "", 2395 "",
2784 "", 2396 "",
2785 "", 2397 "",
2786 "\1\154\4\uffff\1\153", 2398 "\1\127\4\uffff\1\126",
2787 "", 2399 "",
2788 "", 2400 "",
2789 "", 2401 "",
2790 "\32\64\4\uffff\1\64\1\uffff\32\64", 2402 "\32\53\4\uffff\1\53\1\uffff\32\53",
2791 "", 2403 "",
2792 "", 2404 "",
2793 "", 2405 "",
2794 "\0\165", 2406 "\0\140",
2795 "\0\166", 2407 "\0\141",
2796 "", 2408 "",
2797 "", 2409 "",
2798 "", 2410 "",
2799 "", 2411 "",
2800 "", 2412 "",
2413 "\1\144",
2414 "\1\145",
2415 "\1\146",
2416 "",
2417 "\1\147",
2418 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2419 "\1\151\6\uffff\1\152",
2420 "\1\153",
2421 "\1\154",
2422 "\1\155",
2423 "\1\156",
2424 "\1\157\1\160",
2425 "\1\161",
2426 "\1\162",
2427 "\1\163",
2428 "\1\165\12\uffff\1\164",
2429 "\1\166",
2430 "\1\167",
2431 "\1\170",
2801 "\1\171", 2432 "\1\171",
2802 "",
2803 "\1\172", 2433 "\1\172",
2804 "\1\173", 2434 "\1\173",
2805 "\1\174", 2435 "\1\174",
2806 "\1\175", 2436 "\1\175",
2807 "\1\176\6\uffff\1\177",
2808 "\1\u0080",
2809 "\1\u0081",
2810 "\1\u0082\1\u0083",
2811 "\1\u0084",
2812 "\1\u0085",
2813 "\1\u0086",
2814 "\1\u0087",
2815 "\1\u0088",
2816 "\1\u0089",
2817 "\1\u008a",
2818 "\1\u008b",
2819 "\1\u008c",
2820 "\1\u008d",
2821 "\1\u008e",
2822 "\1\u008f",
2823 "\1\u0090",
2824 "\1\u0091",
2825 "\1\u0092",
2826 "\1\u0093",
2827 "\1\u0094",
2828 "\1\u0095",
2829 "\1\u0096",
2830 "\1\u0097",
2831 "\1\u0098",
2832 "\1\u0099",
2833 "\1\u009a",
2834 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\5\64\1\u009b\15\64\1\u009c\6\64",
2835 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2836 "", 2437 "",
2438 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\5\53\1\177\24\53",
2439 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2440 "\1\u0082",
2837 "", 2441 "",
2838 "", 2442 "",
2839 "", 2443 "",
@@ -2847,8 +2451,6 @@ public class InternalSolverLanguageLexer extends Lexer {
2847 "", 2451 "",
2848 "", 2452 "",
2849 "", 2453 "",
2850 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2851 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2852 "", 2454 "",
2853 "", 2455 "",
2854 "", 2456 "",
@@ -2868,169 +2470,140 @@ public class InternalSolverLanguageLexer extends Lexer {
2868 "", 2470 "",
2869 "", 2471 "",
2870 "", 2472 "",
2473 "\1\u0083",
2474 "\1\u0084",
2475 "\1\u0085",
2476 "\1\u0086",
2477 "",
2478 "\1\u0087",
2479 "\1\u0088",
2480 "\1\u0089",
2481 "\1\u008a",
2482 "\1\u008b",
2483 "\1\u008c",
2484 "\1\u008d",
2485 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2486 "\1\u008f",
2487 "\1\u0090",
2488 "\1\u0091",
2489 "\1\u0092",
2490 "\1\u0093",
2491 "\1\u0094",
2492 "\1\u0095",
2493 "\1\u0096",
2494 "\1\u0097",
2495 "\1\u0098",
2496 "\1\u0099",
2497 "\1\u009a",
2498 "",
2499 "",
2500 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2501 "",
2502 "",
2503 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2504 "\1\u009d",
2505 "\1\u009e",
2506 "\1\u009f",
2507 "\1\u00a0",
2871 "\1\u00a1", 2508 "\1\u00a1",
2872 "\1\u00a2", 2509 "\1\u00a2",
2873 "\1\u00a3", 2510 "\1\u00a3",
2874 "\1\u00a4", 2511 "\1\u00a4",
2875 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", 2512 "\1\u00a5",
2876 "\1\u00a6", 2513 "\1\u00a6",
2877 "\1\u00a7", 2514 "\1\u00a7",
2515 "",
2878 "\1\u00a8", 2516 "\1\u00a8",
2879 "\1\u00a9", 2517 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2880 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\10\64\1\u00aa\21\64", 2518 "\1\u00aa",
2881 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", 2519 "\1\u00ab\3\uffff\1\u00ac",
2882 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\10\64\1\u00ad\21\64", 2520 "\1\u00ad",
2521 "\1\u00ae",
2883 "\1\u00af", 2522 "\1\u00af",
2884 "\1\u00b0", 2523 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2885 "\1\u00b1", 2524 "\1\u00b1",
2886 "\1\u00b2", 2525 "\1\u00b2",
2887 "\1\u00b3", 2526 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2888 "\1\u00b4", 2527 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2528 "",
2529 "",
2889 "\1\u00b5", 2530 "\1\u00b5",
2890 "\1\u00b6", 2531 "\1\u00b6",
2891 "\1\u00b7", 2532 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2892 "\1\u00b8", 2533 "\1\u00b8",
2893 "\1\u00b9", 2534 "\1\u00b9",
2894 "\1\u00ba", 2535 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2895 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", 2536 "\1\u00bb",
2896 "\1\u00bc", 2537 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2897 "\1\u00bd", 2538 "\1\u00bd",
2898 "\1\u00be", 2539 "\1\u00be",
2899 "\1\u00bf", 2540 "\1\u00bf",
2900 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", 2541 "\1\u00c0",
2901 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2902 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2903 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2904 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2905 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2906 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2907 "", 2542 "",
2543 "\1\u00c1",
2544 "\1\u00c2",
2545 "\1\u00c3",
2546 "\1\u00c4",
2547 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2548 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2908 "", 2549 "",
2550 "\1\u00c7",
2551 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2909 "", 2552 "",
2910 "", 2553 "",
2911 "\1\u00c7",
2912 "\1\u00c8",
2913 "\1\u00c9", 2554 "\1\u00c9",
2914 "\1\u00ca", 2555 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2915 "", 2556 "",
2916 "\1\u00cb", 2557 "\1\u00cb",
2917 "\1\u00cc", 2558 "\1\u00cc",
2559 "",
2918 "\1\u00cd", 2560 "\1\u00cd",
2561 "",
2919 "\1\u00ce", 2562 "\1\u00ce",
2920 "\1\u00cf", 2563 "\1\u00cf",
2921 "",
2922 "",
2923 "\1\u00d0", 2564 "\1\u00d0",
2924 "", 2565 "\1\u00d1",
2925 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2926 "\1\u00d2", 2566 "\1\u00d2",
2927 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", 2567 "\1\u00d3",
2928 "\12\64\7\uffff\32\64\4\uffff\1\u00d4\1\uffff\32\64", 2568 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2569 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2570 "",
2571 "",
2929 "\1\u00d6", 2572 "\1\u00d6",
2930 "\1\u00d7\3\uffff\1\u00d8", 2573 "",
2574 "\1\u00d7",
2575 "",
2576 "\1\u00d8",
2931 "\1\u00d9", 2577 "\1\u00d9",
2932 "\1\u00da", 2578 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2933 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64", 2579 "\1\u00db",
2934 "\1\u00dc", 2580 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2935 "\1\u00dd", 2581 "\1\u00dd",
2936 "\1\u00de", 2582 "\1\u00de",
2583 "\1\u00df",
2584 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2937 "", 2585 "",
2938 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2939 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2940 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2941 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2942 "", 2586 "",
2587 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2588 "\1\u00e2",
2589 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2590 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2943 "", 2591 "",
2592 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2944 "", 2593 "",
2594 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2595 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2596 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
2945 "", 2597 "",
2946 "", 2598 "",
2947 "",
2948 "",
2949 "\1\u00e3",
2950 "\1\u00e4",
2951 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2952 "\1\u00e6",
2953 "\1\u00e7",
2954 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2955 "\1\u00e9", 2599 "\1\u00e9",
2956 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2957 "\1\u00eb",
2958 "\1\u00ec",
2959 "",
2960 "\1\u00ed",
2961 "",
2962 "\1\u00ee",
2963 "",
2964 "\1\u00ef",
2965 "\1\u00f0",
2966 "\1\u00f1",
2967 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2968 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2969 "",
2970 "\1\u00f4",
2971 "\1\u00f5",
2972 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2973 "",
2974 "",
2975 "",
2976 "",
2977 "\1\u00f7",
2978 "\1\u00f8",
2979 "",
2980 "\1\u00f9",
2981 "\1\u00fa",
2982 "",
2983 "\1\u00fb",
2984 "",
2985 "\1\u00fc",
2986 "\1\u00fd",
2987 "\1\u00fe",
2988 "\1\u00ff",
2989 "\1\u0100",
2990 "\1\u0101",
2991 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2992 "",
2993 "",
2994 "\1\u0103",
2995 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
2996 "",
2997 "\12\64\7\uffff\32\64\4\uffff\1\u0105\1\uffff\32\64",
2998 "\1\u0107",
2999 "\1\u0108",
3000 "\1\u0109",
3001 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3002 "\1\u010b",
3003 "\1\u010c",
3004 "\1\u010d",
3005 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3006 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3007 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3008 "", 2600 "",
3009 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3010 "", 2601 "",
3011 "\1\u0112",
3012 "", 2602 "",
3013 "\1\u0113",
3014 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3015 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3016 "", 2603 "",
3017 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3018 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3019 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3020 "", 2604 "",
3021 "", 2605 "",
3022 "", 2606 "\12\53\7\uffff\32\53\4\uffff\1\53\1\uffff\32\53",
3023 "",
3024 "\1\u0119",
3025 "\1\u011a",
3026 "",
3027 "",
3028 "",
3029 "",
3030 "",
3031 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3032 "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
3033 "",
3034 "" 2607 ""
3035 }; 2608 };
3036 2609
@@ -3064,135 +2637,113 @@ public class InternalSolverLanguageLexer extends Lexer {
3064 this.transition = DFA12_transition; 2637 this.transition = DFA12_transition;
3065 } 2638 }
3066 public String getDescription() { 2639 public String getDescription() {
3067 return "1:1: Tokens : ( GREATER_EQ | Functional | Abstract | Contains | Maximize | Minimize | Opposite | GREATER | LESS_EQ | Current | Default | Extends | Unknown | NOT_EQ | Extern | Class | Count | Empty | Error | False | Scope | LESS | Else | Must | Only | Prod | Real | Then | True | ADD | DIV | MUL | POW | SUB | Avg | Inf | Int | Max | May | Min | Sum | ExclamationMarkEqualsSign | HyphenMinusGreaterThanSign | FullStopFullStop | ColonHyphenMinus | LessThanSignEqualsSign | EqualsSignEqualsSign | GreaterThanSignEqualsSign | EQ | IN | If | In | ExclamationMark | LeftParenthesis | RightParenthesis | Asterisk | PlusSign | Comma | HyphenMinus | FullStop | Solidus | Colon | Semicolon | LessThanSign | EqualsSign | GreaterThanSign | LeftSquareBracket | RightSquareBracket | CircumflexAccent | LeftCurlyBracket | VerticalLine | RightCurlyBracket | RULE_STRING | RULE_QUOTED_ID | RULE_SL_COMMENT | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_WS | RULE_ANY_OTHER );"; 2640 return "1:1: Tokens : ( Functional | Abstract | Contains | Datatype | Maximize | Minimize | Opposite | Current | Default | Extends | Unknown | Exists | Extern | Forall | Class | Count | Empty | Error | False | Scope | Else | Must | Then | True | FullStopFullStopFullStop | Inf | Let | May | ExclamationMarkEqualsSign | HyphenMinusGreaterThanSign | FullStopFullStop | ColonHyphenMinus | LessThanSignEqualsSign | EqualsSignEqualsSign | EqualsSignGreaterThanSign | GreaterThanSignEqualsSign | As | If | In | ExclamationMark | LeftParenthesis | RightParenthesis | Asterisk | PlusSign | Comma | HyphenMinus | FullStop | Solidus | Colon | Semicolon | LessThanSign | EqualsSign | GreaterThanSign | LeftSquareBracket | RightSquareBracket | CircumflexAccent | LeftCurlyBracket | VerticalLine | RightCurlyBracket | RULE_STRING | RULE_QUOTED_ID | RULE_SL_COMMENT | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_WS | RULE_ANY_OTHER );";
3068 } 2641 }
3069 public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { 2642 public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
3070 IntStream input = _input; 2643 IntStream input = _input;
3071 int _s = s; 2644 int _s = s;
3072 switch ( s ) { 2645 switch ( s ) {
3073 case 0 : 2646 case 0 :
3074 int LA12_44 = input.LA(1); 2647 int LA12_33 = input.LA(1);
3075 2648
3076 s = -1; 2649 s = -1;
3077 if ( ((LA12_44>='\u0000' && LA12_44<='\uFFFF')) ) {s = 117;} 2650 if ( ((LA12_33>='\u0000' && LA12_33<='\uFFFF')) ) {s = 96;}
3078 2651
3079 else s = 50; 2652 else s = 39;
3080 2653
3081 if ( s>=0 ) return s; 2654 if ( s>=0 ) return s;
3082 break; 2655 break;
3083 case 1 : 2656 case 1 :
3084 int LA12_0 = input.LA(1); 2657 int LA12_34 = input.LA(1);
3085 2658
3086 s = -1; 2659 s = -1;
3087 if ( (LA12_0=='G') ) {s = 1;} 2660 if ( ((LA12_34>='\u0000' && LA12_34<='\uFFFF')) ) {s = 97;}
3088
3089 else if ( (LA12_0=='f') ) {s = 2;}
3090
3091 else if ( (LA12_0=='a') ) {s = 3;}
3092
3093 else if ( (LA12_0=='c') ) {s = 4;}
3094
3095 else if ( (LA12_0=='m') ) {s = 5;}
3096
3097 else if ( (LA12_0=='o') ) {s = 6;}
3098
3099 else if ( (LA12_0=='L') ) {s = 7;}
3100 2661
3101 else if ( (LA12_0=='d') ) {s = 8;} 2662 else s = 39;
3102 2663
3103 else if ( (LA12_0=='e') ) {s = 9;} 2664 if ( s>=0 ) return s;
3104 2665 break;
3105 else if ( (LA12_0=='u') ) {s = 10;} 2666 case 2 :
3106 2667 int LA12_0 = input.LA(1);
3107 else if ( (LA12_0=='N') ) {s = 11;}
3108
3109 else if ( (LA12_0=='s') ) {s = 12;}
3110
3111 else if ( (LA12_0=='p') ) {s = 13;}
3112
3113 else if ( (LA12_0=='r') ) {s = 14;}
3114 2668
3115 else if ( (LA12_0=='t') ) {s = 15;} 2669 s = -1;
2670 if ( (LA12_0=='f') ) {s = 1;}
3116 2671
3117 else if ( (LA12_0=='A') ) {s = 16;} 2672 else if ( (LA12_0=='a') ) {s = 2;}
3118 2673
3119 else if ( (LA12_0=='D') ) {s = 17;} 2674 else if ( (LA12_0=='c') ) {s = 3;}
3120 2675
3121 else if ( (LA12_0=='M') ) {s = 18;} 2676 else if ( (LA12_0=='d') ) {s = 4;}
3122 2677
3123 else if ( (LA12_0=='P') ) {s = 19;} 2678 else if ( (LA12_0=='m') ) {s = 5;}
3124 2679
3125 else if ( (LA12_0=='S') ) {s = 20;} 2680 else if ( (LA12_0=='o') ) {s = 6;}
3126 2681
3127 else if ( (LA12_0=='i') ) {s = 21;} 2682 else if ( (LA12_0=='e') ) {s = 7;}
3128 2683
3129 else if ( (LA12_0=='!') ) {s = 22;} 2684 else if ( (LA12_0=='u') ) {s = 8;}
3130 2685
3131 else if ( (LA12_0=='-') ) {s = 23;} 2686 else if ( (LA12_0=='s') ) {s = 9;}
3132 2687
3133 else if ( (LA12_0=='.') ) {s = 24;} 2688 else if ( (LA12_0=='t') ) {s = 10;}
3134 2689
3135 else if ( (LA12_0==':') ) {s = 25;} 2690 else if ( (LA12_0=='.') ) {s = 11;}
3136 2691
3137 else if ( (LA12_0=='<') ) {s = 26;} 2692 else if ( (LA12_0=='i') ) {s = 12;}
3138 2693
3139 else if ( (LA12_0=='=') ) {s = 27;} 2694 else if ( (LA12_0=='l') ) {s = 13;}
3140 2695
3141 else if ( (LA12_0=='>') ) {s = 28;} 2696 else if ( (LA12_0=='!') ) {s = 14;}
3142 2697
3143 else if ( (LA12_0=='E') ) {s = 29;} 2698 else if ( (LA12_0=='-') ) {s = 15;}
3144 2699
3145 else if ( (LA12_0=='I') ) {s = 30;} 2700 else if ( (LA12_0==':') ) {s = 16;}
3146 2701
3147 else if ( (LA12_0=='(') ) {s = 31;} 2702 else if ( (LA12_0=='<') ) {s = 17;}
3148 2703
3149 else if ( (LA12_0==')') ) {s = 32;} 2704 else if ( (LA12_0=='=') ) {s = 18;}
3150 2705
3151 else if ( (LA12_0=='*') ) {s = 33;} 2706 else if ( (LA12_0=='>') ) {s = 19;}
3152 2707
3153 else if ( (LA12_0=='+') ) {s = 34;} 2708 else if ( (LA12_0=='(') ) {s = 20;}
3154 2709
3155 else if ( (LA12_0==',') ) {s = 35;} 2710 else if ( (LA12_0==')') ) {s = 21;}
3156 2711
3157 else if ( (LA12_0=='/') ) {s = 36;} 2712 else if ( (LA12_0=='*') ) {s = 22;}
3158 2713
3159 else if ( (LA12_0==';') ) {s = 37;} 2714 else if ( (LA12_0=='+') ) {s = 23;}
3160 2715
3161 else if ( (LA12_0=='[') ) {s = 38;} 2716 else if ( (LA12_0==',') ) {s = 24;}
3162 2717
3163 else if ( (LA12_0==']') ) {s = 39;} 2718 else if ( (LA12_0=='/') ) {s = 25;}
3164 2719
3165 else if ( (LA12_0=='^') ) {s = 40;} 2720 else if ( (LA12_0==';') ) {s = 26;}
3166 2721
3167 else if ( (LA12_0=='{') ) {s = 41;} 2722 else if ( (LA12_0=='[') ) {s = 27;}
3168 2723
3169 else if ( (LA12_0=='|') ) {s = 42;} 2724 else if ( (LA12_0==']') ) {s = 28;}
3170 2725
3171 else if ( (LA12_0=='}') ) {s = 43;} 2726 else if ( (LA12_0=='^') ) {s = 29;}
3172 2727
3173 else if ( (LA12_0=='\"') ) {s = 44;} 2728 else if ( (LA12_0=='{') ) {s = 30;}
3174 2729
3175 else if ( (LA12_0=='\'') ) {s = 45;} 2730 else if ( (LA12_0=='|') ) {s = 31;}
3176 2731
3177 else if ( (LA12_0=='%') ) {s = 46;} 2732 else if ( (LA12_0=='}') ) {s = 32;}
3178 2733
3179 else if ( ((LA12_0>='B' && LA12_0<='C')||LA12_0=='F'||LA12_0=='H'||(LA12_0>='J' && LA12_0<='K')||LA12_0=='O'||(LA12_0>='Q' && LA12_0<='R')||(LA12_0>='T' && LA12_0<='Z')||LA12_0=='_'||LA12_0=='b'||(LA12_0>='g' && LA12_0<='h')||(LA12_0>='j' && LA12_0<='l')||LA12_0=='n'||LA12_0=='q'||(LA12_0>='v' && LA12_0<='z')) ) {s = 47;} 2734 else if ( (LA12_0=='\"') ) {s = 33;}
3180 2735
3181 else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 48;} 2736 else if ( (LA12_0=='\'') ) {s = 34;}
3182 2737
3183 else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 49;} 2738 else if ( (LA12_0=='%') ) {s = 35;}
3184 2739
3185 else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||(LA12_0>='#' && LA12_0<='$')||LA12_0=='&'||(LA12_0>='?' && LA12_0<='@')||LA12_0=='\\'||LA12_0=='`'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 50;} 2740 else if ( ((LA12_0>='A' && LA12_0<='Z')||LA12_0=='_'||LA12_0=='b'||(LA12_0>='g' && LA12_0<='h')||(LA12_0>='j' && LA12_0<='k')||LA12_0=='n'||(LA12_0>='p' && LA12_0<='r')||(LA12_0>='v' && LA12_0<='z')) ) {s = 36;}
3186 2741
3187 if ( s>=0 ) return s; 2742 else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 37;}
3188 break;
3189 case 2 :
3190 int LA12_45 = input.LA(1);
3191 2743
3192 s = -1; 2744 else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 38;}
3193 if ( ((LA12_45>='\u0000' && LA12_45<='\uFFFF')) ) {s = 118;}
3194 2745
3195 else s = 50; 2746 else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||(LA12_0>='#' && LA12_0<='$')||LA12_0=='&'||(LA12_0>='?' && LA12_0<='@')||LA12_0=='\\'||LA12_0=='`'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 39;}
3196 2747
3197 if ( s>=0 ) return s; 2748 if ( s>=0 ) return s;
3198 break; 2749 break;
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.tokens b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.tokens
index 133cc9d6..178103e2 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.tokens
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/parser/antlr/lexer/InternalSolverLanguageLexer.tokens
@@ -1,83 +1,70 @@
1ADD=33 1Abstract=5
2Abstract=6 2As=40
3Asterisk=59 3Asterisk=46
4Avg=38 4CircumflexAccent=59
5CircumflexAccent=72 5Class=18
6Class=19 6Colon=52
7Colon=65 7ColonHyphenMinus=35
8ColonHyphenMinus=48 8Comma=48
9Comma=61 9Contains=6
10Contains=7 10Count=19
11Count=20 11Current=11
12Current=13 12Datatype=7
13DIV=34 13Default=12
14Default=14 14Else=24
15EQ=52 15Empty=20
16Else=26 16EqualsSign=55
17Empty=21 17EqualsSignEqualsSign=37
18EqualsSign=68 18EqualsSignGreaterThanSign=38
19EqualsSignEqualsSign=50 19Error=21
20Error=22 20ExclamationMark=43
21ExclamationMark=56 21ExclamationMarkEqualsSign=32
22ExclamationMarkEqualsSign=45 22Exists=15
23Extends=15 23Extends=13
24Extern=18 24Extern=16
25False=23 25False=22
26FullStop=63 26Forall=17
27FullStopFullStop=47 27FullStop=50
28Functional=5 28FullStopFullStop=34
29GREATER=11 29FullStopFullStopFullStop=28
30GREATER_EQ=4 30Functional=4
31GreaterThanSign=69 31GreaterThanSign=56
32GreaterThanSignEqualsSign=51 32GreaterThanSignEqualsSign=39
33HyphenMinus=62 33HyphenMinus=49
34HyphenMinusGreaterThanSign=46 34HyphenMinusGreaterThanSign=33
35IN=53 35If=41
36If=54 36In=42
37In=55 37Inf=29
38Inf=39 38LeftCurlyBracket=60
39Int=40 39LeftParenthesis=44
40LESS=25 40LeftSquareBracket=57
41LESS_EQ=12 41LessThanSign=54
42LeftCurlyBracket=73 42LessThanSignEqualsSign=36
43LeftParenthesis=57 43Let=30
44LeftSquareBracket=70
45LessThanSign=67
46LessThanSignEqualsSign=49
47MUL=35
48Max=41
49Maximize=8 44Maximize=8
50May=42 45May=31
51Min=43
52Minimize=9 46Minimize=9
53Must=27 47Must=25
54NOT_EQ=17
55Only=28
56Opposite=10 48Opposite=10
57POW=36 49PlusSign=47
58PlusSign=60 50RULE_ANY_OTHER=73
59Prod=29 51RULE_FULL_STOP=68
60RULE_ANY_OTHER=86 52RULE_ID=69
61RULE_FULL_STOP=81 53RULE_INT=70
62RULE_ID=82 54RULE_ML_COMMENT=71
63RULE_INT=83 55RULE_QUOTED_ID=64
64RULE_ML_COMMENT=84 56RULE_REFLEXIVE_TRANSITIVE_CLOSURE=67
65RULE_QUOTED_ID=77 57RULE_SL_COMMENT=65
66RULE_REFLEXIVE_TRANSITIVE_CLOSURE=80 58RULE_STRING=63
67RULE_SL_COMMENT=78 59RULE_TRANSITIVE_CLOSURE=66
68RULE_STRING=76 60RULE_WS=72
69RULE_TRANSITIVE_CLOSURE=79 61RightCurlyBracket=62
70RULE_WS=85 62RightParenthesis=45
71Real=30 63RightSquareBracket=58
72RightCurlyBracket=75 64Scope=23
73RightParenthesis=58 65Semicolon=53
74RightSquareBracket=71 66Solidus=51
75SUB=37 67Then=26
76Scope=24 68True=27
77Semicolon=66 69Unknown=14
78Solidus=64 70VerticalLine=61
79Sum=44
80Then=31
81True=32
82Unknown=16
83VerticalLine=74
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSemanticSequencer.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSemanticSequencer.java
index 5cb73796..dc93975f 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSemanticSequencer.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSemanticSequencer.java
@@ -10,37 +10,42 @@ import org.eclipse.emf.ecore.EPackage;
10import org.eclipse.viatra.solver.language.services.SolverLanguageGrammarAccess; 10import org.eclipse.viatra.solver.language.services.SolverLanguageGrammarAccess;
11import org.eclipse.viatra.solver.language.solverLanguage.Aggregation; 11import org.eclipse.viatra.solver.language.solverLanguage.Aggregation;
12import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList; 12import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList;
13import org.eclipse.viatra.solver.language.solverLanguage.Assertion;
14import org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression; 13import org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression;
15import org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity; 14import org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity;
16import org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition; 15import org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition;
17import org.eclipse.viatra.solver.language.solverLanguage.Call; 16import org.eclipse.viatra.solver.language.solverLanguage.Call;
18import org.eclipse.viatra.solver.language.solverLanguage.Case; 17import org.eclipse.viatra.solver.language.solverLanguage.Case;
18import org.eclipse.viatra.solver.language.solverLanguage.CastExpression;
19import org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition; 19import org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition;
20import org.eclipse.viatra.solver.language.solverLanguage.Comparison; 20import org.eclipse.viatra.solver.language.solverLanguage.Comparison;
21import org.eclipse.viatra.solver.language.solverLanguage.Conjunction; 21import org.eclipse.viatra.solver.language.solverLanguage.Conjunction;
22import org.eclipse.viatra.solver.language.solverLanguage.Count;
23import org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition; 22import org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition;
24import org.eclipse.viatra.solver.language.solverLanguage.Disjunction; 23import org.eclipse.viatra.solver.language.solverLanguage.Disjunction;
25import org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral; 24import org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral;
26import org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity; 25import org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity;
27import org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition; 26import org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition;
28import org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument; 27import org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument;
28import org.eclipse.viatra.solver.language.solverLanguage.ExternAggregatorDefinition;
29import org.eclipse.viatra.solver.language.solverLanguage.ExternDatatypeDefinition;
29import org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition; 30import org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition;
30import org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition; 31import org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition;
31import org.eclipse.viatra.solver.language.solverLanguage.IfElse; 32import org.eclipse.viatra.solver.language.solverLanguage.IfElse;
32import org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral; 33import org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral;
34import org.eclipse.viatra.solver.language.solverLanguage.Interpretation;
33import org.eclipse.viatra.solver.language.solverLanguage.Interval; 35import org.eclipse.viatra.solver.language.solverLanguage.Interval;
36import org.eclipse.viatra.solver.language.solverLanguage.Let;
37import org.eclipse.viatra.solver.language.solverLanguage.LetBinding;
38import org.eclipse.viatra.solver.language.solverLanguage.LocalVariables;
34import org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral; 39import org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral;
35import org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition; 40import org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition;
36import org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity; 41import org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity;
37import org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition; 42import org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition;
38import org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition; 43import org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition;
39import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
40import org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral; 44import org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral;
41import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition; 45import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition;
42import org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition; 46import org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition;
43import org.eclipse.viatra.solver.language.solverLanguage.Problem; 47import org.eclipse.viatra.solver.language.solverLanguage.Problem;
48import org.eclipse.viatra.solver.language.solverLanguage.QuantifiedExpression;
44import org.eclipse.viatra.solver.language.solverLanguage.Reference; 49import org.eclipse.viatra.solver.language.solverLanguage.Reference;
45import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage; 50import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
46import org.eclipse.viatra.solver.language.solverLanguage.StarArgument; 51import org.eclipse.viatra.solver.language.solverLanguage.StarArgument;
@@ -50,6 +55,7 @@ import org.eclipse.viatra.solver.language.solverLanguage.TypedArgument;
50import org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument; 55import org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument;
51import org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression; 56import org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression;
52import org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition; 57import org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition;
58import org.eclipse.viatra.solver.language.solverLanguage.Variable;
53import org.eclipse.xtext.Action; 59import org.eclipse.xtext.Action;
54import org.eclipse.xtext.Parameter; 60import org.eclipse.xtext.Parameter;
55import org.eclipse.xtext.ParserRule; 61import org.eclipse.xtext.ParserRule;
@@ -78,11 +84,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
78 case SolverLanguagePackage.ARGUMENT_LIST: 84 case SolverLanguagePackage.ARGUMENT_LIST:
79 sequence_ArgumentList(context, (ArgumentList) semanticObject); 85 sequence_ArgumentList(context, (ArgumentList) semanticObject);
80 return; 86 return;
81 case SolverLanguagePackage.ASSERTION:
82 sequence_AssertionOrDefinition(context, (Assertion) semanticObject);
83 return;
84 case SolverLanguagePackage.BINARY_EXPRESSION: 87 case SolverLanguagePackage.BINARY_EXPRESSION:
85 sequence_AdditiveExpression_ExponentialExpression_MultiplicativeExpression(context, (BinaryExpression) semanticObject); 88 sequence_AdditiveExpression_ExponentialExpression_ImplicationExpression_MultiplicativeExpression(context, (BinaryExpression) semanticObject);
86 return; 89 return;
87 case SolverLanguagePackage.BOUNDED_MULTIPLICITY: 90 case SolverLanguagePackage.BOUNDED_MULTIPLICITY:
88 sequence_BoundedMultiplicity(context, (BoundedMultiplicity) semanticObject); 91 sequence_BoundedMultiplicity(context, (BoundedMultiplicity) semanticObject);
@@ -103,6 +106,9 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
103 return; 106 return;
104 } 107 }
105 else break; 108 else break;
109 case SolverLanguagePackage.CAST_EXPRESSION:
110 sequence_CastExpression(context, (CastExpression) semanticObject);
111 return;
106 case SolverLanguagePackage.CLASS_DEFINITION: 112 case SolverLanguagePackage.CLASS_DEFINITION:
107 sequence_ClassDefinition(context, (ClassDefinition) semanticObject); 113 sequence_ClassDefinition(context, (ClassDefinition) semanticObject);
108 return; 114 return;
@@ -112,9 +118,6 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
112 case SolverLanguagePackage.CONJUNCTION: 118 case SolverLanguagePackage.CONJUNCTION:
113 sequence_ConjunctiveExpression(context, (Conjunction) semanticObject); 119 sequence_ConjunctiveExpression(context, (Conjunction) semanticObject);
114 return; 120 return;
115 case SolverLanguagePackage.COUNT:
116 sequence_Count(context, (Count) semanticObject);
117 return;
118 case SolverLanguagePackage.DEFAULT_DEFINITION: 121 case SolverLanguagePackage.DEFAULT_DEFINITION:
119 sequence_DefaultDefinition(context, (DefaultDefinition) semanticObject); 122 sequence_DefaultDefinition(context, (DefaultDefinition) semanticObject);
120 return; 123 return;
@@ -133,6 +136,12 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
133 case SolverLanguagePackage.EXPRESSION_ARGUMENT: 136 case SolverLanguagePackage.EXPRESSION_ARGUMENT:
134 sequence_ExpressionArgument(context, (ExpressionArgument) semanticObject); 137 sequence_ExpressionArgument(context, (ExpressionArgument) semanticObject);
135 return; 138 return;
139 case SolverLanguagePackage.EXTERN_AGGREGATOR_DEFINITION:
140 sequence_ExternAggregatorDefinition(context, (ExternAggregatorDefinition) semanticObject);
141 return;
142 case SolverLanguagePackage.EXTERN_DATATYPE_DEFINITION:
143 sequence_ExternDatatypeDefinition(context, (ExternDatatypeDefinition) semanticObject);
144 return;
136 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION: 145 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION:
137 sequence_ExternMetricDefinition(context, (ExternMetricDefinition) semanticObject); 146 sequence_ExternMetricDefinition(context, (ExternMetricDefinition) semanticObject);
138 return; 147 return;
@@ -145,9 +154,21 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
145 case SolverLanguagePackage.INFINITY_LITERAL: 154 case SolverLanguagePackage.INFINITY_LITERAL:
146 sequence_InfinityLiteral(context, (InfinityLiteral) semanticObject); 155 sequence_InfinityLiteral(context, (InfinityLiteral) semanticObject);
147 return; 156 return;
157 case SolverLanguagePackage.INTERPRETATION:
158 sequence_AssertionOrDefinition(context, (Interpretation) semanticObject);
159 return;
148 case SolverLanguagePackage.INTERVAL: 160 case SolverLanguagePackage.INTERVAL:
149 sequence_Interval(context, (Interval) semanticObject); 161 sequence_Interval(context, (Interval) semanticObject);
150 return; 162 return;
163 case SolverLanguagePackage.LET:
164 sequence_Let(context, (Let) semanticObject);
165 return;
166 case SolverLanguagePackage.LET_BINDING:
167 sequence_LetBinding(context, (LetBinding) semanticObject);
168 return;
169 case SolverLanguagePackage.LOCAL_VARIABLES:
170 sequence_LocalVariables(context, (LocalVariables) semanticObject);
171 return;
151 case SolverLanguagePackage.LOGIC_LITERAL: 172 case SolverLanguagePackage.LOGIC_LITERAL:
152 sequence_LogicLiteral(context, (LogicLiteral) semanticObject); 173 sequence_LogicLiteral(context, (LogicLiteral) semanticObject);
153 return; 174 return;
@@ -174,9 +195,6 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
174 return; 195 return;
175 } 196 }
176 else break; 197 else break;
177 case SolverLanguagePackage.NAMED_ELEMENT:
178 sequence_NamedElement(context, (NamedElement) semanticObject);
179 return;
180 case SolverLanguagePackage.NUMERIC_LITERAL: 198 case SolverLanguagePackage.NUMERIC_LITERAL:
181 sequence_NumericLiteral(context, (NumericLiteral) semanticObject); 199 sequence_NumericLiteral(context, (NumericLiteral) semanticObject);
182 return; 200 return;
@@ -200,6 +218,9 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
200 case SolverLanguagePackage.PROBLEM: 218 case SolverLanguagePackage.PROBLEM:
201 sequence_Problem(context, (Problem) semanticObject); 219 sequence_Problem(context, (Problem) semanticObject);
202 return; 220 return;
221 case SolverLanguagePackage.QUANTIFIED_EXPRESSION:
222 sequence_QuantifiedExpression(context, (QuantifiedExpression) semanticObject);
223 return;
203 case SolverLanguagePackage.REFERENCE: 224 case SolverLanguagePackage.REFERENCE:
204 sequence_Reference(context, (Reference) semanticObject); 225 sequence_Reference(context, (Reference) semanticObject);
205 return; 226 return;
@@ -224,6 +245,9 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
224 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION: 245 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION:
225 sequence_UnnamedErrorPrediateDefinition(context, (UnnamedErrorPrediateDefinition) semanticObject); 246 sequence_UnnamedErrorPrediateDefinition(context, (UnnamedErrorPrediateDefinition) semanticObject);
226 return; 247 return;
248 case SolverLanguagePackage.VARIABLE:
249 sequence_Variable(context, (Variable) semanticObject);
250 return;
227 } 251 }
228 if (errorAcceptor != null) 252 if (errorAcceptor != null)
229 errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context)); 253 errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
@@ -231,10 +255,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
231 255
232 /** 256 /**
233 * Contexts: 257 * Contexts:
234 * AssertionOrDefinition.Assertion_1_0_0 returns BinaryExpression 258 * Statement returns BinaryExpression
259 * AssertionOrDefinition returns BinaryExpression
260 * AssertionOrDefinition.Interpretation_1_0_0 returns BinaryExpression
235 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns BinaryExpression 261 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns BinaryExpression
236 * AssertionOrDefinition.MetricDefinition_1_2_0 returns BinaryExpression 262 * AssertionOrDefinition.MetricDefinition_1_2_0 returns BinaryExpression
237 * Expression returns BinaryExpression 263 * Expression returns BinaryExpression
264 * ImplicationExpression returns BinaryExpression
265 * ImplicationExpression.BinaryExpression_1_0 returns BinaryExpression
238 * DisjunctiveExpression returns BinaryExpression 266 * DisjunctiveExpression returns BinaryExpression
239 * DisjunctiveExpression.Disjunction_1_0_0 returns BinaryExpression 267 * DisjunctiveExpression.Disjunction_1_0_0 returns BinaryExpression
240 * DisjunctiveExpression.Case_1_1_0 returns BinaryExpression 268 * DisjunctiveExpression.Case_1_1_0 returns BinaryExpression
@@ -248,28 +276,35 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
248 * MultiplicativeExpression.BinaryExpression_1_0 returns BinaryExpression 276 * MultiplicativeExpression.BinaryExpression_1_0 returns BinaryExpression
249 * ExponentialExpression returns BinaryExpression 277 * ExponentialExpression returns BinaryExpression
250 * ExponentialExpression.BinaryExpression_1_0 returns BinaryExpression 278 * ExponentialExpression.BinaryExpression_1_0 returns BinaryExpression
279 * CastExpression returns BinaryExpression
280 * CastExpression.CastExpression_1_0 returns BinaryExpression
251 * UnaryExpression returns BinaryExpression 281 * UnaryExpression returns BinaryExpression
252 * AggregationExpression returns BinaryExpression 282 * AggregationExpression returns BinaryExpression
253 * AtomicExpression returns BinaryExpression 283 * AtomicExpression returns BinaryExpression
254 * 284 *
255 * Constraint: 285 * Constraint:
256 * ( 286 * (
287 * (left=ImplicationExpression_BinaryExpression_1_0 op=ImplicationOperator right=ImplicationExpression) |
257 * (left=AdditiveExpression_BinaryExpression_1_0 op=AdditiveBinaryOperator right=MultiplicativeExpression) | 288 * (left=AdditiveExpression_BinaryExpression_1_0 op=AdditiveBinaryOperator right=MultiplicativeExpression) |
258 * (left=MultiplicativeExpression_BinaryExpression_1_0 op=MultiplicativeBinaryOperator right=ExponentialExpression) | 289 * (left=MultiplicativeExpression_BinaryExpression_1_0 op=MultiplicativeBinaryOperator right=ExponentialExpression) |
259 * (left=ExponentialExpression_BinaryExpression_1_0 op=ExponentialOp right=ExponentialExpression) 290 * (left=ExponentialExpression_BinaryExpression_1_0 op=ExponentialOp right=CastExpression)
260 * ) 291 * )
261 */ 292 */
262 protected void sequence_AdditiveExpression_ExponentialExpression_MultiplicativeExpression(ISerializationContext context, BinaryExpression semanticObject) { 293 protected void sequence_AdditiveExpression_ExponentialExpression_ImplicationExpression_MultiplicativeExpression(ISerializationContext context, BinaryExpression semanticObject) {
263 genericSequencer.createSequence(context, semanticObject); 294 genericSequencer.createSequence(context, semanticObject);
264 } 295 }
265 296
266 297
267 /** 298 /**
268 * Contexts: 299 * Contexts:
269 * AssertionOrDefinition.Assertion_1_0_0 returns Aggregation 300 * Statement returns Aggregation
301 * AssertionOrDefinition returns Aggregation
302 * AssertionOrDefinition.Interpretation_1_0_0 returns Aggregation
270 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Aggregation 303 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Aggregation
271 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Aggregation 304 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Aggregation
272 * Expression returns Aggregation 305 * Expression returns Aggregation
306 * ImplicationExpression returns Aggregation
307 * ImplicationExpression.BinaryExpression_1_0 returns Aggregation
273 * DisjunctiveExpression returns Aggregation 308 * DisjunctiveExpression returns Aggregation
274 * DisjunctiveExpression.Disjunction_1_0_0 returns Aggregation 309 * DisjunctiveExpression.Disjunction_1_0_0 returns Aggregation
275 * DisjunctiveExpression.Case_1_1_0 returns Aggregation 310 * DisjunctiveExpression.Case_1_1_0 returns Aggregation
@@ -283,28 +318,18 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
283 * MultiplicativeExpression.BinaryExpression_1_0 returns Aggregation 318 * MultiplicativeExpression.BinaryExpression_1_0 returns Aggregation
284 * ExponentialExpression returns Aggregation 319 * ExponentialExpression returns Aggregation
285 * ExponentialExpression.BinaryExpression_1_0 returns Aggregation 320 * ExponentialExpression.BinaryExpression_1_0 returns Aggregation
321 * CastExpression returns Aggregation
322 * CastExpression.CastExpression_1_0 returns Aggregation
286 * UnaryExpression returns Aggregation 323 * UnaryExpression returns Aggregation
287 * AggregationExpression returns Aggregation 324 * AggregationExpression returns Aggregation
288 * Aggregation returns Aggregation 325 * Aggregation returns Aggregation
289 * AtomicExpression returns Aggregation 326 * AtomicExpression returns Aggregation
290 * 327 *
291 * Constraint: 328 * Constraint:
292 * (op=AggregationOp body=Expression condition=Expression) 329 * (op=[NamedElement|QualifiedName] localVariables=LocalVariables? body=Expression condition=Expression?)
293 */ 330 */
294 protected void sequence_Aggregation(ISerializationContext context, Aggregation semanticObject) { 331 protected void sequence_Aggregation(ISerializationContext context, Aggregation semanticObject) {
295 if (errorAcceptor != null) { 332 genericSequencer.createSequence(context, semanticObject);
296 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.AGGREGATION__OP) == ValueTransient.YES)
297 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.AGGREGATION__OP));
298 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.AGGREGATION__BODY) == ValueTransient.YES)
299 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.AGGREGATION__BODY));
300 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.AGGREGATION__CONDITION) == ValueTransient.YES)
301 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.AGGREGATION__CONDITION));
302 }
303 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
304 feeder.accept(grammarAccess.getAggregationAccess().getOpAggregationOpEnumRuleCall_0_0(), semanticObject.getOp());
305 feeder.accept(grammarAccess.getAggregationAccess().getBodyExpressionParserRuleCall_2_0(), semanticObject.getBody());
306 feeder.accept(grammarAccess.getAggregationAccess().getConditionExpressionParserRuleCall_4_0(), semanticObject.getCondition());
307 feeder.finish();
308 } 333 }
309 334
310 335
@@ -322,14 +347,23 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
322 347
323 /** 348 /**
324 * Contexts: 349 * Contexts:
325 * Statement returns Assertion 350 * Statement returns Interpretation
326 * AssertionOrDefinition returns Assertion 351 * AssertionOrDefinition returns Interpretation
327 * 352 *
328 * Constraint: 353 * Constraint:
329 * (body=AssertionOrDefinition_Assertion_1_0_0 range=Expression?) 354 * (body=AssertionOrDefinition_Interpretation_1_0_0 range=Expression)
330 */ 355 */
331 protected void sequence_AssertionOrDefinition(ISerializationContext context, Assertion semanticObject) { 356 protected void sequence_AssertionOrDefinition(ISerializationContext context, Interpretation semanticObject) {
332 genericSequencer.createSequence(context, semanticObject); 357 if (errorAcceptor != null) {
358 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.INTERPRETATION__BODY) == ValueTransient.YES)
359 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.INTERPRETATION__BODY));
360 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.INTERPRETATION__RANGE) == ValueTransient.YES)
361 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.INTERPRETATION__RANGE));
362 }
363 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
364 feeder.accept(grammarAccess.getAssertionOrDefinitionAccess().getInterpretationBodyAction_1_0_0(), semanticObject.getBody());
365 feeder.accept(grammarAccess.getAssertionOrDefinitionAccess().getRangeExpressionParserRuleCall_1_0_2_0(), semanticObject.getRange());
366 feeder.finish();
333 } 367 }
334 368
335 369
@@ -359,7 +393,7 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
359 * Statement returns MetricDefinition 393 * Statement returns MetricDefinition
360 * 394 *
361 * Constraint: 395 * Constraint:
362 * ((head=AssertionOrDefinition_MetricDefinition_1_2_0 body=Expression) | (type=MetricType head=Expression body=Expression)) 396 * ((head=AssertionOrDefinition_MetricDefinition_1_2_0 body=Expression) | (type=[NamedElement|QualifiedName] head=Call body=Expression))
363 */ 397 */
364 protected void sequence_AssertionOrDefinition_MetricDefinition(ISerializationContext context, MetricDefinition semanticObject) { 398 protected void sequence_AssertionOrDefinition_MetricDefinition(ISerializationContext context, MetricDefinition semanticObject) {
365 genericSequencer.createSequence(context, semanticObject); 399 genericSequencer.createSequence(context, semanticObject);
@@ -440,10 +474,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
440 474
441 /** 475 /**
442 * Contexts: 476 * Contexts:
443 * AssertionOrDefinition.Assertion_1_0_0 returns Call 477 * Statement returns Call
478 * AssertionOrDefinition returns Call
479 * AssertionOrDefinition.Interpretation_1_0_0 returns Call
444 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Call 480 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Call
445 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Call 481 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Call
446 * Expression returns Call 482 * Expression returns Call
483 * ImplicationExpression returns Call
484 * ImplicationExpression.BinaryExpression_1_0 returns Call
447 * DisjunctiveExpression returns Call 485 * DisjunctiveExpression returns Call
448 * DisjunctiveExpression.Disjunction_1_0_0 returns Call 486 * DisjunctiveExpression.Disjunction_1_0_0 returns Call
449 * DisjunctiveExpression.Case_1_1_0 returns Call 487 * DisjunctiveExpression.Case_1_1_0 returns Call
@@ -457,6 +495,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
457 * MultiplicativeExpression.BinaryExpression_1_0 returns Call 495 * MultiplicativeExpression.BinaryExpression_1_0 returns Call
458 * ExponentialExpression returns Call 496 * ExponentialExpression returns Call
459 * ExponentialExpression.BinaryExpression_1_0 returns Call 497 * ExponentialExpression.BinaryExpression_1_0 returns Call
498 * CastExpression returns Call
499 * CastExpression.CastExpression_1_0 returns Call
460 * UnaryExpression returns Call 500 * UnaryExpression returns Call
461 * AggregationExpression returns Call 501 * AggregationExpression returns Call
462 * AtomicExpression returns Call 502 * AtomicExpression returns Call
@@ -497,6 +537,52 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
497 537
498 /** 538 /**
499 * Contexts: 539 * Contexts:
540 * Statement returns CastExpression
541 * AssertionOrDefinition returns CastExpression
542 * AssertionOrDefinition.Interpretation_1_0_0 returns CastExpression
543 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns CastExpression
544 * AssertionOrDefinition.MetricDefinition_1_2_0 returns CastExpression
545 * Expression returns CastExpression
546 * ImplicationExpression returns CastExpression
547 * ImplicationExpression.BinaryExpression_1_0 returns CastExpression
548 * DisjunctiveExpression returns CastExpression
549 * DisjunctiveExpression.Disjunction_1_0_0 returns CastExpression
550 * DisjunctiveExpression.Case_1_1_0 returns CastExpression
551 * ConjunctiveExpression returns CastExpression
552 * ConjunctiveExpression.Conjunction_1_0 returns CastExpression
553 * ComparisonExpression returns CastExpression
554 * ComparisonExpression.Comparison_1_0 returns CastExpression
555 * AdditiveExpression returns CastExpression
556 * AdditiveExpression.BinaryExpression_1_0 returns CastExpression
557 * MultiplicativeExpression returns CastExpression
558 * MultiplicativeExpression.BinaryExpression_1_0 returns CastExpression
559 * ExponentialExpression returns CastExpression
560 * ExponentialExpression.BinaryExpression_1_0 returns CastExpression
561 * CastExpression returns CastExpression
562 * CastExpression.CastExpression_1_0 returns CastExpression
563 * UnaryExpression returns CastExpression
564 * AggregationExpression returns CastExpression
565 * AtomicExpression returns CastExpression
566 *
567 * Constraint:
568 * (body=CastExpression_CastExpression_1_0 type=[NamedElement|QualifiedName])
569 */
570 protected void sequence_CastExpression(ISerializationContext context, CastExpression semanticObject) {
571 if (errorAcceptor != null) {
572 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.CAST_EXPRESSION__BODY) == ValueTransient.YES)
573 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.CAST_EXPRESSION__BODY));
574 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.CAST_EXPRESSION__TYPE) == ValueTransient.YES)
575 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.CAST_EXPRESSION__TYPE));
576 }
577 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
578 feeder.accept(grammarAccess.getCastExpressionAccess().getCastExpressionBodyAction_1_0(), semanticObject.getBody());
579 feeder.accept(grammarAccess.getCastExpressionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_2_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.CAST_EXPRESSION__TYPE, false));
580 feeder.finish();
581 }
582
583
584 /**
585 * Contexts:
500 * Statement returns ClassDefinition 586 * Statement returns ClassDefinition
501 * ClassDefinition returns ClassDefinition 587 * ClassDefinition returns ClassDefinition
502 * 588 *
@@ -515,10 +601,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
515 601
516 /** 602 /**
517 * Contexts: 603 * Contexts:
518 * AssertionOrDefinition.Assertion_1_0_0 returns Comparison 604 * Statement returns Comparison
605 * AssertionOrDefinition returns Comparison
606 * AssertionOrDefinition.Interpretation_1_0_0 returns Comparison
519 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Comparison 607 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Comparison
520 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Comparison 608 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Comparison
521 * Expression returns Comparison 609 * Expression returns Comparison
610 * ImplicationExpression returns Comparison
611 * ImplicationExpression.BinaryExpression_1_0 returns Comparison
522 * DisjunctiveExpression returns Comparison 612 * DisjunctiveExpression returns Comparison
523 * DisjunctiveExpression.Disjunction_1_0_0 returns Comparison 613 * DisjunctiveExpression.Disjunction_1_0_0 returns Comparison
524 * DisjunctiveExpression.Case_1_1_0 returns Comparison 614 * DisjunctiveExpression.Case_1_1_0 returns Comparison
@@ -532,6 +622,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
532 * MultiplicativeExpression.BinaryExpression_1_0 returns Comparison 622 * MultiplicativeExpression.BinaryExpression_1_0 returns Comparison
533 * ExponentialExpression returns Comparison 623 * ExponentialExpression returns Comparison
534 * ExponentialExpression.BinaryExpression_1_0 returns Comparison 624 * ExponentialExpression.BinaryExpression_1_0 returns Comparison
625 * CastExpression returns Comparison
626 * CastExpression.CastExpression_1_0 returns Comparison
535 * UnaryExpression returns Comparison 627 * UnaryExpression returns Comparison
536 * AggregationExpression returns Comparison 628 * AggregationExpression returns Comparison
537 * AtomicExpression returns Comparison 629 * AtomicExpression returns Comparison
@@ -558,10 +650,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
558 650
559 /** 651 /**
560 * Contexts: 652 * Contexts:
561 * AssertionOrDefinition.Assertion_1_0_0 returns Conjunction 653 * Statement returns Conjunction
654 * AssertionOrDefinition returns Conjunction
655 * AssertionOrDefinition.Interpretation_1_0_0 returns Conjunction
562 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Conjunction 656 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Conjunction
563 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Conjunction 657 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Conjunction
564 * Expression returns Conjunction 658 * Expression returns Conjunction
659 * ImplicationExpression returns Conjunction
660 * ImplicationExpression.BinaryExpression_1_0 returns Conjunction
565 * DisjunctiveExpression returns Conjunction 661 * DisjunctiveExpression returns Conjunction
566 * DisjunctiveExpression.Disjunction_1_0_0 returns Conjunction 662 * DisjunctiveExpression.Disjunction_1_0_0 returns Conjunction
567 * DisjunctiveExpression.Case_1_1_0 returns Conjunction 663 * DisjunctiveExpression.Case_1_1_0 returns Conjunction
@@ -575,6 +671,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
575 * MultiplicativeExpression.BinaryExpression_1_0 returns Conjunction 671 * MultiplicativeExpression.BinaryExpression_1_0 returns Conjunction
576 * ExponentialExpression returns Conjunction 672 * ExponentialExpression returns Conjunction
577 * ExponentialExpression.BinaryExpression_1_0 returns Conjunction 673 * ExponentialExpression.BinaryExpression_1_0 returns Conjunction
674 * CastExpression returns Conjunction
675 * CastExpression.CastExpression_1_0 returns Conjunction
578 * UnaryExpression returns Conjunction 676 * UnaryExpression returns Conjunction
579 * AggregationExpression returns Conjunction 677 * AggregationExpression returns Conjunction
580 * AtomicExpression returns Conjunction 678 * AtomicExpression returns Conjunction
@@ -589,44 +687,6 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
589 687
590 /** 688 /**
591 * Contexts: 689 * Contexts:
592 * AssertionOrDefinition.Assertion_1_0_0 returns Count
593 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Count
594 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Count
595 * Expression returns Count
596 * DisjunctiveExpression returns Count
597 * DisjunctiveExpression.Disjunction_1_0_0 returns Count
598 * DisjunctiveExpression.Case_1_1_0 returns Count
599 * ConjunctiveExpression returns Count
600 * ConjunctiveExpression.Conjunction_1_0 returns Count
601 * ComparisonExpression returns Count
602 * ComparisonExpression.Comparison_1_0 returns Count
603 * AdditiveExpression returns Count
604 * AdditiveExpression.BinaryExpression_1_0 returns Count
605 * MultiplicativeExpression returns Count
606 * MultiplicativeExpression.BinaryExpression_1_0 returns Count
607 * ExponentialExpression returns Count
608 * ExponentialExpression.BinaryExpression_1_0 returns Count
609 * UnaryExpression returns Count
610 * AggregationExpression returns Count
611 * Count returns Count
612 * AtomicExpression returns Count
613 *
614 * Constraint:
615 * body=Expression
616 */
617 protected void sequence_Count(ISerializationContext context, Count semanticObject) {
618 if (errorAcceptor != null) {
619 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.COUNT__BODY) == ValueTransient.YES)
620 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.COUNT__BODY));
621 }
622 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
623 feeder.accept(grammarAccess.getCountAccess().getBodyExpressionParserRuleCall_2_0(), semanticObject.getBody());
624 feeder.finish();
625 }
626
627
628 /**
629 * Contexts:
630 * Statement returns DefaultDefinition 690 * Statement returns DefaultDefinition
631 * DefaultDefinition returns DefaultDefinition 691 * DefaultDefinition returns DefaultDefinition
632 * 692 *
@@ -649,10 +709,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
649 709
650 /** 710 /**
651 * Contexts: 711 * Contexts:
652 * AssertionOrDefinition.Assertion_1_0_0 returns Disjunction 712 * Statement returns Disjunction
713 * AssertionOrDefinition returns Disjunction
714 * AssertionOrDefinition.Interpretation_1_0_0 returns Disjunction
653 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Disjunction 715 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Disjunction
654 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Disjunction 716 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Disjunction
655 * Expression returns Disjunction 717 * Expression returns Disjunction
718 * ImplicationExpression returns Disjunction
719 * ImplicationExpression.BinaryExpression_1_0 returns Disjunction
656 * DisjunctiveExpression returns Disjunction 720 * DisjunctiveExpression returns Disjunction
657 * DisjunctiveExpression.Disjunction_1_0_0 returns Disjunction 721 * DisjunctiveExpression.Disjunction_1_0_0 returns Disjunction
658 * DisjunctiveExpression.Case_1_1_0 returns Disjunction 722 * DisjunctiveExpression.Case_1_1_0 returns Disjunction
@@ -666,6 +730,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
666 * MultiplicativeExpression.BinaryExpression_1_0 returns Disjunction 730 * MultiplicativeExpression.BinaryExpression_1_0 returns Disjunction
667 * ExponentialExpression returns Disjunction 731 * ExponentialExpression returns Disjunction
668 * ExponentialExpression.BinaryExpression_1_0 returns Disjunction 732 * ExponentialExpression.BinaryExpression_1_0 returns Disjunction
733 * CastExpression returns Disjunction
734 * CastExpression.CastExpression_1_0 returns Disjunction
669 * UnaryExpression returns Disjunction 735 * UnaryExpression returns Disjunction
670 * AggregationExpression returns Disjunction 736 * AggregationExpression returns Disjunction
671 * AtomicExpression returns Disjunction 737 * AtomicExpression returns Disjunction
@@ -680,10 +746,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
680 746
681 /** 747 /**
682 * Contexts: 748 * Contexts:
683 * AssertionOrDefinition.Assertion_1_0_0 returns Switch 749 * Statement returns Switch
750 * AssertionOrDefinition returns Switch
751 * AssertionOrDefinition.Interpretation_1_0_0 returns Switch
684 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Switch 752 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Switch
685 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Switch 753 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Switch
686 * Expression returns Switch 754 * Expression returns Switch
755 * ImplicationExpression returns Switch
756 * ImplicationExpression.BinaryExpression_1_0 returns Switch
687 * DisjunctiveExpression returns Switch 757 * DisjunctiveExpression returns Switch
688 * DisjunctiveExpression.Disjunction_1_0_0 returns Switch 758 * DisjunctiveExpression.Disjunction_1_0_0 returns Switch
689 * DisjunctiveExpression.Case_1_1_0 returns Switch 759 * DisjunctiveExpression.Case_1_1_0 returns Switch
@@ -697,6 +767,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
697 * MultiplicativeExpression.BinaryExpression_1_0 returns Switch 767 * MultiplicativeExpression.BinaryExpression_1_0 returns Switch
698 * ExponentialExpression returns Switch 768 * ExponentialExpression returns Switch
699 * ExponentialExpression.BinaryExpression_1_0 returns Switch 769 * ExponentialExpression.BinaryExpression_1_0 returns Switch
770 * CastExpression returns Switch
771 * CastExpression.CastExpression_1_0 returns Switch
700 * UnaryExpression returns Switch 772 * UnaryExpression returns Switch
701 * AggregationExpression returns Switch 773 * AggregationExpression returns Switch
702 * AtomicExpression returns Switch 774 * AtomicExpression returns Switch
@@ -732,10 +804,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
732 804
733 /** 805 /**
734 * Contexts: 806 * Contexts:
735 * AssertionOrDefinition.Assertion_1_0_0 returns EmptyIntervalLiteral 807 * Statement returns EmptyIntervalLiteral
808 * AssertionOrDefinition returns EmptyIntervalLiteral
809 * AssertionOrDefinition.Interpretation_1_0_0 returns EmptyIntervalLiteral
736 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns EmptyIntervalLiteral 810 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns EmptyIntervalLiteral
737 * AssertionOrDefinition.MetricDefinition_1_2_0 returns EmptyIntervalLiteral 811 * AssertionOrDefinition.MetricDefinition_1_2_0 returns EmptyIntervalLiteral
738 * Expression returns EmptyIntervalLiteral 812 * Expression returns EmptyIntervalLiteral
813 * ImplicationExpression returns EmptyIntervalLiteral
814 * ImplicationExpression.BinaryExpression_1_0 returns EmptyIntervalLiteral
739 * DisjunctiveExpression returns EmptyIntervalLiteral 815 * DisjunctiveExpression returns EmptyIntervalLiteral
740 * DisjunctiveExpression.Disjunction_1_0_0 returns EmptyIntervalLiteral 816 * DisjunctiveExpression.Disjunction_1_0_0 returns EmptyIntervalLiteral
741 * DisjunctiveExpression.Case_1_1_0 returns EmptyIntervalLiteral 817 * DisjunctiveExpression.Case_1_1_0 returns EmptyIntervalLiteral
@@ -749,6 +825,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
749 * MultiplicativeExpression.BinaryExpression_1_0 returns EmptyIntervalLiteral 825 * MultiplicativeExpression.BinaryExpression_1_0 returns EmptyIntervalLiteral
750 * ExponentialExpression returns EmptyIntervalLiteral 826 * ExponentialExpression returns EmptyIntervalLiteral
751 * ExponentialExpression.BinaryExpression_1_0 returns EmptyIntervalLiteral 827 * ExponentialExpression.BinaryExpression_1_0 returns EmptyIntervalLiteral
828 * CastExpression returns EmptyIntervalLiteral
829 * CastExpression.CastExpression_1_0 returns EmptyIntervalLiteral
752 * UnaryExpression returns EmptyIntervalLiteral 830 * UnaryExpression returns EmptyIntervalLiteral
753 * AggregationExpression returns EmptyIntervalLiteral 831 * AggregationExpression returns EmptyIntervalLiteral
754 * AtomicExpression returns EmptyIntervalLiteral 832 * AtomicExpression returns EmptyIntervalLiteral
@@ -826,22 +904,63 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
826 904
827 /** 905 /**
828 * Contexts: 906 * Contexts:
907 * Statement returns ExternAggregatorDefinition
908 * ExternAggregatorDefinition returns ExternAggregatorDefinition
909 *
910 * Constraint:
911 * (type=[NamedElement|QualifiedName] name=QualifiedName inputType=[NamedElement|QualifiedName])
912 */
913 protected void sequence_ExternAggregatorDefinition(ISerializationContext context, ExternAggregatorDefinition semanticObject) {
914 if (errorAcceptor != null) {
915 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_AGGREGATOR_DEFINITION__TYPE) == ValueTransient.YES)
916 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_AGGREGATOR_DEFINITION__TYPE));
917 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_AGGREGATOR_DEFINITION__NAME) == ValueTransient.YES)
918 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_AGGREGATOR_DEFINITION__NAME));
919 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE) == ValueTransient.YES)
920 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE));
921 }
922 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
923 feeder.accept(grammarAccess.getExternAggregatorDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.EXTERN_AGGREGATOR_DEFINITION__TYPE, false));
924 feeder.accept(grammarAccess.getExternAggregatorDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0(), semanticObject.getName());
925 feeder.accept(grammarAccess.getExternAggregatorDefinitionAccess().getInputTypeNamedElementQualifiedNameParserRuleCall_4_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.EXTERN_AGGREGATOR_DEFINITION__INPUT_TYPE, false));
926 feeder.finish();
927 }
928
929
930 /**
931 * Contexts:
932 * Statement returns ExternDatatypeDefinition
933 * ExternDatatypeDefinition returns ExternDatatypeDefinition
934 *
935 * Constraint:
936 * (name=QualifiedName supertypes+=[NamedElement|QualifiedName] supertypes+=[NamedElement|QualifiedName]*)
937 */
938 protected void sequence_ExternDatatypeDefinition(ISerializationContext context, ExternDatatypeDefinition semanticObject) {
939 genericSequencer.createSequence(context, semanticObject);
940 }
941
942
943 /**
944 * Contexts:
829 * Statement returns ExternMetricDefinition 945 * Statement returns ExternMetricDefinition
830 * ExternMetricDefinition returns ExternMetricDefinition 946 * ExternMetricDefinition returns ExternMetricDefinition
831 * 947 *
832 * Constraint: 948 * Constraint:
833 * (type=MetricType head=Call) 949 * (type=[NamedElement|QualifiedName] name=QualifiedName argumentList=ArgumentList)
834 */ 950 */
835 protected void sequence_ExternMetricDefinition(ISerializationContext context, ExternMetricDefinition semanticObject) { 951 protected void sequence_ExternMetricDefinition(ISerializationContext context, ExternMetricDefinition semanticObject) {
836 if (errorAcceptor != null) { 952 if (errorAcceptor != null) {
837 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__TYPE) == ValueTransient.YES) 953 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__TYPE) == ValueTransient.YES)
838 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__TYPE)); 954 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__TYPE));
839 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__HEAD) == ValueTransient.YES) 955 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__NAME) == ValueTransient.YES)
840 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__HEAD)); 956 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__NAME));
957 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__ARGUMENT_LIST) == ValueTransient.YES)
958 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__ARGUMENT_LIST));
841 } 959 }
842 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 960 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
843 feeder.accept(grammarAccess.getExternMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_1_0(), semanticObject.getType()); 961 feeder.accept(grammarAccess.getExternMetricDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_1_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION__TYPE, false));
844 feeder.accept(grammarAccess.getExternMetricDefinitionAccess().getHeadCallParserRuleCall_2_0(), semanticObject.getHead()); 962 feeder.accept(grammarAccess.getExternMetricDefinitionAccess().getNameQualifiedNameParserRuleCall_2_0(), semanticObject.getName());
963 feeder.accept(grammarAccess.getExternMetricDefinitionAccess().getArgumentListArgumentListParserRuleCall_3_0(), semanticObject.getArgumentList());
845 feeder.finish(); 964 feeder.finish();
846 } 965 }
847 966
@@ -852,26 +971,33 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
852 * ExternPredicateDefinition returns ExternPredicateDefinition 971 * ExternPredicateDefinition returns ExternPredicateDefinition
853 * 972 *
854 * Constraint: 973 * Constraint:
855 * head=Call 974 * (name=QualifiedName argumentList=ArgumentList)
856 */ 975 */
857 protected void sequence_ExternPredicateDefinition(ISerializationContext context, ExternPredicateDefinition semanticObject) { 976 protected void sequence_ExternPredicateDefinition(ISerializationContext context, ExternPredicateDefinition semanticObject) {
858 if (errorAcceptor != null) { 977 if (errorAcceptor != null) {
859 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_PREDICATE_DEFINITION__HEAD) == ValueTransient.YES) 978 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_PREDICATE_DEFINITION__NAME) == ValueTransient.YES)
860 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_PREDICATE_DEFINITION__HEAD)); 979 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_PREDICATE_DEFINITION__NAME));
980 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST) == ValueTransient.YES)
981 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.EXTERN_PREDICATE_DEFINITION__ARGUMENT_LIST));
861 } 982 }
862 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 983 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
863 feeder.accept(grammarAccess.getExternPredicateDefinitionAccess().getHeadCallParserRuleCall_1_0(), semanticObject.getHead()); 984 feeder.accept(grammarAccess.getExternPredicateDefinitionAccess().getNameQualifiedNameParserRuleCall_1_0(), semanticObject.getName());
985 feeder.accept(grammarAccess.getExternPredicateDefinitionAccess().getArgumentListArgumentListParserRuleCall_2_0(), semanticObject.getArgumentList());
864 feeder.finish(); 986 feeder.finish();
865 } 987 }
866 988
867 989
868 /** 990 /**
869 * Contexts: 991 * Contexts:
870 * AssertionOrDefinition.Assertion_1_0_0 returns IfElse 992 * Statement returns IfElse
993 * AssertionOrDefinition returns IfElse
994 * AssertionOrDefinition.Interpretation_1_0_0 returns IfElse
871 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns IfElse 995 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns IfElse
872 * AssertionOrDefinition.MetricDefinition_1_2_0 returns IfElse 996 * AssertionOrDefinition.MetricDefinition_1_2_0 returns IfElse
873 * Expression returns IfElse 997 * Expression returns IfElse
874 * IfElse returns IfElse 998 * IfElse returns IfElse
999 * ImplicationExpression returns IfElse
1000 * ImplicationExpression.BinaryExpression_1_0 returns IfElse
875 * DisjunctiveExpression returns IfElse 1001 * DisjunctiveExpression returns IfElse
876 * DisjunctiveExpression.Disjunction_1_0_0 returns IfElse 1002 * DisjunctiveExpression.Disjunction_1_0_0 returns IfElse
877 * DisjunctiveExpression.Case_1_1_0 returns IfElse 1003 * DisjunctiveExpression.Case_1_1_0 returns IfElse
@@ -885,6 +1011,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
885 * MultiplicativeExpression.BinaryExpression_1_0 returns IfElse 1011 * MultiplicativeExpression.BinaryExpression_1_0 returns IfElse
886 * ExponentialExpression returns IfElse 1012 * ExponentialExpression returns IfElse
887 * ExponentialExpression.BinaryExpression_1_0 returns IfElse 1013 * ExponentialExpression.BinaryExpression_1_0 returns IfElse
1014 * CastExpression returns IfElse
1015 * CastExpression.CastExpression_1_0 returns IfElse
888 * UnaryExpression returns IfElse 1016 * UnaryExpression returns IfElse
889 * AggregationExpression returns IfElse 1017 * AggregationExpression returns IfElse
890 * AtomicExpression returns IfElse 1018 * AtomicExpression returns IfElse
@@ -911,10 +1039,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
911 1039
912 /** 1040 /**
913 * Contexts: 1041 * Contexts:
914 * AssertionOrDefinition.Assertion_1_0_0 returns InfinityLiteral 1042 * Statement returns InfinityLiteral
1043 * AssertionOrDefinition returns InfinityLiteral
1044 * AssertionOrDefinition.Interpretation_1_0_0 returns InfinityLiteral
915 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns InfinityLiteral 1045 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns InfinityLiteral
916 * AssertionOrDefinition.MetricDefinition_1_2_0 returns InfinityLiteral 1046 * AssertionOrDefinition.MetricDefinition_1_2_0 returns InfinityLiteral
917 * Expression returns InfinityLiteral 1047 * Expression returns InfinityLiteral
1048 * ImplicationExpression returns InfinityLiteral
1049 * ImplicationExpression.BinaryExpression_1_0 returns InfinityLiteral
918 * DisjunctiveExpression returns InfinityLiteral 1050 * DisjunctiveExpression returns InfinityLiteral
919 * DisjunctiveExpression.Disjunction_1_0_0 returns InfinityLiteral 1051 * DisjunctiveExpression.Disjunction_1_0_0 returns InfinityLiteral
920 * DisjunctiveExpression.Case_1_1_0 returns InfinityLiteral 1052 * DisjunctiveExpression.Case_1_1_0 returns InfinityLiteral
@@ -928,6 +1060,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
928 * MultiplicativeExpression.BinaryExpression_1_0 returns InfinityLiteral 1060 * MultiplicativeExpression.BinaryExpression_1_0 returns InfinityLiteral
929 * ExponentialExpression returns InfinityLiteral 1061 * ExponentialExpression returns InfinityLiteral
930 * ExponentialExpression.BinaryExpression_1_0 returns InfinityLiteral 1062 * ExponentialExpression.BinaryExpression_1_0 returns InfinityLiteral
1063 * CastExpression returns InfinityLiteral
1064 * CastExpression.CastExpression_1_0 returns InfinityLiteral
931 * UnaryExpression returns InfinityLiteral 1065 * UnaryExpression returns InfinityLiteral
932 * AggregationExpression returns InfinityLiteral 1066 * AggregationExpression returns InfinityLiteral
933 * AtomicExpression returns InfinityLiteral 1067 * AtomicExpression returns InfinityLiteral
@@ -944,10 +1078,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
944 1078
945 /** 1079 /**
946 * Contexts: 1080 * Contexts:
947 * AssertionOrDefinition.Assertion_1_0_0 returns Interval 1081 * Statement returns Interval
1082 * AssertionOrDefinition returns Interval
1083 * AssertionOrDefinition.Interpretation_1_0_0 returns Interval
948 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Interval 1084 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Interval
949 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Interval 1085 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Interval
950 * Expression returns Interval 1086 * Expression returns Interval
1087 * ImplicationExpression returns Interval
1088 * ImplicationExpression.BinaryExpression_1_0 returns Interval
951 * DisjunctiveExpression returns Interval 1089 * DisjunctiveExpression returns Interval
952 * DisjunctiveExpression.Disjunction_1_0_0 returns Interval 1090 * DisjunctiveExpression.Disjunction_1_0_0 returns Interval
953 * DisjunctiveExpression.Case_1_1_0 returns Interval 1091 * DisjunctiveExpression.Case_1_1_0 returns Interval
@@ -961,6 +1099,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
961 * MultiplicativeExpression.BinaryExpression_1_0 returns Interval 1099 * MultiplicativeExpression.BinaryExpression_1_0 returns Interval
962 * ExponentialExpression returns Interval 1100 * ExponentialExpression returns Interval
963 * ExponentialExpression.BinaryExpression_1_0 returns Interval 1101 * ExponentialExpression.BinaryExpression_1_0 returns Interval
1102 * CastExpression returns Interval
1103 * CastExpression.CastExpression_1_0 returns Interval
964 * UnaryExpression returns Interval 1104 * UnaryExpression returns Interval
965 * AggregationExpression returns Interval 1105 * AggregationExpression returns Interval
966 * AtomicExpression returns Interval 1106 * AtomicExpression returns Interval
@@ -985,10 +1125,85 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
985 1125
986 /** 1126 /**
987 * Contexts: 1127 * Contexts:
988 * AssertionOrDefinition.Assertion_1_0_0 returns LogicLiteral 1128 * LetBinding returns LetBinding
1129 *
1130 * Constraint:
1131 * (variable=Variable value=AdditiveExpression)
1132 */
1133 protected void sequence_LetBinding(ISerializationContext context, LetBinding semanticObject) {
1134 if (errorAcceptor != null) {
1135 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.LET_BINDING__VARIABLE) == ValueTransient.YES)
1136 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.LET_BINDING__VARIABLE));
1137 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.LET_BINDING__VALUE) == ValueTransient.YES)
1138 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.LET_BINDING__VALUE));
1139 }
1140 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
1141 feeder.accept(grammarAccess.getLetBindingAccess().getVariableVariableParserRuleCall_0_0(), semanticObject.getVariable());
1142 feeder.accept(grammarAccess.getLetBindingAccess().getValueAdditiveExpressionParserRuleCall_2_0(), semanticObject.getValue());
1143 feeder.finish();
1144 }
1145
1146
1147 /**
1148 * Contexts:
1149 * Statement returns Let
1150 * AssertionOrDefinition returns Let
1151 * AssertionOrDefinition.Interpretation_1_0_0 returns Let
1152 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Let
1153 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Let
1154 * Expression returns Let
1155 * Let returns Let
1156 * ImplicationExpression returns Let
1157 * ImplicationExpression.BinaryExpression_1_0 returns Let
1158 * DisjunctiveExpression returns Let
1159 * DisjunctiveExpression.Disjunction_1_0_0 returns Let
1160 * DisjunctiveExpression.Case_1_1_0 returns Let
1161 * ConjunctiveExpression returns Let
1162 * ConjunctiveExpression.Conjunction_1_0 returns Let
1163 * ComparisonExpression returns Let
1164 * ComparisonExpression.Comparison_1_0 returns Let
1165 * AdditiveExpression returns Let
1166 * AdditiveExpression.BinaryExpression_1_0 returns Let
1167 * MultiplicativeExpression returns Let
1168 * MultiplicativeExpression.BinaryExpression_1_0 returns Let
1169 * ExponentialExpression returns Let
1170 * ExponentialExpression.BinaryExpression_1_0 returns Let
1171 * CastExpression returns Let
1172 * CastExpression.CastExpression_1_0 returns Let
1173 * UnaryExpression returns Let
1174 * AggregationExpression returns Let
1175 * AtomicExpression returns Let
1176 *
1177 * Constraint:
1178 * (bindings+=LetBinding bindings+=LetBinding* body=Expression)
1179 */
1180 protected void sequence_Let(ISerializationContext context, Let semanticObject) {
1181 genericSequencer.createSequence(context, semanticObject);
1182 }
1183
1184
1185 /**
1186 * Contexts:
1187 * LocalVariables returns LocalVariables
1188 *
1189 * Constraint:
1190 * (variables+=Variable variables+=Variable*)?
1191 */
1192 protected void sequence_LocalVariables(ISerializationContext context, LocalVariables semanticObject) {
1193 genericSequencer.createSequence(context, semanticObject);
1194 }
1195
1196
1197 /**
1198 * Contexts:
1199 * Statement returns LogicLiteral
1200 * AssertionOrDefinition returns LogicLiteral
1201 * AssertionOrDefinition.Interpretation_1_0_0 returns LogicLiteral
989 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns LogicLiteral 1202 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns LogicLiteral
990 * AssertionOrDefinition.MetricDefinition_1_2_0 returns LogicLiteral 1203 * AssertionOrDefinition.MetricDefinition_1_2_0 returns LogicLiteral
991 * Expression returns LogicLiteral 1204 * Expression returns LogicLiteral
1205 * ImplicationExpression returns LogicLiteral
1206 * ImplicationExpression.BinaryExpression_1_0 returns LogicLiteral
992 * DisjunctiveExpression returns LogicLiteral 1207 * DisjunctiveExpression returns LogicLiteral
993 * DisjunctiveExpression.Disjunction_1_0_0 returns LogicLiteral 1208 * DisjunctiveExpression.Disjunction_1_0_0 returns LogicLiteral
994 * DisjunctiveExpression.Case_1_1_0 returns LogicLiteral 1209 * DisjunctiveExpression.Case_1_1_0 returns LogicLiteral
@@ -1002,6 +1217,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1002 * MultiplicativeExpression.BinaryExpression_1_0 returns LogicLiteral 1217 * MultiplicativeExpression.BinaryExpression_1_0 returns LogicLiteral
1003 * ExponentialExpression returns LogicLiteral 1218 * ExponentialExpression returns LogicLiteral
1004 * ExponentialExpression.BinaryExpression_1_0 returns LogicLiteral 1219 * ExponentialExpression.BinaryExpression_1_0 returns LogicLiteral
1220 * CastExpression returns LogicLiteral
1221 * CastExpression.CastExpression_1_0 returns LogicLiteral
1005 * UnaryExpression returns LogicLiteral 1222 * UnaryExpression returns LogicLiteral
1006 * AggregationExpression returns LogicLiteral 1223 * AggregationExpression returns LogicLiteral
1007 * AtomicExpression returns LogicLiteral 1224 * AtomicExpression returns LogicLiteral
@@ -1066,7 +1283,7 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1066 * MetricDefinition returns MetricDefinition 1283 * MetricDefinition returns MetricDefinition
1067 * 1284 *
1068 * Constraint: 1285 * Constraint:
1069 * (type=MetricType head=Expression body=Expression) 1286 * (type=[NamedElement|QualifiedName] head=Call body=Expression)
1070 */ 1287 */
1071 protected void sequence_MetricDefinition(ISerializationContext context, MetricDefinition semanticObject) { 1288 protected void sequence_MetricDefinition(ISerializationContext context, MetricDefinition semanticObject) {
1072 if (errorAcceptor != null) { 1289 if (errorAcceptor != null) {
@@ -1078,8 +1295,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1078 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__BODY)); 1295 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.METRIC_DEFINITION__BODY));
1079 } 1296 }
1080 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); 1297 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
1081 feeder.accept(grammarAccess.getMetricDefinitionAccess().getTypeMetricTypeEnumRuleCall_0_0(), semanticObject.getType()); 1298 feeder.accept(grammarAccess.getMetricDefinitionAccess().getTypeNamedElementQualifiedNameParserRuleCall_0_0_1(), semanticObject.eGet(SolverLanguagePackage.Literals.METRIC_DEFINITION__TYPE, false));
1082 feeder.accept(grammarAccess.getMetricDefinitionAccess().getHeadExpressionParserRuleCall_1_0(), semanticObject.getHead()); 1299 feeder.accept(grammarAccess.getMetricDefinitionAccess().getHeadCallParserRuleCall_1_0(), semanticObject.getHead());
1083 feeder.accept(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0(), semanticObject.getBody()); 1300 feeder.accept(grammarAccess.getMetricDefinitionAccess().getBodyExpressionParserRuleCall_3_0(), semanticObject.getBody());
1084 feeder.finish(); 1301 feeder.finish();
1085 } 1302 }
@@ -1087,28 +1304,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1087 1304
1088 /** 1305 /**
1089 * Contexts: 1306 * Contexts:
1090 * NamedElement returns NamedElement 1307 * Statement returns NumericLiteral
1091 * 1308 * AssertionOrDefinition returns NumericLiteral
1092 * Constraint: 1309 * AssertionOrDefinition.Interpretation_1_0_0 returns NumericLiteral
1093 * name=QualifiedName
1094 */
1095 protected void sequence_NamedElement(ISerializationContext context, NamedElement semanticObject) {
1096 if (errorAcceptor != null) {
1097 if (transientValues.isValueTransient(semanticObject, SolverLanguagePackage.Literals.NAMED_ELEMENT__NAME) == ValueTransient.YES)
1098 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, SolverLanguagePackage.Literals.NAMED_ELEMENT__NAME));
1099 }
1100 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
1101 feeder.accept(grammarAccess.getNamedElementAccess().getNameQualifiedNameParserRuleCall_0(), semanticObject.getName());
1102 feeder.finish();
1103 }
1104
1105
1106 /**
1107 * Contexts:
1108 * AssertionOrDefinition.Assertion_1_0_0 returns NumericLiteral
1109 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns NumericLiteral 1310 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns NumericLiteral
1110 * AssertionOrDefinition.MetricDefinition_1_2_0 returns NumericLiteral 1311 * AssertionOrDefinition.MetricDefinition_1_2_0 returns NumericLiteral
1111 * Expression returns NumericLiteral 1312 * Expression returns NumericLiteral
1313 * ImplicationExpression returns NumericLiteral
1314 * ImplicationExpression.BinaryExpression_1_0 returns NumericLiteral
1112 * DisjunctiveExpression returns NumericLiteral 1315 * DisjunctiveExpression returns NumericLiteral
1113 * DisjunctiveExpression.Disjunction_1_0_0 returns NumericLiteral 1316 * DisjunctiveExpression.Disjunction_1_0_0 returns NumericLiteral
1114 * DisjunctiveExpression.Case_1_1_0 returns NumericLiteral 1317 * DisjunctiveExpression.Case_1_1_0 returns NumericLiteral
@@ -1122,6 +1325,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1122 * MultiplicativeExpression.BinaryExpression_1_0 returns NumericLiteral 1325 * MultiplicativeExpression.BinaryExpression_1_0 returns NumericLiteral
1123 * ExponentialExpression returns NumericLiteral 1326 * ExponentialExpression returns NumericLiteral
1124 * ExponentialExpression.BinaryExpression_1_0 returns NumericLiteral 1327 * ExponentialExpression.BinaryExpression_1_0 returns NumericLiteral
1328 * CastExpression returns NumericLiteral
1329 * CastExpression.CastExpression_1_0 returns NumericLiteral
1125 * UnaryExpression returns NumericLiteral 1330 * UnaryExpression returns NumericLiteral
1126 * AggregationExpression returns NumericLiteral 1331 * AggregationExpression returns NumericLiteral
1127 * AtomicExpression returns NumericLiteral 1332 * AtomicExpression returns NumericLiteral
@@ -1190,10 +1395,52 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1190 1395
1191 /** 1396 /**
1192 * Contexts: 1397 * Contexts:
1193 * AssertionOrDefinition.Assertion_1_0_0 returns Reference 1398 * Statement returns QuantifiedExpression
1399 * AssertionOrDefinition returns QuantifiedExpression
1400 * AssertionOrDefinition.Interpretation_1_0_0 returns QuantifiedExpression
1401 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns QuantifiedExpression
1402 * AssertionOrDefinition.MetricDefinition_1_2_0 returns QuantifiedExpression
1403 * Expression returns QuantifiedExpression
1404 * ImplicationExpression returns QuantifiedExpression
1405 * ImplicationExpression.BinaryExpression_1_0 returns QuantifiedExpression
1406 * DisjunctiveExpression returns QuantifiedExpression
1407 * DisjunctiveExpression.Disjunction_1_0_0 returns QuantifiedExpression
1408 * DisjunctiveExpression.Case_1_1_0 returns QuantifiedExpression
1409 * ConjunctiveExpression returns QuantifiedExpression
1410 * ConjunctiveExpression.Conjunction_1_0 returns QuantifiedExpression
1411 * ComparisonExpression returns QuantifiedExpression
1412 * ComparisonExpression.Comparison_1_0 returns QuantifiedExpression
1413 * AdditiveExpression returns QuantifiedExpression
1414 * AdditiveExpression.BinaryExpression_1_0 returns QuantifiedExpression
1415 * MultiplicativeExpression returns QuantifiedExpression
1416 * MultiplicativeExpression.BinaryExpression_1_0 returns QuantifiedExpression
1417 * ExponentialExpression returns QuantifiedExpression
1418 * ExponentialExpression.BinaryExpression_1_0 returns QuantifiedExpression
1419 * CastExpression returns QuantifiedExpression
1420 * CastExpression.CastExpression_1_0 returns QuantifiedExpression
1421 * UnaryExpression returns QuantifiedExpression
1422 * AggregationExpression returns QuantifiedExpression
1423 * QuantifiedExpression returns QuantifiedExpression
1424 * AtomicExpression returns QuantifiedExpression
1425 *
1426 * Constraint:
1427 * (quantifier=Quantifier localVariables=LocalVariables? body=Expression)
1428 */
1429 protected void sequence_QuantifiedExpression(ISerializationContext context, QuantifiedExpression semanticObject) {
1430 genericSequencer.createSequence(context, semanticObject);
1431 }
1432
1433
1434 /**
1435 * Contexts:
1436 * Statement returns Reference
1437 * AssertionOrDefinition returns Reference
1438 * AssertionOrDefinition.Interpretation_1_0_0 returns Reference
1194 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Reference 1439 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns Reference
1195 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Reference 1440 * AssertionOrDefinition.MetricDefinition_1_2_0 returns Reference
1196 * Expression returns Reference 1441 * Expression returns Reference
1442 * ImplicationExpression returns Reference
1443 * ImplicationExpression.BinaryExpression_1_0 returns Reference
1197 * DisjunctiveExpression returns Reference 1444 * DisjunctiveExpression returns Reference
1198 * DisjunctiveExpression.Disjunction_1_0_0 returns Reference 1445 * DisjunctiveExpression.Disjunction_1_0_0 returns Reference
1199 * DisjunctiveExpression.Case_1_1_0 returns Reference 1446 * DisjunctiveExpression.Case_1_1_0 returns Reference
@@ -1207,6 +1454,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1207 * MultiplicativeExpression.BinaryExpression_1_0 returns Reference 1454 * MultiplicativeExpression.BinaryExpression_1_0 returns Reference
1208 * ExponentialExpression returns Reference 1455 * ExponentialExpression returns Reference
1209 * ExponentialExpression.BinaryExpression_1_0 returns Reference 1456 * ExponentialExpression.BinaryExpression_1_0 returns Reference
1457 * CastExpression returns Reference
1458 * CastExpression.CastExpression_1_0 returns Reference
1210 * UnaryExpression returns Reference 1459 * UnaryExpression returns Reference
1211 * AggregationExpression returns Reference 1460 * AggregationExpression returns Reference
1212 * AtomicExpression returns Reference 1461 * AtomicExpression returns Reference
@@ -1241,10 +1490,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1241 1490
1242 /** 1491 /**
1243 * Contexts: 1492 * Contexts:
1244 * AssertionOrDefinition.Assertion_1_0_0 returns StringLiteral 1493 * Statement returns StringLiteral
1494 * AssertionOrDefinition returns StringLiteral
1495 * AssertionOrDefinition.Interpretation_1_0_0 returns StringLiteral
1245 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns StringLiteral 1496 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns StringLiteral
1246 * AssertionOrDefinition.MetricDefinition_1_2_0 returns StringLiteral 1497 * AssertionOrDefinition.MetricDefinition_1_2_0 returns StringLiteral
1247 * Expression returns StringLiteral 1498 * Expression returns StringLiteral
1499 * ImplicationExpression returns StringLiteral
1500 * ImplicationExpression.BinaryExpression_1_0 returns StringLiteral
1248 * DisjunctiveExpression returns StringLiteral 1501 * DisjunctiveExpression returns StringLiteral
1249 * DisjunctiveExpression.Disjunction_1_0_0 returns StringLiteral 1502 * DisjunctiveExpression.Disjunction_1_0_0 returns StringLiteral
1250 * DisjunctiveExpression.Case_1_1_0 returns StringLiteral 1503 * DisjunctiveExpression.Case_1_1_0 returns StringLiteral
@@ -1258,6 +1511,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1258 * MultiplicativeExpression.BinaryExpression_1_0 returns StringLiteral 1511 * MultiplicativeExpression.BinaryExpression_1_0 returns StringLiteral
1259 * ExponentialExpression returns StringLiteral 1512 * ExponentialExpression returns StringLiteral
1260 * ExponentialExpression.BinaryExpression_1_0 returns StringLiteral 1513 * ExponentialExpression.BinaryExpression_1_0 returns StringLiteral
1514 * CastExpression returns StringLiteral
1515 * CastExpression.CastExpression_1_0 returns StringLiteral
1261 * UnaryExpression returns StringLiteral 1516 * UnaryExpression returns StringLiteral
1262 * AggregationExpression returns StringLiteral 1517 * AggregationExpression returns StringLiteral
1263 * AtomicExpression returns StringLiteral 1518 * AtomicExpression returns StringLiteral
@@ -1321,10 +1576,14 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1321 1576
1322 /** 1577 /**
1323 * Contexts: 1578 * Contexts:
1324 * AssertionOrDefinition.Assertion_1_0_0 returns UnaryExpression 1579 * Statement returns UnaryExpression
1580 * AssertionOrDefinition returns UnaryExpression
1581 * AssertionOrDefinition.Interpretation_1_0_0 returns UnaryExpression
1325 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns UnaryExpression 1582 * AssertionOrDefinition.PredicateDefinition_1_1_0 returns UnaryExpression
1326 * AssertionOrDefinition.MetricDefinition_1_2_0 returns UnaryExpression 1583 * AssertionOrDefinition.MetricDefinition_1_2_0 returns UnaryExpression
1327 * Expression returns UnaryExpression 1584 * Expression returns UnaryExpression
1585 * ImplicationExpression returns UnaryExpression
1586 * ImplicationExpression.BinaryExpression_1_0 returns UnaryExpression
1328 * DisjunctiveExpression returns UnaryExpression 1587 * DisjunctiveExpression returns UnaryExpression
1329 * DisjunctiveExpression.Disjunction_1_0_0 returns UnaryExpression 1588 * DisjunctiveExpression.Disjunction_1_0_0 returns UnaryExpression
1330 * DisjunctiveExpression.Case_1_1_0 returns UnaryExpression 1589 * DisjunctiveExpression.Case_1_1_0 returns UnaryExpression
@@ -1338,6 +1597,8 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1338 * MultiplicativeExpression.BinaryExpression_1_0 returns UnaryExpression 1597 * MultiplicativeExpression.BinaryExpression_1_0 returns UnaryExpression
1339 * ExponentialExpression returns UnaryExpression 1598 * ExponentialExpression returns UnaryExpression
1340 * ExponentialExpression.BinaryExpression_1_0 returns UnaryExpression 1599 * ExponentialExpression.BinaryExpression_1_0 returns UnaryExpression
1600 * CastExpression returns UnaryExpression
1601 * CastExpression.CastExpression_1_0 returns UnaryExpression
1341 * UnaryExpression returns UnaryExpression 1602 * UnaryExpression returns UnaryExpression
1342 * AggregationExpression returns UnaryExpression 1603 * AggregationExpression returns UnaryExpression
1343 * AtomicExpression returns UnaryExpression 1604 * AtomicExpression returns UnaryExpression
@@ -1381,4 +1642,16 @@ public class SolverLanguageSemanticSequencer extends AbstractDelegatingSemanticS
1381 } 1642 }
1382 1643
1383 1644
1645 /**
1646 * Contexts:
1647 * Variable returns Variable
1648 *
1649 * Constraint:
1650 * (type=[NamedElement|QualifiedName]? name=ID)
1651 */
1652 protected void sequence_Variable(ISerializationContext context, Variable semanticObject) {
1653 genericSequencer.createSequence(context, semanticObject);
1654 }
1655
1656
1384} 1657}
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSyntacticSequencer.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSyntacticSequencer.java
index 1fa1a820..8b187721 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSyntacticSequencer.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/serializer/SolverLanguageSyntacticSequencer.java
@@ -83,18 +83,22 @@ public class SolverLanguageSyntacticSequencer extends AbstractSyntacticSequencer
83 * 83 *
84 * This ambiguous syntax occurs at: 84 * This ambiguous syntax occurs at:
85 * (rule start) (ambiguity) '[' lowerBound=Expression 85 * (rule start) (ambiguity) '[' lowerBound=Expression
86 * (rule start) (ambiguity) 'count' '{' body=Expression
87 * (rule start) (ambiguity) 'empty' (rule start) 86 * (rule start) (ambiguity) 'empty' (rule start)
87 * (rule start) (ambiguity) 'empty' FULL_STOP (rule start)
88 * (rule start) (ambiguity) 'if' condition=Expression 88 * (rule start) (ambiguity) 'if' condition=Expression
89 * (rule start) (ambiguity) 'inf' (rule start) 89 * (rule start) (ambiguity) 'inf' (rule start)
90 * (rule start) (ambiguity) 'inf' FULL_STOP (rule start)
91 * (rule start) (ambiguity) 'let' bindings+=LetBinding
90 * (rule start) (ambiguity) functor=Reference 92 * (rule start) (ambiguity) functor=Reference
91 * (rule start) (ambiguity) op=AggregationOp
92 * (rule start) (ambiguity) op=UnaryOp 93 * (rule start) (ambiguity) op=UnaryOp
94 * (rule start) (ambiguity) op=[NamedElement|QualifiedName]
95 * (rule start) (ambiguity) quantifier=Quantifier
93 * (rule start) (ambiguity) referred=[NamedElement|QualifiedName] 96 * (rule start) (ambiguity) referred=[NamedElement|QualifiedName]
94 * (rule start) (ambiguity) value=LogicValue 97 * (rule start) (ambiguity) value=LogicValue
95 * (rule start) (ambiguity) value=Real 98 * (rule start) (ambiguity) value=Real
96 * (rule start) (ambiguity) value=STRING 99 * (rule start) (ambiguity) value=STRING
97 * (rule start) (ambiguity) {BinaryExpression.left=} 100 * (rule start) (ambiguity) {BinaryExpression.left=}
101 * (rule start) (ambiguity) {CastExpression.body=}
98 * (rule start) (ambiguity) {Comparison.left=} 102 * (rule start) (ambiguity) {Comparison.left=}
99 * (rule start) (ambiguity) {Conjunction.children+=} 103 * (rule start) (ambiguity) {Conjunction.children+=}
100 * (rule start) (ambiguity) {Disjunction.children+=} 104 * (rule start) (ambiguity) {Disjunction.children+=}
@@ -109,11 +113,13 @@ public class SolverLanguageSyntacticSequencer extends AbstractSyntacticSequencer
109 * '('+ 113 * '('+
110 * 114 *
111 * This ambiguous syntax occurs at: 115 * This ambiguous syntax occurs at:
112 * (rule start) (ambiguity) 'count' '{' body=Expression
113 * (rule start) (ambiguity) 'if' condition=Expression 116 * (rule start) (ambiguity) 'if' condition=Expression
114 * (rule start) (ambiguity) op=AggregationOp 117 * (rule start) (ambiguity) 'let' bindings+=LetBinding
115 * (rule start) (ambiguity) op=UnaryOp 118 * (rule start) (ambiguity) op=UnaryOp
119 * (rule start) (ambiguity) op=[NamedElement|QualifiedName]
120 * (rule start) (ambiguity) quantifier=Quantifier
116 * (rule start) (ambiguity) {BinaryExpression.left=} 121 * (rule start) (ambiguity) {BinaryExpression.left=}
122 * (rule start) (ambiguity) {CastExpression.body=}
117 * (rule start) (ambiguity) {Comparison.left=} 123 * (rule start) (ambiguity) {Comparison.left=}
118 * (rule start) (ambiguity) {Conjunction.children+=} 124 * (rule start) (ambiguity) {Conjunction.children+=}
119 * (rule start) (ambiguity) {Disjunction.children+=} 125 * (rule start) (ambiguity) {Disjunction.children+=}
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java
index 0252938a..ed1569a5 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/services/SolverLanguageGrammarAccess.java
@@ -50,28 +50,30 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
50 private final RuleCall cPredicateDefinitionParserRuleCall_0_1 = (RuleCall)cAlternatives_0.eContents().get(1); 50 private final RuleCall cPredicateDefinitionParserRuleCall_0_1 = (RuleCall)cAlternatives_0.eContents().get(1);
51 private final RuleCall cUnnamedErrorPrediateDefinitionParserRuleCall_0_2 = (RuleCall)cAlternatives_0.eContents().get(2); 51 private final RuleCall cUnnamedErrorPrediateDefinitionParserRuleCall_0_2 = (RuleCall)cAlternatives_0.eContents().get(2);
52 private final RuleCall cDefaultDefinitionParserRuleCall_0_3 = (RuleCall)cAlternatives_0.eContents().get(3); 52 private final RuleCall cDefaultDefinitionParserRuleCall_0_3 = (RuleCall)cAlternatives_0.eContents().get(3);
53 private final RuleCall cExternPredicateDefinitionParserRuleCall_0_4 = (RuleCall)cAlternatives_0.eContents().get(4); 53 private final RuleCall cMetricDefinitionParserRuleCall_0_4 = (RuleCall)cAlternatives_0.eContents().get(4);
54 private final RuleCall cMetricDefinitionParserRuleCall_0_5 = (RuleCall)cAlternatives_0.eContents().get(5); 54 private final RuleCall cExternPredicateDefinitionParserRuleCall_0_5 = (RuleCall)cAlternatives_0.eContents().get(5);
55 private final RuleCall cExternMetricDefinitionParserRuleCall_0_6 = (RuleCall)cAlternatives_0.eContents().get(6); 55 private final RuleCall cExternMetricDefinitionParserRuleCall_0_6 = (RuleCall)cAlternatives_0.eContents().get(6);
56 private final RuleCall cClassDefinitionParserRuleCall_0_7 = (RuleCall)cAlternatives_0.eContents().get(7); 56 private final RuleCall cExternAggregatorDefinitionParserRuleCall_0_7 = (RuleCall)cAlternatives_0.eContents().get(7);
57 private final RuleCall cScopeDefinitionParserRuleCall_0_8 = (RuleCall)cAlternatives_0.eContents().get(8); 57 private final RuleCall cExternDatatypeDefinitionParserRuleCall_0_8 = (RuleCall)cAlternatives_0.eContents().get(8);
58 private final RuleCall cObjectiveDefinitionParserRuleCall_0_9 = (RuleCall)cAlternatives_0.eContents().get(9); 58 private final RuleCall cClassDefinitionParserRuleCall_0_9 = (RuleCall)cAlternatives_0.eContents().get(9);
59 private final RuleCall cScopeDefinitionParserRuleCall_0_10 = (RuleCall)cAlternatives_0.eContents().get(10);
60 private final RuleCall cObjectiveDefinitionParserRuleCall_0_11 = (RuleCall)cAlternatives_0.eContents().get(11);
59 private final RuleCall cFULL_STOPTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1); 61 private final RuleCall cFULL_STOPTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
60 62
61 //Statement: 63 //Statement:
62 // (AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | 64 // (AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | MetricDefinition
63 // ExternPredicateDefinition | MetricDefinition | ExternMetricDefinition | ClassDefinition | ScopeDefinition | 65 // | ExternPredicateDefinition | ExternMetricDefinition | ExternAggregatorDefinition | ExternDatatypeDefinition |
64 // ObjectiveDefinition) FULL_STOP; 66 // ClassDefinition | ScopeDefinition | ObjectiveDefinition) FULL_STOP;
65 @Override public ParserRule getRule() { return rule; } 67 @Override public ParserRule getRule() { return rule; }
66 68
67 //(AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | 69 //(AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | MetricDefinition |
68 //ExternPredicateDefinition | MetricDefinition | ExternMetricDefinition | ClassDefinition | ScopeDefinition | 70 //ExternPredicateDefinition | ExternMetricDefinition | ExternAggregatorDefinition | ExternDatatypeDefinition |
69 //ObjectiveDefinition) FULL_STOP 71 //ClassDefinition | ScopeDefinition | ObjectiveDefinition) FULL_STOP
70 public Group getGroup() { return cGroup; } 72 public Group getGroup() { return cGroup; }
71 73
72 //(AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | 74 //(AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | MetricDefinition |
73 //ExternPredicateDefinition | MetricDefinition | ExternMetricDefinition | ClassDefinition | ScopeDefinition | 75 //ExternPredicateDefinition | ExternMetricDefinition | ExternAggregatorDefinition | ExternDatatypeDefinition |
74 //ObjectiveDefinition) 76 //ClassDefinition | ScopeDefinition | ObjectiveDefinition)
75 public Alternatives getAlternatives_0() { return cAlternatives_0; } 77 public Alternatives getAlternatives_0() { return cAlternatives_0; }
76 78
77 //AssertionOrDefinition 79 //AssertionOrDefinition
@@ -86,23 +88,29 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
86 //DefaultDefinition 88 //DefaultDefinition
87 public RuleCall getDefaultDefinitionParserRuleCall_0_3() { return cDefaultDefinitionParserRuleCall_0_3; } 89 public RuleCall getDefaultDefinitionParserRuleCall_0_3() { return cDefaultDefinitionParserRuleCall_0_3; }
88 90
89 //ExternPredicateDefinition
90 public RuleCall getExternPredicateDefinitionParserRuleCall_0_4() { return cExternPredicateDefinitionParserRuleCall_0_4; }
91
92 //MetricDefinition 91 //MetricDefinition
93 public RuleCall getMetricDefinitionParserRuleCall_0_5() { return cMetricDefinitionParserRuleCall_0_5; } 92 public RuleCall getMetricDefinitionParserRuleCall_0_4() { return cMetricDefinitionParserRuleCall_0_4; }
93
94 //ExternPredicateDefinition
95 public RuleCall getExternPredicateDefinitionParserRuleCall_0_5() { return cExternPredicateDefinitionParserRuleCall_0_5; }
94 96
95 //ExternMetricDefinition 97 //ExternMetricDefinition
96 public RuleCall getExternMetricDefinitionParserRuleCall_0_6() { return cExternMetricDefinitionParserRuleCall_0_6; } 98 public RuleCall getExternMetricDefinitionParserRuleCall_0_6() { return cExternMetricDefinitionParserRuleCall_0_6; }
97 99
100 //ExternAggregatorDefinition
101 public RuleCall getExternAggregatorDefinitionParserRuleCall_0_7() { return cExternAggregatorDefinitionParserRuleCall_0_7; }
102
103 //ExternDatatypeDefinition
104 public RuleCall getExternDatatypeDefinitionParserRuleCall_0_8() { return cExternDatatypeDefinitionParserRuleCall_0_8; }
105
98 //ClassDefinition 106 //ClassDefinition
99 public RuleCall getClassDefinitionParserRuleCall_0_7() { return cClassDefinitionParserRuleCall_0_7; } 107 public RuleCall getClassDefinitionParserRuleCall_0_9() { return cClassDefinitionParserRuleCall_0_9; }
100 108
101 //ScopeDefinition 109 //ScopeDefinition
102 public RuleCall getScopeDefinitionParserRuleCall_0_8() { return cScopeDefinitionParserRuleCall_0_8; } 110 public RuleCall getScopeDefinitionParserRuleCall_0_10() { return cScopeDefinitionParserRuleCall_0_10; }
103 111
104 //ObjectiveDefinition 112 //ObjectiveDefinition
105 public RuleCall getObjectiveDefinitionParserRuleCall_0_9() { return cObjectiveDefinitionParserRuleCall_0_9; } 113 public RuleCall getObjectiveDefinitionParserRuleCall_0_11() { return cObjectiveDefinitionParserRuleCall_0_11; }
106 114
107 //FULL_STOP 115 //FULL_STOP
108 public RuleCall getFULL_STOPTerminalRuleCall_1() { return cFULL_STOPTerminalRuleCall_1; } 116 public RuleCall getFULL_STOPTerminalRuleCall_1() { return cFULL_STOPTerminalRuleCall_1; }
@@ -113,11 +121,10 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
113 private final RuleCall cExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); 121 private final RuleCall cExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
114 private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); 122 private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
115 private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0); 123 private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0);
116 private final Action cAssertionBodyAction_1_0_0 = (Action)cGroup_1_0.eContents().get(0); 124 private final Action cInterpretationBodyAction_1_0_0 = (Action)cGroup_1_0.eContents().get(0);
117 private final Group cGroup_1_0_1 = (Group)cGroup_1_0.eContents().get(1); 125 private final Keyword cColonKeyword_1_0_1 = (Keyword)cGroup_1_0.eContents().get(1);
118 private final Keyword cColonKeyword_1_0_1_0 = (Keyword)cGroup_1_0_1.eContents().get(0); 126 private final Assignment cRangeAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2);
119 private final Assignment cRangeAssignment_1_0_1_1 = (Assignment)cGroup_1_0_1.eContents().get(1); 127 private final RuleCall cRangeExpressionParserRuleCall_1_0_2_0 = (RuleCall)cRangeAssignment_1_0_2.eContents().get(0);
120 private final RuleCall cRangeExpressionParserRuleCall_1_0_1_1_0 = (RuleCall)cRangeAssignment_1_0_1_1.eContents().get(0);
121 private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1); 128 private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1);
122 private final Action cPredicateDefinitionHeadAction_1_1_0 = (Action)cGroup_1_1.eContents().get(0); 129 private final Action cPredicateDefinitionHeadAction_1_1_0 = (Action)cGroup_1_1.eContents().get(0);
123 private final Keyword cColonHyphenMinusKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1); 130 private final Keyword cColonHyphenMinusKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1);
@@ -130,38 +137,35 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
130 private final RuleCall cBodyExpressionParserRuleCall_1_2_2_0 = (RuleCall)cBodyAssignment_1_2_2.eContents().get(0); 137 private final RuleCall cBodyExpressionParserRuleCall_1_2_2_0 = (RuleCall)cBodyAssignment_1_2_2.eContents().get(0);
131 138
132 //AssertionOrDefinition Statement: 139 //AssertionOrDefinition Statement:
133 // Expression ({Assertion.body=current} (":" range=Expression)? | {PredicateDefinition.head=current} ":-" 140 // Expression ({Interpretation.body=current} ":" range=Expression | {PredicateDefinition.head=current} ":-"
134 // body=Expression | {MetricDefinition.head=current} "=" body=Expression); 141 // body=Expression | {MetricDefinition.head=current} "=" body=Expression)?;
135 @Override public ParserRule getRule() { return rule; } 142 @Override public ParserRule getRule() { return rule; }
136 143
137 //Expression ({Assertion.body=current} (":" range=Expression)? | {PredicateDefinition.head=current} ":-" body=Expression | 144 //Expression ({Interpretation.body=current} ":" range=Expression | {PredicateDefinition.head=current} ":-" body=Expression
138 //{MetricDefinition.head=current} "=" body=Expression) 145 //| {MetricDefinition.head=current} "=" body=Expression)?
139 public Group getGroup() { return cGroup; } 146 public Group getGroup() { return cGroup; }
140 147
141 //Expression 148 //Expression
142 public RuleCall getExpressionParserRuleCall_0() { return cExpressionParserRuleCall_0; } 149 public RuleCall getExpressionParserRuleCall_0() { return cExpressionParserRuleCall_0; }
143 150
144 //({Assertion.body=current} (":" range=Expression)? | {PredicateDefinition.head=current} ":-" body=Expression | 151 //({Interpretation.body=current} ":" range=Expression | {PredicateDefinition.head=current} ":-" body=Expression |
145 //{MetricDefinition.head=current} "=" body=Expression) 152 //{MetricDefinition.head=current} "=" body=Expression)?
146 public Alternatives getAlternatives_1() { return cAlternatives_1; } 153 public Alternatives getAlternatives_1() { return cAlternatives_1; }
147 154
148 //{Assertion.body=current} (":" range=Expression)? 155 //{Interpretation.body=current} ":" range=Expression
149 public Group getGroup_1_0() { return cGroup_1_0; } 156 public Group getGroup_1_0() { return cGroup_1_0; }
150 157
151 //{Assertion.body=current} 158 //{Interpretation.body=current}
152 public Action getAssertionBodyAction_1_0_0() { return cAssertionBodyAction_1_0_0; } 159 public Action getInterpretationBodyAction_1_0_0() { return cInterpretationBodyAction_1_0_0; }
153
154 //(":" range=Expression)?
155 public Group getGroup_1_0_1() { return cGroup_1_0_1; }
156 160
157 //":" 161 //":"
158 public Keyword getColonKeyword_1_0_1_0() { return cColonKeyword_1_0_1_0; } 162 public Keyword getColonKeyword_1_0_1() { return cColonKeyword_1_0_1; }
159 163
160 //range=Expression 164 //range=Expression
161 public Assignment getRangeAssignment_1_0_1_1() { return cRangeAssignment_1_0_1_1; } 165 public Assignment getRangeAssignment_1_0_2() { return cRangeAssignment_1_0_2; }
162 166
163 //Expression 167 //Expression
164 public RuleCall getRangeExpressionParserRuleCall_1_0_1_1_0() { return cRangeExpressionParserRuleCall_1_0_1_1_0; } 168 public RuleCall getRangeExpressionParserRuleCall_1_0_2_0() { return cRangeExpressionParserRuleCall_1_0_2_0; }
165 169
166 //{PredicateDefinition.head=current} ":-" body=Expression 170 //{PredicateDefinition.head=current} ":-" body=Expression
167 public Group getGroup_1_1() { return cGroup_1_1; } 171 public Group getGroup_1_1() { return cGroup_1_1; }
@@ -338,58 +342,39 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
338 //Expression 342 //Expression
339 public RuleCall getRangeExpressionParserRuleCall_3_0() { return cRangeExpressionParserRuleCall_3_0; } 343 public RuleCall getRangeExpressionParserRuleCall_3_0() { return cRangeExpressionParserRuleCall_3_0; }
340 } 344 }
341 public class ExternPredicateDefinitionElements extends AbstractParserRuleElementFinder {
342 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternPredicateDefinition");
343 private final Group cGroup = (Group)rule.eContents().get(1);
344 private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0);
345 private final Assignment cHeadAssignment_1 = (Assignment)cGroup.eContents().get(1);
346 private final RuleCall cHeadCallParserRuleCall_1_0 = (RuleCall)cHeadAssignment_1.eContents().get(0);
347
348 //ExternPredicateDefinition:
349 // "extern" head=Call;
350 @Override public ParserRule getRule() { return rule; }
351
352 //"extern" head=Call
353 public Group getGroup() { return cGroup; }
354
355 //"extern"
356 public Keyword getExternKeyword_0() { return cExternKeyword_0; }
357
358 //head=Call
359 public Assignment getHeadAssignment_1() { return cHeadAssignment_1; }
360
361 //Call
362 public RuleCall getHeadCallParserRuleCall_1_0() { return cHeadCallParserRuleCall_1_0; }
363 }
364 public class MetricDefinitionElements extends AbstractParserRuleElementFinder { 345 public class MetricDefinitionElements extends AbstractParserRuleElementFinder {
365 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MetricDefinition"); 346 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MetricDefinition");
366 private final Group cGroup = (Group)rule.eContents().get(1); 347 private final Group cGroup = (Group)rule.eContents().get(1);
367 private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0); 348 private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0);
368 private final RuleCall cTypeMetricTypeEnumRuleCall_0_0 = (RuleCall)cTypeAssignment_0.eContents().get(0); 349 private final CrossReference cTypeNamedElementCrossReference_0_0 = (CrossReference)cTypeAssignment_0.eContents().get(0);
350 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cTypeNamedElementCrossReference_0_0.eContents().get(1);
369 private final Assignment cHeadAssignment_1 = (Assignment)cGroup.eContents().get(1); 351 private final Assignment cHeadAssignment_1 = (Assignment)cGroup.eContents().get(1);
370 private final RuleCall cHeadExpressionParserRuleCall_1_0 = (RuleCall)cHeadAssignment_1.eContents().get(0); 352 private final RuleCall cHeadCallParserRuleCall_1_0 = (RuleCall)cHeadAssignment_1.eContents().get(0);
371 private final Keyword cEqualsSignKeyword_2 = (Keyword)cGroup.eContents().get(2); 353 private final Keyword cEqualsSignKeyword_2 = (Keyword)cGroup.eContents().get(2);
372 private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3); 354 private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3);
373 private final RuleCall cBodyExpressionParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0); 355 private final RuleCall cBodyExpressionParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0);
374 356
375 //MetricDefinition: 357 //MetricDefinition:
376 // type=MetricType head=Expression "=" body=Expression; 358 // type=[NamedElement|QualifiedName] head=Call "=" body=Expression;
377 @Override public ParserRule getRule() { return rule; } 359 @Override public ParserRule getRule() { return rule; }
378 360
379 //type=MetricType head=Expression "=" body=Expression 361 //type=[NamedElement|QualifiedName] head=Call "=" body=Expression
380 public Group getGroup() { return cGroup; } 362 public Group getGroup() { return cGroup; }
381 363
382 //type=MetricType 364 //type=[NamedElement|QualifiedName]
383 public Assignment getTypeAssignment_0() { return cTypeAssignment_0; } 365 public Assignment getTypeAssignment_0() { return cTypeAssignment_0; }
384 366
385 //MetricType 367 //[NamedElement|QualifiedName]
386 public RuleCall getTypeMetricTypeEnumRuleCall_0_0() { return cTypeMetricTypeEnumRuleCall_0_0; } 368 public CrossReference getTypeNamedElementCrossReference_0_0() { return cTypeNamedElementCrossReference_0_0; }
369
370 //QualifiedName
371 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_0_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_0_0_1; }
387 372
388 //head=Expression 373 //head=Call
389 public Assignment getHeadAssignment_1() { return cHeadAssignment_1; } 374 public Assignment getHeadAssignment_1() { return cHeadAssignment_1; }
390 375
391 //Expression 376 //Call
392 public RuleCall getHeadExpressionParserRuleCall_1_0() { return cHeadExpressionParserRuleCall_1_0; } 377 public RuleCall getHeadCallParserRuleCall_1_0() { return cHeadCallParserRuleCall_1_0; }
393 378
394 //"=" 379 //"="
395 public Keyword getEqualsSignKeyword_2() { return cEqualsSignKeyword_2; } 380 public Keyword getEqualsSignKeyword_2() { return cEqualsSignKeyword_2; }
@@ -400,55 +385,261 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
400 //Expression 385 //Expression
401 public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; } 386 public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; }
402 } 387 }
388 public class ExternPredicateDefinitionElements extends AbstractParserRuleElementFinder {
389 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternPredicateDefinition");
390 private final Group cGroup = (Group)rule.eContents().get(1);
391 private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0);
392 private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
393 private final RuleCall cNameQualifiedNameParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
394 private final Assignment cArgumentListAssignment_2 = (Assignment)cGroup.eContents().get(2);
395 private final RuleCall cArgumentListArgumentListParserRuleCall_2_0 = (RuleCall)cArgumentListAssignment_2.eContents().get(0);
396
397 //ExternPredicateDefinition:
398 // "extern" name=QualifiedName argumentList=ArgumentList;
399 @Override public ParserRule getRule() { return rule; }
400
401 //"extern" name=QualifiedName argumentList=ArgumentList
402 public Group getGroup() { return cGroup; }
403
404 //"extern"
405 public Keyword getExternKeyword_0() { return cExternKeyword_0; }
406
407 //name=QualifiedName
408 public Assignment getNameAssignment_1() { return cNameAssignment_1; }
409
410 //QualifiedName
411 public RuleCall getNameQualifiedNameParserRuleCall_1_0() { return cNameQualifiedNameParserRuleCall_1_0; }
412
413 //argumentList=ArgumentList
414 public Assignment getArgumentListAssignment_2() { return cArgumentListAssignment_2; }
415
416 //ArgumentList
417 public RuleCall getArgumentListArgumentListParserRuleCall_2_0() { return cArgumentListArgumentListParserRuleCall_2_0; }
418 }
403 public class ExternMetricDefinitionElements extends AbstractParserRuleElementFinder { 419 public class ExternMetricDefinitionElements extends AbstractParserRuleElementFinder {
404 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternMetricDefinition"); 420 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternMetricDefinition");
405 private final Group cGroup = (Group)rule.eContents().get(1); 421 private final Group cGroup = (Group)rule.eContents().get(1);
406 private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0); 422 private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0);
407 private final Assignment cTypeAssignment_1 = (Assignment)cGroup.eContents().get(1); 423 private final Assignment cTypeAssignment_1 = (Assignment)cGroup.eContents().get(1);
408 private final RuleCall cTypeMetricTypeEnumRuleCall_1_0 = (RuleCall)cTypeAssignment_1.eContents().get(0); 424 private final CrossReference cTypeNamedElementCrossReference_1_0 = (CrossReference)cTypeAssignment_1.eContents().get(0);
409 private final Assignment cHeadAssignment_2 = (Assignment)cGroup.eContents().get(2); 425 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_0.eContents().get(1);
410 private final RuleCall cHeadCallParserRuleCall_2_0 = (RuleCall)cHeadAssignment_2.eContents().get(0); 426 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
427 private final RuleCall cNameQualifiedNameParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
428 private final Assignment cArgumentListAssignment_3 = (Assignment)cGroup.eContents().get(3);
429 private final RuleCall cArgumentListArgumentListParserRuleCall_3_0 = (RuleCall)cArgumentListAssignment_3.eContents().get(0);
411 430
412 //ExternMetricDefinition: 431 //ExternMetricDefinition:
413 // "extern" type=MetricType head=Call; 432 // "extern" type=[NamedElement|QualifiedName] name=QualifiedName argumentList=ArgumentList;
414 @Override public ParserRule getRule() { return rule; } 433 @Override public ParserRule getRule() { return rule; }
415 434
416 //"extern" type=MetricType head=Call 435 //"extern" type=[NamedElement|QualifiedName] name=QualifiedName argumentList=ArgumentList
417 public Group getGroup() { return cGroup; } 436 public Group getGroup() { return cGroup; }
418 437
419 //"extern" 438 //"extern"
420 public Keyword getExternKeyword_0() { return cExternKeyword_0; } 439 public Keyword getExternKeyword_0() { return cExternKeyword_0; }
421 440
422 //type=MetricType 441 //type=[NamedElement|QualifiedName]
423 public Assignment getTypeAssignment_1() { return cTypeAssignment_1; } 442 public Assignment getTypeAssignment_1() { return cTypeAssignment_1; }
424 443
425 //MetricType 444 //[NamedElement|QualifiedName]
426 public RuleCall getTypeMetricTypeEnumRuleCall_1_0() { return cTypeMetricTypeEnumRuleCall_1_0; } 445 public CrossReference getTypeNamedElementCrossReference_1_0() { return cTypeNamedElementCrossReference_1_0; }
427 446
428 //head=Call 447 //QualifiedName
429 public Assignment getHeadAssignment_2() { return cHeadAssignment_2; } 448 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_0_1; }
430 449
431 //Call 450 //name=QualifiedName
432 public RuleCall getHeadCallParserRuleCall_2_0() { return cHeadCallParserRuleCall_2_0; } 451 public Assignment getNameAssignment_2() { return cNameAssignment_2; }
452
453 //QualifiedName
454 public RuleCall getNameQualifiedNameParserRuleCall_2_0() { return cNameQualifiedNameParserRuleCall_2_0; }
455
456 //argumentList=ArgumentList
457 public Assignment getArgumentListAssignment_3() { return cArgumentListAssignment_3; }
458
459 //ArgumentList
460 public RuleCall getArgumentListArgumentListParserRuleCall_3_0() { return cArgumentListArgumentListParserRuleCall_3_0; }
461 }
462 public class ExternAggregatorDefinitionElements extends AbstractParserRuleElementFinder {
463 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternAggregatorDefinition");
464 private final Group cGroup = (Group)rule.eContents().get(1);
465 private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0);
466 private final Assignment cTypeAssignment_1 = (Assignment)cGroup.eContents().get(1);
467 private final CrossReference cTypeNamedElementCrossReference_1_0 = (CrossReference)cTypeAssignment_1.eContents().get(0);
468 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_0.eContents().get(1);
469 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
470 private final RuleCall cNameQualifiedNameParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
471 private final Keyword cLeftCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
472 private final Assignment cInputTypeAssignment_4 = (Assignment)cGroup.eContents().get(4);
473 private final CrossReference cInputTypeNamedElementCrossReference_4_0 = (CrossReference)cInputTypeAssignment_4.eContents().get(0);
474 private final RuleCall cInputTypeNamedElementQualifiedNameParserRuleCall_4_0_1 = (RuleCall)cInputTypeNamedElementCrossReference_4_0.eContents().get(1);
475 private final Keyword cFullStopFullStopFullStopKeyword_5 = (Keyword)cGroup.eContents().get(5);
476 private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
477
478 //ExternAggregatorDefinition:
479 // "extern" type=[NamedElement|QualifiedName] name=QualifiedName "{" inputType=[NamedElement|QualifiedName] "..." "}";
480 @Override public ParserRule getRule() { return rule; }
481
482 //"extern" type=[NamedElement|QualifiedName] name=QualifiedName "{" inputType=[NamedElement|QualifiedName] "..." "}"
483 public Group getGroup() { return cGroup; }
484
485 //"extern"
486 public Keyword getExternKeyword_0() { return cExternKeyword_0; }
487
488 //type=[NamedElement|QualifiedName]
489 public Assignment getTypeAssignment_1() { return cTypeAssignment_1; }
490
491 //[NamedElement|QualifiedName]
492 public CrossReference getTypeNamedElementCrossReference_1_0() { return cTypeNamedElementCrossReference_1_0; }
493
494 //QualifiedName
495 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_0_1; }
496
497 //name=QualifiedName
498 public Assignment getNameAssignment_2() { return cNameAssignment_2; }
499
500 //QualifiedName
501 public RuleCall getNameQualifiedNameParserRuleCall_2_0() { return cNameQualifiedNameParserRuleCall_2_0; }
502
503 //"{"
504 public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; }
505
506 //inputType=[NamedElement|QualifiedName]
507 public Assignment getInputTypeAssignment_4() { return cInputTypeAssignment_4; }
508
509 //[NamedElement|QualifiedName]
510 public CrossReference getInputTypeNamedElementCrossReference_4_0() { return cInputTypeNamedElementCrossReference_4_0; }
511
512 //QualifiedName
513 public RuleCall getInputTypeNamedElementQualifiedNameParserRuleCall_4_0_1() { return cInputTypeNamedElementQualifiedNameParserRuleCall_4_0_1; }
514
515 //"..."
516 public Keyword getFullStopFullStopFullStopKeyword_5() { return cFullStopFullStopFullStopKeyword_5; }
517
518 //"}"
519 public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
520 }
521 public class ExternDatatypeDefinitionElements extends AbstractParserRuleElementFinder {
522 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExternDatatypeDefinition");
523 private final Group cGroup = (Group)rule.eContents().get(1);
524 private final Keyword cExternKeyword_0 = (Keyword)cGroup.eContents().get(0);
525 private final Keyword cDatatypeKeyword_1 = (Keyword)cGroup.eContents().get(1);
526 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
527 private final RuleCall cNameQualifiedNameParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
528 private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
529 private final Keyword cExtendsKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
530 private final Assignment cSupertypesAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
531 private final CrossReference cSupertypesNamedElementCrossReference_3_1_0 = (CrossReference)cSupertypesAssignment_3_1.eContents().get(0);
532 private final RuleCall cSupertypesNamedElementQualifiedNameParserRuleCall_3_1_0_1 = (RuleCall)cSupertypesNamedElementCrossReference_3_1_0.eContents().get(1);
533 private final Group cGroup_3_2 = (Group)cGroup_3.eContents().get(2);
534 private final Keyword cCommaKeyword_3_2_0 = (Keyword)cGroup_3_2.eContents().get(0);
535 private final Assignment cSupertypesAssignment_3_2_1 = (Assignment)cGroup_3_2.eContents().get(1);
536 private final CrossReference cSupertypesNamedElementCrossReference_3_2_1_0 = (CrossReference)cSupertypesAssignment_3_2_1.eContents().get(0);
537 private final RuleCall cSupertypesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1 = (RuleCall)cSupertypesNamedElementCrossReference_3_2_1_0.eContents().get(1);
538
539 //ExternDatatypeDefinition:
540 // "extern" "datatype" name=QualifiedName ("extends" supertypes+=[NamedElement|QualifiedName] (","
541 // supertypes+=[NamedElement|QualifiedName])*);
542 @Override public ParserRule getRule() { return rule; }
543
544 //"extern" "datatype" name=QualifiedName ("extends" supertypes+=[NamedElement|QualifiedName] (","
545 //supertypes+=[NamedElement|QualifiedName])*)
546 public Group getGroup() { return cGroup; }
547
548 //"extern"
549 public Keyword getExternKeyword_0() { return cExternKeyword_0; }
550
551 //"datatype"
552 public Keyword getDatatypeKeyword_1() { return cDatatypeKeyword_1; }
553
554 //name=QualifiedName
555 public Assignment getNameAssignment_2() { return cNameAssignment_2; }
556
557 //QualifiedName
558 public RuleCall getNameQualifiedNameParserRuleCall_2_0() { return cNameQualifiedNameParserRuleCall_2_0; }
559
560 //("extends" supertypes+=[NamedElement|QualifiedName] ("," supertypes+=[NamedElement|QualifiedName])*)
561 public Group getGroup_3() { return cGroup_3; }
562
563 //"extends"
564 public Keyword getExtendsKeyword_3_0() { return cExtendsKeyword_3_0; }
565
566 //supertypes+=[NamedElement|QualifiedName]
567 public Assignment getSupertypesAssignment_3_1() { return cSupertypesAssignment_3_1; }
568
569 //[NamedElement|QualifiedName]
570 public CrossReference getSupertypesNamedElementCrossReference_3_1_0() { return cSupertypesNamedElementCrossReference_3_1_0; }
571
572 //QualifiedName
573 public RuleCall getSupertypesNamedElementQualifiedNameParserRuleCall_3_1_0_1() { return cSupertypesNamedElementQualifiedNameParserRuleCall_3_1_0_1; }
574
575 //("," supertypes+=[NamedElement|QualifiedName])*
576 public Group getGroup_3_2() { return cGroup_3_2; }
577
578 //","
579 public Keyword getCommaKeyword_3_2_0() { return cCommaKeyword_3_2_0; }
580
581 //supertypes+=[NamedElement|QualifiedName]
582 public Assignment getSupertypesAssignment_3_2_1() { return cSupertypesAssignment_3_2_1; }
583
584 //[NamedElement|QualifiedName]
585 public CrossReference getSupertypesNamedElementCrossReference_3_2_1_0() { return cSupertypesNamedElementCrossReference_3_2_1_0; }
586
587 //QualifiedName
588 public RuleCall getSupertypesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1() { return cSupertypesNamedElementQualifiedNameParserRuleCall_3_2_1_0_1; }
589 }
590 public class VariableElements extends AbstractParserRuleElementFinder {
591 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Variable");
592 private final Group cGroup = (Group)rule.eContents().get(1);
593 private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0);
594 private final CrossReference cTypeNamedElementCrossReference_0_0 = (CrossReference)cTypeAssignment_0.eContents().get(0);
595 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cTypeNamedElementCrossReference_0_0.eContents().get(1);
596 private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
597 private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
598
599 //Variable:
600 // type=[NamedElement|QualifiedName]? name=ID;
601 @Override public ParserRule getRule() { return rule; }
602
603 //type=[NamedElement|QualifiedName]? name=ID
604 public Group getGroup() { return cGroup; }
605
606 //type=[NamedElement|QualifiedName]?
607 public Assignment getTypeAssignment_0() { return cTypeAssignment_0; }
608
609 //[NamedElement|QualifiedName]
610 public CrossReference getTypeNamedElementCrossReference_0_0() { return cTypeNamedElementCrossReference_0_0; }
611
612 //QualifiedName
613 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_0_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_0_0_1; }
614
615 //name=ID
616 public Assignment getNameAssignment_1() { return cNameAssignment_1; }
617
618 //ID
619 public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
433 } 620 }
434 public class ExpressionElements extends AbstractParserRuleElementFinder { 621 public class ExpressionElements extends AbstractParserRuleElementFinder {
435 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Expression"); 622 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Expression");
436 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 623 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
437 private final RuleCall cIfElseParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 624 private final RuleCall cIfElseParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
438 private final RuleCall cDisjunctiveExpressionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 625 private final RuleCall cLetParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
626 private final RuleCall cImplicationExpressionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
439 627
440 //Expression: 628 //Expression:
441 // IfElse | DisjunctiveExpression; 629 // IfElse | Let | ImplicationExpression;
442 @Override public ParserRule getRule() { return rule; } 630 @Override public ParserRule getRule() { return rule; }
443 631
444 //IfElse | DisjunctiveExpression 632 //IfElse | Let | ImplicationExpression
445 public Alternatives getAlternatives() { return cAlternatives; } 633 public Alternatives getAlternatives() { return cAlternatives; }
446 634
447 //IfElse 635 //IfElse
448 public RuleCall getIfElseParserRuleCall_0() { return cIfElseParserRuleCall_0; } 636 public RuleCall getIfElseParserRuleCall_0() { return cIfElseParserRuleCall_0; }
449 637
450 //DisjunctiveExpression 638 //Let
451 public RuleCall getDisjunctiveExpressionParserRuleCall_1() { return cDisjunctiveExpressionParserRuleCall_1; } 639 public RuleCall getLetParserRuleCall_1() { return cLetParserRuleCall_1; }
640
641 //ImplicationExpression
642 public RuleCall getImplicationExpressionParserRuleCall_2() { return cImplicationExpressionParserRuleCall_2; }
452 } 643 }
453 public class IfElseElements extends AbstractParserRuleElementFinder { 644 public class IfElseElements extends AbstractParserRuleElementFinder {
454 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.IfElse"); 645 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.IfElse");
@@ -497,6 +688,127 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
497 //Expression 688 //Expression
498 public RuleCall getElseExpressionParserRuleCall_5_0() { return cElseExpressionParserRuleCall_5_0; } 689 public RuleCall getElseExpressionParserRuleCall_5_0() { return cElseExpressionParserRuleCall_5_0; }
499 } 690 }
691 public class LetElements extends AbstractParserRuleElementFinder {
692 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Let");
693 private final Group cGroup = (Group)rule.eContents().get(1);
694 private final Keyword cLetKeyword_0 = (Keyword)cGroup.eContents().get(0);
695 private final Assignment cBindingsAssignment_1 = (Assignment)cGroup.eContents().get(1);
696 private final RuleCall cBindingsLetBindingParserRuleCall_1_0 = (RuleCall)cBindingsAssignment_1.eContents().get(0);
697 private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
698 private final Keyword cCommaKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
699 private final Assignment cBindingsAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
700 private final RuleCall cBindingsLetBindingParserRuleCall_2_1_0 = (RuleCall)cBindingsAssignment_2_1.eContents().get(0);
701 private final Keyword cInKeyword_3 = (Keyword)cGroup.eContents().get(3);
702 private final Assignment cBodyAssignment_4 = (Assignment)cGroup.eContents().get(4);
703 private final RuleCall cBodyExpressionParserRuleCall_4_0 = (RuleCall)cBodyAssignment_4.eContents().get(0);
704
705 //Let:
706 // "let" bindings+=LetBinding ("," bindings+=LetBinding)* "in" body=Expression;
707 @Override public ParserRule getRule() { return rule; }
708
709 //"let" bindings+=LetBinding ("," bindings+=LetBinding)* "in" body=Expression
710 public Group getGroup() { return cGroup; }
711
712 //"let"
713 public Keyword getLetKeyword_0() { return cLetKeyword_0; }
714
715 //bindings+=LetBinding
716 public Assignment getBindingsAssignment_1() { return cBindingsAssignment_1; }
717
718 //LetBinding
719 public RuleCall getBindingsLetBindingParserRuleCall_1_0() { return cBindingsLetBindingParserRuleCall_1_0; }
720
721 //("," bindings+=LetBinding)*
722 public Group getGroup_2() { return cGroup_2; }
723
724 //","
725 public Keyword getCommaKeyword_2_0() { return cCommaKeyword_2_0; }
726
727 //bindings+=LetBinding
728 public Assignment getBindingsAssignment_2_1() { return cBindingsAssignment_2_1; }
729
730 //LetBinding
731 public RuleCall getBindingsLetBindingParserRuleCall_2_1_0() { return cBindingsLetBindingParserRuleCall_2_1_0; }
732
733 //"in"
734 public Keyword getInKeyword_3() { return cInKeyword_3; }
735
736 //body=Expression
737 public Assignment getBodyAssignment_4() { return cBodyAssignment_4; }
738
739 //Expression
740 public RuleCall getBodyExpressionParserRuleCall_4_0() { return cBodyExpressionParserRuleCall_4_0; }
741 }
742 public class LetBindingElements extends AbstractParserRuleElementFinder {
743 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LetBinding");
744 private final Group cGroup = (Group)rule.eContents().get(1);
745 private final Assignment cVariableAssignment_0 = (Assignment)cGroup.eContents().get(0);
746 private final RuleCall cVariableVariableParserRuleCall_0_0 = (RuleCall)cVariableAssignment_0.eContents().get(0);
747 private final Keyword cEqualsSignKeyword_1 = (Keyword)cGroup.eContents().get(1);
748 private final Assignment cValueAssignment_2 = (Assignment)cGroup.eContents().get(2);
749 private final RuleCall cValueAdditiveExpressionParserRuleCall_2_0 = (RuleCall)cValueAssignment_2.eContents().get(0);
750
751 //LetBinding:
752 // variable=Variable "=" value=AdditiveExpression;
753 @Override public ParserRule getRule() { return rule; }
754
755 //variable=Variable "=" value=AdditiveExpression
756 public Group getGroup() { return cGroup; }
757
758 //variable=Variable
759 public Assignment getVariableAssignment_0() { return cVariableAssignment_0; }
760
761 //Variable
762 public RuleCall getVariableVariableParserRuleCall_0_0() { return cVariableVariableParserRuleCall_0_0; }
763
764 //"="
765 public Keyword getEqualsSignKeyword_1() { return cEqualsSignKeyword_1; }
766
767 //value=AdditiveExpression
768 public Assignment getValueAssignment_2() { return cValueAssignment_2; }
769
770 //AdditiveExpression
771 public RuleCall getValueAdditiveExpressionParserRuleCall_2_0() { return cValueAdditiveExpressionParserRuleCall_2_0; }
772 }
773 public class ImplicationExpressionElements extends AbstractParserRuleElementFinder {
774 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ImplicationExpression");
775 private final Group cGroup = (Group)rule.eContents().get(1);
776 private final RuleCall cDisjunctiveExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
777 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
778 private final Action cBinaryExpressionLeftAction_1_0 = (Action)cGroup_1.eContents().get(0);
779 private final Assignment cOpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
780 private final RuleCall cOpImplicationOperatorEnumRuleCall_1_1_0 = (RuleCall)cOpAssignment_1_1.eContents().get(0);
781 private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
782 private final RuleCall cRightImplicationExpressionParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0);
783
784 //ImplicationExpression Expression:
785 // DisjunctiveExpression ({BinaryExpression.left=current} op=ImplicationOperator right=ImplicationExpression)?;
786 @Override public ParserRule getRule() { return rule; }
787
788 //DisjunctiveExpression ({BinaryExpression.left=current} op=ImplicationOperator right=ImplicationExpression)?
789 public Group getGroup() { return cGroup; }
790
791 //DisjunctiveExpression
792 public RuleCall getDisjunctiveExpressionParserRuleCall_0() { return cDisjunctiveExpressionParserRuleCall_0; }
793
794 //({BinaryExpression.left=current} op=ImplicationOperator right=ImplicationExpression)?
795 public Group getGroup_1() { return cGroup_1; }
796
797 //{BinaryExpression.left=current}
798 public Action getBinaryExpressionLeftAction_1_0() { return cBinaryExpressionLeftAction_1_0; }
799
800 //op=ImplicationOperator
801 public Assignment getOpAssignment_1_1() { return cOpAssignment_1_1; }
802
803 //ImplicationOperator
804 public RuleCall getOpImplicationOperatorEnumRuleCall_1_1_0() { return cOpImplicationOperatorEnumRuleCall_1_1_0; }
805
806 //right=ImplicationExpression
807 public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; }
808
809 //ImplicationExpression
810 public RuleCall getRightImplicationExpressionParserRuleCall_1_2_0() { return cRightImplicationExpressionParserRuleCall_1_2_0; }
811 }
500 public class DisjunctiveExpressionElements extends AbstractParserRuleElementFinder { 812 public class DisjunctiveExpressionElements extends AbstractParserRuleElementFinder {
501 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DisjunctiveExpression"); 813 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.DisjunctiveExpression");
502 private final Group cGroup = (Group)rule.eContents().get(1); 814 private final Group cGroup = (Group)rule.eContents().get(1);
@@ -773,25 +1085,25 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
773 public class ExponentialExpressionElements extends AbstractParserRuleElementFinder { 1085 public class ExponentialExpressionElements extends AbstractParserRuleElementFinder {
774 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialExpression"); 1086 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ExponentialExpression");
775 private final Group cGroup = (Group)rule.eContents().get(1); 1087 private final Group cGroup = (Group)rule.eContents().get(1);
776 private final RuleCall cUnaryExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); 1088 private final RuleCall cCastExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
777 private final Group cGroup_1 = (Group)cGroup.eContents().get(1); 1089 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
778 private final Action cBinaryExpressionLeftAction_1_0 = (Action)cGroup_1.eContents().get(0); 1090 private final Action cBinaryExpressionLeftAction_1_0 = (Action)cGroup_1.eContents().get(0);
779 private final Assignment cOpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); 1091 private final Assignment cOpAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
780 private final RuleCall cOpExponentialOpEnumRuleCall_1_1_0 = (RuleCall)cOpAssignment_1_1.eContents().get(0); 1092 private final RuleCall cOpExponentialOpEnumRuleCall_1_1_0 = (RuleCall)cOpAssignment_1_1.eContents().get(0);
781 private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); 1093 private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
782 private final RuleCall cRightExponentialExpressionParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); 1094 private final RuleCall cRightCastExpressionParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0);
783 1095
784 //ExponentialExpression Expression: 1096 //ExponentialExpression Expression:
785 // UnaryExpression ({BinaryExpression.left=current} op=ExponentialOp right=ExponentialExpression)?; 1097 // CastExpression ({BinaryExpression.left=current} op=ExponentialOp right=CastExpression)?;
786 @Override public ParserRule getRule() { return rule; } 1098 @Override public ParserRule getRule() { return rule; }
787 1099
788 //UnaryExpression ({BinaryExpression.left=current} op=ExponentialOp right=ExponentialExpression)? 1100 //CastExpression ({BinaryExpression.left=current} op=ExponentialOp right=CastExpression)?
789 public Group getGroup() { return cGroup; } 1101 public Group getGroup() { return cGroup; }
790 1102
791 //UnaryExpression 1103 //CastExpression
792 public RuleCall getUnaryExpressionParserRuleCall_0() { return cUnaryExpressionParserRuleCall_0; } 1104 public RuleCall getCastExpressionParserRuleCall_0() { return cCastExpressionParserRuleCall_0; }
793 1105
794 //({BinaryExpression.left=current} op=ExponentialOp right=ExponentialExpression)? 1106 //({BinaryExpression.left=current} op=ExponentialOp right=CastExpression)?
795 public Group getGroup_1() { return cGroup_1; } 1107 public Group getGroup_1() { return cGroup_1; }
796 1108
797 //{BinaryExpression.left=current} 1109 //{BinaryExpression.left=current}
@@ -803,11 +1115,50 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
803 //ExponentialOp 1115 //ExponentialOp
804 public RuleCall getOpExponentialOpEnumRuleCall_1_1_0() { return cOpExponentialOpEnumRuleCall_1_1_0; } 1116 public RuleCall getOpExponentialOpEnumRuleCall_1_1_0() { return cOpExponentialOpEnumRuleCall_1_1_0; }
805 1117
806 //right=ExponentialExpression 1118 //right=CastExpression
807 public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } 1119 public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; }
808 1120
809 //ExponentialExpression 1121 //CastExpression
810 public RuleCall getRightExponentialExpressionParserRuleCall_1_2_0() { return cRightExponentialExpressionParserRuleCall_1_2_0; } 1122 public RuleCall getRightCastExpressionParserRuleCall_1_2_0() { return cRightCastExpressionParserRuleCall_1_2_0; }
1123 }
1124 public class CastExpressionElements extends AbstractParserRuleElementFinder {
1125 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.CastExpression");
1126 private final Group cGroup = (Group)rule.eContents().get(1);
1127 private final RuleCall cUnaryExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
1128 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
1129 private final Action cCastExpressionBodyAction_1_0 = (Action)cGroup_1.eContents().get(0);
1130 private final Keyword cAsKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1);
1131 private final Assignment cTypeAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
1132 private final CrossReference cTypeNamedElementCrossReference_1_2_0 = (CrossReference)cTypeAssignment_1_2.eContents().get(0);
1133 private final RuleCall cTypeNamedElementQualifiedNameParserRuleCall_1_2_0_1 = (RuleCall)cTypeNamedElementCrossReference_1_2_0.eContents().get(1);
1134
1135 //CastExpression Expression:
1136 // UnaryExpression ({CastExpression.body=current} "as" type=[NamedElement|QualifiedName])?;
1137 @Override public ParserRule getRule() { return rule; }
1138
1139 //UnaryExpression ({CastExpression.body=current} "as" type=[NamedElement|QualifiedName])?
1140 public Group getGroup() { return cGroup; }
1141
1142 //UnaryExpression
1143 public RuleCall getUnaryExpressionParserRuleCall_0() { return cUnaryExpressionParserRuleCall_0; }
1144
1145 //({CastExpression.body=current} "as" type=[NamedElement|QualifiedName])?
1146 public Group getGroup_1() { return cGroup_1; }
1147
1148 //{CastExpression.body=current}
1149 public Action getCastExpressionBodyAction_1_0() { return cCastExpressionBodyAction_1_0; }
1150
1151 //"as"
1152 public Keyword getAsKeyword_1_1() { return cAsKeyword_1_1; }
1153
1154 //type=[NamedElement|QualifiedName]
1155 public Assignment getTypeAssignment_1_2() { return cTypeAssignment_1_2; }
1156
1157 //[NamedElement|QualifiedName]
1158 public CrossReference getTypeNamedElementCrossReference_1_2_0() { return cTypeNamedElementCrossReference_1_2_0; }
1159
1160 //QualifiedName
1161 public RuleCall getTypeNamedElementQualifiedNameParserRuleCall_1_2_0_1() { return cTypeNamedElementQualifiedNameParserRuleCall_1_2_0_1; }
811 } 1162 }
812 public class UnaryExpressionElements extends AbstractParserRuleElementFinder { 1163 public class UnaryExpressionElements extends AbstractParserRuleElementFinder {
813 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnaryExpression"); 1164 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.UnaryExpression");
@@ -852,99 +1203,178 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
852 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AggregationExpression"); 1203 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AggregationExpression");
853 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 1204 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
854 private final RuleCall cAtomicExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); 1205 private final RuleCall cAtomicExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
855 private final RuleCall cCountParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); 1206 private final RuleCall cQuantifiedExpressionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
856 private final RuleCall cAggregationParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); 1207 private final RuleCall cAggregationParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
857 1208
858 //AggregationExpression Expression: 1209 //AggregationExpression Expression:
859 // AtomicExpression | Count | Aggregation; 1210 // AtomicExpression | QuantifiedExpression | Aggregation;
860 @Override public ParserRule getRule() { return rule; } 1211 @Override public ParserRule getRule() { return rule; }
861 1212
862 //AtomicExpression | Count | Aggregation 1213 //AtomicExpression | QuantifiedExpression | Aggregation
863 public Alternatives getAlternatives() { return cAlternatives; } 1214 public Alternatives getAlternatives() { return cAlternatives; }
864 1215
865 //AtomicExpression 1216 //AtomicExpression
866 public RuleCall getAtomicExpressionParserRuleCall_0() { return cAtomicExpressionParserRuleCall_0; } 1217 public RuleCall getAtomicExpressionParserRuleCall_0() { return cAtomicExpressionParserRuleCall_0; }
867 1218
868 //Count 1219 //QuantifiedExpression
869 public RuleCall getCountParserRuleCall_1() { return cCountParserRuleCall_1; } 1220 public RuleCall getQuantifiedExpressionParserRuleCall_1() { return cQuantifiedExpressionParserRuleCall_1; }
870 1221
871 //Aggregation 1222 //Aggregation
872 public RuleCall getAggregationParserRuleCall_2() { return cAggregationParserRuleCall_2; } 1223 public RuleCall getAggregationParserRuleCall_2() { return cAggregationParserRuleCall_2; }
873 } 1224 }
874 public class CountElements extends AbstractParserRuleElementFinder { 1225 public class LocalVariablesElements extends AbstractParserRuleElementFinder {
875 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Count"); 1226 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LocalVariables");
876 private final Group cGroup = (Group)rule.eContents().get(1); 1227 private final Group cGroup = (Group)rule.eContents().get(1);
877 private final Keyword cCountKeyword_0 = (Keyword)cGroup.eContents().get(0); 1228 private final Action cLocalVariablesAction_0 = (Action)cGroup.eContents().get(0);
878 private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); 1229 private final Keyword cLeftSquareBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
879 private final Assignment cBodyAssignment_2 = (Assignment)cGroup.eContents().get(2); 1230 private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
880 private final RuleCall cBodyExpressionParserRuleCall_2_0 = (RuleCall)cBodyAssignment_2.eContents().get(0); 1231 private final Assignment cVariablesAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0);
881 private final Keyword cRightCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); 1232 private final RuleCall cVariablesVariableParserRuleCall_2_0_0 = (RuleCall)cVariablesAssignment_2_0.eContents().get(0);
1233 private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1);
1234 private final Keyword cCommaKeyword_2_1_0 = (Keyword)cGroup_2_1.eContents().get(0);
1235 private final Assignment cVariablesAssignment_2_1_1 = (Assignment)cGroup_2_1.eContents().get(1);
1236 private final RuleCall cVariablesVariableParserRuleCall_2_1_1_0 = (RuleCall)cVariablesAssignment_2_1_1.eContents().get(0);
1237 private final Keyword cRightSquareBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
882 1238
883 //Count: 1239 //LocalVariables:
884 // "count" "{" body=Expression "}"; 1240 // {LocalVariables} "[" (variables+=Variable ("," variables+=Variable)*)? "]";
885 @Override public ParserRule getRule() { return rule; } 1241 @Override public ParserRule getRule() { return rule; }
886 1242
887 //"count" "{" body=Expression "}" 1243 //{LocalVariables} "[" (variables+=Variable ("," variables+=Variable)*)? "]"
888 public Group getGroup() { return cGroup; } 1244 public Group getGroup() { return cGroup; }
889 1245
890 //"count" 1246 //{LocalVariables}
891 public Keyword getCountKeyword_0() { return cCountKeyword_0; } 1247 public Action getLocalVariablesAction_0() { return cLocalVariablesAction_0; }
1248
1249 //"["
1250 public Keyword getLeftSquareBracketKeyword_1() { return cLeftSquareBracketKeyword_1; }
1251
1252 //(variables+=Variable ("," variables+=Variable)*)?
1253 public Group getGroup_2() { return cGroup_2; }
1254
1255 //variables+=Variable
1256 public Assignment getVariablesAssignment_2_0() { return cVariablesAssignment_2_0; }
1257
1258 //Variable
1259 public RuleCall getVariablesVariableParserRuleCall_2_0_0() { return cVariablesVariableParserRuleCall_2_0_0; }
1260
1261 //("," variables+=Variable)*
1262 public Group getGroup_2_1() { return cGroup_2_1; }
1263
1264 //","
1265 public Keyword getCommaKeyword_2_1_0() { return cCommaKeyword_2_1_0; }
1266
1267 //variables+=Variable
1268 public Assignment getVariablesAssignment_2_1_1() { return cVariablesAssignment_2_1_1; }
1269
1270 //Variable
1271 public RuleCall getVariablesVariableParserRuleCall_2_1_1_0() { return cVariablesVariableParserRuleCall_2_1_1_0; }
1272
1273 //"]"
1274 public Keyword getRightSquareBracketKeyword_3() { return cRightSquareBracketKeyword_3; }
1275 }
1276 public class QuantifiedExpressionElements extends AbstractParserRuleElementFinder {
1277 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.QuantifiedExpression");
1278 private final Group cGroup = (Group)rule.eContents().get(1);
1279 private final Assignment cQuantifierAssignment_0 = (Assignment)cGroup.eContents().get(0);
1280 private final RuleCall cQuantifierQuantifierEnumRuleCall_0_0 = (RuleCall)cQuantifierAssignment_0.eContents().get(0);
1281 private final Assignment cLocalVariablesAssignment_1 = (Assignment)cGroup.eContents().get(1);
1282 private final RuleCall cLocalVariablesLocalVariablesParserRuleCall_1_0 = (RuleCall)cLocalVariablesAssignment_1.eContents().get(0);
1283 private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
1284 private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3);
1285 private final RuleCall cBodyExpressionParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0);
1286 private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
1287
1288 //QuantifiedExpression:
1289 // quantifier=Quantifier localVariables=LocalVariables? "{" body=Expression "}";
1290 @Override public ParserRule getRule() { return rule; }
1291
1292 //quantifier=Quantifier localVariables=LocalVariables? "{" body=Expression "}"
1293 public Group getGroup() { return cGroup; }
1294
1295 //quantifier=Quantifier
1296 public Assignment getQuantifierAssignment_0() { return cQuantifierAssignment_0; }
1297
1298 //Quantifier
1299 public RuleCall getQuantifierQuantifierEnumRuleCall_0_0() { return cQuantifierQuantifierEnumRuleCall_0_0; }
1300
1301 //localVariables=LocalVariables?
1302 public Assignment getLocalVariablesAssignment_1() { return cLocalVariablesAssignment_1; }
1303
1304 //LocalVariables
1305 public RuleCall getLocalVariablesLocalVariablesParserRuleCall_1_0() { return cLocalVariablesLocalVariablesParserRuleCall_1_0; }
892 1306
893 //"{" 1307 //"{"
894 public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } 1308 public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
895 1309
896 //body=Expression 1310 //body=Expression
897 public Assignment getBodyAssignment_2() { return cBodyAssignment_2; } 1311 public Assignment getBodyAssignment_3() { return cBodyAssignment_3; }
898 1312
899 //Expression 1313 //Expression
900 public RuleCall getBodyExpressionParserRuleCall_2_0() { return cBodyExpressionParserRuleCall_2_0; } 1314 public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; }
901 1315
902 //"}" 1316 //"}"
903 public Keyword getRightCurlyBracketKeyword_3() { return cRightCurlyBracketKeyword_3; } 1317 public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
904 } 1318 }
905 public class AggregationElements extends AbstractParserRuleElementFinder { 1319 public class AggregationElements extends AbstractParserRuleElementFinder {
906 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Aggregation"); 1320 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Aggregation");
907 private final Group cGroup = (Group)rule.eContents().get(1); 1321 private final Group cGroup = (Group)rule.eContents().get(1);
908 private final Assignment cOpAssignment_0 = (Assignment)cGroup.eContents().get(0); 1322 private final Assignment cOpAssignment_0 = (Assignment)cGroup.eContents().get(0);
909 private final RuleCall cOpAggregationOpEnumRuleCall_0_0 = (RuleCall)cOpAssignment_0.eContents().get(0); 1323 private final CrossReference cOpNamedElementCrossReference_0_0 = (CrossReference)cOpAssignment_0.eContents().get(0);
910 private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); 1324 private final RuleCall cOpNamedElementQualifiedNameParserRuleCall_0_0_1 = (RuleCall)cOpNamedElementCrossReference_0_0.eContents().get(1);
911 private final Assignment cBodyAssignment_2 = (Assignment)cGroup.eContents().get(2); 1325 private final Assignment cLocalVariablesAssignment_1 = (Assignment)cGroup.eContents().get(1);
912 private final RuleCall cBodyExpressionParserRuleCall_2_0 = (RuleCall)cBodyAssignment_2.eContents().get(0); 1326 private final RuleCall cLocalVariablesLocalVariablesParserRuleCall_1_0 = (RuleCall)cLocalVariablesAssignment_1.eContents().get(0);
913 private final Keyword cVerticalLineKeyword_3 = (Keyword)cGroup.eContents().get(3); 1327 private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
914 private final Assignment cConditionAssignment_4 = (Assignment)cGroup.eContents().get(4); 1328 private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3);
915 private final RuleCall cConditionExpressionParserRuleCall_4_0 = (RuleCall)cConditionAssignment_4.eContents().get(0); 1329 private final RuleCall cBodyExpressionParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0);
1330 private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
1331 private final Keyword cVerticalLineKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
1332 private final Assignment cConditionAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
1333 private final RuleCall cConditionExpressionParserRuleCall_4_1_0 = (RuleCall)cConditionAssignment_4_1.eContents().get(0);
916 private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); 1334 private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
917 1335
918 //Aggregation: 1336 //Aggregation:
919 // op=AggregationOp "{" body=Expression "|" condition=Expression "}"; 1337 // op=[NamedElement|QualifiedName] localVariables=LocalVariables? "{" body=Expression ("|" condition=Expression)? "}";
920 @Override public ParserRule getRule() { return rule; } 1338 @Override public ParserRule getRule() { return rule; }
921 1339
922 //op=AggregationOp "{" body=Expression "|" condition=Expression "}" 1340 //op=[NamedElement|QualifiedName] localVariables=LocalVariables? "{" body=Expression ("|" condition=Expression)? "}"
923 public Group getGroup() { return cGroup; } 1341 public Group getGroup() { return cGroup; }
924 1342
925 //op=AggregationOp 1343 //op=[NamedElement|QualifiedName]
926 public Assignment getOpAssignment_0() { return cOpAssignment_0; } 1344 public Assignment getOpAssignment_0() { return cOpAssignment_0; }
927 1345
928 //AggregationOp 1346 //[NamedElement|QualifiedName]
929 public RuleCall getOpAggregationOpEnumRuleCall_0_0() { return cOpAggregationOpEnumRuleCall_0_0; } 1347 public CrossReference getOpNamedElementCrossReference_0_0() { return cOpNamedElementCrossReference_0_0; }
1348
1349 //QualifiedName
1350 public RuleCall getOpNamedElementQualifiedNameParserRuleCall_0_0_1() { return cOpNamedElementQualifiedNameParserRuleCall_0_0_1; }
1351
1352 //localVariables=LocalVariables?
1353 public Assignment getLocalVariablesAssignment_1() { return cLocalVariablesAssignment_1; }
1354
1355 //LocalVariables
1356 public RuleCall getLocalVariablesLocalVariablesParserRuleCall_1_0() { return cLocalVariablesLocalVariablesParserRuleCall_1_0; }
930 1357
931 //"{" 1358 //"{"
932 public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } 1359 public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
933 1360
934 //body=Expression 1361 //body=Expression
935 public Assignment getBodyAssignment_2() { return cBodyAssignment_2; } 1362 public Assignment getBodyAssignment_3() { return cBodyAssignment_3; }
936 1363
937 //Expression 1364 //Expression
938 public RuleCall getBodyExpressionParserRuleCall_2_0() { return cBodyExpressionParserRuleCall_2_0; } 1365 public RuleCall getBodyExpressionParserRuleCall_3_0() { return cBodyExpressionParserRuleCall_3_0; }
1366
1367 //("|" condition=Expression)?
1368 public Group getGroup_4() { return cGroup_4; }
939 1369
940 //"|" 1370 //"|"
941 public Keyword getVerticalLineKeyword_3() { return cVerticalLineKeyword_3; } 1371 public Keyword getVerticalLineKeyword_4_0() { return cVerticalLineKeyword_4_0; }
942 1372
943 //condition=Expression 1373 //condition=Expression
944 public Assignment getConditionAssignment_4() { return cConditionAssignment_4; } 1374 public Assignment getConditionAssignment_4_1() { return cConditionAssignment_4_1; }
945 1375
946 //Expression 1376 //Expression
947 public RuleCall getConditionExpressionParserRuleCall_4_0() { return cConditionExpressionParserRuleCall_4_0; } 1377 public RuleCall getConditionExpressionParserRuleCall_4_1_0() { return cConditionExpressionParserRuleCall_4_1_0; }
948 1378
949 //"}" 1379 //"}"
950 public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; } 1380 public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
@@ -2018,155 +2448,21 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2018 //QUOTED_ID 2448 //QUOTED_ID
2019 public RuleCall getQUOTED_IDTerminalRuleCall_1() { return cQUOTED_IDTerminalRuleCall_1; } 2449 public RuleCall getQUOTED_IDTerminalRuleCall_1() { return cQUOTED_IDTerminalRuleCall_1; }
2020 } 2450 }
2021 public class NamedElementElements extends AbstractParserRuleElementFinder {
2022 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.NamedElement");
2023 private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1);
2024 private final RuleCall cNameQualifiedNameParserRuleCall_0 = (RuleCall)cNameAssignment.eContents().get(0);
2025
2026 //NamedElement:
2027 // name=QualifiedName;
2028 @Override public ParserRule getRule() { return rule; }
2029
2030 //name=QualifiedName
2031 public Assignment getNameAssignment() { return cNameAssignment; }
2032
2033 //QualifiedName
2034 public RuleCall getNameQualifiedNameParserRuleCall_0() { return cNameQualifiedNameParserRuleCall_0; }
2035 }
2036 2451
2037 public class MetricTypeElements extends AbstractEnumRuleElementFinder { 2452 public class ImplicationOperatorElements extends AbstractEnumRuleElementFinder {
2038 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.MetricType"); 2453 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ImplicationOperator");
2039 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 2454 private final EnumLiteralDeclaration cIMPLIESEnumLiteralDeclaration = (EnumLiteralDeclaration)rule.eContents().get(1);
2040 private final EnumLiteralDeclaration cINTEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); 2455 private final Keyword cIMPLIESEqualsSignGreaterThanSignKeyword_0 = (Keyword)cIMPLIESEnumLiteralDeclaration.eContents().get(0);
2041 private final Keyword cINTIntKeyword_0_0 = (Keyword)cINTEnumLiteralDeclaration_0.eContents().get(0);
2042 private final EnumLiteralDeclaration cREALEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
2043 private final Keyword cREALRealKeyword_1_0 = (Keyword)cREALEnumLiteralDeclaration_1.eContents().get(0);
2044 2456
2045 //enum MetricType: 2457 //enum ImplicationOperator returns BinaryOperator:
2046 // INT="int" | REAL="real"; 2458 // IMPLIES="=>";
2047 public EnumRule getRule() { return rule; } 2459 public EnumRule getRule() { return rule; }
2048 2460
2049 //INT="int" | REAL="real" 2461 //IMPLIES="=>"
2050 public Alternatives getAlternatives() { return cAlternatives; } 2462 public EnumLiteralDeclaration getIMPLIESEnumLiteralDeclaration() { return cIMPLIESEnumLiteralDeclaration; }
2051
2052 //INT="int"
2053 public EnumLiteralDeclaration getINTEnumLiteralDeclaration_0() { return cINTEnumLiteralDeclaration_0; }
2054
2055 //"int"
2056 public Keyword getINTIntKeyword_0_0() { return cINTIntKeyword_0_0; }
2057 2463
2058 //REAL="real" 2464 //"=>"
2059 public EnumLiteralDeclaration getREALEnumLiteralDeclaration_1() { return cREALEnumLiteralDeclaration_1; } 2465 public Keyword getIMPLIESEqualsSignGreaterThanSignKeyword_0() { return cIMPLIESEqualsSignGreaterThanSignKeyword_0; }
2060
2061 //"real"
2062 public Keyword getREALRealKeyword_1_0() { return cREALRealKeyword_1_0; }
2063 }
2064 public class BinaryOperatorElements extends AbstractEnumRuleElementFinder {
2065 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.BinaryOperator");
2066 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
2067 private final EnumLiteralDeclaration cEQEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
2068 private final Keyword cEQEQKeyword_0_0 = (Keyword)cEQEnumLiteralDeclaration_0.eContents().get(0);
2069 private final EnumLiteralDeclaration cNOT_EQEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
2070 private final Keyword cNOT_EQNOT_EQKeyword_1_0 = (Keyword)cNOT_EQEnumLiteralDeclaration_1.eContents().get(0);
2071 private final EnumLiteralDeclaration cLESSEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
2072 private final Keyword cLESSLESSKeyword_2_0 = (Keyword)cLESSEnumLiteralDeclaration_2.eContents().get(0);
2073 private final EnumLiteralDeclaration cLESS_EQEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
2074 private final Keyword cLESS_EQLESS_EQKeyword_3_0 = (Keyword)cLESS_EQEnumLiteralDeclaration_3.eContents().get(0);
2075 private final EnumLiteralDeclaration cGREATEREnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4);
2076 private final Keyword cGREATERGREATERKeyword_4_0 = (Keyword)cGREATEREnumLiteralDeclaration_4.eContents().get(0);
2077 private final EnumLiteralDeclaration cGREATER_EQEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5);
2078 private final Keyword cGREATER_EQGREATER_EQKeyword_5_0 = (Keyword)cGREATER_EQEnumLiteralDeclaration_5.eContents().get(0);
2079 private final EnumLiteralDeclaration cINEnumLiteralDeclaration_6 = (EnumLiteralDeclaration)cAlternatives.eContents().get(6);
2080 private final Keyword cININKeyword_6_0 = (Keyword)cINEnumLiteralDeclaration_6.eContents().get(0);
2081 private final EnumLiteralDeclaration cADDEnumLiteralDeclaration_7 = (EnumLiteralDeclaration)cAlternatives.eContents().get(7);
2082 private final Keyword cADDADDKeyword_7_0 = (Keyword)cADDEnumLiteralDeclaration_7.eContents().get(0);
2083 private final EnumLiteralDeclaration cSUBEnumLiteralDeclaration_8 = (EnumLiteralDeclaration)cAlternatives.eContents().get(8);
2084 private final Keyword cSUBSUBKeyword_8_0 = (Keyword)cSUBEnumLiteralDeclaration_8.eContents().get(0);
2085 private final EnumLiteralDeclaration cMULEnumLiteralDeclaration_9 = (EnumLiteralDeclaration)cAlternatives.eContents().get(9);
2086 private final Keyword cMULMULKeyword_9_0 = (Keyword)cMULEnumLiteralDeclaration_9.eContents().get(0);
2087 private final EnumLiteralDeclaration cDIVEnumLiteralDeclaration_10 = (EnumLiteralDeclaration)cAlternatives.eContents().get(10);
2088 private final Keyword cDIVDIVKeyword_10_0 = (Keyword)cDIVEnumLiteralDeclaration_10.eContents().get(0);
2089 private final EnumLiteralDeclaration cPOWEnumLiteralDeclaration_11 = (EnumLiteralDeclaration)cAlternatives.eContents().get(11);
2090 private final Keyword cPOWPOWKeyword_11_0 = (Keyword)cPOWEnumLiteralDeclaration_11.eContents().get(0);
2091
2092 //enum BinaryOperator:
2093 // EQ | NOT_EQ | LESS | LESS_EQ | GREATER | GREATER_EQ | IN | ADD | SUB | MUL | DIV | POW;
2094 public EnumRule getRule() { return rule; }
2095
2096 //EQ | NOT_EQ | LESS | LESS_EQ | GREATER | GREATER_EQ | IN | ADD | SUB | MUL | DIV | POW
2097 public Alternatives getAlternatives() { return cAlternatives; }
2098
2099 //EQ
2100 public EnumLiteralDeclaration getEQEnumLiteralDeclaration_0() { return cEQEnumLiteralDeclaration_0; }
2101
2102 //"EQ"
2103 public Keyword getEQEQKeyword_0_0() { return cEQEQKeyword_0_0; }
2104
2105 //NOT_EQ
2106 public EnumLiteralDeclaration getNOT_EQEnumLiteralDeclaration_1() { return cNOT_EQEnumLiteralDeclaration_1; }
2107
2108 //"NOT_EQ"
2109 public Keyword getNOT_EQNOT_EQKeyword_1_0() { return cNOT_EQNOT_EQKeyword_1_0; }
2110
2111 //LESS
2112 public EnumLiteralDeclaration getLESSEnumLiteralDeclaration_2() { return cLESSEnumLiteralDeclaration_2; }
2113
2114 //"LESS"
2115 public Keyword getLESSLESSKeyword_2_0() { return cLESSLESSKeyword_2_0; }
2116
2117 //LESS_EQ
2118 public EnumLiteralDeclaration getLESS_EQEnumLiteralDeclaration_3() { return cLESS_EQEnumLiteralDeclaration_3; }
2119
2120 //"LESS_EQ"
2121 public Keyword getLESS_EQLESS_EQKeyword_3_0() { return cLESS_EQLESS_EQKeyword_3_0; }
2122
2123 //GREATER
2124 public EnumLiteralDeclaration getGREATEREnumLiteralDeclaration_4() { return cGREATEREnumLiteralDeclaration_4; }
2125
2126 //"GREATER"
2127 public Keyword getGREATERGREATERKeyword_4_0() { return cGREATERGREATERKeyword_4_0; }
2128
2129 //GREATER_EQ
2130 public EnumLiteralDeclaration getGREATER_EQEnumLiteralDeclaration_5() { return cGREATER_EQEnumLiteralDeclaration_5; }
2131
2132 //"GREATER_EQ"
2133 public Keyword getGREATER_EQGREATER_EQKeyword_5_0() { return cGREATER_EQGREATER_EQKeyword_5_0; }
2134
2135 //IN
2136 public EnumLiteralDeclaration getINEnumLiteralDeclaration_6() { return cINEnumLiteralDeclaration_6; }
2137
2138 //"IN"
2139 public Keyword getININKeyword_6_0() { return cININKeyword_6_0; }
2140
2141 //ADD
2142 public EnumLiteralDeclaration getADDEnumLiteralDeclaration_7() { return cADDEnumLiteralDeclaration_7; }
2143
2144 //"ADD"
2145 public Keyword getADDADDKeyword_7_0() { return cADDADDKeyword_7_0; }
2146
2147 //SUB
2148 public EnumLiteralDeclaration getSUBEnumLiteralDeclaration_8() { return cSUBEnumLiteralDeclaration_8; }
2149
2150 //"SUB"
2151 public Keyword getSUBSUBKeyword_8_0() { return cSUBSUBKeyword_8_0; }
2152
2153 //MUL
2154 public EnumLiteralDeclaration getMULEnumLiteralDeclaration_9() { return cMULEnumLiteralDeclaration_9; }
2155
2156 //"MUL"
2157 public Keyword getMULMULKeyword_9_0() { return cMULMULKeyword_9_0; }
2158
2159 //DIV
2160 public EnumLiteralDeclaration getDIVEnumLiteralDeclaration_10() { return cDIVEnumLiteralDeclaration_10; }
2161
2162 //"DIV"
2163 public Keyword getDIVDIVKeyword_10_0() { return cDIVDIVKeyword_10_0; }
2164
2165 //POW
2166 public EnumLiteralDeclaration getPOWEnumLiteralDeclaration_11() { return cPOWEnumLiteralDeclaration_11; }
2167
2168 //"POW"
2169 public Keyword getPOWPOWKeyword_11_0() { return cPOWPOWKeyword_11_0; }
2170 } 2466 }
2171 public class ComparisonOperatorElements extends AbstractEnumRuleElementFinder { 2467 public class ComparisonOperatorElements extends AbstractEnumRuleElementFinder {
2172 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonOperator"); 2468 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.ComparisonOperator");
@@ -2363,64 +2659,40 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2363 //"current" 2659 //"current"
2364 public Keyword getCURRENTCurrentKeyword_5_0() { return cCURRENTCurrentKeyword_5_0; } 2660 public Keyword getCURRENTCurrentKeyword_5_0() { return cCURRENTCurrentKeyword_5_0; }
2365 } 2661 }
2366 public class AggregationOpElements extends AbstractEnumRuleElementFinder { 2662 public class QuantifierElements extends AbstractEnumRuleElementFinder {
2367 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.AggregationOp"); 2663 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.Quantifier");
2368 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); 2664 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
2369 private final EnumLiteralDeclaration cONLYEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); 2665 private final EnumLiteralDeclaration cEXISTSEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
2370 private final Keyword cONLYOnlyKeyword_0_0 = (Keyword)cONLYEnumLiteralDeclaration_0.eContents().get(0); 2666 private final Keyword cEXISTSExistsKeyword_0_0 = (Keyword)cEXISTSEnumLiteralDeclaration_0.eContents().get(0);
2371 private final EnumLiteralDeclaration cSUMEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); 2667 private final EnumLiteralDeclaration cFORALLEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
2372 private final Keyword cSUMSumKeyword_1_0 = (Keyword)cSUMEnumLiteralDeclaration_1.eContents().get(0); 2668 private final Keyword cFORALLForallKeyword_1_0 = (Keyword)cFORALLEnumLiteralDeclaration_1.eContents().get(0);
2373 private final EnumLiteralDeclaration cPRODEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2); 2669 private final EnumLiteralDeclaration cCOUNTEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
2374 private final Keyword cPRODProdKeyword_2_0 = (Keyword)cPRODEnumLiteralDeclaration_2.eContents().get(0); 2670 private final Keyword cCOUNTCountKeyword_2_0 = (Keyword)cCOUNTEnumLiteralDeclaration_2.eContents().get(0);
2375 private final EnumLiteralDeclaration cAVGEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3); 2671
2376 private final Keyword cAVGAvgKeyword_3_0 = (Keyword)cAVGEnumLiteralDeclaration_3.eContents().get(0); 2672 //enum Quantifier:
2377 private final EnumLiteralDeclaration cMINEnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4); 2673 // EXISTS="exists" | FORALL="forall" | COUNT="count";
2378 private final Keyword cMINMinKeyword_4_0 = (Keyword)cMINEnumLiteralDeclaration_4.eContents().get(0);
2379 private final EnumLiteralDeclaration cMAXEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5);
2380 private final Keyword cMAXMaxKeyword_5_0 = (Keyword)cMAXEnumLiteralDeclaration_5.eContents().get(0);
2381
2382 //enum AggregationOp:
2383 // ONLY="only" | SUM="sum" | PROD="prod" | AVG="avg" | MIN="min" | MAX="max";
2384 public EnumRule getRule() { return rule; } 2674 public EnumRule getRule() { return rule; }
2385 2675
2386 //ONLY="only" | SUM="sum" | PROD="prod" | AVG="avg" | MIN="min" | MAX="max" 2676 //EXISTS="exists" | FORALL="forall" | COUNT="count"
2387 public Alternatives getAlternatives() { return cAlternatives; } 2677 public Alternatives getAlternatives() { return cAlternatives; }
2388 2678
2389 //ONLY="only" 2679 //EXISTS="exists"
2390 public EnumLiteralDeclaration getONLYEnumLiteralDeclaration_0() { return cONLYEnumLiteralDeclaration_0; } 2680 public EnumLiteralDeclaration getEXISTSEnumLiteralDeclaration_0() { return cEXISTSEnumLiteralDeclaration_0; }
2391
2392 //"only"
2393 public Keyword getONLYOnlyKeyword_0_0() { return cONLYOnlyKeyword_0_0; }
2394 2681
2395 //SUM="sum" 2682 //"exists"
2396 public EnumLiteralDeclaration getSUMEnumLiteralDeclaration_1() { return cSUMEnumLiteralDeclaration_1; } 2683 public Keyword getEXISTSExistsKeyword_0_0() { return cEXISTSExistsKeyword_0_0; }
2397 2684
2398 //"sum" 2685 //FORALL="forall"
2399 public Keyword getSUMSumKeyword_1_0() { return cSUMSumKeyword_1_0; } 2686 public EnumLiteralDeclaration getFORALLEnumLiteralDeclaration_1() { return cFORALLEnumLiteralDeclaration_1; }
2400 2687
2401 //PROD="prod" 2688 //"forall"
2402 public EnumLiteralDeclaration getPRODEnumLiteralDeclaration_2() { return cPRODEnumLiteralDeclaration_2; } 2689 public Keyword getFORALLForallKeyword_1_0() { return cFORALLForallKeyword_1_0; }
2403 2690
2404 //"prod" 2691 //COUNT="count"
2405 public Keyword getPRODProdKeyword_2_0() { return cPRODProdKeyword_2_0; } 2692 public EnumLiteralDeclaration getCOUNTEnumLiteralDeclaration_2() { return cCOUNTEnumLiteralDeclaration_2; }
2406 2693
2407 //AVG="avg" 2694 //"count"
2408 public EnumLiteralDeclaration getAVGEnumLiteralDeclaration_3() { return cAVGEnumLiteralDeclaration_3; } 2695 public Keyword getCOUNTCountKeyword_2_0() { return cCOUNTCountKeyword_2_0; }
2409
2410 //"avg"
2411 public Keyword getAVGAvgKeyword_3_0() { return cAVGAvgKeyword_3_0; }
2412
2413 //MIN="min"
2414 public EnumLiteralDeclaration getMINEnumLiteralDeclaration_4() { return cMINEnumLiteralDeclaration_4; }
2415
2416 //"min"
2417 public Keyword getMINMinKeyword_4_0() { return cMINMinKeyword_4_0; }
2418
2419 //MAX="max"
2420 public EnumLiteralDeclaration getMAXEnumLiteralDeclaration_5() { return cMAXEnumLiteralDeclaration_5; }
2421
2422 //"max"
2423 public Keyword getMAXMaxKeyword_5_0() { return cMAXMaxKeyword_5_0; }
2424 } 2696 }
2425 public class LogicValueElements extends AbstractEnumRuleElementFinder { 2697 public class LogicValueElements extends AbstractEnumRuleElementFinder {
2426 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LogicValue"); 2698 private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.LogicValue");
@@ -2499,16 +2771,21 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2499 private final PredicateDefinitionElements pPredicateDefinition; 2771 private final PredicateDefinitionElements pPredicateDefinition;
2500 private final UnnamedErrorPrediateDefinitionElements pUnnamedErrorPrediateDefinition; 2772 private final UnnamedErrorPrediateDefinitionElements pUnnamedErrorPrediateDefinition;
2501 private final DefaultDefinitionElements pDefaultDefinition; 2773 private final DefaultDefinitionElements pDefaultDefinition;
2502 private final ExternPredicateDefinitionElements pExternPredicateDefinition;
2503 private final MetricTypeElements eMetricType;
2504 private final MetricDefinitionElements pMetricDefinition; 2774 private final MetricDefinitionElements pMetricDefinition;
2775 private final ExternPredicateDefinitionElements pExternPredicateDefinition;
2505 private final ExternMetricDefinitionElements pExternMetricDefinition; 2776 private final ExternMetricDefinitionElements pExternMetricDefinition;
2777 private final ExternAggregatorDefinitionElements pExternAggregatorDefinition;
2778 private final ExternDatatypeDefinitionElements pExternDatatypeDefinition;
2779 private final VariableElements pVariable;
2506 private final ExpressionElements pExpression; 2780 private final ExpressionElements pExpression;
2507 private final IfElseElements pIfElse; 2781 private final IfElseElements pIfElse;
2782 private final LetElements pLet;
2783 private final LetBindingElements pLetBinding;
2784 private final ImplicationOperatorElements eImplicationOperator;
2785 private final ImplicationExpressionElements pImplicationExpression;
2508 private final DisjunctiveExpressionElements pDisjunctiveExpression; 2786 private final DisjunctiveExpressionElements pDisjunctiveExpression;
2509 private final CaseElements pCase; 2787 private final CaseElements pCase;
2510 private final ConjunctiveExpressionElements pConjunctiveExpression; 2788 private final ConjunctiveExpressionElements pConjunctiveExpression;
2511 private final BinaryOperatorElements eBinaryOperator;
2512 private final ComparisonOperatorElements eComparisonOperator; 2789 private final ComparisonOperatorElements eComparisonOperator;
2513 private final ComparisonExpressionElements pComparisonExpression; 2790 private final ComparisonExpressionElements pComparisonExpression;
2514 private final AdditiveBinaryOperatorElements eAdditiveBinaryOperator; 2791 private final AdditiveBinaryOperatorElements eAdditiveBinaryOperator;
@@ -2517,11 +2794,13 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2517 private final MultiplicativeExpressionElements pMultiplicativeExpression; 2794 private final MultiplicativeExpressionElements pMultiplicativeExpression;
2518 private final ExponentialOpElements eExponentialOp; 2795 private final ExponentialOpElements eExponentialOp;
2519 private final ExponentialExpressionElements pExponentialExpression; 2796 private final ExponentialExpressionElements pExponentialExpression;
2797 private final CastExpressionElements pCastExpression;
2520 private final UnaryOpElements eUnaryOp; 2798 private final UnaryOpElements eUnaryOp;
2521 private final UnaryExpressionElements pUnaryExpression; 2799 private final UnaryExpressionElements pUnaryExpression;
2522 private final AggregationExpressionElements pAggregationExpression; 2800 private final AggregationExpressionElements pAggregationExpression;
2523 private final CountElements pCount; 2801 private final LocalVariablesElements pLocalVariables;
2524 private final AggregationOpElements eAggregationOp; 2802 private final QuantifierElements eQuantifier;
2803 private final QuantifiedExpressionElements pQuantifiedExpression;
2525 private final AggregationElements pAggregation; 2804 private final AggregationElements pAggregation;
2526 private final AtomicExpressionElements pAtomicExpression; 2805 private final AtomicExpressionElements pAtomicExpression;
2527 private final CallElements pCall; 2806 private final CallElements pCall;
@@ -2561,7 +2840,6 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2561 private final TerminalRule tTRANSITIVE_CLOSURE; 2840 private final TerminalRule tTRANSITIVE_CLOSURE;
2562 private final TerminalRule tREFLEXIVE_TRANSITIVE_CLOSURE; 2841 private final TerminalRule tREFLEXIVE_TRANSITIVE_CLOSURE;
2563 private final TerminalRule tFULL_STOP; 2842 private final TerminalRule tFULL_STOP;
2564 private final NamedElementElements pNamedElement;
2565 2843
2566 private final Grammar grammar; 2844 private final Grammar grammar;
2567 2845
@@ -2578,16 +2856,21 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2578 this.pPredicateDefinition = new PredicateDefinitionElements(); 2856 this.pPredicateDefinition = new PredicateDefinitionElements();
2579 this.pUnnamedErrorPrediateDefinition = new UnnamedErrorPrediateDefinitionElements(); 2857 this.pUnnamedErrorPrediateDefinition = new UnnamedErrorPrediateDefinitionElements();
2580 this.pDefaultDefinition = new DefaultDefinitionElements(); 2858 this.pDefaultDefinition = new DefaultDefinitionElements();
2581 this.pExternPredicateDefinition = new ExternPredicateDefinitionElements();
2582 this.eMetricType = new MetricTypeElements();
2583 this.pMetricDefinition = new MetricDefinitionElements(); 2859 this.pMetricDefinition = new MetricDefinitionElements();
2860 this.pExternPredicateDefinition = new ExternPredicateDefinitionElements();
2584 this.pExternMetricDefinition = new ExternMetricDefinitionElements(); 2861 this.pExternMetricDefinition = new ExternMetricDefinitionElements();
2862 this.pExternAggregatorDefinition = new ExternAggregatorDefinitionElements();
2863 this.pExternDatatypeDefinition = new ExternDatatypeDefinitionElements();
2864 this.pVariable = new VariableElements();
2585 this.pExpression = new ExpressionElements(); 2865 this.pExpression = new ExpressionElements();
2586 this.pIfElse = new IfElseElements(); 2866 this.pIfElse = new IfElseElements();
2867 this.pLet = new LetElements();
2868 this.pLetBinding = new LetBindingElements();
2869 this.eImplicationOperator = new ImplicationOperatorElements();
2870 this.pImplicationExpression = new ImplicationExpressionElements();
2587 this.pDisjunctiveExpression = new DisjunctiveExpressionElements(); 2871 this.pDisjunctiveExpression = new DisjunctiveExpressionElements();
2588 this.pCase = new CaseElements(); 2872 this.pCase = new CaseElements();
2589 this.pConjunctiveExpression = new ConjunctiveExpressionElements(); 2873 this.pConjunctiveExpression = new ConjunctiveExpressionElements();
2590 this.eBinaryOperator = new BinaryOperatorElements();
2591 this.eComparisonOperator = new ComparisonOperatorElements(); 2874 this.eComparisonOperator = new ComparisonOperatorElements();
2592 this.pComparisonExpression = new ComparisonExpressionElements(); 2875 this.pComparisonExpression = new ComparisonExpressionElements();
2593 this.eAdditiveBinaryOperator = new AdditiveBinaryOperatorElements(); 2876 this.eAdditiveBinaryOperator = new AdditiveBinaryOperatorElements();
@@ -2596,11 +2879,13 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2596 this.pMultiplicativeExpression = new MultiplicativeExpressionElements(); 2879 this.pMultiplicativeExpression = new MultiplicativeExpressionElements();
2597 this.eExponentialOp = new ExponentialOpElements(); 2880 this.eExponentialOp = new ExponentialOpElements();
2598 this.pExponentialExpression = new ExponentialExpressionElements(); 2881 this.pExponentialExpression = new ExponentialExpressionElements();
2882 this.pCastExpression = new CastExpressionElements();
2599 this.eUnaryOp = new UnaryOpElements(); 2883 this.eUnaryOp = new UnaryOpElements();
2600 this.pUnaryExpression = new UnaryExpressionElements(); 2884 this.pUnaryExpression = new UnaryExpressionElements();
2601 this.pAggregationExpression = new AggregationExpressionElements(); 2885 this.pAggregationExpression = new AggregationExpressionElements();
2602 this.pCount = new CountElements(); 2886 this.pLocalVariables = new LocalVariablesElements();
2603 this.eAggregationOp = new AggregationOpElements(); 2887 this.eQuantifier = new QuantifierElements();
2888 this.pQuantifiedExpression = new QuantifiedExpressionElements();
2604 this.pAggregation = new AggregationElements(); 2889 this.pAggregation = new AggregationElements();
2605 this.pAtomicExpression = new AtomicExpressionElements(); 2890 this.pAtomicExpression = new AtomicExpressionElements();
2606 this.pCall = new CallElements(); 2891 this.pCall = new CallElements();
@@ -2640,7 +2925,6 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2640 this.tTRANSITIVE_CLOSURE = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.TRANSITIVE_CLOSURE"); 2925 this.tTRANSITIVE_CLOSURE = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.TRANSITIVE_CLOSURE");
2641 this.tREFLEXIVE_TRANSITIVE_CLOSURE = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.REFLEXIVE_TRANSITIVE_CLOSURE"); 2926 this.tREFLEXIVE_TRANSITIVE_CLOSURE = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.REFLEXIVE_TRANSITIVE_CLOSURE");
2642 this.tFULL_STOP = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.FULL_STOP"); 2927 this.tFULL_STOP = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.viatra.solver.language.SolverLanguage.FULL_STOP");
2643 this.pNamedElement = new NamedElementElements();
2644 } 2928 }
2645 2929
2646 protected Grammar internalFindGrammar(GrammarProvider grammarProvider) { 2930 protected Grammar internalFindGrammar(GrammarProvider grammarProvider) {
@@ -2681,9 +2965,9 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2681 } 2965 }
2682 2966
2683 //Statement: 2967 //Statement:
2684 // (AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | 2968 // (AssertionOrDefinition | PredicateDefinition | UnnamedErrorPrediateDefinition | DefaultDefinition | MetricDefinition
2685 // ExternPredicateDefinition | MetricDefinition | ExternMetricDefinition | ClassDefinition | ScopeDefinition | 2969 // | ExternPredicateDefinition | ExternMetricDefinition | ExternAggregatorDefinition | ExternDatatypeDefinition |
2686 // ObjectiveDefinition) FULL_STOP; 2970 // ClassDefinition | ScopeDefinition | ObjectiveDefinition) FULL_STOP;
2687 public StatementElements getStatementAccess() { 2971 public StatementElements getStatementAccess() {
2688 return pStatement; 2972 return pStatement;
2689 } 2973 }
@@ -2693,8 +2977,8 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2693 } 2977 }
2694 2978
2695 //AssertionOrDefinition Statement: 2979 //AssertionOrDefinition Statement:
2696 // Expression ({Assertion.body=current} (":" range=Expression)? | {PredicateDefinition.head=current} ":-" 2980 // Expression ({Interpretation.body=current} ":" range=Expression | {PredicateDefinition.head=current} ":-"
2697 // body=Expression | {MetricDefinition.head=current} "=" body=Expression); 2981 // body=Expression | {MetricDefinition.head=current} "=" body=Expression)?;
2698 public AssertionOrDefinitionElements getAssertionOrDefinitionAccess() { 2982 public AssertionOrDefinitionElements getAssertionOrDefinitionAccess() {
2699 return pAssertionOrDefinition; 2983 return pAssertionOrDefinition;
2700 } 2984 }
@@ -2733,8 +3017,18 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2733 return getDefaultDefinitionAccess().getRule(); 3017 return getDefaultDefinitionAccess().getRule();
2734 } 3018 }
2735 3019
3020 //MetricDefinition:
3021 // type=[NamedElement|QualifiedName] head=Call "=" body=Expression;
3022 public MetricDefinitionElements getMetricDefinitionAccess() {
3023 return pMetricDefinition;
3024 }
3025
3026 public ParserRule getMetricDefinitionRule() {
3027 return getMetricDefinitionAccess().getRule();
3028 }
3029
2736 //ExternPredicateDefinition: 3030 //ExternPredicateDefinition:
2737 // "extern" head=Call; 3031 // "extern" name=QualifiedName argumentList=ArgumentList;
2738 public ExternPredicateDefinitionElements getExternPredicateDefinitionAccess() { 3032 public ExternPredicateDefinitionElements getExternPredicateDefinitionAccess() {
2739 return pExternPredicateDefinition; 3033 return pExternPredicateDefinition;
2740 } 3034 }
@@ -2743,38 +3037,49 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2743 return getExternPredicateDefinitionAccess().getRule(); 3037 return getExternPredicateDefinitionAccess().getRule();
2744 } 3038 }
2745 3039
2746 //enum MetricType: 3040 //ExternMetricDefinition:
2747 // INT="int" | REAL="real"; 3041 // "extern" type=[NamedElement|QualifiedName] name=QualifiedName argumentList=ArgumentList;
2748 public MetricTypeElements getMetricTypeAccess() { 3042 public ExternMetricDefinitionElements getExternMetricDefinitionAccess() {
2749 return eMetricType; 3043 return pExternMetricDefinition;
2750 } 3044 }
2751 3045
2752 public EnumRule getMetricTypeRule() { 3046 public ParserRule getExternMetricDefinitionRule() {
2753 return getMetricTypeAccess().getRule(); 3047 return getExternMetricDefinitionAccess().getRule();
2754 } 3048 }
2755 3049
2756 //MetricDefinition: 3050 //ExternAggregatorDefinition:
2757 // type=MetricType head=Expression "=" body=Expression; 3051 // "extern" type=[NamedElement|QualifiedName] name=QualifiedName "{" inputType=[NamedElement|QualifiedName] "..." "}";
2758 public MetricDefinitionElements getMetricDefinitionAccess() { 3052 public ExternAggregatorDefinitionElements getExternAggregatorDefinitionAccess() {
2759 return pMetricDefinition; 3053 return pExternAggregatorDefinition;
2760 } 3054 }
2761 3055
2762 public ParserRule getMetricDefinitionRule() { 3056 public ParserRule getExternAggregatorDefinitionRule() {
2763 return getMetricDefinitionAccess().getRule(); 3057 return getExternAggregatorDefinitionAccess().getRule();
2764 } 3058 }
2765 3059
2766 //ExternMetricDefinition: 3060 //ExternDatatypeDefinition:
2767 // "extern" type=MetricType head=Call; 3061 // "extern" "datatype" name=QualifiedName ("extends" supertypes+=[NamedElement|QualifiedName] (","
2768 public ExternMetricDefinitionElements getExternMetricDefinitionAccess() { 3062 // supertypes+=[NamedElement|QualifiedName])*);
2769 return pExternMetricDefinition; 3063 public ExternDatatypeDefinitionElements getExternDatatypeDefinitionAccess() {
3064 return pExternDatatypeDefinition;
2770 } 3065 }
2771 3066
2772 public ParserRule getExternMetricDefinitionRule() { 3067 public ParserRule getExternDatatypeDefinitionRule() {
2773 return getExternMetricDefinitionAccess().getRule(); 3068 return getExternDatatypeDefinitionAccess().getRule();
3069 }
3070
3071 //Variable:
3072 // type=[NamedElement|QualifiedName]? name=ID;
3073 public VariableElements getVariableAccess() {
3074 return pVariable;
3075 }
3076
3077 public ParserRule getVariableRule() {
3078 return getVariableAccess().getRule();
2774 } 3079 }
2775 3080
2776 //Expression: 3081 //Expression:
2777 // IfElse | DisjunctiveExpression; 3082 // IfElse | Let | ImplicationExpression;
2778 public ExpressionElements getExpressionAccess() { 3083 public ExpressionElements getExpressionAccess() {
2779 return pExpression; 3084 return pExpression;
2780 } 3085 }
@@ -2793,6 +3098,46 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2793 return getIfElseAccess().getRule(); 3098 return getIfElseAccess().getRule();
2794 } 3099 }
2795 3100
3101 //Let:
3102 // "let" bindings+=LetBinding ("," bindings+=LetBinding)* "in" body=Expression;
3103 public LetElements getLetAccess() {
3104 return pLet;
3105 }
3106
3107 public ParserRule getLetRule() {
3108 return getLetAccess().getRule();
3109 }
3110
3111 //LetBinding:
3112 // variable=Variable "=" value=AdditiveExpression;
3113 public LetBindingElements getLetBindingAccess() {
3114 return pLetBinding;
3115 }
3116
3117 public ParserRule getLetBindingRule() {
3118 return getLetBindingAccess().getRule();
3119 }
3120
3121 //enum ImplicationOperator returns BinaryOperator:
3122 // IMPLIES="=>";
3123 public ImplicationOperatorElements getImplicationOperatorAccess() {
3124 return eImplicationOperator;
3125 }
3126
3127 public EnumRule getImplicationOperatorRule() {
3128 return getImplicationOperatorAccess().getRule();
3129 }
3130
3131 //ImplicationExpression Expression:
3132 // DisjunctiveExpression ({BinaryExpression.left=current} op=ImplicationOperator right=ImplicationExpression)?;
3133 public ImplicationExpressionElements getImplicationExpressionAccess() {
3134 return pImplicationExpression;
3135 }
3136
3137 public ParserRule getImplicationExpressionRule() {
3138 return getImplicationExpressionAccess().getRule();
3139 }
3140
2796 //DisjunctiveExpression Expression: 3141 //DisjunctiveExpression Expression:
2797 // ConjunctiveExpression ({Disjunction.children+=current} (";" children+=ConjunctiveExpression)+ | 3142 // ConjunctiveExpression ({Disjunction.children+=current} (";" children+=ConjunctiveExpression)+ |
2798 // {Case.condition=current} "->" body=ConjunctiveExpression {Switch.cases+=current} (";" cases+=Case)*)?; 3143 // {Case.condition=current} "->" body=ConjunctiveExpression {Switch.cases+=current} (";" cases+=Case)*)?;
@@ -2824,16 +3169,6 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2824 return getConjunctiveExpressionAccess().getRule(); 3169 return getConjunctiveExpressionAccess().getRule();
2825 } 3170 }
2826 3171
2827 //enum BinaryOperator:
2828 // EQ | NOT_EQ | LESS | LESS_EQ | GREATER | GREATER_EQ | IN | ADD | SUB | MUL | DIV | POW;
2829 public BinaryOperatorElements getBinaryOperatorAccess() {
2830 return eBinaryOperator;
2831 }
2832
2833 public EnumRule getBinaryOperatorRule() {
2834 return getBinaryOperatorAccess().getRule();
2835 }
2836
2837 //enum ComparisonOperator returns BinaryOperator: 3172 //enum ComparisonOperator returns BinaryOperator:
2838 // EQ="==" | NOT_EQ="!=" | LESS="<" | LESS_EQ="<=" | GREATER=">" | GREATER_EQ=">=" | IN="in"; 3173 // EQ="==" | NOT_EQ="!=" | LESS="<" | LESS_EQ="<=" | GREATER=">" | GREATER_EQ=">=" | IN="in";
2839 public ComparisonOperatorElements getComparisonOperatorAccess() { 3174 public ComparisonOperatorElements getComparisonOperatorAccess() {
@@ -2905,7 +3240,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2905 } 3240 }
2906 3241
2907 //ExponentialExpression Expression: 3242 //ExponentialExpression Expression:
2908 // UnaryExpression ({BinaryExpression.left=current} op=ExponentialOp right=ExponentialExpression)?; 3243 // CastExpression ({BinaryExpression.left=current} op=ExponentialOp right=CastExpression)?;
2909 public ExponentialExpressionElements getExponentialExpressionAccess() { 3244 public ExponentialExpressionElements getExponentialExpressionAccess() {
2910 return pExponentialExpression; 3245 return pExponentialExpression;
2911 } 3246 }
@@ -2914,6 +3249,16 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2914 return getExponentialExpressionAccess().getRule(); 3249 return getExponentialExpressionAccess().getRule();
2915 } 3250 }
2916 3251
3252 //CastExpression Expression:
3253 // UnaryExpression ({CastExpression.body=current} "as" type=[NamedElement|QualifiedName])?;
3254 public CastExpressionElements getCastExpressionAccess() {
3255 return pCastExpression;
3256 }
3257
3258 public ParserRule getCastExpressionRule() {
3259 return getCastExpressionAccess().getRule();
3260 }
3261
2917 //enum UnaryOp: 3262 //enum UnaryOp:
2918 // NEG="!" | PLUS="+" | MINUS="-" | MAY="may" | MUST="must" | CURRENT="current"; 3263 // NEG="!" | PLUS="+" | MINUS="-" | MAY="may" | MUST="must" | CURRENT="current";
2919 public UnaryOpElements getUnaryOpAccess() { 3264 public UnaryOpElements getUnaryOpAccess() {
@@ -2935,7 +3280,7 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2935 } 3280 }
2936 3281
2937 //AggregationExpression Expression: 3282 //AggregationExpression Expression:
2938 // AtomicExpression | Count | Aggregation; 3283 // AtomicExpression | QuantifiedExpression | Aggregation;
2939 public AggregationExpressionElements getAggregationExpressionAccess() { 3284 public AggregationExpressionElements getAggregationExpressionAccess() {
2940 return pAggregationExpression; 3285 return pAggregationExpression;
2941 } 3286 }
@@ -2944,28 +3289,38 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
2944 return getAggregationExpressionAccess().getRule(); 3289 return getAggregationExpressionAccess().getRule();
2945 } 3290 }
2946 3291
2947 //Count: 3292 //LocalVariables:
2948 // "count" "{" body=Expression "}"; 3293 // {LocalVariables} "[" (variables+=Variable ("," variables+=Variable)*)? "]";
2949 public CountElements getCountAccess() { 3294 public LocalVariablesElements getLocalVariablesAccess() {
2950 return pCount; 3295 return pLocalVariables;
3296 }
3297
3298 public ParserRule getLocalVariablesRule() {
3299 return getLocalVariablesAccess().getRule();
3300 }
3301
3302 //enum Quantifier:
3303 // EXISTS="exists" | FORALL="forall" | COUNT="count";
3304 public QuantifierElements getQuantifierAccess() {
3305 return eQuantifier;
2951 } 3306 }
2952 3307
2953 public ParserRule getCountRule() { 3308 public EnumRule getQuantifierRule() {
2954 return getCountAccess().getRule(); 3309 return getQuantifierAccess().getRule();
2955 } 3310 }
2956 3311
2957 //enum AggregationOp: 3312 //QuantifiedExpression:
2958 // ONLY="only" | SUM="sum" | PROD="prod" | AVG="avg" | MIN="min" | MAX="max"; 3313 // quantifier=Quantifier localVariables=LocalVariables? "{" body=Expression "}";
2959 public AggregationOpElements getAggregationOpAccess() { 3314 public QuantifiedExpressionElements getQuantifiedExpressionAccess() {
2960 return eAggregationOp; 3315 return pQuantifiedExpression;
2961 } 3316 }
2962 3317
2963 public EnumRule getAggregationOpRule() { 3318 public ParserRule getQuantifiedExpressionRule() {
2964 return getAggregationOpAccess().getRule(); 3319 return getQuantifiedExpressionAccess().getRule();
2965 } 3320 }
2966 3321
2967 //Aggregation: 3322 //Aggregation:
2968 // op=AggregationOp "{" body=Expression "|" condition=Expression "}"; 3323 // op=[NamedElement|QualifiedName] localVariables=LocalVariables? "{" body=Expression ("|" condition=Expression)? "}";
2969 public AggregationElements getAggregationAccess() { 3324 public AggregationElements getAggregationAccess() {
2970 return pAggregation; 3325 return pAggregation;
2971 } 3326 }
@@ -3338,16 +3693,6 @@ public class SolverLanguageGrammarAccess extends AbstractGrammarElementFinder {
3338 return tFULL_STOP; 3693 return tFULL_STOP;
3339 } 3694 }
3340 3695
3341 //NamedElement:
3342 // name=QualifiedName;
3343 public NamedElementElements getNamedElementAccess() {
3344 return pNamedElement;
3345 }
3346
3347 public ParserRule getNamedElementRule() {
3348 return getNamedElementAccess().getRule();
3349 }
3350
3351 //terminal ID: 3696 //terminal ID:
3352 // '^'? ('a'..'z' | 'A'..'Z' | '_') ('a'..'z' | 'A'..'Z' | '_' | '0'..'9')*; 3697 // '^'? ('a'..'z' | 'A'..'Z' | '_') ('a'..'z' | 'A'..'Z' | '_' | '0'..'9')*;
3353 public TerminalRule getIDRule() { 3698 public TerminalRule getIDRule() {
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java
deleted file mode 100644
index 8641f197..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Aggregation.java
+++ /dev/null
@@ -1,96 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Aggregation</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.solverLanguage.Aggregation#getOp <em>Op</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getBody <em>Body</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getCondition <em>Condition</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregation()
22 * @model
23 * @generated
24 */
25public interface Aggregation extends Expression
26{
27 /**
28 * Returns the value of the '<em><b>Op</b></em>' attribute.
29 * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.AggregationOp}.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Op</em>' attribute.
33 * @see org.eclipse.viatra.solver.language.solverLanguage.AggregationOp
34 * @see #setOp(AggregationOp)
35 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregation_Op()
36 * @model
37 * @generated
38 */
39 AggregationOp getOp();
40
41 /**
42 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getOp <em>Op</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @param value the new value of the '<em>Op</em>' attribute.
46 * @see org.eclipse.viatra.solver.language.solverLanguage.AggregationOp
47 * @see #getOp()
48 * @generated
49 */
50 void setOp(AggregationOp value);
51
52 /**
53 * Returns the value of the '<em><b>Body</b></em>' containment reference.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @return the value of the '<em>Body</em>' containment reference.
57 * @see #setBody(Expression)
58 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregation_Body()
59 * @model containment="true"
60 * @generated
61 */
62 Expression getBody();
63
64 /**
65 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getBody <em>Body</em>}' containment reference.
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @param value the new value of the '<em>Body</em>' containment reference.
69 * @see #getBody()
70 * @generated
71 */
72 void setBody(Expression value);
73
74 /**
75 * Returns the value of the '<em><b>Condition</b></em>' containment reference.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @return the value of the '<em>Condition</em>' containment reference.
79 * @see #setCondition(Expression)
80 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregation_Condition()
81 * @model containment="true"
82 * @generated
83 */
84 Expression getCondition();
85
86 /**
87 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getCondition <em>Condition</em>}' containment reference.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @param value the new value of the '<em>Condition</em>' containment reference.
91 * @see #getCondition()
92 * @generated
93 */
94 void setCondition(Expression value);
95
96} // Aggregation
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AggregationOp.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AggregationOp.java
deleted file mode 100644
index 1a0664ed..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/AggregationOp.java
+++ /dev/null
@@ -1,317 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import java.util.Arrays;
7import java.util.Collections;
8import java.util.List;
9
10import org.eclipse.emf.common.util.Enumerator;
11
12/**
13 * <!-- begin-user-doc -->
14 * A representation of the literals of the enumeration '<em><b>Aggregation Op</b></em>',
15 * and utility methods for working with them.
16 * <!-- end-user-doc -->
17 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAggregationOp()
18 * @model
19 * @generated
20 */
21public enum AggregationOp implements Enumerator
22{
23 /**
24 * The '<em><b>ONLY</b></em>' literal object.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @see #ONLY_VALUE
28 * @generated
29 * @ordered
30 */
31 ONLY(0, "ONLY", "only"),
32
33 /**
34 * The '<em><b>SUM</b></em>' literal object.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #SUM_VALUE
38 * @generated
39 * @ordered
40 */
41 SUM(1, "SUM", "sum"),
42
43 /**
44 * The '<em><b>PROD</b></em>' literal object.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #PROD_VALUE
48 * @generated
49 * @ordered
50 */
51 PROD(2, "PROD", "prod"),
52
53 /**
54 * The '<em><b>AVG</b></em>' literal object.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @see #AVG_VALUE
58 * @generated
59 * @ordered
60 */
61 AVG(3, "AVG", "avg"),
62
63 /**
64 * The '<em><b>MIN</b></em>' literal object.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @see #MIN_VALUE
68 * @generated
69 * @ordered
70 */
71 MIN(4, "MIN", "min"),
72
73 /**
74 * The '<em><b>MAX</b></em>' literal object.
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @see #MAX_VALUE
78 * @generated
79 * @ordered
80 */
81 MAX(5, "MAX", "max");
82
83 /**
84 * The '<em><b>ONLY</b></em>' literal value.
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @see #ONLY
88 * @model literal="only"
89 * @generated
90 * @ordered
91 */
92 public static final int ONLY_VALUE = 0;
93
94 /**
95 * The '<em><b>SUM</b></em>' literal value.
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @see #SUM
99 * @model literal="sum"
100 * @generated
101 * @ordered
102 */
103 public static final int SUM_VALUE = 1;
104
105 /**
106 * The '<em><b>PROD</b></em>' literal value.
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @see #PROD
110 * @model literal="prod"
111 * @generated
112 * @ordered
113 */
114 public static final int PROD_VALUE = 2;
115
116 /**
117 * The '<em><b>AVG</b></em>' literal value.
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @see #AVG
121 * @model literal="avg"
122 * @generated
123 * @ordered
124 */
125 public static final int AVG_VALUE = 3;
126
127 /**
128 * The '<em><b>MIN</b></em>' literal value.
129 * <!-- begin-user-doc -->
130 * <!-- end-user-doc -->
131 * @see #MIN
132 * @model literal="min"
133 * @generated
134 * @ordered
135 */
136 public static final int MIN_VALUE = 4;
137
138 /**
139 * The '<em><b>MAX</b></em>' literal value.
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @see #MAX
143 * @model literal="max"
144 * @generated
145 * @ordered
146 */
147 public static final int MAX_VALUE = 5;
148
149 /**
150 * An array of all the '<em><b>Aggregation Op</b></em>' enumerators.
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 private static final AggregationOp[] VALUES_ARRAY =
156 new AggregationOp[]
157 {
158 ONLY,
159 SUM,
160 PROD,
161 AVG,
162 MIN,
163 MAX,
164 };
165
166 /**
167 * A public read-only list of all the '<em><b>Aggregation Op</b></em>' enumerators.
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 public static final List<AggregationOp> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
173
174 /**
175 * Returns the '<em><b>Aggregation Op</b></em>' literal with the specified literal value.
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @param literal the literal.
179 * @return the matching enumerator or <code>null</code>.
180 * @generated
181 */
182 public static AggregationOp get(String literal)
183 {
184 for (int i = 0; i < VALUES_ARRAY.length; ++i)
185 {
186 AggregationOp result = VALUES_ARRAY[i];
187 if (result.toString().equals(literal))
188 {
189 return result;
190 }
191 }
192 return null;
193 }
194
195 /**
196 * Returns the '<em><b>Aggregation Op</b></em>' literal with the specified name.
197 * <!-- begin-user-doc -->
198 * <!-- end-user-doc -->
199 * @param name the name.
200 * @return the matching enumerator or <code>null</code>.
201 * @generated
202 */
203 public static AggregationOp getByName(String name)
204 {
205 for (int i = 0; i < VALUES_ARRAY.length; ++i)
206 {
207 AggregationOp result = VALUES_ARRAY[i];
208 if (result.getName().equals(name))
209 {
210 return result;
211 }
212 }
213 return null;
214 }
215
216 /**
217 * Returns the '<em><b>Aggregation Op</b></em>' literal with the specified integer value.
218 * <!-- begin-user-doc -->
219 * <!-- end-user-doc -->
220 * @param value the integer value.
221 * @return the matching enumerator or <code>null</code>.
222 * @generated
223 */
224 public static AggregationOp get(int value)
225 {
226 switch (value)
227 {
228 case ONLY_VALUE: return ONLY;
229 case SUM_VALUE: return SUM;
230 case PROD_VALUE: return PROD;
231 case AVG_VALUE: return AVG;
232 case MIN_VALUE: return MIN;
233 case MAX_VALUE: return MAX;
234 }
235 return null;
236 }
237
238 /**
239 * <!-- begin-user-doc -->
240 * <!-- end-user-doc -->
241 * @generated
242 */
243 private final int value;
244
245 /**
246 * <!-- begin-user-doc -->
247 * <!-- end-user-doc -->
248 * @generated
249 */
250 private final String name;
251
252 /**
253 * <!-- begin-user-doc -->
254 * <!-- end-user-doc -->
255 * @generated
256 */
257 private final String literal;
258
259 /**
260 * Only this class can construct instances.
261 * <!-- begin-user-doc -->
262 * <!-- end-user-doc -->
263 * @generated
264 */
265 private AggregationOp(int value, String name, String literal)
266 {
267 this.value = value;
268 this.name = name;
269 this.literal = literal;
270 }
271
272 /**
273 * <!-- begin-user-doc -->
274 * <!-- end-user-doc -->
275 * @generated
276 */
277 @Override
278 public int getValue()
279 {
280 return value;
281 }
282
283 /**
284 * <!-- begin-user-doc -->
285 * <!-- end-user-doc -->
286 * @generated
287 */
288 @Override
289 public String getName()
290 {
291 return name;
292 }
293
294 /**
295 * <!-- begin-user-doc -->
296 * <!-- end-user-doc -->
297 * @generated
298 */
299 @Override
300 public String getLiteral()
301 {
302 return literal;
303 }
304
305 /**
306 * Returns the literal value of the enumerator, which is its string representation.
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @generated
310 */
311 @Override
312 public String toString()
313 {
314 return literal;
315 }
316
317} //AggregationOp
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Argument.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Argument.java
deleted file mode 100644
index 73c79940..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Argument.java
+++ /dev/null
@@ -1,20 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.ecore.EObject;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Argument</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 *
14 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getArgument()
15 * @model
16 * @generated
17 */
18public interface Argument extends EObject
19{
20} // Argument
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java
deleted file mode 100644
index 4a932fea..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ArgumentList.java
+++ /dev/null
@@ -1,40 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.common.util.EList;
7
8import org.eclipse.emf.ecore.EObject;
9
10/**
11 * <!-- begin-user-doc -->
12 * A representation of the model object '<em><b>Argument List</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * <p>
16 * The following features are supported:
17 * </p>
18 * <ul>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ArgumentList#getArguments <em>Arguments</em>}</li>
20 * </ul>
21 *
22 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getArgumentList()
23 * @model
24 * @generated
25 */
26public interface ArgumentList extends EObject
27{
28 /**
29 * Returns the value of the '<em><b>Arguments</b></em>' containment reference list.
30 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Argument}.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Arguments</em>' containment reference list.
34 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getArgumentList_Arguments()
35 * @model containment="true"
36 * @generated
37 */
38 EList<Argument> getArguments();
39
40} // ArgumentList
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Assertion.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Assertion.java
deleted file mode 100644
index b67d81ca..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Assertion.java
+++ /dev/null
@@ -1,70 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Assertion</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.solverLanguage.Assertion#getBody <em>Body</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Assertion#getRange <em>Range</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAssertion()
21 * @model
22 * @generated
23 */
24public interface Assertion extends Statement
25{
26 /**
27 * Returns the value of the '<em><b>Body</b></em>' containment reference.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Body</em>' containment reference.
31 * @see #setBody(Expression)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAssertion_Body()
33 * @model containment="true"
34 * @generated
35 */
36 Expression getBody();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Assertion#getBody <em>Body</em>}' containment reference.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Body</em>' containment reference.
43 * @see #getBody()
44 * @generated
45 */
46 void setBody(Expression value);
47
48 /**
49 * Returns the value of the '<em><b>Range</b></em>' containment reference.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @return the value of the '<em>Range</em>' containment reference.
53 * @see #setRange(Expression)
54 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getAssertion_Range()
55 * @model containment="true"
56 * @generated
57 */
58 Expression getRange();
59
60 /**
61 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Assertion#getRange <em>Range</em>}' containment reference.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @param value the new value of the '<em>Range</em>' containment reference.
65 * @see #getRange()
66 * @generated
67 */
68 void setRange(Expression value);
69
70} // Assertion
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryExpression.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryExpression.java
deleted file mode 100644
index 8a81e68b..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryExpression.java
+++ /dev/null
@@ -1,96 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Binary Expression</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.solverLanguage.BinaryExpression#getLeft <em>Left</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getOp <em>Op</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getRight <em>Right</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBinaryExpression()
22 * @model
23 * @generated
24 */
25public interface BinaryExpression extends Expression
26{
27 /**
28 * Returns the value of the '<em><b>Left</b></em>' containment reference.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Left</em>' containment reference.
32 * @see #setLeft(Expression)
33 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBinaryExpression_Left()
34 * @model containment="true"
35 * @generated
36 */
37 Expression getLeft();
38
39 /**
40 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getLeft <em>Left</em>}' containment reference.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Left</em>' containment reference.
44 * @see #getLeft()
45 * @generated
46 */
47 void setLeft(Expression value);
48
49 /**
50 * Returns the value of the '<em><b>Op</b></em>' attribute.
51 * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator}.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @return the value of the '<em>Op</em>' attribute.
55 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator
56 * @see #setOp(BinaryOperator)
57 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBinaryExpression_Op()
58 * @model
59 * @generated
60 */
61 BinaryOperator getOp();
62
63 /**
64 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getOp <em>Op</em>}' attribute.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @param value the new value of the '<em>Op</em>' attribute.
68 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator
69 * @see #getOp()
70 * @generated
71 */
72 void setOp(BinaryOperator value);
73
74 /**
75 * Returns the value of the '<em><b>Right</b></em>' containment reference.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @return the value of the '<em>Right</em>' containment reference.
79 * @see #setRight(Expression)
80 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBinaryExpression_Right()
81 * @model containment="true"
82 * @generated
83 */
84 Expression getRight();
85
86 /**
87 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getRight <em>Right</em>}' containment reference.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @param value the new value of the '<em>Right</em>' containment reference.
91 * @see #getRight()
92 * @generated
93 */
94 void setRight(Expression value);
95
96} // BinaryExpression
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryOperator.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryOperator.java
deleted file mode 100644
index 9e8e073a..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BinaryOperator.java
+++ /dev/null
@@ -1,455 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import java.util.Arrays;
7import java.util.Collections;
8import java.util.List;
9
10import org.eclipse.emf.common.util.Enumerator;
11
12/**
13 * <!-- begin-user-doc -->
14 * A representation of the literals of the enumeration '<em><b>Binary Operator</b></em>',
15 * and utility methods for working with them.
16 * <!-- end-user-doc -->
17 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBinaryOperator()
18 * @model
19 * @generated
20 */
21public enum BinaryOperator implements Enumerator
22{
23 /**
24 * The '<em><b>EQ</b></em>' literal object.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @see #EQ_VALUE
28 * @generated
29 * @ordered
30 */
31 EQ(0, "EQ", "EQ"),
32
33 /**
34 * The '<em><b>NOT EQ</b></em>' literal object.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #NOT_EQ_VALUE
38 * @generated
39 * @ordered
40 */
41 NOT_EQ(1, "NOT_EQ", "NOT_EQ"),
42
43 /**
44 * The '<em><b>LESS</b></em>' literal object.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #LESS_VALUE
48 * @generated
49 * @ordered
50 */
51 LESS(2, "LESS", "LESS"),
52
53 /**
54 * The '<em><b>LESS EQ</b></em>' literal object.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @see #LESS_EQ_VALUE
58 * @generated
59 * @ordered
60 */
61 LESS_EQ(3, "LESS_EQ", "LESS_EQ"),
62
63 /**
64 * The '<em><b>GREATER</b></em>' literal object.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @see #GREATER_VALUE
68 * @generated
69 * @ordered
70 */
71 GREATER(4, "GREATER", "GREATER"),
72
73 /**
74 * The '<em><b>GREATER EQ</b></em>' literal object.
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @see #GREATER_EQ_VALUE
78 * @generated
79 * @ordered
80 */
81 GREATER_EQ(5, "GREATER_EQ", "GREATER_EQ"),
82
83 /**
84 * The '<em><b>IN</b></em>' literal object.
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @see #IN_VALUE
88 * @generated
89 * @ordered
90 */
91 IN(6, "IN", "IN"),
92
93 /**
94 * The '<em><b>ADD</b></em>' literal object.
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @see #ADD_VALUE
98 * @generated
99 * @ordered
100 */
101 ADD(7, "ADD", "ADD"),
102
103 /**
104 * The '<em><b>SUB</b></em>' literal object.
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @see #SUB_VALUE
108 * @generated
109 * @ordered
110 */
111 SUB(8, "SUB", "SUB"),
112
113 /**
114 * The '<em><b>MUL</b></em>' literal object.
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @see #MUL_VALUE
118 * @generated
119 * @ordered
120 */
121 MUL(9, "MUL", "MUL"),
122
123 /**
124 * The '<em><b>DIV</b></em>' literal object.
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @see #DIV_VALUE
128 * @generated
129 * @ordered
130 */
131 DIV(10, "DIV", "DIV"),
132
133 /**
134 * The '<em><b>POW</b></em>' literal object.
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @see #POW_VALUE
138 * @generated
139 * @ordered
140 */
141 POW(11, "POW", "POW");
142
143 /**
144 * The '<em><b>EQ</b></em>' literal value.
145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc -->
147 * @see #EQ
148 * @model
149 * @generated
150 * @ordered
151 */
152 public static final int EQ_VALUE = 0;
153
154 /**
155 * The '<em><b>NOT EQ</b></em>' literal value.
156 * <!-- begin-user-doc -->
157 * <!-- end-user-doc -->
158 * @see #NOT_EQ
159 * @model
160 * @generated
161 * @ordered
162 */
163 public static final int NOT_EQ_VALUE = 1;
164
165 /**
166 * The '<em><b>LESS</b></em>' literal value.
167 * <!-- begin-user-doc -->
168 * <!-- end-user-doc -->
169 * @see #LESS
170 * @model
171 * @generated
172 * @ordered
173 */
174 public static final int LESS_VALUE = 2;
175
176 /**
177 * The '<em><b>LESS EQ</b></em>' literal value.
178 * <!-- begin-user-doc -->
179 * <!-- end-user-doc -->
180 * @see #LESS_EQ
181 * @model
182 * @generated
183 * @ordered
184 */
185 public static final int LESS_EQ_VALUE = 3;
186
187 /**
188 * The '<em><b>GREATER</b></em>' literal value.
189 * <!-- begin-user-doc -->
190 * <!-- end-user-doc -->
191 * @see #GREATER
192 * @model
193 * @generated
194 * @ordered
195 */
196 public static final int GREATER_VALUE = 4;
197
198 /**
199 * The '<em><b>GREATER EQ</b></em>' literal value.
200 * <!-- begin-user-doc -->
201 * <!-- end-user-doc -->
202 * @see #GREATER_EQ
203 * @model
204 * @generated
205 * @ordered
206 */
207 public static final int GREATER_EQ_VALUE = 5;
208
209 /**
210 * The '<em><b>IN</b></em>' literal value.
211 * <!-- begin-user-doc -->
212 * <!-- end-user-doc -->
213 * @see #IN
214 * @model
215 * @generated
216 * @ordered
217 */
218 public static final int IN_VALUE = 6;
219
220 /**
221 * The '<em><b>ADD</b></em>' literal value.
222 * <!-- begin-user-doc -->
223 * <!-- end-user-doc -->
224 * @see #ADD
225 * @model
226 * @generated
227 * @ordered
228 */
229 public static final int ADD_VALUE = 7;
230
231 /**
232 * The '<em><b>SUB</b></em>' literal value.
233 * <!-- begin-user-doc -->
234 * <!-- end-user-doc -->
235 * @see #SUB
236 * @model
237 * @generated
238 * @ordered
239 */
240 public static final int SUB_VALUE = 8;
241
242 /**
243 * The '<em><b>MUL</b></em>' literal value.
244 * <!-- begin-user-doc -->
245 * <!-- end-user-doc -->
246 * @see #MUL
247 * @model
248 * @generated
249 * @ordered
250 */
251 public static final int MUL_VALUE = 9;
252
253 /**
254 * The '<em><b>DIV</b></em>' literal value.
255 * <!-- begin-user-doc -->
256 * <!-- end-user-doc -->
257 * @see #DIV
258 * @model
259 * @generated
260 * @ordered
261 */
262 public static final int DIV_VALUE = 10;
263
264 /**
265 * The '<em><b>POW</b></em>' literal value.
266 * <!-- begin-user-doc -->
267 * <!-- end-user-doc -->
268 * @see #POW
269 * @model
270 * @generated
271 * @ordered
272 */
273 public static final int POW_VALUE = 11;
274
275 /**
276 * An array of all the '<em><b>Binary Operator</b></em>' enumerators.
277 * <!-- begin-user-doc -->
278 * <!-- end-user-doc -->
279 * @generated
280 */
281 private static final BinaryOperator[] VALUES_ARRAY =
282 new BinaryOperator[]
283 {
284 EQ,
285 NOT_EQ,
286 LESS,
287 LESS_EQ,
288 GREATER,
289 GREATER_EQ,
290 IN,
291 ADD,
292 SUB,
293 MUL,
294 DIV,
295 POW,
296 };
297
298 /**
299 * A public read-only list of all the '<em><b>Binary Operator</b></em>' enumerators.
300 * <!-- begin-user-doc -->
301 * <!-- end-user-doc -->
302 * @generated
303 */
304 public static final List<BinaryOperator> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
305
306 /**
307 * Returns the '<em><b>Binary Operator</b></em>' literal with the specified literal value.
308 * <!-- begin-user-doc -->
309 * <!-- end-user-doc -->
310 * @param literal the literal.
311 * @return the matching enumerator or <code>null</code>.
312 * @generated
313 */
314 public static BinaryOperator get(String literal)
315 {
316 for (int i = 0; i < VALUES_ARRAY.length; ++i)
317 {
318 BinaryOperator result = VALUES_ARRAY[i];
319 if (result.toString().equals(literal))
320 {
321 return result;
322 }
323 }
324 return null;
325 }
326
327 /**
328 * Returns the '<em><b>Binary Operator</b></em>' literal with the specified name.
329 * <!-- begin-user-doc -->
330 * <!-- end-user-doc -->
331 * @param name the name.
332 * @return the matching enumerator or <code>null</code>.
333 * @generated
334 */
335 public static BinaryOperator getByName(String name)
336 {
337 for (int i = 0; i < VALUES_ARRAY.length; ++i)
338 {
339 BinaryOperator result = VALUES_ARRAY[i];
340 if (result.getName().equals(name))
341 {
342 return result;
343 }
344 }
345 return null;
346 }
347
348 /**
349 * Returns the '<em><b>Binary Operator</b></em>' literal with the specified integer value.
350 * <!-- begin-user-doc -->
351 * <!-- end-user-doc -->
352 * @param value the integer value.
353 * @return the matching enumerator or <code>null</code>.
354 * @generated
355 */
356 public static BinaryOperator get(int value)
357 {
358 switch (value)
359 {
360 case EQ_VALUE: return EQ;
361 case NOT_EQ_VALUE: return NOT_EQ;
362 case LESS_VALUE: return LESS;
363 case LESS_EQ_VALUE: return LESS_EQ;
364 case GREATER_VALUE: return GREATER;
365 case GREATER_EQ_VALUE: return GREATER_EQ;
366 case IN_VALUE: return IN;
367 case ADD_VALUE: return ADD;
368 case SUB_VALUE: return SUB;
369 case MUL_VALUE: return MUL;
370 case DIV_VALUE: return DIV;
371 case POW_VALUE: return POW;
372 }
373 return null;
374 }
375
376 /**
377 * <!-- begin-user-doc -->
378 * <!-- end-user-doc -->
379 * @generated
380 */
381 private final int value;
382
383 /**
384 * <!-- begin-user-doc -->
385 * <!-- end-user-doc -->
386 * @generated
387 */
388 private final String name;
389
390 /**
391 * <!-- begin-user-doc -->
392 * <!-- end-user-doc -->
393 * @generated
394 */
395 private final String literal;
396
397 /**
398 * Only this class can construct instances.
399 * <!-- begin-user-doc -->
400 * <!-- end-user-doc -->
401 * @generated
402 */
403 private BinaryOperator(int value, String name, String literal)
404 {
405 this.value = value;
406 this.name = name;
407 this.literal = literal;
408 }
409
410 /**
411 * <!-- begin-user-doc -->
412 * <!-- end-user-doc -->
413 * @generated
414 */
415 @Override
416 public int getValue()
417 {
418 return value;
419 }
420
421 /**
422 * <!-- begin-user-doc -->
423 * <!-- end-user-doc -->
424 * @generated
425 */
426 @Override
427 public String getName()
428 {
429 return name;
430 }
431
432 /**
433 * <!-- begin-user-doc -->
434 * <!-- end-user-doc -->
435 * @generated
436 */
437 @Override
438 public String getLiteral()
439 {
440 return literal;
441 }
442
443 /**
444 * Returns the literal value of the enumerator, which is its string representation.
445 * <!-- begin-user-doc -->
446 * <!-- end-user-doc -->
447 * @generated
448 */
449 @Override
450 public String toString()
451 {
452 return literal;
453 }
454
455} //BinaryOperator
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedMultiplicity.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedMultiplicity.java
deleted file mode 100644
index 8e81e1a2..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedMultiplicity.java
+++ /dev/null
@@ -1,70 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Bounded Multiplicity</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.solverLanguage.BoundedMultiplicity#getLowerBound <em>Lower Bound</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getUpperBound <em>Upper Bound</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBoundedMultiplicity()
21 * @model
22 * @generated
23 */
24public interface BoundedMultiplicity extends Multiplicity
25{
26 /**
27 * Returns the value of the '<em><b>Lower Bound</b></em>' attribute.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Lower Bound</em>' attribute.
31 * @see #setLowerBound(int)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBoundedMultiplicity_LowerBound()
33 * @model
34 * @generated
35 */
36 int getLowerBound();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getLowerBound <em>Lower Bound</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Lower Bound</em>' attribute.
43 * @see #getLowerBound()
44 * @generated
45 */
46 void setLowerBound(int value);
47
48 /**
49 * Returns the value of the '<em><b>Upper Bound</b></em>' attribute.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @return the value of the '<em>Upper Bound</em>' attribute.
53 * @see #setUpperBound(int)
54 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBoundedMultiplicity_UpperBound()
55 * @model
56 * @generated
57 */
58 int getUpperBound();
59
60 /**
61 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getUpperBound <em>Upper Bound</em>}' attribute.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @param value the new value of the '<em>Upper Bound</em>' attribute.
65 * @see #getUpperBound()
66 * @generated
67 */
68 void setUpperBound(int value);
69
70} // BoundedMultiplicity
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedScopeDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedScopeDefinition.java
deleted file mode 100644
index 1e76e86a..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/BoundedScopeDefinition.java
+++ /dev/null
@@ -1,70 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Bounded Scope Definition</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.solverLanguage.BoundedScopeDefinition#getLowerBound <em>Lower Bound</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getUpperBound <em>Upper Bound</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBoundedScopeDefinition()
21 * @model
22 * @generated
23 */
24public interface BoundedScopeDefinition extends ScopeDefinition
25{
26 /**
27 * Returns the value of the '<em><b>Lower Bound</b></em>' attribute.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Lower Bound</em>' attribute.
31 * @see #setLowerBound(int)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBoundedScopeDefinition_LowerBound()
33 * @model
34 * @generated
35 */
36 int getLowerBound();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getLowerBound <em>Lower Bound</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Lower Bound</em>' attribute.
43 * @see #getLowerBound()
44 * @generated
45 */
46 void setLowerBound(int value);
47
48 /**
49 * Returns the value of the '<em><b>Upper Bound</b></em>' attribute.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @return the value of the '<em>Upper Bound</em>' attribute.
53 * @see #setUpperBound(int)
54 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getBoundedScopeDefinition_UpperBound()
55 * @model
56 * @generated
57 */
58 int getUpperBound();
59
60 /**
61 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getUpperBound <em>Upper Bound</em>}' attribute.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @param value the new value of the '<em>Upper Bound</em>' attribute.
65 * @see #getUpperBound()
66 * @generated
67 */
68 void setUpperBound(int value);
69
70} // BoundedScopeDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java
deleted file mode 100644
index 70f7d15e..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Call.java
+++ /dev/null
@@ -1,116 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Call</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.solverLanguage.Call#getFunctor <em>Functor</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isTransitiveClosure <em>Transitive Closure</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isReflexiveTransitiveClosure <em>Reflexive Transitive Closure</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList <em>Argument List</em>}</li>
20 * </ul>
21 *
22 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall()
23 * @model
24 * @generated
25 */
26public interface Call extends Expression
27{
28 /**
29 * Returns the value of the '<em><b>Functor</b></em>' containment reference.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Functor</em>' containment reference.
33 * @see #setFunctor(Reference)
34 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall_Functor()
35 * @model containment="true"
36 * @generated
37 */
38 Reference getFunctor();
39
40 /**
41 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getFunctor <em>Functor</em>}' containment reference.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Functor</em>' containment reference.
45 * @see #getFunctor()
46 * @generated
47 */
48 void setFunctor(Reference value);
49
50 /**
51 * Returns the value of the '<em><b>Transitive Closure</b></em>' attribute.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @return the value of the '<em>Transitive Closure</em>' attribute.
55 * @see #setTransitiveClosure(boolean)
56 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall_TransitiveClosure()
57 * @model
58 * @generated
59 */
60 boolean isTransitiveClosure();
61
62 /**
63 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isTransitiveClosure <em>Transitive Closure</em>}' attribute.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @param value the new value of the '<em>Transitive Closure</em>' attribute.
67 * @see #isTransitiveClosure()
68 * @generated
69 */
70 void setTransitiveClosure(boolean value);
71
72 /**
73 * Returns the value of the '<em><b>Reflexive Transitive Closure</b></em>' attribute.
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @return the value of the '<em>Reflexive Transitive Closure</em>' attribute.
77 * @see #setReflexiveTransitiveClosure(boolean)
78 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall_ReflexiveTransitiveClosure()
79 * @model
80 * @generated
81 */
82 boolean isReflexiveTransitiveClosure();
83
84 /**
85 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isReflexiveTransitiveClosure <em>Reflexive Transitive Closure</em>}' attribute.
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @param value the new value of the '<em>Reflexive Transitive Closure</em>' attribute.
89 * @see #isReflexiveTransitiveClosure()
90 * @generated
91 */
92 void setReflexiveTransitiveClosure(boolean value);
93
94 /**
95 * Returns the value of the '<em><b>Argument List</b></em>' containment reference.
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @return the value of the '<em>Argument List</em>' containment reference.
99 * @see #setArgumentList(ArgumentList)
100 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCall_ArgumentList()
101 * @model containment="true"
102 * @generated
103 */
104 ArgumentList getArgumentList();
105
106 /**
107 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList <em>Argument List</em>}' containment reference.
108 * <!-- begin-user-doc -->
109 * <!-- end-user-doc -->
110 * @param value the new value of the '<em>Argument List</em>' containment reference.
111 * @see #getArgumentList()
112 * @generated
113 */
114 void setArgumentList(ArgumentList value);
115
116} // Call
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java
deleted file mode 100644
index 970d1de2..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Case.java
+++ /dev/null
@@ -1,70 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Case</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.solverLanguage.Case#getCondition <em>Condition</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Case#getBody <em>Body</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCase()
21 * @model
22 * @generated
23 */
24public interface Case extends Expression
25{
26 /**
27 * Returns the value of the '<em><b>Condition</b></em>' containment reference.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Condition</em>' containment reference.
31 * @see #setCondition(Expression)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCase_Condition()
33 * @model containment="true"
34 * @generated
35 */
36 Expression getCondition();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Case#getCondition <em>Condition</em>}' containment reference.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Condition</em>' containment reference.
43 * @see #getCondition()
44 * @generated
45 */
46 void setCondition(Expression value);
47
48 /**
49 * Returns the value of the '<em><b>Body</b></em>' containment reference.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @return the value of the '<em>Body</em>' containment reference.
53 * @see #setBody(Expression)
54 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCase_Body()
55 * @model containment="true"
56 * @generated
57 */
58 Expression getBody();
59
60 /**
61 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Case#getBody <em>Body</em>}' containment reference.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @param value the new value of the '<em>Body</em>' containment reference.
65 * @see #getBody()
66 * @generated
67 */
68 void setBody(Expression value);
69
70} // Case
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDefinition.java
deleted file mode 100644
index 9db15bfe..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ClassDefinition.java
+++ /dev/null
@@ -1,97 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.common.util.EList;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Class Definition</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#isAbstract <em>Abstract</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getName <em>Name</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getSuperclasses <em>Superclasses</em>}</li>
20 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getMembers <em>Members</em>}</li>
21 * </ul>
22 *
23 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition()
24 * @model
25 * @generated
26 */
27public interface ClassDefinition extends Statement
28{
29 /**
30 * Returns the value of the '<em><b>Abstract</b></em>' attribute.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Abstract</em>' attribute.
34 * @see #setAbstract(boolean)
35 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition_Abstract()
36 * @model
37 * @generated
38 */
39 boolean isAbstract();
40
41 /**
42 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#isAbstract <em>Abstract</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @param value the new value of the '<em>Abstract</em>' attribute.
46 * @see #isAbstract()
47 * @generated
48 */
49 void setAbstract(boolean value);
50
51 /**
52 * Returns the value of the '<em><b>Name</b></em>' attribute.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return the value of the '<em>Name</em>' attribute.
56 * @see #setName(String)
57 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition_Name()
58 * @model
59 * @generated
60 */
61 String getName();
62
63 /**
64 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getName <em>Name</em>}' attribute.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @param value the new value of the '<em>Name</em>' attribute.
68 * @see #getName()
69 * @generated
70 */
71 void setName(String value);
72
73 /**
74 * Returns the value of the '<em><b>Superclasses</b></em>' reference list.
75 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement}.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @return the value of the '<em>Superclasses</em>' reference list.
79 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition_Superclasses()
80 * @model
81 * @generated
82 */
83 EList<NamedElement> getSuperclasses();
84
85 /**
86 * Returns the value of the '<em><b>Members</b></em>' containment reference list.
87 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition}.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @return the value of the '<em>Members</em>' containment reference list.
91 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getClassDefinition_Members()
92 * @model containment="true"
93 * @generated
94 */
95 EList<MemberDefinition> getMembers();
96
97} // ClassDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Comparison.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Comparison.java
deleted file mode 100644
index 43e9341a..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Comparison.java
+++ /dev/null
@@ -1,96 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Comparison</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.solverLanguage.Comparison#getLeft <em>Left</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getOp <em>Op</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getRight <em>Right</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getComparison()
22 * @model
23 * @generated
24 */
25public interface Comparison extends Expression
26{
27 /**
28 * Returns the value of the '<em><b>Left</b></em>' containment reference.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Left</em>' containment reference.
32 * @see #setLeft(Expression)
33 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getComparison_Left()
34 * @model containment="true"
35 * @generated
36 */
37 Expression getLeft();
38
39 /**
40 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getLeft <em>Left</em>}' containment reference.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Left</em>' containment reference.
44 * @see #getLeft()
45 * @generated
46 */
47 void setLeft(Expression value);
48
49 /**
50 * Returns the value of the '<em><b>Op</b></em>' attribute.
51 * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator}.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @return the value of the '<em>Op</em>' attribute.
55 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator
56 * @see #setOp(BinaryOperator)
57 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getComparison_Op()
58 * @model
59 * @generated
60 */
61 BinaryOperator getOp();
62
63 /**
64 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getOp <em>Op</em>}' attribute.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @param value the new value of the '<em>Op</em>' attribute.
68 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator
69 * @see #getOp()
70 * @generated
71 */
72 void setOp(BinaryOperator value);
73
74 /**
75 * Returns the value of the '<em><b>Right</b></em>' containment reference.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @return the value of the '<em>Right</em>' containment reference.
79 * @see #setRight(Expression)
80 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getComparison_Right()
81 * @model containment="true"
82 * @generated
83 */
84 Expression getRight();
85
86 /**
87 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getRight <em>Right</em>}' containment reference.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @param value the new value of the '<em>Right</em>' containment reference.
91 * @see #getRight()
92 * @generated
93 */
94 void setRight(Expression value);
95
96} // Comparison
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Conjunction.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Conjunction.java
deleted file mode 100644
index 9f1967c0..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Conjunction.java
+++ /dev/null
@@ -1,38 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.common.util.EList;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Conjunction</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Conjunction#getChildren <em>Children</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConjunction()
21 * @model
22 * @generated
23 */
24public interface Conjunction extends Expression
25{
26 /**
27 * Returns the value of the '<em><b>Children</b></em>' containment reference list.
28 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Expression}.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Children</em>' containment reference list.
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getConjunction_Children()
33 * @model containment="true"
34 * @generated
35 */
36 EList<Expression> getChildren();
37
38} // Conjunction
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Count.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Count.java
deleted file mode 100644
index f4b95a1e..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Count.java
+++ /dev/null
@@ -1,47 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Count</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.solverLanguage.Count#getBody <em>Body</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCount()
20 * @model
21 * @generated
22 */
23public interface Count extends Expression
24{
25 /**
26 * Returns the value of the '<em><b>Body</b></em>' containment reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Body</em>' containment reference.
30 * @see #setBody(Expression)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getCount_Body()
32 * @model containment="true"
33 * @generated
34 */
35 Expression getBody();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Count#getBody <em>Body</em>}' containment reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Body</em>' containment reference.
42 * @see #getBody()
43 * @generated
44 */
45 void setBody(Expression value);
46
47} // Count
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultDefinition.java
deleted file mode 100644
index c088f8d7..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/DefaultDefinition.java
+++ /dev/null
@@ -1,70 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Default Definition</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.solverLanguage.DefaultDefinition#getHead <em>Head</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getRange <em>Range</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDefaultDefinition()
21 * @model
22 * @generated
23 */
24public interface DefaultDefinition extends Statement
25{
26 /**
27 * Returns the value of the '<em><b>Head</b></em>' containment reference.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Head</em>' containment reference.
31 * @see #setHead(Call)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDefaultDefinition_Head()
33 * @model containment="true"
34 * @generated
35 */
36 Call getHead();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getHead <em>Head</em>}' containment reference.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Head</em>' containment reference.
43 * @see #getHead()
44 * @generated
45 */
46 void setHead(Call value);
47
48 /**
49 * Returns the value of the '<em><b>Range</b></em>' containment reference.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @return the value of the '<em>Range</em>' containment reference.
53 * @see #setRange(Expression)
54 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDefaultDefinition_Range()
55 * @model containment="true"
56 * @generated
57 */
58 Expression getRange();
59
60 /**
61 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getRange <em>Range</em>}' containment reference.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @param value the new value of the '<em>Range</em>' containment reference.
65 * @see #getRange()
66 * @generated
67 */
68 void setRange(Expression value);
69
70} // DefaultDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java
deleted file mode 100644
index 724fc04a..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Disjunction.java
+++ /dev/null
@@ -1,38 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.common.util.EList;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Disjunction</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Disjunction#getChildren <em>Children</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDisjunction()
21 * @model
22 * @generated
23 */
24public interface Disjunction extends Expression
25{
26 /**
27 * Returns the value of the '<em><b>Children</b></em>' containment reference list.
28 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Expression}.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Children</em>' containment reference list.
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getDisjunction_Children()
33 * @model containment="true"
34 * @generated
35 */
36 EList<Expression> getChildren();
37
38} // Disjunction
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EmptyIntervalLiteral.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EmptyIntervalLiteral.java
deleted file mode 100644
index 03f09681..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/EmptyIntervalLiteral.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Empty Interval Literal</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getEmptyIntervalLiteral()
14 * @model
15 * @generated
16 */
17public interface EmptyIntervalLiteral extends Literal
18{
19} // EmptyIntervalLiteral
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java
deleted file mode 100644
index 33e88fc4..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactMultiplicity.java
+++ /dev/null
@@ -1,47 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Exact Multiplicity</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.solverLanguage.ExactMultiplicity#getMultiplicity <em>Multiplicity</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExactMultiplicity()
20 * @model
21 * @generated
22 */
23public interface ExactMultiplicity extends Multiplicity
24{
25 /**
26 * Returns the value of the '<em><b>Multiplicity</b></em>' attribute.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Multiplicity</em>' attribute.
30 * @see #setMultiplicity(int)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExactMultiplicity_Multiplicity()
32 * @model
33 * @generated
34 */
35 int getMultiplicity();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity#getMultiplicity <em>Multiplicity</em>}' attribute.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Multiplicity</em>' attribute.
42 * @see #getMultiplicity()
43 * @generated
44 */
45 void setMultiplicity(int value);
46
47} // ExactMultiplicity
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactScopeDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactScopeDefinition.java
deleted file mode 100644
index 50eb6a00..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExactScopeDefinition.java
+++ /dev/null
@@ -1,47 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Exact Scope Definition</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.solverLanguage.ExactScopeDefinition#getExactScope <em>Exact Scope</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExactScopeDefinition()
20 * @model
21 * @generated
22 */
23public interface ExactScopeDefinition extends ScopeDefinition
24{
25 /**
26 * Returns the value of the '<em><b>Exact Scope</b></em>' attribute.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Exact Scope</em>' attribute.
30 * @see #setExactScope(int)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExactScopeDefinition_ExactScope()
32 * @model
33 * @generated
34 */
35 int getExactScope();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition#getExactScope <em>Exact Scope</em>}' attribute.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Exact Scope</em>' attribute.
42 * @see #getExactScope()
43 * @generated
44 */
45 void setExactScope(int value);
46
47} // ExactScopeDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Expression.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Expression.java
deleted file mode 100644
index 1ecd89a5..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Expression.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Expression</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExpression()
14 * @model
15 * @generated
16 */
17public interface Expression extends Statement
18{
19} // Expression
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java
deleted file mode 100644
index 518693a1..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExpressionArgument.java
+++ /dev/null
@@ -1,47 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Expression Argument</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument#getBody <em>Body</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExpressionArgument()
20 * @model
21 * @generated
22 */
23public interface ExpressionArgument extends Argument
24{
25 /**
26 * Returns the value of the '<em><b>Body</b></em>' containment reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Body</em>' containment reference.
30 * @see #setBody(Expression)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExpressionArgument_Body()
32 * @model containment="true"
33 * @generated
34 */
35 Expression getBody();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument#getBody <em>Body</em>}' containment reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Body</em>' containment reference.
42 * @see #getBody()
43 * @generated
44 */
45 void setBody(Expression value);
46
47} // ExpressionArgument
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternMetricDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternMetricDefinition.java
deleted file mode 100644
index 086c4b27..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternMetricDefinition.java
+++ /dev/null
@@ -1,73 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Extern Metric Definition</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.solverLanguage.ExternMetricDefinition#getType <em>Type</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getHead <em>Head</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternMetricDefinition()
21 * @model
22 * @generated
23 */
24public interface ExternMetricDefinition extends Statement
25{
26 /**
27 * Returns the value of the '<em><b>Type</b></em>' attribute.
28 * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.MetricType}.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Type</em>' attribute.
32 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricType
33 * @see #setType(MetricType)
34 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternMetricDefinition_Type()
35 * @model
36 * @generated
37 */
38 MetricType getType();
39
40 /**
41 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getType <em>Type</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Type</em>' attribute.
45 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricType
46 * @see #getType()
47 * @generated
48 */
49 void setType(MetricType value);
50
51 /**
52 * Returns the value of the '<em><b>Head</b></em>' containment reference.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return the value of the '<em>Head</em>' containment reference.
56 * @see #setHead(Call)
57 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternMetricDefinition_Head()
58 * @model containment="true"
59 * @generated
60 */
61 Call getHead();
62
63 /**
64 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getHead <em>Head</em>}' containment reference.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @param value the new value of the '<em>Head</em>' containment reference.
68 * @see #getHead()
69 * @generated
70 */
71 void setHead(Call value);
72
73} // ExternMetricDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternPredicateDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternPredicateDefinition.java
deleted file mode 100644
index 56e6b645..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ExternPredicateDefinition.java
+++ /dev/null
@@ -1,47 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Extern Predicate Definition</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.solverLanguage.ExternPredicateDefinition#getHead <em>Head</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternPredicateDefinition()
20 * @model
21 * @generated
22 */
23public interface ExternPredicateDefinition extends Statement
24{
25 /**
26 * Returns the value of the '<em><b>Head</b></em>' containment reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Head</em>' containment reference.
30 * @see #setHead(Call)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getExternPredicateDefinition_Head()
32 * @model containment="true"
33 * @generated
34 */
35 Call getHead();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getHead <em>Head</em>}' containment reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Head</em>' containment reference.
42 * @see #getHead()
43 * @generated
44 */
45 void setHead(Call value);
46
47} // ExternPredicateDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IfElse.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IfElse.java
deleted file mode 100644
index f08a8420..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/IfElse.java
+++ /dev/null
@@ -1,93 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>If Else</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.solverLanguage.IfElse#getCondition <em>Condition</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getThen <em>Then</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getElse <em>Else</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIfElse()
22 * @model
23 * @generated
24 */
25public interface IfElse extends Expression
26{
27 /**
28 * Returns the value of the '<em><b>Condition</b></em>' containment reference.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Condition</em>' containment reference.
32 * @see #setCondition(Expression)
33 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIfElse_Condition()
34 * @model containment="true"
35 * @generated
36 */
37 Expression getCondition();
38
39 /**
40 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getCondition <em>Condition</em>}' containment reference.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Condition</em>' containment reference.
44 * @see #getCondition()
45 * @generated
46 */
47 void setCondition(Expression value);
48
49 /**
50 * Returns the value of the '<em><b>Then</b></em>' containment reference.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @return the value of the '<em>Then</em>' containment reference.
54 * @see #setThen(Expression)
55 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIfElse_Then()
56 * @model containment="true"
57 * @generated
58 */
59 Expression getThen();
60
61 /**
62 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getThen <em>Then</em>}' containment reference.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @param value the new value of the '<em>Then</em>' containment reference.
66 * @see #getThen()
67 * @generated
68 */
69 void setThen(Expression value);
70
71 /**
72 * Returns the value of the '<em><b>Else</b></em>' containment reference.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @return the value of the '<em>Else</em>' containment reference.
76 * @see #setElse(Expression)
77 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getIfElse_Else()
78 * @model containment="true"
79 * @generated
80 */
81 Expression getElse();
82
83 /**
84 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getElse <em>Else</em>}' containment reference.
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @param value the new value of the '<em>Else</em>' containment reference.
88 * @see #getElse()
89 * @generated
90 */
91 void setElse(Expression value);
92
93} // IfElse
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/InfinityLiteral.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/InfinityLiteral.java
deleted file mode 100644
index 24e9633b..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/InfinityLiteral.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Infinity Literal</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getInfinityLiteral()
14 * @model
15 * @generated
16 */
17public interface InfinityLiteral extends Literal
18{
19} // InfinityLiteral
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java
deleted file mode 100644
index 3431ef8b..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Interval.java
+++ /dev/null
@@ -1,70 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Interval</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.solverLanguage.Interval#getLowerBound <em>Lower Bound</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Interval#getUpperBound <em>Upper Bound</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getInterval()
21 * @model
22 * @generated
23 */
24public interface Interval extends Expression
25{
26 /**
27 * Returns the value of the '<em><b>Lower Bound</b></em>' containment reference.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Lower Bound</em>' containment reference.
31 * @see #setLowerBound(Expression)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getInterval_LowerBound()
33 * @model containment="true"
34 * @generated
35 */
36 Expression getLowerBound();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval#getLowerBound <em>Lower Bound</em>}' containment reference.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Lower Bound</em>' containment reference.
43 * @see #getLowerBound()
44 * @generated
45 */
46 void setLowerBound(Expression value);
47
48 /**
49 * Returns the value of the '<em><b>Upper Bound</b></em>' containment reference.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @return the value of the '<em>Upper Bound</em>' containment reference.
53 * @see #setUpperBound(Expression)
54 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getInterval_UpperBound()
55 * @model containment="true"
56 * @generated
57 */
58 Expression getUpperBound();
59
60 /**
61 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval#getUpperBound <em>Upper Bound</em>}' containment reference.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @param value the new value of the '<em>Upper Bound</em>' containment reference.
65 * @see #getUpperBound()
66 * @generated
67 */
68 void setUpperBound(Expression value);
69
70} // Interval
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java
deleted file mode 100644
index 67d4e64f..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Literal.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Literal</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLiteral()
14 * @model
15 * @generated
16 */
17public interface Literal extends Expression
18{
19} // Literal
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java
deleted file mode 100644
index b3eb1523..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicLiteral.java
+++ /dev/null
@@ -1,50 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Logic Literal</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.solverLanguage.LogicLiteral#getValue <em>Value</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLogicLiteral()
20 * @model
21 * @generated
22 */
23public interface LogicLiteral extends Literal
24{
25 /**
26 * Returns the value of the '<em><b>Value</b></em>' attribute.
27 * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.LogicValue}.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Value</em>' attribute.
31 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicValue
32 * @see #setValue(LogicValue)
33 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLogicLiteral_Value()
34 * @model
35 * @generated
36 */
37 LogicValue getValue();
38
39 /**
40 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral#getValue <em>Value</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Value</em>' attribute.
44 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicValue
45 * @see #getValue()
46 * @generated
47 */
48 void setValue(LogicValue value);
49
50} // LogicLiteral
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java
deleted file mode 100644
index 61be81f7..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LogicValue.java
+++ /dev/null
@@ -1,271 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import java.util.Arrays;
7import java.util.Collections;
8import java.util.List;
9
10import org.eclipse.emf.common.util.Enumerator;
11
12/**
13 * <!-- begin-user-doc -->
14 * A representation of the literals of the enumeration '<em><b>Logic Value</b></em>',
15 * and utility methods for working with them.
16 * <!-- end-user-doc -->
17 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLogicValue()
18 * @model
19 * @generated
20 */
21public enum LogicValue implements Enumerator
22{
23 /**
24 * The '<em><b>TRUE</b></em>' literal object.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @see #TRUE_VALUE
28 * @generated
29 * @ordered
30 */
31 TRUE(0, "TRUE", "true"),
32
33 /**
34 * The '<em><b>FALSE</b></em>' literal object.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #FALSE_VALUE
38 * @generated
39 * @ordered
40 */
41 FALSE(1, "FALSE", "false"),
42
43 /**
44 * The '<em><b>UNKNOWN</b></em>' literal object.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #UNKNOWN_VALUE
48 * @generated
49 * @ordered
50 */
51 UNKNOWN(2, "UNKNOWN", "unknown"),
52
53 /**
54 * The '<em><b>ERROR</b></em>' literal object.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @see #ERROR_VALUE
58 * @generated
59 * @ordered
60 */
61 ERROR(3, "ERROR", "error");
62
63 /**
64 * The '<em><b>TRUE</b></em>' literal value.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @see #TRUE
68 * @model literal="true"
69 * @generated
70 * @ordered
71 */
72 public static final int TRUE_VALUE = 0;
73
74 /**
75 * The '<em><b>FALSE</b></em>' literal value.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @see #FALSE
79 * @model literal="false"
80 * @generated
81 * @ordered
82 */
83 public static final int FALSE_VALUE = 1;
84
85 /**
86 * The '<em><b>UNKNOWN</b></em>' literal value.
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @see #UNKNOWN
90 * @model literal="unknown"
91 * @generated
92 * @ordered
93 */
94 public static final int UNKNOWN_VALUE = 2;
95
96 /**
97 * The '<em><b>ERROR</b></em>' literal value.
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @see #ERROR
101 * @model literal="error"
102 * @generated
103 * @ordered
104 */
105 public static final int ERROR_VALUE = 3;
106
107 /**
108 * An array of all the '<em><b>Logic Value</b></em>' enumerators.
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 private static final LogicValue[] VALUES_ARRAY =
114 new LogicValue[]
115 {
116 TRUE,
117 FALSE,
118 UNKNOWN,
119 ERROR,
120 };
121
122 /**
123 * A public read-only list of all the '<em><b>Logic Value</b></em>' enumerators.
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 public static final List<LogicValue> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
129
130 /**
131 * Returns the '<em><b>Logic Value</b></em>' literal with the specified literal value.
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @param literal the literal.
135 * @return the matching enumerator or <code>null</code>.
136 * @generated
137 */
138 public static LogicValue get(String literal)
139 {
140 for (int i = 0; i < VALUES_ARRAY.length; ++i)
141 {
142 LogicValue result = VALUES_ARRAY[i];
143 if (result.toString().equals(literal))
144 {
145 return result;
146 }
147 }
148 return null;
149 }
150
151 /**
152 * Returns the '<em><b>Logic Value</b></em>' literal with the specified name.
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @param name the name.
156 * @return the matching enumerator or <code>null</code>.
157 * @generated
158 */
159 public static LogicValue getByName(String name)
160 {
161 for (int i = 0; i < VALUES_ARRAY.length; ++i)
162 {
163 LogicValue result = VALUES_ARRAY[i];
164 if (result.getName().equals(name))
165 {
166 return result;
167 }
168 }
169 return null;
170 }
171
172 /**
173 * Returns the '<em><b>Logic Value</b></em>' literal with the specified integer value.
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @param value the integer value.
177 * @return the matching enumerator or <code>null</code>.
178 * @generated
179 */
180 public static LogicValue get(int value)
181 {
182 switch (value)
183 {
184 case TRUE_VALUE: return TRUE;
185 case FALSE_VALUE: return FALSE;
186 case UNKNOWN_VALUE: return UNKNOWN;
187 case ERROR_VALUE: return ERROR;
188 }
189 return null;
190 }
191
192 /**
193 * <!-- begin-user-doc -->
194 * <!-- end-user-doc -->
195 * @generated
196 */
197 private final int value;
198
199 /**
200 * <!-- begin-user-doc -->
201 * <!-- end-user-doc -->
202 * @generated
203 */
204 private final String name;
205
206 /**
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @generated
210 */
211 private final String literal;
212
213 /**
214 * Only this class can construct instances.
215 * <!-- begin-user-doc -->
216 * <!-- end-user-doc -->
217 * @generated
218 */
219 private LogicValue(int value, String name, String literal)
220 {
221 this.value = value;
222 this.name = name;
223 this.literal = literal;
224 }
225
226 /**
227 * <!-- begin-user-doc -->
228 * <!-- end-user-doc -->
229 * @generated
230 */
231 @Override
232 public int getValue()
233 {
234 return value;
235 }
236
237 /**
238 * <!-- begin-user-doc -->
239 * <!-- end-user-doc -->
240 * @generated
241 */
242 @Override
243 public String getName()
244 {
245 return name;
246 }
247
248 /**
249 * <!-- begin-user-doc -->
250 * <!-- end-user-doc -->
251 * @generated
252 */
253 @Override
254 public String getLiteral()
255 {
256 return literal;
257 }
258
259 /**
260 * Returns the literal value of the enumerator, which is its string representation.
261 * <!-- begin-user-doc -->
262 * <!-- end-user-doc -->
263 * @generated
264 */
265 @Override
266 public String toString()
267 {
268 return literal;
269 }
270
271} //LogicValue
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScopeDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScopeDefinition.java
deleted file mode 100644
index 57edcfda..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/LowerBoundedScopeDefinition.java
+++ /dev/null
@@ -1,47 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Lower Bounded Scope Definition</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.solverLanguage.LowerBoundedScopeDefinition#getLowerBound <em>Lower Bound</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLowerBoundedScopeDefinition()
20 * @model
21 * @generated
22 */
23public interface LowerBoundedScopeDefinition extends ScopeDefinition
24{
25 /**
26 * Returns the value of the '<em><b>Lower Bound</b></em>' attribute.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Lower Bound</em>' attribute.
30 * @see #setLowerBound(int)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getLowerBoundedScopeDefinition_LowerBound()
32 * @model
33 * @generated
34 */
35 int getLowerBound();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition#getLowerBound <em>Lower Bound</em>}' attribute.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Lower Bound</em>' attribute.
42 * @see #getLowerBound()
43 * @generated
44 */
45 void setLowerBound(int value);
46
47} // LowerBoundedScopeDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ManyMultiplicity.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ManyMultiplicity.java
deleted file mode 100644
index 4a667d4a..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ManyMultiplicity.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Many Multiplicity</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getManyMultiplicity()
14 * @model
15 * @generated
16 */
17public interface ManyMultiplicity extends Multiplicity
18{
19} // ManyMultiplicity
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MemberDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MemberDefinition.java
deleted file mode 100644
index 3b413c11..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MemberDefinition.java
+++ /dev/null
@@ -1,140 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.ecore.EObject;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Member Definition</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#isContainment <em>Containment</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getType <em>Type</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getMultiplicity <em>Multiplicity</em>}</li>
20 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getName <em>Name</em>}</li>
21 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getOpposite <em>Opposite</em>}</li>
22 * </ul>
23 *
24 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMemberDefinition()
25 * @model
26 * @generated
27 */
28public interface MemberDefinition extends EObject
29{
30 /**
31 * Returns the value of the '<em><b>Containment</b></em>' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @return the value of the '<em>Containment</em>' attribute.
35 * @see #setContainment(boolean)
36 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMemberDefinition_Containment()
37 * @model
38 * @generated
39 */
40 boolean isContainment();
41
42 /**
43 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#isContainment <em>Containment</em>}' attribute.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @param value the new value of the '<em>Containment</em>' attribute.
47 * @see #isContainment()
48 * @generated
49 */
50 void setContainment(boolean value);
51
52 /**
53 * Returns the value of the '<em><b>Type</b></em>' reference.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @return the value of the '<em>Type</em>' reference.
57 * @see #setType(NamedElement)
58 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMemberDefinition_Type()
59 * @model
60 * @generated
61 */
62 NamedElement getType();
63
64 /**
65 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getType <em>Type</em>}' reference.
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @param value the new value of the '<em>Type</em>' reference.
69 * @see #getType()
70 * @generated
71 */
72 void setType(NamedElement value);
73
74 /**
75 * Returns the value of the '<em><b>Multiplicity</b></em>' containment reference.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @return the value of the '<em>Multiplicity</em>' containment reference.
79 * @see #setMultiplicity(Multiplicity)
80 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMemberDefinition_Multiplicity()
81 * @model containment="true"
82 * @generated
83 */
84 Multiplicity getMultiplicity();
85
86 /**
87 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getMultiplicity <em>Multiplicity</em>}' containment reference.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @param value the new value of the '<em>Multiplicity</em>' containment reference.
91 * @see #getMultiplicity()
92 * @generated
93 */
94 void setMultiplicity(Multiplicity value);
95
96 /**
97 * Returns the value of the '<em><b>Name</b></em>' attribute.
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @return the value of the '<em>Name</em>' attribute.
101 * @see #setName(String)
102 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMemberDefinition_Name()
103 * @model
104 * @generated
105 */
106 String getName();
107
108 /**
109 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getName <em>Name</em>}' attribute.
110 * <!-- begin-user-doc -->
111 * <!-- end-user-doc -->
112 * @param value the new value of the '<em>Name</em>' attribute.
113 * @see #getName()
114 * @generated
115 */
116 void setName(String value);
117
118 /**
119 * Returns the value of the '<em><b>Opposite</b></em>' reference.
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @return the value of the '<em>Opposite</em>' reference.
123 * @see #setOpposite(NamedElement)
124 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMemberDefinition_Opposite()
125 * @model
126 * @generated
127 */
128 NamedElement getOpposite();
129
130 /**
131 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getOpposite <em>Opposite</em>}' reference.
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @param value the new value of the '<em>Opposite</em>' reference.
135 * @see #getOpposite()
136 * @generated
137 */
138 void setOpposite(NamedElement value);
139
140} // MemberDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricDefinition.java
deleted file mode 100644
index a35ab60c..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricDefinition.java
+++ /dev/null
@@ -1,96 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Metric Definition</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.solverLanguage.MetricDefinition#getHead <em>Head</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getBody <em>Body</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getType <em>Type</em>}</li>
19 * </ul>
20 *
21 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMetricDefinition()
22 * @model
23 * @generated
24 */
25public interface MetricDefinition extends Statement
26{
27 /**
28 * Returns the value of the '<em><b>Head</b></em>' containment reference.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Head</em>' containment reference.
32 * @see #setHead(Expression)
33 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMetricDefinition_Head()
34 * @model containment="true"
35 * @generated
36 */
37 Expression getHead();
38
39 /**
40 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getHead <em>Head</em>}' containment reference.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Head</em>' containment reference.
44 * @see #getHead()
45 * @generated
46 */
47 void setHead(Expression value);
48
49 /**
50 * Returns the value of the '<em><b>Body</b></em>' containment reference.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @return the value of the '<em>Body</em>' containment reference.
54 * @see #setBody(Expression)
55 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMetricDefinition_Body()
56 * @model containment="true"
57 * @generated
58 */
59 Expression getBody();
60
61 /**
62 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getBody <em>Body</em>}' containment reference.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @param value the new value of the '<em>Body</em>' containment reference.
66 * @see #getBody()
67 * @generated
68 */
69 void setBody(Expression value);
70
71 /**
72 * Returns the value of the '<em><b>Type</b></em>' attribute.
73 * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.MetricType}.
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @return the value of the '<em>Type</em>' attribute.
77 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricType
78 * @see #setType(MetricType)
79 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMetricDefinition_Type()
80 * @model
81 * @generated
82 */
83 MetricType getType();
84
85 /**
86 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getType <em>Type</em>}' attribute.
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @param value the new value of the '<em>Type</em>' attribute.
90 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricType
91 * @see #getType()
92 * @generated
93 */
94 void setType(MetricType value);
95
96} // MetricDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricType.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricType.java
deleted file mode 100644
index 0aa6a805..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/MetricType.java
+++ /dev/null
@@ -1,225 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import java.util.Arrays;
7import java.util.Collections;
8import java.util.List;
9
10import org.eclipse.emf.common.util.Enumerator;
11
12/**
13 * <!-- begin-user-doc -->
14 * A representation of the literals of the enumeration '<em><b>Metric Type</b></em>',
15 * and utility methods for working with them.
16 * <!-- end-user-doc -->
17 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMetricType()
18 * @model
19 * @generated
20 */
21public enum MetricType implements Enumerator
22{
23 /**
24 * The '<em><b>INT</b></em>' literal object.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @see #INT_VALUE
28 * @generated
29 * @ordered
30 */
31 INT(0, "INT", "int"),
32
33 /**
34 * The '<em><b>REAL</b></em>' literal object.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #REAL_VALUE
38 * @generated
39 * @ordered
40 */
41 REAL(1, "REAL", "real");
42
43 /**
44 * The '<em><b>INT</b></em>' literal value.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #INT
48 * @model literal="int"
49 * @generated
50 * @ordered
51 */
52 public static final int INT_VALUE = 0;
53
54 /**
55 * The '<em><b>REAL</b></em>' literal value.
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @see #REAL
59 * @model literal="real"
60 * @generated
61 * @ordered
62 */
63 public static final int REAL_VALUE = 1;
64
65 /**
66 * An array of all the '<em><b>Metric Type</b></em>' enumerators.
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @generated
70 */
71 private static final MetricType[] VALUES_ARRAY =
72 new MetricType[]
73 {
74 INT,
75 REAL,
76 };
77
78 /**
79 * A public read-only list of all the '<em><b>Metric Type</b></em>' enumerators.
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 */
84 public static final List<MetricType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
85
86 /**
87 * Returns the '<em><b>Metric Type</b></em>' literal with the specified literal value.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @param literal the literal.
91 * @return the matching enumerator or <code>null</code>.
92 * @generated
93 */
94 public static MetricType get(String literal)
95 {
96 for (int i = 0; i < VALUES_ARRAY.length; ++i)
97 {
98 MetricType result = VALUES_ARRAY[i];
99 if (result.toString().equals(literal))
100 {
101 return result;
102 }
103 }
104 return null;
105 }
106
107 /**
108 * Returns the '<em><b>Metric Type</b></em>' literal with the specified name.
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @param name the name.
112 * @return the matching enumerator or <code>null</code>.
113 * @generated
114 */
115 public static MetricType getByName(String name)
116 {
117 for (int i = 0; i < VALUES_ARRAY.length; ++i)
118 {
119 MetricType result = VALUES_ARRAY[i];
120 if (result.getName().equals(name))
121 {
122 return result;
123 }
124 }
125 return null;
126 }
127
128 /**
129 * Returns the '<em><b>Metric Type</b></em>' literal with the specified integer value.
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @param value the integer value.
133 * @return the matching enumerator or <code>null</code>.
134 * @generated
135 */
136 public static MetricType get(int value)
137 {
138 switch (value)
139 {
140 case INT_VALUE: return INT;
141 case REAL_VALUE: return REAL;
142 }
143 return null;
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 private final int value;
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 private final String name;
159
160 /**
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @generated
164 */
165 private final String literal;
166
167 /**
168 * Only this class can construct instances.
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
173 private MetricType(int value, String name, String literal)
174 {
175 this.value = value;
176 this.name = name;
177 this.literal = literal;
178 }
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 @Override
186 public int getValue()
187 {
188 return value;
189 }
190
191 /**
192 * <!-- begin-user-doc -->
193 * <!-- end-user-doc -->
194 * @generated
195 */
196 @Override
197 public String getName()
198 {
199 return name;
200 }
201
202 /**
203 * <!-- begin-user-doc -->
204 * <!-- end-user-doc -->
205 * @generated
206 */
207 @Override
208 public String getLiteral()
209 {
210 return literal;
211 }
212
213 /**
214 * Returns the literal value of the enumerator, which is its string representation.
215 * <!-- begin-user-doc -->
216 * <!-- end-user-doc -->
217 * @generated
218 */
219 @Override
220 public String toString()
221 {
222 return literal;
223 }
224
225} //MetricType
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Multiplicity.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Multiplicity.java
deleted file mode 100644
index 1cbfadd6..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Multiplicity.java
+++ /dev/null
@@ -1,20 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.ecore.EObject;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Multiplicity</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 *
14 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getMultiplicity()
15 * @model
16 * @generated
17 */
18public interface Multiplicity extends EObject
19{
20} // Multiplicity
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedElement.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedElement.java
deleted file mode 100644
index 0372da14..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NamedElement.java
+++ /dev/null
@@ -1,48 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.ecore.EObject;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Named Element</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement#getName <em>Name</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNamedElement()
21 * @model
22 * @generated
23 */
24public interface NamedElement extends EObject
25{
26 /**
27 * Returns the value of the '<em><b>Name</b></em>' attribute.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Name</em>' attribute.
31 * @see #setName(String)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNamedElement_Name()
33 * @model
34 * @generated
35 */
36 String getName();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement#getName <em>Name</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Name</em>' attribute.
43 * @see #getName()
44 * @generated
45 */
46 void setName(String value);
47
48} // NamedElement
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NumericLiteral.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NumericLiteral.java
deleted file mode 100644
index 9e30d508..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/NumericLiteral.java
+++ /dev/null
@@ -1,48 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import java.math.BigDecimal;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Numeric Literal</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral#getValue <em>Value</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNumericLiteral()
21 * @model
22 * @generated
23 */
24public interface NumericLiteral extends Literal
25{
26 /**
27 * Returns the value of the '<em><b>Value</b></em>' attribute.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Value</em>' attribute.
31 * @see #setValue(BigDecimal)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getNumericLiteral_Value()
33 * @model
34 * @generated
35 */
36 BigDecimal getValue();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral#getValue <em>Value</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Value</em>' attribute.
43 * @see #getValue()
44 * @generated
45 */
46 void setValue(BigDecimal value);
47
48} // NumericLiteral
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDefinition.java
deleted file mode 100644
index 417a389c..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveDefinition.java
+++ /dev/null
@@ -1,73 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Objective Definition</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.solverLanguage.ObjectiveDefinition#getKind <em>Kind</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getObjective <em>Objective</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getObjectiveDefinition()
21 * @model
22 * @generated
23 */
24public interface ObjectiveDefinition extends Statement
25{
26 /**
27 * Returns the value of the '<em><b>Kind</b></em>' attribute.
28 * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind}.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Kind</em>' attribute.
32 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind
33 * @see #setKind(ObjectiveKind)
34 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getObjectiveDefinition_Kind()
35 * @model
36 * @generated
37 */
38 ObjectiveKind getKind();
39
40 /**
41 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getKind <em>Kind</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Kind</em>' attribute.
45 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind
46 * @see #getKind()
47 * @generated
48 */
49 void setKind(ObjectiveKind value);
50
51 /**
52 * Returns the value of the '<em><b>Objective</b></em>' containment reference.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return the value of the '<em>Objective</em>' containment reference.
56 * @see #setObjective(Expression)
57 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getObjectiveDefinition_Objective()
58 * @model containment="true"
59 * @generated
60 */
61 Expression getObjective();
62
63 /**
64 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getObjective <em>Objective</em>}' containment reference.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @param value the new value of the '<em>Objective</em>' containment reference.
68 * @see #getObjective()
69 * @generated
70 */
71 void setObjective(Expression value);
72
73} // ObjectiveDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveKind.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveKind.java
deleted file mode 100644
index d3a4f626..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ObjectiveKind.java
+++ /dev/null
@@ -1,225 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import java.util.Arrays;
7import java.util.Collections;
8import java.util.List;
9
10import org.eclipse.emf.common.util.Enumerator;
11
12/**
13 * <!-- begin-user-doc -->
14 * A representation of the literals of the enumeration '<em><b>Objective Kind</b></em>',
15 * and utility methods for working with them.
16 * <!-- end-user-doc -->
17 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getObjectiveKind()
18 * @model
19 * @generated
20 */
21public enum ObjectiveKind implements Enumerator
22{
23 /**
24 * The '<em><b>MINIMIZE</b></em>' literal object.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @see #MINIMIZE_VALUE
28 * @generated
29 * @ordered
30 */
31 MINIMIZE(0, "MINIMIZE", "minimize"),
32
33 /**
34 * The '<em><b>MAXIMIZE</b></em>' literal object.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #MAXIMIZE_VALUE
38 * @generated
39 * @ordered
40 */
41 MAXIMIZE(1, "MAXIMIZE", "maximize");
42
43 /**
44 * The '<em><b>MINIMIZE</b></em>' literal value.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #MINIMIZE
48 * @model literal="minimize"
49 * @generated
50 * @ordered
51 */
52 public static final int MINIMIZE_VALUE = 0;
53
54 /**
55 * The '<em><b>MAXIMIZE</b></em>' literal value.
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @see #MAXIMIZE
59 * @model literal="maximize"
60 * @generated
61 * @ordered
62 */
63 public static final int MAXIMIZE_VALUE = 1;
64
65 /**
66 * An array of all the '<em><b>Objective Kind</b></em>' enumerators.
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @generated
70 */
71 private static final ObjectiveKind[] VALUES_ARRAY =
72 new ObjectiveKind[]
73 {
74 MINIMIZE,
75 MAXIMIZE,
76 };
77
78 /**
79 * A public read-only list of all the '<em><b>Objective Kind</b></em>' enumerators.
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 */
84 public static final List<ObjectiveKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
85
86 /**
87 * Returns the '<em><b>Objective Kind</b></em>' literal with the specified literal value.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @param literal the literal.
91 * @return the matching enumerator or <code>null</code>.
92 * @generated
93 */
94 public static ObjectiveKind get(String literal)
95 {
96 for (int i = 0; i < VALUES_ARRAY.length; ++i)
97 {
98 ObjectiveKind result = VALUES_ARRAY[i];
99 if (result.toString().equals(literal))
100 {
101 return result;
102 }
103 }
104 return null;
105 }
106
107 /**
108 * Returns the '<em><b>Objective Kind</b></em>' literal with the specified name.
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @param name the name.
112 * @return the matching enumerator or <code>null</code>.
113 * @generated
114 */
115 public static ObjectiveKind getByName(String name)
116 {
117 for (int i = 0; i < VALUES_ARRAY.length; ++i)
118 {
119 ObjectiveKind result = VALUES_ARRAY[i];
120 if (result.getName().equals(name))
121 {
122 return result;
123 }
124 }
125 return null;
126 }
127
128 /**
129 * Returns the '<em><b>Objective Kind</b></em>' literal with the specified integer value.
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @param value the integer value.
133 * @return the matching enumerator or <code>null</code>.
134 * @generated
135 */
136 public static ObjectiveKind get(int value)
137 {
138 switch (value)
139 {
140 case MINIMIZE_VALUE: return MINIMIZE;
141 case MAXIMIZE_VALUE: return MAXIMIZE;
142 }
143 return null;
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 private final int value;
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 private final String name;
159
160 /**
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @generated
164 */
165 private final String literal;
166
167 /**
168 * Only this class can construct instances.
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
173 private ObjectiveKind(int value, String name, String literal)
174 {
175 this.value = value;
176 this.name = name;
177 this.literal = literal;
178 }
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 @Override
186 public int getValue()
187 {
188 return value;
189 }
190
191 /**
192 * <!-- begin-user-doc -->
193 * <!-- end-user-doc -->
194 * @generated
195 */
196 @Override
197 public String getName()
198 {
199 return name;
200 }
201
202 /**
203 * <!-- begin-user-doc -->
204 * <!-- end-user-doc -->
205 * @generated
206 */
207 @Override
208 public String getLiteral()
209 {
210 return literal;
211 }
212
213 /**
214 * Returns the literal value of the enumerator, which is its string representation.
215 * <!-- begin-user-doc -->
216 * <!-- end-user-doc -->
217 * @generated
218 */
219 @Override
220 public String toString()
221 {
222 return literal;
223 }
224
225} //ObjectiveKind
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java
deleted file mode 100644
index 256cb5ac..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/PredicateDefinition.java
+++ /dev/null
@@ -1,116 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Predicate Definition</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.solverLanguage.PredicateDefinition#getHead <em>Head</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getBody <em>Body</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isFunctional <em>Functional</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isError <em>Error</em>}</li>
20 * </ul>
21 *
22 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicateDefinition()
23 * @model
24 * @generated
25 */
26public interface PredicateDefinition extends Statement
27{
28 /**
29 * Returns the value of the '<em><b>Head</b></em>' containment reference.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Head</em>' containment reference.
33 * @see #setHead(Expression)
34 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicateDefinition_Head()
35 * @model containment="true"
36 * @generated
37 */
38 Expression getHead();
39
40 /**
41 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getHead <em>Head</em>}' containment reference.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Head</em>' containment reference.
45 * @see #getHead()
46 * @generated
47 */
48 void setHead(Expression value);
49
50 /**
51 * Returns the value of the '<em><b>Body</b></em>' containment reference.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @return the value of the '<em>Body</em>' containment reference.
55 * @see #setBody(Expression)
56 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicateDefinition_Body()
57 * @model containment="true"
58 * @generated
59 */
60 Expression getBody();
61
62 /**
63 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getBody <em>Body</em>}' containment reference.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @param value the new value of the '<em>Body</em>' containment reference.
67 * @see #getBody()
68 * @generated
69 */
70 void setBody(Expression value);
71
72 /**
73 * Returns the value of the '<em><b>Functional</b></em>' attribute.
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @return the value of the '<em>Functional</em>' attribute.
77 * @see #setFunctional(boolean)
78 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicateDefinition_Functional()
79 * @model
80 * @generated
81 */
82 boolean isFunctional();
83
84 /**
85 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isFunctional <em>Functional</em>}' attribute.
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @param value the new value of the '<em>Functional</em>' attribute.
89 * @see #isFunctional()
90 * @generated
91 */
92 void setFunctional(boolean value);
93
94 /**
95 * Returns the value of the '<em><b>Error</b></em>' attribute.
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @return the value of the '<em>Error</em>' attribute.
99 * @see #setError(boolean)
100 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getPredicateDefinition_Error()
101 * @model
102 * @generated
103 */
104 boolean isError();
105
106 /**
107 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isError <em>Error</em>}' attribute.
108 * <!-- begin-user-doc -->
109 * <!-- end-user-doc -->
110 * @param value the new value of the '<em>Error</em>' attribute.
111 * @see #isError()
112 * @generated
113 */
114 void setError(boolean value);
115
116} // PredicateDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java
deleted file mode 100644
index 2383bf18..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Problem.java
+++ /dev/null
@@ -1,40 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.common.util.EList;
7
8import org.eclipse.emf.ecore.EObject;
9
10/**
11 * <!-- begin-user-doc -->
12 * A representation of the model object '<em><b>Problem</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * <p>
16 * The following features are supported:
17 * </p>
18 * <ul>
19 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Problem#getStatements <em>Statements</em>}</li>
20 * </ul>
21 *
22 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getProblem()
23 * @model
24 * @generated
25 */
26public interface Problem extends EObject
27{
28 /**
29 * Returns the value of the '<em><b>Statements</b></em>' containment reference list.
30 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Statement}.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Statements</em>' containment reference list.
34 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getProblem_Statements()
35 * @model containment="true"
36 * @generated
37 */
38 EList<Statement> getStatements();
39
40} // Problem
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java
deleted file mode 100644
index 6adb6a9d..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Reference.java
+++ /dev/null
@@ -1,47 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Reference</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.solverLanguage.Reference#getReferred <em>Referred</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getReference()
20 * @model
21 * @generated
22 */
23public interface Reference extends Expression
24{
25 /**
26 * Returns the value of the '<em><b>Referred</b></em>' reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Referred</em>' reference.
30 * @see #setReferred(NamedElement)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getReference_Referred()
32 * @model
33 * @generated
34 */
35 NamedElement getReferred();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.Reference#getReferred <em>Referred</em>}' reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Referred</em>' reference.
42 * @see #getReferred()
43 * @generated
44 */
45 void setReferred(NamedElement value);
46
47} // Reference
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ScopeDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ScopeDefinition.java
deleted file mode 100644
index 42fb6513..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/ScopeDefinition.java
+++ /dev/null
@@ -1,47 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Scope Definition</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.solverLanguage.ScopeDefinition#getType <em>Type</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getScopeDefinition()
20 * @model
21 * @generated
22 */
23public interface ScopeDefinition extends Statement
24{
25 /**
26 * Returns the value of the '<em><b>Type</b></em>' reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Type</em>' reference.
30 * @see #setType(NamedElement)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getScopeDefinition_Type()
32 * @model
33 * @generated
34 */
35 NamedElement getType();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition#getType <em>Type</em>}' reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Type</em>' reference.
42 * @see #getType()
43 * @generated
44 */
45 void setType(NamedElement value);
46
47} // ScopeDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java
deleted file mode 100644
index f6e293b9..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguageFactory.java
+++ /dev/null
@@ -1,458 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.ecore.EFactory;
7
8/**
9 * <!-- begin-user-doc -->
10 * The <b>Factory</b> for the model.
11 * It provides a create method for each non-abstract class of the model.
12 * <!-- end-user-doc -->
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage
14 * @generated
15 */
16public interface SolverLanguageFactory extends EFactory
17{
18 /**
19 * The singleton instance of the factory.
20 * <!-- begin-user-doc -->
21 * <!-- end-user-doc -->
22 * @generated
23 */
24 SolverLanguageFactory eINSTANCE = org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguageFactoryImpl.init();
25
26 /**
27 * Returns a new object of class '<em>Problem</em>'.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return a new object of class '<em>Problem</em>'.
31 * @generated
32 */
33 Problem createProblem();
34
35 /**
36 * Returns a new object of class '<em>Statement</em>'.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @return a new object of class '<em>Statement</em>'.
40 * @generated
41 */
42 Statement createStatement();
43
44 /**
45 * Returns a new object of class '<em>Predicate Definition</em>'.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @return a new object of class '<em>Predicate Definition</em>'.
49 * @generated
50 */
51 PredicateDefinition createPredicateDefinition();
52
53 /**
54 * Returns a new object of class '<em>Unnamed Error Prediate Definition</em>'.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @return a new object of class '<em>Unnamed Error Prediate Definition</em>'.
58 * @generated
59 */
60 UnnamedErrorPrediateDefinition createUnnamedErrorPrediateDefinition();
61
62 /**
63 * Returns a new object of class '<em>Default Definition</em>'.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @return a new object of class '<em>Default Definition</em>'.
67 * @generated
68 */
69 DefaultDefinition createDefaultDefinition();
70
71 /**
72 * Returns a new object of class '<em>Extern Predicate Definition</em>'.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @return a new object of class '<em>Extern Predicate Definition</em>'.
76 * @generated
77 */
78 ExternPredicateDefinition createExternPredicateDefinition();
79
80 /**
81 * Returns a new object of class '<em>Metric Definition</em>'.
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @return a new object of class '<em>Metric Definition</em>'.
85 * @generated
86 */
87 MetricDefinition createMetricDefinition();
88
89 /**
90 * Returns a new object of class '<em>Extern Metric Definition</em>'.
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @return a new object of class '<em>Extern Metric Definition</em>'.
94 * @generated
95 */
96 ExternMetricDefinition createExternMetricDefinition();
97
98 /**
99 * Returns a new object of class '<em>Expression</em>'.
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @return a new object of class '<em>Expression</em>'.
103 * @generated
104 */
105 Expression createExpression();
106
107 /**
108 * Returns a new object of class '<em>If Else</em>'.
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @return a new object of class '<em>If Else</em>'.
112 * @generated
113 */
114 IfElse createIfElse();
115
116 /**
117 * Returns a new object of class '<em>Case</em>'.
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @return a new object of class '<em>Case</em>'.
121 * @generated
122 */
123 Case createCase();
124
125 /**
126 * Returns a new object of class '<em>Count</em>'.
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @return a new object of class '<em>Count</em>'.
130 * @generated
131 */
132 Count createCount();
133
134 /**
135 * Returns a new object of class '<em>Aggregation</em>'.
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @return a new object of class '<em>Aggregation</em>'.
139 * @generated
140 */
141 Aggregation createAggregation();
142
143 /**
144 * Returns a new object of class '<em>Call</em>'.
145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc -->
147 * @return a new object of class '<em>Call</em>'.
148 * @generated
149 */
150 Call createCall();
151
152 /**
153 * Returns a new object of class '<em>Argument List</em>'.
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @return a new object of class '<em>Argument List</em>'.
157 * @generated
158 */
159 ArgumentList createArgumentList();
160
161 /**
162 * Returns a new object of class '<em>Argument</em>'.
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @return a new object of class '<em>Argument</em>'.
166 * @generated
167 */
168 Argument createArgument();
169
170 /**
171 * Returns a new object of class '<em>Expression Argument</em>'.
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @return a new object of class '<em>Expression Argument</em>'.
175 * @generated
176 */
177 ExpressionArgument createExpressionArgument();
178
179 /**
180 * Returns a new object of class '<em>Star Argument</em>'.
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @return a new object of class '<em>Star Argument</em>'.
184 * @generated
185 */
186 StarArgument createStarArgument();
187
188 /**
189 * Returns a new object of class '<em>Typed Argument</em>'.
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @return a new object of class '<em>Typed Argument</em>'.
193 * @generated
194 */
195 TypedArgument createTypedArgument();
196
197 /**
198 * Returns a new object of class '<em>Typed Star Argument</em>'.
199 * <!-- begin-user-doc -->
200 * <!-- end-user-doc -->
201 * @return a new object of class '<em>Typed Star Argument</em>'.
202 * @generated
203 */
204 TypedStarArgument createTypedStarArgument();
205
206 /**
207 * Returns a new object of class '<em>Reference</em>'.
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @return a new object of class '<em>Reference</em>'.
211 * @generated
212 */
213 Reference createReference();
214
215 /**
216 * Returns a new object of class '<em>Interval</em>'.
217 * <!-- begin-user-doc -->
218 * <!-- end-user-doc -->
219 * @return a new object of class '<em>Interval</em>'.
220 * @generated
221 */
222 Interval createInterval();
223
224 /**
225 * Returns a new object of class '<em>Literal</em>'.
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @return a new object of class '<em>Literal</em>'.
229 * @generated
230 */
231 Literal createLiteral();
232
233 /**
234 * Returns a new object of class '<em>Logic Literal</em>'.
235 * <!-- begin-user-doc -->
236 * <!-- end-user-doc -->
237 * @return a new object of class '<em>Logic Literal</em>'.
238 * @generated
239 */
240 LogicLiteral createLogicLiteral();
241
242 /**
243 * Returns a new object of class '<em>Numeric Literal</em>'.
244 * <!-- begin-user-doc -->
245 * <!-- end-user-doc -->
246 * @return a new object of class '<em>Numeric Literal</em>'.
247 * @generated
248 */
249 NumericLiteral createNumericLiteral();
250
251 /**
252 * Returns a new object of class '<em>Infinity Literal</em>'.
253 * <!-- begin-user-doc -->
254 * <!-- end-user-doc -->
255 * @return a new object of class '<em>Infinity Literal</em>'.
256 * @generated
257 */
258 InfinityLiteral createInfinityLiteral();
259
260 /**
261 * Returns a new object of class '<em>Empty Interval Literal</em>'.
262 * <!-- begin-user-doc -->
263 * <!-- end-user-doc -->
264 * @return a new object of class '<em>Empty Interval Literal</em>'.
265 * @generated
266 */
267 EmptyIntervalLiteral createEmptyIntervalLiteral();
268
269 /**
270 * Returns a new object of class '<em>String Literal</em>'.
271 * <!-- begin-user-doc -->
272 * <!-- end-user-doc -->
273 * @return a new object of class '<em>String Literal</em>'.
274 * @generated
275 */
276 StringLiteral createStringLiteral();
277
278 /**
279 * Returns a new object of class '<em>Class Definition</em>'.
280 * <!-- begin-user-doc -->
281 * <!-- end-user-doc -->
282 * @return a new object of class '<em>Class Definition</em>'.
283 * @generated
284 */
285 ClassDefinition createClassDefinition();
286
287 /**
288 * Returns a new object of class '<em>Member Definition</em>'.
289 * <!-- begin-user-doc -->
290 * <!-- end-user-doc -->
291 * @return a new object of class '<em>Member Definition</em>'.
292 * @generated
293 */
294 MemberDefinition createMemberDefinition();
295
296 /**
297 * Returns a new object of class '<em>Multiplicity</em>'.
298 * <!-- begin-user-doc -->
299 * <!-- end-user-doc -->
300 * @return a new object of class '<em>Multiplicity</em>'.
301 * @generated
302 */
303 Multiplicity createMultiplicity();
304
305 /**
306 * Returns a new object of class '<em>Many Multiplicity</em>'.
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @return a new object of class '<em>Many Multiplicity</em>'.
310 * @generated
311 */
312 ManyMultiplicity createManyMultiplicity();
313
314 /**
315 * Returns a new object of class '<em>Exact Multiplicity</em>'.
316 * <!-- begin-user-doc -->
317 * <!-- end-user-doc -->
318 * @return a new object of class '<em>Exact Multiplicity</em>'.
319 * @generated
320 */
321 ExactMultiplicity createExactMultiplicity();
322
323 /**
324 * Returns a new object of class '<em>Bounded Multiplicity</em>'.
325 * <!-- begin-user-doc -->
326 * <!-- end-user-doc -->
327 * @return a new object of class '<em>Bounded Multiplicity</em>'.
328 * @generated
329 */
330 BoundedMultiplicity createBoundedMultiplicity();
331
332 /**
333 * Returns a new object of class '<em>Scope Definition</em>'.
334 * <!-- begin-user-doc -->
335 * <!-- end-user-doc -->
336 * @return a new object of class '<em>Scope Definition</em>'.
337 * @generated
338 */
339 ScopeDefinition createScopeDefinition();
340
341 /**
342 * Returns a new object of class '<em>Exact Scope Definition</em>'.
343 * <!-- begin-user-doc -->
344 * <!-- end-user-doc -->
345 * @return a new object of class '<em>Exact Scope Definition</em>'.
346 * @generated
347 */
348 ExactScopeDefinition createExactScopeDefinition();
349
350 /**
351 * Returns a new object of class '<em>Bounded Scope Definition</em>'.
352 * <!-- begin-user-doc -->
353 * <!-- end-user-doc -->
354 * @return a new object of class '<em>Bounded Scope Definition</em>'.
355 * @generated
356 */
357 BoundedScopeDefinition createBoundedScopeDefinition();
358
359 /**
360 * Returns a new object of class '<em>Lower Bounded Scope Definition</em>'.
361 * <!-- begin-user-doc -->
362 * <!-- end-user-doc -->
363 * @return a new object of class '<em>Lower Bounded Scope Definition</em>'.
364 * @generated
365 */
366 LowerBoundedScopeDefinition createLowerBoundedScopeDefinition();
367
368 /**
369 * Returns a new object of class '<em>Objective Definition</em>'.
370 * <!-- begin-user-doc -->
371 * <!-- end-user-doc -->
372 * @return a new object of class '<em>Objective Definition</em>'.
373 * @generated
374 */
375 ObjectiveDefinition createObjectiveDefinition();
376
377 /**
378 * Returns a new object of class '<em>Named Element</em>'.
379 * <!-- begin-user-doc -->
380 * <!-- end-user-doc -->
381 * @return a new object of class '<em>Named Element</em>'.
382 * @generated
383 */
384 NamedElement createNamedElement();
385
386 /**
387 * Returns a new object of class '<em>Assertion</em>'.
388 * <!-- begin-user-doc -->
389 * <!-- end-user-doc -->
390 * @return a new object of class '<em>Assertion</em>'.
391 * @generated
392 */
393 Assertion createAssertion();
394
395 /**
396 * Returns a new object of class '<em>Disjunction</em>'.
397 * <!-- begin-user-doc -->
398 * <!-- end-user-doc -->
399 * @return a new object of class '<em>Disjunction</em>'.
400 * @generated
401 */
402 Disjunction createDisjunction();
403
404 /**
405 * Returns a new object of class '<em>Switch</em>'.
406 * <!-- begin-user-doc -->
407 * <!-- end-user-doc -->
408 * @return a new object of class '<em>Switch</em>'.
409 * @generated
410 */
411 Switch createSwitch();
412
413 /**
414 * Returns a new object of class '<em>Conjunction</em>'.
415 * <!-- begin-user-doc -->
416 * <!-- end-user-doc -->
417 * @return a new object of class '<em>Conjunction</em>'.
418 * @generated
419 */
420 Conjunction createConjunction();
421
422 /**
423 * Returns a new object of class '<em>Comparison</em>'.
424 * <!-- begin-user-doc -->
425 * <!-- end-user-doc -->
426 * @return a new object of class '<em>Comparison</em>'.
427 * @generated
428 */
429 Comparison createComparison();
430
431 /**
432 * Returns a new object of class '<em>Binary Expression</em>'.
433 * <!-- begin-user-doc -->
434 * <!-- end-user-doc -->
435 * @return a new object of class '<em>Binary Expression</em>'.
436 * @generated
437 */
438 BinaryExpression createBinaryExpression();
439
440 /**
441 * Returns a new object of class '<em>Unary Expression</em>'.
442 * <!-- begin-user-doc -->
443 * <!-- end-user-doc -->
444 * @return a new object of class '<em>Unary Expression</em>'.
445 * @generated
446 */
447 UnaryExpression createUnaryExpression();
448
449 /**
450 * Returns the package supported by this factory.
451 * <!-- begin-user-doc -->
452 * <!-- end-user-doc -->
453 * @return the package supported by this factory.
454 * @generated
455 */
456 SolverLanguagePackage getSolverLanguagePackage();
457
458} //SolverLanguageFactory
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java
deleted file mode 100644
index ac9279c3..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/SolverLanguagePackage.java
+++ /dev/null
@@ -1,4143 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.ecore.EAttribute;
7import org.eclipse.emf.ecore.EClass;
8import org.eclipse.emf.ecore.EEnum;
9import org.eclipse.emf.ecore.EPackage;
10import org.eclipse.emf.ecore.EReference;
11
12/**
13 * <!-- begin-user-doc -->
14 * The <b>Package</b> for the model.
15 * It contains accessors for the meta objects to represent
16 * <ul>
17 * <li>each class,</li>
18 * <li>each feature of each class,</li>
19 * <li>each enum,</li>
20 * <li>and each data type</li>
21 * </ul>
22 * <!-- end-user-doc -->
23 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguageFactory
24 * @model kind="package"
25 * @generated
26 */
27public interface SolverLanguagePackage extends EPackage
28{
29 /**
30 * The package name.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 String eNAME = "solverLanguage";
36
37 /**
38 * The package namespace URI.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @generated
42 */
43 String eNS_URI = "http://www.eclipse.org/viatra/solver/language/SolverLanguage";
44
45 /**
46 * The package namespace name.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @generated
50 */
51 String eNS_PREFIX = "solverLanguage";
52
53 /**
54 * The singleton instance of the package.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 SolverLanguagePackage eINSTANCE = org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl.init();
60
61 /**
62 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl <em>Problem</em>}' class.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl
66 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getProblem()
67 * @generated
68 */
69 int PROBLEM = 0;
70
71 /**
72 * The feature id for the '<em><b>Statements</b></em>' containment reference list.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 * @ordered
77 */
78 int PROBLEM__STATEMENTS = 0;
79
80 /**
81 * The number of structural features of the '<em>Problem</em>' class.
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 * @ordered
86 */
87 int PROBLEM_FEATURE_COUNT = 1;
88
89 /**
90 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl <em>Statement</em>}' class.
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl
94 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStatement()
95 * @generated
96 */
97 int STATEMENT = 1;
98
99 /**
100 * The number of structural features of the '<em>Statement</em>' class.
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 * @ordered
105 */
106 int STATEMENT_FEATURE_COUNT = 0;
107
108 /**
109 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl <em>Predicate Definition</em>}' class.
110 * <!-- begin-user-doc -->
111 * <!-- end-user-doc -->
112 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl
113 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicateDefinition()
114 * @generated
115 */
116 int PREDICATE_DEFINITION = 2;
117
118 /**
119 * The feature id for the '<em><b>Head</b></em>' containment reference.
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 * @ordered
124 */
125 int PREDICATE_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0;
126
127 /**
128 * The feature id for the '<em><b>Body</b></em>' containment reference.
129 * <!-- begin-user-doc -->
130 * <!-- end-user-doc -->
131 * @generated
132 * @ordered
133 */
134 int PREDICATE_DEFINITION__BODY = STATEMENT_FEATURE_COUNT + 1;
135
136 /**
137 * The feature id for the '<em><b>Functional</b></em>' attribute.
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @generated
141 * @ordered
142 */
143 int PREDICATE_DEFINITION__FUNCTIONAL = STATEMENT_FEATURE_COUNT + 2;
144
145 /**
146 * The feature id for the '<em><b>Error</b></em>' attribute.
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 * @ordered
151 */
152 int PREDICATE_DEFINITION__ERROR = STATEMENT_FEATURE_COUNT + 3;
153
154 /**
155 * The number of structural features of the '<em>Predicate Definition</em>' class.
156 * <!-- begin-user-doc -->
157 * <!-- end-user-doc -->
158 * @generated
159 * @ordered
160 */
161 int PREDICATE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 4;
162
163 /**
164 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl <em>Unnamed Error Prediate Definition</em>}' class.
165 * <!-- begin-user-doc -->
166 * <!-- end-user-doc -->
167 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl
168 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnnamedErrorPrediateDefinition()
169 * @generated
170 */
171 int UNNAMED_ERROR_PREDIATE_DEFINITION = 3;
172
173 /**
174 * The feature id for the '<em><b>Argument List</b></em>' containment reference.
175 * <!-- begin-user-doc -->
176 * <!-- end-user-doc -->
177 * @generated
178 * @ordered
179 */
180 int UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST = STATEMENT_FEATURE_COUNT + 0;
181
182 /**
183 * The feature id for the '<em><b>Body</b></em>' containment reference.
184 * <!-- begin-user-doc -->
185 * <!-- end-user-doc -->
186 * @generated
187 * @ordered
188 */
189 int UNNAMED_ERROR_PREDIATE_DEFINITION__BODY = STATEMENT_FEATURE_COUNT + 1;
190
191 /**
192 * The number of structural features of the '<em>Unnamed Error Prediate Definition</em>' class.
193 * <!-- begin-user-doc -->
194 * <!-- end-user-doc -->
195 * @generated
196 * @ordered
197 */
198 int UNNAMED_ERROR_PREDIATE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
199
200 /**
201 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl <em>Default Definition</em>}' class.
202 * <!-- begin-user-doc -->
203 * <!-- end-user-doc -->
204 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl
205 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDefaultDefinition()
206 * @generated
207 */
208 int DEFAULT_DEFINITION = 4;
209
210 /**
211 * The feature id for the '<em><b>Head</b></em>' containment reference.
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @generated
215 * @ordered
216 */
217 int DEFAULT_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0;
218
219 /**
220 * The feature id for the '<em><b>Range</b></em>' containment reference.
221 * <!-- begin-user-doc -->
222 * <!-- end-user-doc -->
223 * @generated
224 * @ordered
225 */
226 int DEFAULT_DEFINITION__RANGE = STATEMENT_FEATURE_COUNT + 1;
227
228 /**
229 * The number of structural features of the '<em>Default Definition</em>' class.
230 * <!-- begin-user-doc -->
231 * <!-- end-user-doc -->
232 * @generated
233 * @ordered
234 */
235 int DEFAULT_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
236
237 /**
238 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl <em>Extern Predicate Definition</em>}' class.
239 * <!-- begin-user-doc -->
240 * <!-- end-user-doc -->
241 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl
242 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternPredicateDefinition()
243 * @generated
244 */
245 int EXTERN_PREDICATE_DEFINITION = 5;
246
247 /**
248 * The feature id for the '<em><b>Head</b></em>' containment reference.
249 * <!-- begin-user-doc -->
250 * <!-- end-user-doc -->
251 * @generated
252 * @ordered
253 */
254 int EXTERN_PREDICATE_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0;
255
256 /**
257 * The number of structural features of the '<em>Extern Predicate Definition</em>' class.
258 * <!-- begin-user-doc -->
259 * <!-- end-user-doc -->
260 * @generated
261 * @ordered
262 */
263 int EXTERN_PREDICATE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1;
264
265 /**
266 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl <em>Metric Definition</em>}' class.
267 * <!-- begin-user-doc -->
268 * <!-- end-user-doc -->
269 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl
270 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetricDefinition()
271 * @generated
272 */
273 int METRIC_DEFINITION = 6;
274
275 /**
276 * The feature id for the '<em><b>Head</b></em>' containment reference.
277 * <!-- begin-user-doc -->
278 * <!-- end-user-doc -->
279 * @generated
280 * @ordered
281 */
282 int METRIC_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 0;
283
284 /**
285 * The feature id for the '<em><b>Body</b></em>' containment reference.
286 * <!-- begin-user-doc -->
287 * <!-- end-user-doc -->
288 * @generated
289 * @ordered
290 */
291 int METRIC_DEFINITION__BODY = STATEMENT_FEATURE_COUNT + 1;
292
293 /**
294 * The feature id for the '<em><b>Type</b></em>' attribute.
295 * <!-- begin-user-doc -->
296 * <!-- end-user-doc -->
297 * @generated
298 * @ordered
299 */
300 int METRIC_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 2;
301
302 /**
303 * The number of structural features of the '<em>Metric Definition</em>' class.
304 * <!-- begin-user-doc -->
305 * <!-- end-user-doc -->
306 * @generated
307 * @ordered
308 */
309 int METRIC_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 3;
310
311 /**
312 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl <em>Extern Metric Definition</em>}' class.
313 * <!-- begin-user-doc -->
314 * <!-- end-user-doc -->
315 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl
316 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternMetricDefinition()
317 * @generated
318 */
319 int EXTERN_METRIC_DEFINITION = 7;
320
321 /**
322 * The feature id for the '<em><b>Type</b></em>' attribute.
323 * <!-- begin-user-doc -->
324 * <!-- end-user-doc -->
325 * @generated
326 * @ordered
327 */
328 int EXTERN_METRIC_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 0;
329
330 /**
331 * The feature id for the '<em><b>Head</b></em>' containment reference.
332 * <!-- begin-user-doc -->
333 * <!-- end-user-doc -->
334 * @generated
335 * @ordered
336 */
337 int EXTERN_METRIC_DEFINITION__HEAD = STATEMENT_FEATURE_COUNT + 1;
338
339 /**
340 * The number of structural features of the '<em>Extern Metric Definition</em>' class.
341 * <!-- begin-user-doc -->
342 * <!-- end-user-doc -->
343 * @generated
344 * @ordered
345 */
346 int EXTERN_METRIC_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
347
348 /**
349 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionImpl <em>Expression</em>}' class.
350 * <!-- begin-user-doc -->
351 * <!-- end-user-doc -->
352 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionImpl
353 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExpression()
354 * @generated
355 */
356 int EXPRESSION = 8;
357
358 /**
359 * The number of structural features of the '<em>Expression</em>' class.
360 * <!-- begin-user-doc -->
361 * <!-- end-user-doc -->
362 * @generated
363 * @ordered
364 */
365 int EXPRESSION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 0;
366
367 /**
368 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl <em>If Else</em>}' class.
369 * <!-- begin-user-doc -->
370 * <!-- end-user-doc -->
371 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl
372 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIfElse()
373 * @generated
374 */
375 int IF_ELSE = 9;
376
377 /**
378 * The feature id for the '<em><b>Condition</b></em>' containment reference.
379 * <!-- begin-user-doc -->
380 * <!-- end-user-doc -->
381 * @generated
382 * @ordered
383 */
384 int IF_ELSE__CONDITION = EXPRESSION_FEATURE_COUNT + 0;
385
386 /**
387 * The feature id for the '<em><b>Then</b></em>' containment reference.
388 * <!-- begin-user-doc -->
389 * <!-- end-user-doc -->
390 * @generated
391 * @ordered
392 */
393 int IF_ELSE__THEN = EXPRESSION_FEATURE_COUNT + 1;
394
395 /**
396 * The feature id for the '<em><b>Else</b></em>' containment reference.
397 * <!-- begin-user-doc -->
398 * <!-- end-user-doc -->
399 * @generated
400 * @ordered
401 */
402 int IF_ELSE__ELSE = EXPRESSION_FEATURE_COUNT + 2;
403
404 /**
405 * The number of structural features of the '<em>If Else</em>' class.
406 * <!-- begin-user-doc -->
407 * <!-- end-user-doc -->
408 * @generated
409 * @ordered
410 */
411 int IF_ELSE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3;
412
413 /**
414 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl <em>Case</em>}' class.
415 * <!-- begin-user-doc -->
416 * <!-- end-user-doc -->
417 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl
418 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCase()
419 * @generated
420 */
421 int CASE = 10;
422
423 /**
424 * The feature id for the '<em><b>Condition</b></em>' containment reference.
425 * <!-- begin-user-doc -->
426 * <!-- end-user-doc -->
427 * @generated
428 * @ordered
429 */
430 int CASE__CONDITION = EXPRESSION_FEATURE_COUNT + 0;
431
432 /**
433 * The feature id for the '<em><b>Body</b></em>' containment reference.
434 * <!-- begin-user-doc -->
435 * <!-- end-user-doc -->
436 * @generated
437 * @ordered
438 */
439 int CASE__BODY = EXPRESSION_FEATURE_COUNT + 1;
440
441 /**
442 * The number of structural features of the '<em>Case</em>' class.
443 * <!-- begin-user-doc -->
444 * <!-- end-user-doc -->
445 * @generated
446 * @ordered
447 */
448 int CASE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2;
449
450 /**
451 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CountImpl <em>Count</em>}' class.
452 * <!-- begin-user-doc -->
453 * <!-- end-user-doc -->
454 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CountImpl
455 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCount()
456 * @generated
457 */
458 int COUNT = 11;
459
460 /**
461 * The feature id for the '<em><b>Body</b></em>' containment reference.
462 * <!-- begin-user-doc -->
463 * <!-- end-user-doc -->
464 * @generated
465 * @ordered
466 */
467 int COUNT__BODY = EXPRESSION_FEATURE_COUNT + 0;
468
469 /**
470 * The number of structural features of the '<em>Count</em>' class.
471 * <!-- begin-user-doc -->
472 * <!-- end-user-doc -->
473 * @generated
474 * @ordered
475 */
476 int COUNT_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
477
478 /**
479 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl <em>Aggregation</em>}' class.
480 * <!-- begin-user-doc -->
481 * <!-- end-user-doc -->
482 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl
483 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAggregation()
484 * @generated
485 */
486 int AGGREGATION = 12;
487
488 /**
489 * The feature id for the '<em><b>Op</b></em>' attribute.
490 * <!-- begin-user-doc -->
491 * <!-- end-user-doc -->
492 * @generated
493 * @ordered
494 */
495 int AGGREGATION__OP = EXPRESSION_FEATURE_COUNT + 0;
496
497 /**
498 * The feature id for the '<em><b>Body</b></em>' containment reference.
499 * <!-- begin-user-doc -->
500 * <!-- end-user-doc -->
501 * @generated
502 * @ordered
503 */
504 int AGGREGATION__BODY = EXPRESSION_FEATURE_COUNT + 1;
505
506 /**
507 * The feature id for the '<em><b>Condition</b></em>' containment reference.
508 * <!-- begin-user-doc -->
509 * <!-- end-user-doc -->
510 * @generated
511 * @ordered
512 */
513 int AGGREGATION__CONDITION = EXPRESSION_FEATURE_COUNT + 2;
514
515 /**
516 * The number of structural features of the '<em>Aggregation</em>' class.
517 * <!-- begin-user-doc -->
518 * <!-- end-user-doc -->
519 * @generated
520 * @ordered
521 */
522 int AGGREGATION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3;
523
524 /**
525 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl <em>Call</em>}' class.
526 * <!-- begin-user-doc -->
527 * <!-- end-user-doc -->
528 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl
529 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCall()
530 * @generated
531 */
532 int CALL = 13;
533
534 /**
535 * The feature id for the '<em><b>Functor</b></em>' containment reference.
536 * <!-- begin-user-doc -->
537 * <!-- end-user-doc -->
538 * @generated
539 * @ordered
540 */
541 int CALL__FUNCTOR = EXPRESSION_FEATURE_COUNT + 0;
542
543 /**
544 * The feature id for the '<em><b>Transitive Closure</b></em>' attribute.
545 * <!-- begin-user-doc -->
546 * <!-- end-user-doc -->
547 * @generated
548 * @ordered
549 */
550 int CALL__TRANSITIVE_CLOSURE = EXPRESSION_FEATURE_COUNT + 1;
551
552 /**
553 * The feature id for the '<em><b>Reflexive Transitive Closure</b></em>' attribute.
554 * <!-- begin-user-doc -->
555 * <!-- end-user-doc -->
556 * @generated
557 * @ordered
558 */
559 int CALL__REFLEXIVE_TRANSITIVE_CLOSURE = EXPRESSION_FEATURE_COUNT + 2;
560
561 /**
562 * The feature id for the '<em><b>Argument List</b></em>' containment reference.
563 * <!-- begin-user-doc -->
564 * <!-- end-user-doc -->
565 * @generated
566 * @ordered
567 */
568 int CALL__ARGUMENT_LIST = EXPRESSION_FEATURE_COUNT + 3;
569
570 /**
571 * The number of structural features of the '<em>Call</em>' class.
572 * <!-- begin-user-doc -->
573 * <!-- end-user-doc -->
574 * @generated
575 * @ordered
576 */
577 int CALL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 4;
578
579 /**
580 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl <em>Argument List</em>}' class.
581 * <!-- begin-user-doc -->
582 * <!-- end-user-doc -->
583 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl
584 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getArgumentList()
585 * @generated
586 */
587 int ARGUMENT_LIST = 14;
588
589 /**
590 * The feature id for the '<em><b>Arguments</b></em>' containment reference list.
591 * <!-- begin-user-doc -->
592 * <!-- end-user-doc -->
593 * @generated
594 * @ordered
595 */
596 int ARGUMENT_LIST__ARGUMENTS = 0;
597
598 /**
599 * The number of structural features of the '<em>Argument List</em>' class.
600 * <!-- begin-user-doc -->
601 * <!-- end-user-doc -->
602 * @generated
603 * @ordered
604 */
605 int ARGUMENT_LIST_FEATURE_COUNT = 1;
606
607 /**
608 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentImpl <em>Argument</em>}' class.
609 * <!-- begin-user-doc -->
610 * <!-- end-user-doc -->
611 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentImpl
612 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getArgument()
613 * @generated
614 */
615 int ARGUMENT = 15;
616
617 /**
618 * The number of structural features of the '<em>Argument</em>' class.
619 * <!-- begin-user-doc -->
620 * <!-- end-user-doc -->
621 * @generated
622 * @ordered
623 */
624 int ARGUMENT_FEATURE_COUNT = 0;
625
626 /**
627 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl <em>Expression Argument</em>}' class.
628 * <!-- begin-user-doc -->
629 * <!-- end-user-doc -->
630 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl
631 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExpressionArgument()
632 * @generated
633 */
634 int EXPRESSION_ARGUMENT = 16;
635
636 /**
637 * The feature id for the '<em><b>Body</b></em>' containment reference.
638 * <!-- begin-user-doc -->
639 * <!-- end-user-doc -->
640 * @generated
641 * @ordered
642 */
643 int EXPRESSION_ARGUMENT__BODY = ARGUMENT_FEATURE_COUNT + 0;
644
645 /**
646 * The number of structural features of the '<em>Expression Argument</em>' class.
647 * <!-- begin-user-doc -->
648 * <!-- end-user-doc -->
649 * @generated
650 * @ordered
651 */
652 int EXPRESSION_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 1;
653
654 /**
655 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StarArgumentImpl <em>Star Argument</em>}' class.
656 * <!-- begin-user-doc -->
657 * <!-- end-user-doc -->
658 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StarArgumentImpl
659 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStarArgument()
660 * @generated
661 */
662 int STAR_ARGUMENT = 17;
663
664 /**
665 * The number of structural features of the '<em>Star Argument</em>' class.
666 * <!-- begin-user-doc -->
667 * <!-- end-user-doc -->
668 * @generated
669 * @ordered
670 */
671 int STAR_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 0;
672
673 /**
674 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl <em>Typed Argument</em>}' class.
675 * <!-- begin-user-doc -->
676 * <!-- end-user-doc -->
677 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl
678 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedArgument()
679 * @generated
680 */
681 int TYPED_ARGUMENT = 18;
682
683 /**
684 * The feature id for the '<em><b>Type</b></em>' reference.
685 * <!-- begin-user-doc -->
686 * <!-- end-user-doc -->
687 * @generated
688 * @ordered
689 */
690 int TYPED_ARGUMENT__TYPE = ARGUMENT_FEATURE_COUNT + 0;
691
692 /**
693 * The feature id for the '<em><b>Variable</b></em>' reference.
694 * <!-- begin-user-doc -->
695 * <!-- end-user-doc -->
696 * @generated
697 * @ordered
698 */
699 int TYPED_ARGUMENT__VARIABLE = ARGUMENT_FEATURE_COUNT + 1;
700
701 /**
702 * The number of structural features of the '<em>Typed Argument</em>' class.
703 * <!-- begin-user-doc -->
704 * <!-- end-user-doc -->
705 * @generated
706 * @ordered
707 */
708 int TYPED_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 2;
709
710 /**
711 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl <em>Typed Star Argument</em>}' class.
712 * <!-- begin-user-doc -->
713 * <!-- end-user-doc -->
714 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl
715 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedStarArgument()
716 * @generated
717 */
718 int TYPED_STAR_ARGUMENT = 19;
719
720 /**
721 * The feature id for the '<em><b>Type</b></em>' reference.
722 * <!-- begin-user-doc -->
723 * <!-- end-user-doc -->
724 * @generated
725 * @ordered
726 */
727 int TYPED_STAR_ARGUMENT__TYPE = ARGUMENT_FEATURE_COUNT + 0;
728
729 /**
730 * The number of structural features of the '<em>Typed Star Argument</em>' class.
731 * <!-- begin-user-doc -->
732 * <!-- end-user-doc -->
733 * @generated
734 * @ordered
735 */
736 int TYPED_STAR_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 1;
737
738 /**
739 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl <em>Reference</em>}' class.
740 * <!-- begin-user-doc -->
741 * <!-- end-user-doc -->
742 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl
743 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getReference()
744 * @generated
745 */
746 int REFERENCE = 20;
747
748 /**
749 * The feature id for the '<em><b>Referred</b></em>' reference.
750 * <!-- begin-user-doc -->
751 * <!-- end-user-doc -->
752 * @generated
753 * @ordered
754 */
755 int REFERENCE__REFERRED = EXPRESSION_FEATURE_COUNT + 0;
756
757 /**
758 * The number of structural features of the '<em>Reference</em>' class.
759 * <!-- begin-user-doc -->
760 * <!-- end-user-doc -->
761 * @generated
762 * @ordered
763 */
764 int REFERENCE_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
765
766 /**
767 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl <em>Interval</em>}' class.
768 * <!-- begin-user-doc -->
769 * <!-- end-user-doc -->
770 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl
771 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInterval()
772 * @generated
773 */
774 int INTERVAL = 21;
775
776 /**
777 * The feature id for the '<em><b>Lower Bound</b></em>' containment reference.
778 * <!-- begin-user-doc -->
779 * <!-- end-user-doc -->
780 * @generated
781 * @ordered
782 */
783 int INTERVAL__LOWER_BOUND = EXPRESSION_FEATURE_COUNT + 0;
784
785 /**
786 * The feature id for the '<em><b>Upper Bound</b></em>' containment reference.
787 * <!-- begin-user-doc -->
788 * <!-- end-user-doc -->
789 * @generated
790 * @ordered
791 */
792 int INTERVAL__UPPER_BOUND = EXPRESSION_FEATURE_COUNT + 1;
793
794 /**
795 * The number of structural features of the '<em>Interval</em>' class.
796 * <!-- begin-user-doc -->
797 * <!-- end-user-doc -->
798 * @generated
799 * @ordered
800 */
801 int INTERVAL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2;
802
803 /**
804 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl <em>Literal</em>}' class.
805 * <!-- begin-user-doc -->
806 * <!-- end-user-doc -->
807 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl
808 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLiteral()
809 * @generated
810 */
811 int LITERAL = 22;
812
813 /**
814 * The number of structural features of the '<em>Literal</em>' class.
815 * <!-- begin-user-doc -->
816 * <!-- end-user-doc -->
817 * @generated
818 * @ordered
819 */
820 int LITERAL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 0;
821
822 /**
823 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl <em>Logic Literal</em>}' class.
824 * <!-- begin-user-doc -->
825 * <!-- end-user-doc -->
826 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl
827 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLogicLiteral()
828 * @generated
829 */
830 int LOGIC_LITERAL = 23;
831
832 /**
833 * The feature id for the '<em><b>Value</b></em>' attribute.
834 * <!-- begin-user-doc -->
835 * <!-- end-user-doc -->
836 * @generated
837 * @ordered
838 */
839 int LOGIC_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0;
840
841 /**
842 * The number of structural features of the '<em>Logic Literal</em>' class.
843 * <!-- begin-user-doc -->
844 * <!-- end-user-doc -->
845 * @generated
846 * @ordered
847 */
848 int LOGIC_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1;
849
850 /**
851 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl <em>Numeric Literal</em>}' class.
852 * <!-- begin-user-doc -->
853 * <!-- end-user-doc -->
854 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl
855 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNumericLiteral()
856 * @generated
857 */
858 int NUMERIC_LITERAL = 24;
859
860 /**
861 * The feature id for the '<em><b>Value</b></em>' attribute.
862 * <!-- begin-user-doc -->
863 * <!-- end-user-doc -->
864 * @generated
865 * @ordered
866 */
867 int NUMERIC_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0;
868
869 /**
870 * The number of structural features of the '<em>Numeric Literal</em>' class.
871 * <!-- begin-user-doc -->
872 * <!-- end-user-doc -->
873 * @generated
874 * @ordered
875 */
876 int NUMERIC_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1;
877
878 /**
879 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.InfinityLiteralImpl <em>Infinity Literal</em>}' class.
880 * <!-- begin-user-doc -->
881 * <!-- end-user-doc -->
882 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.InfinityLiteralImpl
883 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInfinityLiteral()
884 * @generated
885 */
886 int INFINITY_LITERAL = 25;
887
888 /**
889 * The number of structural features of the '<em>Infinity Literal</em>' class.
890 * <!-- begin-user-doc -->
891 * <!-- end-user-doc -->
892 * @generated
893 * @ordered
894 */
895 int INFINITY_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 0;
896
897 /**
898 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EmptyIntervalLiteralImpl <em>Empty Interval Literal</em>}' class.
899 * <!-- begin-user-doc -->
900 * <!-- end-user-doc -->
901 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EmptyIntervalLiteralImpl
902 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEmptyIntervalLiteral()
903 * @generated
904 */
905 int EMPTY_INTERVAL_LITERAL = 26;
906
907 /**
908 * The number of structural features of the '<em>Empty Interval Literal</em>' class.
909 * <!-- begin-user-doc -->
910 * <!-- end-user-doc -->
911 * @generated
912 * @ordered
913 */
914 int EMPTY_INTERVAL_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 0;
915
916 /**
917 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl <em>String Literal</em>}' class.
918 * <!-- begin-user-doc -->
919 * <!-- end-user-doc -->
920 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl
921 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStringLiteral()
922 * @generated
923 */
924 int STRING_LITERAL = 27;
925
926 /**
927 * The feature id for the '<em><b>Value</b></em>' attribute.
928 * <!-- begin-user-doc -->
929 * <!-- end-user-doc -->
930 * @generated
931 * @ordered
932 */
933 int STRING_LITERAL__VALUE = LITERAL_FEATURE_COUNT + 0;
934
935 /**
936 * The number of structural features of the '<em>String Literal</em>' class.
937 * <!-- begin-user-doc -->
938 * <!-- end-user-doc -->
939 * @generated
940 * @ordered
941 */
942 int STRING_LITERAL_FEATURE_COUNT = LITERAL_FEATURE_COUNT + 1;
943
944 /**
945 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl <em>Class Definition</em>}' class.
946 * <!-- begin-user-doc -->
947 * <!-- end-user-doc -->
948 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl
949 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClassDefinition()
950 * @generated
951 */
952 int CLASS_DEFINITION = 28;
953
954 /**
955 * The feature id for the '<em><b>Abstract</b></em>' attribute.
956 * <!-- begin-user-doc -->
957 * <!-- end-user-doc -->
958 * @generated
959 * @ordered
960 */
961 int CLASS_DEFINITION__ABSTRACT = STATEMENT_FEATURE_COUNT + 0;
962
963 /**
964 * The feature id for the '<em><b>Name</b></em>' attribute.
965 * <!-- begin-user-doc -->
966 * <!-- end-user-doc -->
967 * @generated
968 * @ordered
969 */
970 int CLASS_DEFINITION__NAME = STATEMENT_FEATURE_COUNT + 1;
971
972 /**
973 * The feature id for the '<em><b>Superclasses</b></em>' reference list.
974 * <!-- begin-user-doc -->
975 * <!-- end-user-doc -->
976 * @generated
977 * @ordered
978 */
979 int CLASS_DEFINITION__SUPERCLASSES = STATEMENT_FEATURE_COUNT + 2;
980
981 /**
982 * The feature id for the '<em><b>Members</b></em>' containment reference list.
983 * <!-- begin-user-doc -->
984 * <!-- end-user-doc -->
985 * @generated
986 * @ordered
987 */
988 int CLASS_DEFINITION__MEMBERS = STATEMENT_FEATURE_COUNT + 3;
989
990 /**
991 * The number of structural features of the '<em>Class Definition</em>' class.
992 * <!-- begin-user-doc -->
993 * <!-- end-user-doc -->
994 * @generated
995 * @ordered
996 */
997 int CLASS_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 4;
998
999 /**
1000 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl <em>Member Definition</em>}' class.
1001 * <!-- begin-user-doc -->
1002 * <!-- end-user-doc -->
1003 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl
1004 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMemberDefinition()
1005 * @generated
1006 */
1007 int MEMBER_DEFINITION = 29;
1008
1009 /**
1010 * The feature id for the '<em><b>Containment</b></em>' attribute.
1011 * <!-- begin-user-doc -->
1012 * <!-- end-user-doc -->
1013 * @generated
1014 * @ordered
1015 */
1016 int MEMBER_DEFINITION__CONTAINMENT = 0;
1017
1018 /**
1019 * The feature id for the '<em><b>Type</b></em>' reference.
1020 * <!-- begin-user-doc -->
1021 * <!-- end-user-doc -->
1022 * @generated
1023 * @ordered
1024 */
1025 int MEMBER_DEFINITION__TYPE = 1;
1026
1027 /**
1028 * The feature id for the '<em><b>Multiplicity</b></em>' containment reference.
1029 * <!-- begin-user-doc -->
1030 * <!-- end-user-doc -->
1031 * @generated
1032 * @ordered
1033 */
1034 int MEMBER_DEFINITION__MULTIPLICITY = 2;
1035
1036 /**
1037 * The feature id for the '<em><b>Name</b></em>' attribute.
1038 * <!-- begin-user-doc -->
1039 * <!-- end-user-doc -->
1040 * @generated
1041 * @ordered
1042 */
1043 int MEMBER_DEFINITION__NAME = 3;
1044
1045 /**
1046 * The feature id for the '<em><b>Opposite</b></em>' reference.
1047 * <!-- begin-user-doc -->
1048 * <!-- end-user-doc -->
1049 * @generated
1050 * @ordered
1051 */
1052 int MEMBER_DEFINITION__OPPOSITE = 4;
1053
1054 /**
1055 * The number of structural features of the '<em>Member Definition</em>' class.
1056 * <!-- begin-user-doc -->
1057 * <!-- end-user-doc -->
1058 * @generated
1059 * @ordered
1060 */
1061 int MEMBER_DEFINITION_FEATURE_COUNT = 5;
1062
1063 /**
1064 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityImpl <em>Multiplicity</em>}' class.
1065 * <!-- begin-user-doc -->
1066 * <!-- end-user-doc -->
1067 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityImpl
1068 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMultiplicity()
1069 * @generated
1070 */
1071 int MULTIPLICITY = 30;
1072
1073 /**
1074 * The number of structural features of the '<em>Multiplicity</em>' class.
1075 * <!-- begin-user-doc -->
1076 * <!-- end-user-doc -->
1077 * @generated
1078 * @ordered
1079 */
1080 int MULTIPLICITY_FEATURE_COUNT = 0;
1081
1082 /**
1083 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl <em>Many Multiplicity</em>}' class.
1084 * <!-- begin-user-doc -->
1085 * <!-- end-user-doc -->
1086 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl
1087 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getManyMultiplicity()
1088 * @generated
1089 */
1090 int MANY_MULTIPLICITY = 31;
1091
1092 /**
1093 * The number of structural features of the '<em>Many Multiplicity</em>' class.
1094 * <!-- begin-user-doc -->
1095 * <!-- end-user-doc -->
1096 * @generated
1097 * @ordered
1098 */
1099 int MANY_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 0;
1100
1101 /**
1102 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl <em>Exact Multiplicity</em>}' class.
1103 * <!-- begin-user-doc -->
1104 * <!-- end-user-doc -->
1105 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl
1106 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactMultiplicity()
1107 * @generated
1108 */
1109 int EXACT_MULTIPLICITY = 32;
1110
1111 /**
1112 * The feature id for the '<em><b>Multiplicity</b></em>' attribute.
1113 * <!-- begin-user-doc -->
1114 * <!-- end-user-doc -->
1115 * @generated
1116 * @ordered
1117 */
1118 int EXACT_MULTIPLICITY__MULTIPLICITY = MULTIPLICITY_FEATURE_COUNT + 0;
1119
1120 /**
1121 * The number of structural features of the '<em>Exact Multiplicity</em>' class.
1122 * <!-- begin-user-doc -->
1123 * <!-- end-user-doc -->
1124 * @generated
1125 * @ordered
1126 */
1127 int EXACT_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 1;
1128
1129 /**
1130 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl <em>Bounded Multiplicity</em>}' class.
1131 * <!-- begin-user-doc -->
1132 * <!-- end-user-doc -->
1133 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl
1134 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedMultiplicity()
1135 * @generated
1136 */
1137 int BOUNDED_MULTIPLICITY = 33;
1138
1139 /**
1140 * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
1141 * <!-- begin-user-doc -->
1142 * <!-- end-user-doc -->
1143 * @generated
1144 * @ordered
1145 */
1146 int BOUNDED_MULTIPLICITY__LOWER_BOUND = MULTIPLICITY_FEATURE_COUNT + 0;
1147
1148 /**
1149 * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
1150 * <!-- begin-user-doc -->
1151 * <!-- end-user-doc -->
1152 * @generated
1153 * @ordered
1154 */
1155 int BOUNDED_MULTIPLICITY__UPPER_BOUND = MULTIPLICITY_FEATURE_COUNT + 1;
1156
1157 /**
1158 * The number of structural features of the '<em>Bounded Multiplicity</em>' class.
1159 * <!-- begin-user-doc -->
1160 * <!-- end-user-doc -->
1161 * @generated
1162 * @ordered
1163 */
1164 int BOUNDED_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 2;
1165
1166 /**
1167 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl <em>Scope Definition</em>}' class.
1168 * <!-- begin-user-doc -->
1169 * <!-- end-user-doc -->
1170 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl
1171 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getScopeDefinition()
1172 * @generated
1173 */
1174 int SCOPE_DEFINITION = 34;
1175
1176 /**
1177 * The feature id for the '<em><b>Type</b></em>' reference.
1178 * <!-- begin-user-doc -->
1179 * <!-- end-user-doc -->
1180 * @generated
1181 * @ordered
1182 */
1183 int SCOPE_DEFINITION__TYPE = STATEMENT_FEATURE_COUNT + 0;
1184
1185 /**
1186 * The number of structural features of the '<em>Scope Definition</em>' class.
1187 * <!-- begin-user-doc -->
1188 * <!-- end-user-doc -->
1189 * @generated
1190 * @ordered
1191 */
1192 int SCOPE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1;
1193
1194 /**
1195 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl <em>Exact Scope Definition</em>}' class.
1196 * <!-- begin-user-doc -->
1197 * <!-- end-user-doc -->
1198 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl
1199 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactScopeDefinition()
1200 * @generated
1201 */
1202 int EXACT_SCOPE_DEFINITION = 35;
1203
1204 /**
1205 * The feature id for the '<em><b>Type</b></em>' reference.
1206 * <!-- begin-user-doc -->
1207 * <!-- end-user-doc -->
1208 * @generated
1209 * @ordered
1210 */
1211 int EXACT_SCOPE_DEFINITION__TYPE = SCOPE_DEFINITION__TYPE;
1212
1213 /**
1214 * The feature id for the '<em><b>Exact Scope</b></em>' attribute.
1215 * <!-- begin-user-doc -->
1216 * <!-- end-user-doc -->
1217 * @generated
1218 * @ordered
1219 */
1220 int EXACT_SCOPE_DEFINITION__EXACT_SCOPE = SCOPE_DEFINITION_FEATURE_COUNT + 0;
1221
1222 /**
1223 * The number of structural features of the '<em>Exact Scope Definition</em>' class.
1224 * <!-- begin-user-doc -->
1225 * <!-- end-user-doc -->
1226 * @generated
1227 * @ordered
1228 */
1229 int EXACT_SCOPE_DEFINITION_FEATURE_COUNT = SCOPE_DEFINITION_FEATURE_COUNT + 1;
1230
1231 /**
1232 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl <em>Bounded Scope Definition</em>}' class.
1233 * <!-- begin-user-doc -->
1234 * <!-- end-user-doc -->
1235 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl
1236 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedScopeDefinition()
1237 * @generated
1238 */
1239 int BOUNDED_SCOPE_DEFINITION = 36;
1240
1241 /**
1242 * The feature id for the '<em><b>Type</b></em>' reference.
1243 * <!-- begin-user-doc -->
1244 * <!-- end-user-doc -->
1245 * @generated
1246 * @ordered
1247 */
1248 int BOUNDED_SCOPE_DEFINITION__TYPE = SCOPE_DEFINITION__TYPE;
1249
1250 /**
1251 * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
1252 * <!-- begin-user-doc -->
1253 * <!-- end-user-doc -->
1254 * @generated
1255 * @ordered
1256 */
1257 int BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = SCOPE_DEFINITION_FEATURE_COUNT + 0;
1258
1259 /**
1260 * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
1261 * <!-- begin-user-doc -->
1262 * <!-- end-user-doc -->
1263 * @generated
1264 * @ordered
1265 */
1266 int BOUNDED_SCOPE_DEFINITION__UPPER_BOUND = SCOPE_DEFINITION_FEATURE_COUNT + 1;
1267
1268 /**
1269 * The number of structural features of the '<em>Bounded Scope Definition</em>' class.
1270 * <!-- begin-user-doc -->
1271 * <!-- end-user-doc -->
1272 * @generated
1273 * @ordered
1274 */
1275 int BOUNDED_SCOPE_DEFINITION_FEATURE_COUNT = SCOPE_DEFINITION_FEATURE_COUNT + 2;
1276
1277 /**
1278 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl <em>Lower Bounded Scope Definition</em>}' class.
1279 * <!-- begin-user-doc -->
1280 * <!-- end-user-doc -->
1281 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl
1282 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLowerBoundedScopeDefinition()
1283 * @generated
1284 */
1285 int LOWER_BOUNDED_SCOPE_DEFINITION = 37;
1286
1287 /**
1288 * The feature id for the '<em><b>Type</b></em>' reference.
1289 * <!-- begin-user-doc -->
1290 * <!-- end-user-doc -->
1291 * @generated
1292 * @ordered
1293 */
1294 int LOWER_BOUNDED_SCOPE_DEFINITION__TYPE = SCOPE_DEFINITION__TYPE;
1295
1296 /**
1297 * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
1298 * <!-- begin-user-doc -->
1299 * <!-- end-user-doc -->
1300 * @generated
1301 * @ordered
1302 */
1303 int LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = SCOPE_DEFINITION_FEATURE_COUNT + 0;
1304
1305 /**
1306 * The number of structural features of the '<em>Lower Bounded Scope Definition</em>' class.
1307 * <!-- begin-user-doc -->
1308 * <!-- end-user-doc -->
1309 * @generated
1310 * @ordered
1311 */
1312 int LOWER_BOUNDED_SCOPE_DEFINITION_FEATURE_COUNT = SCOPE_DEFINITION_FEATURE_COUNT + 1;
1313
1314 /**
1315 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl <em>Objective Definition</em>}' class.
1316 * <!-- begin-user-doc -->
1317 * <!-- end-user-doc -->
1318 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl
1319 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveDefinition()
1320 * @generated
1321 */
1322 int OBJECTIVE_DEFINITION = 38;
1323
1324 /**
1325 * The feature id for the '<em><b>Kind</b></em>' attribute.
1326 * <!-- begin-user-doc -->
1327 * <!-- end-user-doc -->
1328 * @generated
1329 * @ordered
1330 */
1331 int OBJECTIVE_DEFINITION__KIND = STATEMENT_FEATURE_COUNT + 0;
1332
1333 /**
1334 * The feature id for the '<em><b>Objective</b></em>' containment reference.
1335 * <!-- begin-user-doc -->
1336 * <!-- end-user-doc -->
1337 * @generated
1338 * @ordered
1339 */
1340 int OBJECTIVE_DEFINITION__OBJECTIVE = STATEMENT_FEATURE_COUNT + 1;
1341
1342 /**
1343 * The number of structural features of the '<em>Objective Definition</em>' class.
1344 * <!-- begin-user-doc -->
1345 * <!-- end-user-doc -->
1346 * @generated
1347 * @ordered
1348 */
1349 int OBJECTIVE_DEFINITION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
1350
1351 /**
1352 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl <em>Named Element</em>}' class.
1353 * <!-- begin-user-doc -->
1354 * <!-- end-user-doc -->
1355 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl
1356 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNamedElement()
1357 * @generated
1358 */
1359 int NAMED_ELEMENT = 39;
1360
1361 /**
1362 * The feature id for the '<em><b>Name</b></em>' attribute.
1363 * <!-- begin-user-doc -->
1364 * <!-- end-user-doc -->
1365 * @generated
1366 * @ordered
1367 */
1368 int NAMED_ELEMENT__NAME = 0;
1369
1370 /**
1371 * The number of structural features of the '<em>Named Element</em>' class.
1372 * <!-- begin-user-doc -->
1373 * <!-- end-user-doc -->
1374 * @generated
1375 * @ordered
1376 */
1377 int NAMED_ELEMENT_FEATURE_COUNT = 1;
1378
1379 /**
1380 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl <em>Assertion</em>}' class.
1381 * <!-- begin-user-doc -->
1382 * <!-- end-user-doc -->
1383 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl
1384 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAssertion()
1385 * @generated
1386 */
1387 int ASSERTION = 40;
1388
1389 /**
1390 * The feature id for the '<em><b>Body</b></em>' containment reference.
1391 * <!-- begin-user-doc -->
1392 * <!-- end-user-doc -->
1393 * @generated
1394 * @ordered
1395 */
1396 int ASSERTION__BODY = STATEMENT_FEATURE_COUNT + 0;
1397
1398 /**
1399 * The feature id for the '<em><b>Range</b></em>' containment reference.
1400 * <!-- begin-user-doc -->
1401 * <!-- end-user-doc -->
1402 * @generated
1403 * @ordered
1404 */
1405 int ASSERTION__RANGE = STATEMENT_FEATURE_COUNT + 1;
1406
1407 /**
1408 * The number of structural features of the '<em>Assertion</em>' class.
1409 * <!-- begin-user-doc -->
1410 * <!-- end-user-doc -->
1411 * @generated
1412 * @ordered
1413 */
1414 int ASSERTION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
1415
1416 /**
1417 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl <em>Disjunction</em>}' class.
1418 * <!-- begin-user-doc -->
1419 * <!-- end-user-doc -->
1420 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl
1421 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDisjunction()
1422 * @generated
1423 */
1424 int DISJUNCTION = 41;
1425
1426 /**
1427 * The feature id for the '<em><b>Children</b></em>' containment reference list.
1428 * <!-- begin-user-doc -->
1429 * <!-- end-user-doc -->
1430 * @generated
1431 * @ordered
1432 */
1433 int DISJUNCTION__CHILDREN = EXPRESSION_FEATURE_COUNT + 0;
1434
1435 /**
1436 * The number of structural features of the '<em>Disjunction</em>' class.
1437 * <!-- begin-user-doc -->
1438 * <!-- end-user-doc -->
1439 * @generated
1440 * @ordered
1441 */
1442 int DISJUNCTION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
1443
1444 /**
1445 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl <em>Switch</em>}' class.
1446 * <!-- begin-user-doc -->
1447 * <!-- end-user-doc -->
1448 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl
1449 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getSwitch()
1450 * @generated
1451 */
1452 int SWITCH = 42;
1453
1454 /**
1455 * The feature id for the '<em><b>Cases</b></em>' containment reference list.
1456 * <!-- begin-user-doc -->
1457 * <!-- end-user-doc -->
1458 * @generated
1459 * @ordered
1460 */
1461 int SWITCH__CASES = EXPRESSION_FEATURE_COUNT + 0;
1462
1463 /**
1464 * The number of structural features of the '<em>Switch</em>' class.
1465 * <!-- begin-user-doc -->
1466 * <!-- end-user-doc -->
1467 * @generated
1468 * @ordered
1469 */
1470 int SWITCH_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
1471
1472 /**
1473 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl <em>Conjunction</em>}' class.
1474 * <!-- begin-user-doc -->
1475 * <!-- end-user-doc -->
1476 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl
1477 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getConjunction()
1478 * @generated
1479 */
1480 int CONJUNCTION = 43;
1481
1482 /**
1483 * The feature id for the '<em><b>Children</b></em>' containment reference list.
1484 * <!-- begin-user-doc -->
1485 * <!-- end-user-doc -->
1486 * @generated
1487 * @ordered
1488 */
1489 int CONJUNCTION__CHILDREN = EXPRESSION_FEATURE_COUNT + 0;
1490
1491 /**
1492 * The number of structural features of the '<em>Conjunction</em>' class.
1493 * <!-- begin-user-doc -->
1494 * <!-- end-user-doc -->
1495 * @generated
1496 * @ordered
1497 */
1498 int CONJUNCTION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
1499
1500 /**
1501 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl <em>Comparison</em>}' class.
1502 * <!-- begin-user-doc -->
1503 * <!-- end-user-doc -->
1504 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl
1505 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getComparison()
1506 * @generated
1507 */
1508 int COMPARISON = 44;
1509
1510 /**
1511 * The feature id for the '<em><b>Left</b></em>' containment reference.
1512 * <!-- begin-user-doc -->
1513 * <!-- end-user-doc -->
1514 * @generated
1515 * @ordered
1516 */
1517 int COMPARISON__LEFT = EXPRESSION_FEATURE_COUNT + 0;
1518
1519 /**
1520 * The feature id for the '<em><b>Op</b></em>' attribute.
1521 * <!-- begin-user-doc -->
1522 * <!-- end-user-doc -->
1523 * @generated
1524 * @ordered
1525 */
1526 int COMPARISON__OP = EXPRESSION_FEATURE_COUNT + 1;
1527
1528 /**
1529 * The feature id for the '<em><b>Right</b></em>' containment reference.
1530 * <!-- begin-user-doc -->
1531 * <!-- end-user-doc -->
1532 * @generated
1533 * @ordered
1534 */
1535 int COMPARISON__RIGHT = EXPRESSION_FEATURE_COUNT + 2;
1536
1537 /**
1538 * The number of structural features of the '<em>Comparison</em>' class.
1539 * <!-- begin-user-doc -->
1540 * <!-- end-user-doc -->
1541 * @generated
1542 * @ordered
1543 */
1544 int COMPARISON_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3;
1545
1546 /**
1547 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl <em>Binary Expression</em>}' class.
1548 * <!-- begin-user-doc -->
1549 * <!-- end-user-doc -->
1550 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl
1551 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBinaryExpression()
1552 * @generated
1553 */
1554 int BINARY_EXPRESSION = 45;
1555
1556 /**
1557 * The feature id for the '<em><b>Left</b></em>' containment reference.
1558 * <!-- begin-user-doc -->
1559 * <!-- end-user-doc -->
1560 * @generated
1561 * @ordered
1562 */
1563 int BINARY_EXPRESSION__LEFT = EXPRESSION_FEATURE_COUNT + 0;
1564
1565 /**
1566 * The feature id for the '<em><b>Op</b></em>' attribute.
1567 * <!-- begin-user-doc -->
1568 * <!-- end-user-doc -->
1569 * @generated
1570 * @ordered
1571 */
1572 int BINARY_EXPRESSION__OP = EXPRESSION_FEATURE_COUNT + 1;
1573
1574 /**
1575 * The feature id for the '<em><b>Right</b></em>' containment reference.
1576 * <!-- begin-user-doc -->
1577 * <!-- end-user-doc -->
1578 * @generated
1579 * @ordered
1580 */
1581 int BINARY_EXPRESSION__RIGHT = EXPRESSION_FEATURE_COUNT + 2;
1582
1583 /**
1584 * The number of structural features of the '<em>Binary Expression</em>' class.
1585 * <!-- begin-user-doc -->
1586 * <!-- end-user-doc -->
1587 * @generated
1588 * @ordered
1589 */
1590 int BINARY_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3;
1591
1592 /**
1593 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl <em>Unary Expression</em>}' class.
1594 * <!-- begin-user-doc -->
1595 * <!-- end-user-doc -->
1596 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl
1597 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryExpression()
1598 * @generated
1599 */
1600 int UNARY_EXPRESSION = 46;
1601
1602 /**
1603 * The feature id for the '<em><b>Op</b></em>' attribute.
1604 * <!-- begin-user-doc -->
1605 * <!-- end-user-doc -->
1606 * @generated
1607 * @ordered
1608 */
1609 int UNARY_EXPRESSION__OP = EXPRESSION_FEATURE_COUNT + 0;
1610
1611 /**
1612 * The feature id for the '<em><b>Body</b></em>' containment reference.
1613 * <!-- begin-user-doc -->
1614 * <!-- end-user-doc -->
1615 * @generated
1616 * @ordered
1617 */
1618 int UNARY_EXPRESSION__BODY = EXPRESSION_FEATURE_COUNT + 1;
1619
1620 /**
1621 * The number of structural features of the '<em>Unary Expression</em>' class.
1622 * <!-- begin-user-doc -->
1623 * <!-- end-user-doc -->
1624 * @generated
1625 * @ordered
1626 */
1627 int UNARY_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2;
1628
1629 /**
1630 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricType <em>Metric Type</em>}' enum.
1631 * <!-- begin-user-doc -->
1632 * <!-- end-user-doc -->
1633 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricType
1634 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetricType()
1635 * @generated
1636 */
1637 int METRIC_TYPE = 47;
1638
1639 /**
1640 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator <em>Binary Operator</em>}' enum.
1641 * <!-- begin-user-doc -->
1642 * <!-- end-user-doc -->
1643 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator
1644 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBinaryOperator()
1645 * @generated
1646 */
1647 int BINARY_OPERATOR = 48;
1648
1649 /**
1650 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryOp <em>Unary Op</em>}' enum.
1651 * <!-- begin-user-doc -->
1652 * <!-- end-user-doc -->
1653 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOp
1654 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryOp()
1655 * @generated
1656 */
1657 int UNARY_OP = 49;
1658
1659 /**
1660 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.AggregationOp <em>Aggregation Op</em>}' enum.
1661 * <!-- begin-user-doc -->
1662 * <!-- end-user-doc -->
1663 * @see org.eclipse.viatra.solver.language.solverLanguage.AggregationOp
1664 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAggregationOp()
1665 * @generated
1666 */
1667 int AGGREGATION_OP = 50;
1668
1669 /**
1670 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicValue <em>Logic Value</em>}' enum.
1671 * <!-- begin-user-doc -->
1672 * <!-- end-user-doc -->
1673 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicValue
1674 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLogicValue()
1675 * @generated
1676 */
1677 int LOGIC_VALUE = 51;
1678
1679 /**
1680 * The meta object id for the '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind <em>Objective Kind</em>}' enum.
1681 * <!-- begin-user-doc -->
1682 * <!-- end-user-doc -->
1683 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind
1684 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveKind()
1685 * @generated
1686 */
1687 int OBJECTIVE_KIND = 52;
1688
1689
1690 /**
1691 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Problem <em>Problem</em>}'.
1692 * <!-- begin-user-doc -->
1693 * <!-- end-user-doc -->
1694 * @return the meta object for class '<em>Problem</em>'.
1695 * @see org.eclipse.viatra.solver.language.solverLanguage.Problem
1696 * @generated
1697 */
1698 EClass getProblem();
1699
1700 /**
1701 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Problem#getStatements <em>Statements</em>}'.
1702 * <!-- begin-user-doc -->
1703 * <!-- end-user-doc -->
1704 * @return the meta object for the containment reference list '<em>Statements</em>'.
1705 * @see org.eclipse.viatra.solver.language.solverLanguage.Problem#getStatements()
1706 * @see #getProblem()
1707 * @generated
1708 */
1709 EReference getProblem_Statements();
1710
1711 /**
1712 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement <em>Statement</em>}'.
1713 * <!-- begin-user-doc -->
1714 * <!-- end-user-doc -->
1715 * @return the meta object for class '<em>Statement</em>'.
1716 * @see org.eclipse.viatra.solver.language.solverLanguage.Statement
1717 * @generated
1718 */
1719 EClass getStatement();
1720
1721 /**
1722 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition <em>Predicate Definition</em>}'.
1723 * <!-- begin-user-doc -->
1724 * <!-- end-user-doc -->
1725 * @return the meta object for class '<em>Predicate Definition</em>'.
1726 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition
1727 * @generated
1728 */
1729 EClass getPredicateDefinition();
1730
1731 /**
1732 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getHead <em>Head</em>}'.
1733 * <!-- begin-user-doc -->
1734 * <!-- end-user-doc -->
1735 * @return the meta object for the containment reference '<em>Head</em>'.
1736 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getHead()
1737 * @see #getPredicateDefinition()
1738 * @generated
1739 */
1740 EReference getPredicateDefinition_Head();
1741
1742 /**
1743 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getBody <em>Body</em>}'.
1744 * <!-- begin-user-doc -->
1745 * <!-- end-user-doc -->
1746 * @return the meta object for the containment reference '<em>Body</em>'.
1747 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#getBody()
1748 * @see #getPredicateDefinition()
1749 * @generated
1750 */
1751 EReference getPredicateDefinition_Body();
1752
1753 /**
1754 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isFunctional <em>Functional</em>}'.
1755 * <!-- begin-user-doc -->
1756 * <!-- end-user-doc -->
1757 * @return the meta object for the attribute '<em>Functional</em>'.
1758 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isFunctional()
1759 * @see #getPredicateDefinition()
1760 * @generated
1761 */
1762 EAttribute getPredicateDefinition_Functional();
1763
1764 /**
1765 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isError <em>Error</em>}'.
1766 * <!-- begin-user-doc -->
1767 * <!-- end-user-doc -->
1768 * @return the meta object for the attribute '<em>Error</em>'.
1769 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition#isError()
1770 * @see #getPredicateDefinition()
1771 * @generated
1772 */
1773 EAttribute getPredicateDefinition_Error();
1774
1775 /**
1776 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition <em>Unnamed Error Prediate Definition</em>}'.
1777 * <!-- begin-user-doc -->
1778 * <!-- end-user-doc -->
1779 * @return the meta object for class '<em>Unnamed Error Prediate Definition</em>'.
1780 * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition
1781 * @generated
1782 */
1783 EClass getUnnamedErrorPrediateDefinition();
1784
1785 /**
1786 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getArgumentList <em>Argument List</em>}'.
1787 * <!-- begin-user-doc -->
1788 * <!-- end-user-doc -->
1789 * @return the meta object for the containment reference '<em>Argument List</em>'.
1790 * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getArgumentList()
1791 * @see #getUnnamedErrorPrediateDefinition()
1792 * @generated
1793 */
1794 EReference getUnnamedErrorPrediateDefinition_ArgumentList();
1795
1796 /**
1797 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getBody <em>Body</em>}'.
1798 * <!-- begin-user-doc -->
1799 * <!-- end-user-doc -->
1800 * @return the meta object for the containment reference '<em>Body</em>'.
1801 * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getBody()
1802 * @see #getUnnamedErrorPrediateDefinition()
1803 * @generated
1804 */
1805 EReference getUnnamedErrorPrediateDefinition_Body();
1806
1807 /**
1808 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition <em>Default Definition</em>}'.
1809 * <!-- begin-user-doc -->
1810 * <!-- end-user-doc -->
1811 * @return the meta object for class '<em>Default Definition</em>'.
1812 * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition
1813 * @generated
1814 */
1815 EClass getDefaultDefinition();
1816
1817 /**
1818 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getHead <em>Head</em>}'.
1819 * <!-- begin-user-doc -->
1820 * <!-- end-user-doc -->
1821 * @return the meta object for the containment reference '<em>Head</em>'.
1822 * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getHead()
1823 * @see #getDefaultDefinition()
1824 * @generated
1825 */
1826 EReference getDefaultDefinition_Head();
1827
1828 /**
1829 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getRange <em>Range</em>}'.
1830 * <!-- begin-user-doc -->
1831 * <!-- end-user-doc -->
1832 * @return the meta object for the containment reference '<em>Range</em>'.
1833 * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition#getRange()
1834 * @see #getDefaultDefinition()
1835 * @generated
1836 */
1837 EReference getDefaultDefinition_Range();
1838
1839 /**
1840 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition <em>Extern Predicate Definition</em>}'.
1841 * <!-- begin-user-doc -->
1842 * <!-- end-user-doc -->
1843 * @return the meta object for class '<em>Extern Predicate Definition</em>'.
1844 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition
1845 * @generated
1846 */
1847 EClass getExternPredicateDefinition();
1848
1849 /**
1850 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getHead <em>Head</em>}'.
1851 * <!-- begin-user-doc -->
1852 * <!-- end-user-doc -->
1853 * @return the meta object for the containment reference '<em>Head</em>'.
1854 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition#getHead()
1855 * @see #getExternPredicateDefinition()
1856 * @generated
1857 */
1858 EReference getExternPredicateDefinition_Head();
1859
1860 /**
1861 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition <em>Metric Definition</em>}'.
1862 * <!-- begin-user-doc -->
1863 * <!-- end-user-doc -->
1864 * @return the meta object for class '<em>Metric Definition</em>'.
1865 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition
1866 * @generated
1867 */
1868 EClass getMetricDefinition();
1869
1870 /**
1871 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getHead <em>Head</em>}'.
1872 * <!-- begin-user-doc -->
1873 * <!-- end-user-doc -->
1874 * @return the meta object for the containment reference '<em>Head</em>'.
1875 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getHead()
1876 * @see #getMetricDefinition()
1877 * @generated
1878 */
1879 EReference getMetricDefinition_Head();
1880
1881 /**
1882 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getBody <em>Body</em>}'.
1883 * <!-- begin-user-doc -->
1884 * <!-- end-user-doc -->
1885 * @return the meta object for the containment reference '<em>Body</em>'.
1886 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getBody()
1887 * @see #getMetricDefinition()
1888 * @generated
1889 */
1890 EReference getMetricDefinition_Body();
1891
1892 /**
1893 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getType <em>Type</em>}'.
1894 * <!-- begin-user-doc -->
1895 * <!-- end-user-doc -->
1896 * @return the meta object for the attribute '<em>Type</em>'.
1897 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition#getType()
1898 * @see #getMetricDefinition()
1899 * @generated
1900 */
1901 EAttribute getMetricDefinition_Type();
1902
1903 /**
1904 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition <em>Extern Metric Definition</em>}'.
1905 * <!-- begin-user-doc -->
1906 * <!-- end-user-doc -->
1907 * @return the meta object for class '<em>Extern Metric Definition</em>'.
1908 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition
1909 * @generated
1910 */
1911 EClass getExternMetricDefinition();
1912
1913 /**
1914 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getType <em>Type</em>}'.
1915 * <!-- begin-user-doc -->
1916 * <!-- end-user-doc -->
1917 * @return the meta object for the attribute '<em>Type</em>'.
1918 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getType()
1919 * @see #getExternMetricDefinition()
1920 * @generated
1921 */
1922 EAttribute getExternMetricDefinition_Type();
1923
1924 /**
1925 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getHead <em>Head</em>}'.
1926 * <!-- begin-user-doc -->
1927 * <!-- end-user-doc -->
1928 * @return the meta object for the containment reference '<em>Head</em>'.
1929 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition#getHead()
1930 * @see #getExternMetricDefinition()
1931 * @generated
1932 */
1933 EReference getExternMetricDefinition_Head();
1934
1935 /**
1936 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Expression <em>Expression</em>}'.
1937 * <!-- begin-user-doc -->
1938 * <!-- end-user-doc -->
1939 * @return the meta object for class '<em>Expression</em>'.
1940 * @see org.eclipse.viatra.solver.language.solverLanguage.Expression
1941 * @generated
1942 */
1943 EClass getExpression();
1944
1945 /**
1946 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse <em>If Else</em>}'.
1947 * <!-- begin-user-doc -->
1948 * <!-- end-user-doc -->
1949 * @return the meta object for class '<em>If Else</em>'.
1950 * @see org.eclipse.viatra.solver.language.solverLanguage.IfElse
1951 * @generated
1952 */
1953 EClass getIfElse();
1954
1955 /**
1956 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getCondition <em>Condition</em>}'.
1957 * <!-- begin-user-doc -->
1958 * <!-- end-user-doc -->
1959 * @return the meta object for the containment reference '<em>Condition</em>'.
1960 * @see org.eclipse.viatra.solver.language.solverLanguage.IfElse#getCondition()
1961 * @see #getIfElse()
1962 * @generated
1963 */
1964 EReference getIfElse_Condition();
1965
1966 /**
1967 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getThen <em>Then</em>}'.
1968 * <!-- begin-user-doc -->
1969 * <!-- end-user-doc -->
1970 * @return the meta object for the containment reference '<em>Then</em>'.
1971 * @see org.eclipse.viatra.solver.language.solverLanguage.IfElse#getThen()
1972 * @see #getIfElse()
1973 * @generated
1974 */
1975 EReference getIfElse_Then();
1976
1977 /**
1978 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse#getElse <em>Else</em>}'.
1979 * <!-- begin-user-doc -->
1980 * <!-- end-user-doc -->
1981 * @return the meta object for the containment reference '<em>Else</em>'.
1982 * @see org.eclipse.viatra.solver.language.solverLanguage.IfElse#getElse()
1983 * @see #getIfElse()
1984 * @generated
1985 */
1986 EReference getIfElse_Else();
1987
1988 /**
1989 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Case <em>Case</em>}'.
1990 * <!-- begin-user-doc -->
1991 * <!-- end-user-doc -->
1992 * @return the meta object for class '<em>Case</em>'.
1993 * @see org.eclipse.viatra.solver.language.solverLanguage.Case
1994 * @generated
1995 */
1996 EClass getCase();
1997
1998 /**
1999 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Case#getCondition <em>Condition</em>}'.
2000 * <!-- begin-user-doc -->
2001 * <!-- end-user-doc -->
2002 * @return the meta object for the containment reference '<em>Condition</em>'.
2003 * @see org.eclipse.viatra.solver.language.solverLanguage.Case#getCondition()
2004 * @see #getCase()
2005 * @generated
2006 */
2007 EReference getCase_Condition();
2008
2009 /**
2010 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Case#getBody <em>Body</em>}'.
2011 * <!-- begin-user-doc -->
2012 * <!-- end-user-doc -->
2013 * @return the meta object for the containment reference '<em>Body</em>'.
2014 * @see org.eclipse.viatra.solver.language.solverLanguage.Case#getBody()
2015 * @see #getCase()
2016 * @generated
2017 */
2018 EReference getCase_Body();
2019
2020 /**
2021 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Count <em>Count</em>}'.
2022 * <!-- begin-user-doc -->
2023 * <!-- end-user-doc -->
2024 * @return the meta object for class '<em>Count</em>'.
2025 * @see org.eclipse.viatra.solver.language.solverLanguage.Count
2026 * @generated
2027 */
2028 EClass getCount();
2029
2030 /**
2031 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Count#getBody <em>Body</em>}'.
2032 * <!-- begin-user-doc -->
2033 * <!-- end-user-doc -->
2034 * @return the meta object for the containment reference '<em>Body</em>'.
2035 * @see org.eclipse.viatra.solver.language.solverLanguage.Count#getBody()
2036 * @see #getCount()
2037 * @generated
2038 */
2039 EReference getCount_Body();
2040
2041 /**
2042 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation <em>Aggregation</em>}'.
2043 * <!-- begin-user-doc -->
2044 * <!-- end-user-doc -->
2045 * @return the meta object for class '<em>Aggregation</em>'.
2046 * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation
2047 * @generated
2048 */
2049 EClass getAggregation();
2050
2051 /**
2052 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getOp <em>Op</em>}'.
2053 * <!-- begin-user-doc -->
2054 * <!-- end-user-doc -->
2055 * @return the meta object for the attribute '<em>Op</em>'.
2056 * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getOp()
2057 * @see #getAggregation()
2058 * @generated
2059 */
2060 EAttribute getAggregation_Op();
2061
2062 /**
2063 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getBody <em>Body</em>}'.
2064 * <!-- begin-user-doc -->
2065 * <!-- end-user-doc -->
2066 * @return the meta object for the containment reference '<em>Body</em>'.
2067 * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getBody()
2068 * @see #getAggregation()
2069 * @generated
2070 */
2071 EReference getAggregation_Body();
2072
2073 /**
2074 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getCondition <em>Condition</em>}'.
2075 * <!-- begin-user-doc -->
2076 * <!-- end-user-doc -->
2077 * @return the meta object for the containment reference '<em>Condition</em>'.
2078 * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation#getCondition()
2079 * @see #getAggregation()
2080 * @generated
2081 */
2082 EReference getAggregation_Condition();
2083
2084 /**
2085 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Call <em>Call</em>}'.
2086 * <!-- begin-user-doc -->
2087 * <!-- end-user-doc -->
2088 * @return the meta object for class '<em>Call</em>'.
2089 * @see org.eclipse.viatra.solver.language.solverLanguage.Call
2090 * @generated
2091 */
2092 EClass getCall();
2093
2094 /**
2095 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getFunctor <em>Functor</em>}'.
2096 * <!-- begin-user-doc -->
2097 * <!-- end-user-doc -->
2098 * @return the meta object for the containment reference '<em>Functor</em>'.
2099 * @see org.eclipse.viatra.solver.language.solverLanguage.Call#getFunctor()
2100 * @see #getCall()
2101 * @generated
2102 */
2103 EReference getCall_Functor();
2104
2105 /**
2106 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isTransitiveClosure <em>Transitive Closure</em>}'.
2107 * <!-- begin-user-doc -->
2108 * <!-- end-user-doc -->
2109 * @return the meta object for the attribute '<em>Transitive Closure</em>'.
2110 * @see org.eclipse.viatra.solver.language.solverLanguage.Call#isTransitiveClosure()
2111 * @see #getCall()
2112 * @generated
2113 */
2114 EAttribute getCall_TransitiveClosure();
2115
2116 /**
2117 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#isReflexiveTransitiveClosure <em>Reflexive Transitive Closure</em>}'.
2118 * <!-- begin-user-doc -->
2119 * <!-- end-user-doc -->
2120 * @return the meta object for the attribute '<em>Reflexive Transitive Closure</em>'.
2121 * @see org.eclipse.viatra.solver.language.solverLanguage.Call#isReflexiveTransitiveClosure()
2122 * @see #getCall()
2123 * @generated
2124 */
2125 EAttribute getCall_ReflexiveTransitiveClosure();
2126
2127 /**
2128 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList <em>Argument List</em>}'.
2129 * <!-- begin-user-doc -->
2130 * <!-- end-user-doc -->
2131 * @return the meta object for the containment reference '<em>Argument List</em>'.
2132 * @see org.eclipse.viatra.solver.language.solverLanguage.Call#getArgumentList()
2133 * @see #getCall()
2134 * @generated
2135 */
2136 EReference getCall_ArgumentList();
2137
2138 /**
2139 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ArgumentList <em>Argument List</em>}'.
2140 * <!-- begin-user-doc -->
2141 * <!-- end-user-doc -->
2142 * @return the meta object for class '<em>Argument List</em>'.
2143 * @see org.eclipse.viatra.solver.language.solverLanguage.ArgumentList
2144 * @generated
2145 */
2146 EClass getArgumentList();
2147
2148 /**
2149 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ArgumentList#getArguments <em>Arguments</em>}'.
2150 * <!-- begin-user-doc -->
2151 * <!-- end-user-doc -->
2152 * @return the meta object for the containment reference list '<em>Arguments</em>'.
2153 * @see org.eclipse.viatra.solver.language.solverLanguage.ArgumentList#getArguments()
2154 * @see #getArgumentList()
2155 * @generated
2156 */
2157 EReference getArgumentList_Arguments();
2158
2159 /**
2160 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Argument <em>Argument</em>}'.
2161 * <!-- begin-user-doc -->
2162 * <!-- end-user-doc -->
2163 * @return the meta object for class '<em>Argument</em>'.
2164 * @see org.eclipse.viatra.solver.language.solverLanguage.Argument
2165 * @generated
2166 */
2167 EClass getArgument();
2168
2169 /**
2170 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument <em>Expression Argument</em>}'.
2171 * <!-- begin-user-doc -->
2172 * <!-- end-user-doc -->
2173 * @return the meta object for class '<em>Expression Argument</em>'.
2174 * @see org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument
2175 * @generated
2176 */
2177 EClass getExpressionArgument();
2178
2179 /**
2180 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument#getBody <em>Body</em>}'.
2181 * <!-- begin-user-doc -->
2182 * <!-- end-user-doc -->
2183 * @return the meta object for the containment reference '<em>Body</em>'.
2184 * @see org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument#getBody()
2185 * @see #getExpressionArgument()
2186 * @generated
2187 */
2188 EReference getExpressionArgument_Body();
2189
2190 /**
2191 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.StarArgument <em>Star Argument</em>}'.
2192 * <!-- begin-user-doc -->
2193 * <!-- end-user-doc -->
2194 * @return the meta object for class '<em>Star Argument</em>'.
2195 * @see org.eclipse.viatra.solver.language.solverLanguage.StarArgument
2196 * @generated
2197 */
2198 EClass getStarArgument();
2199
2200 /**
2201 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument <em>Typed Argument</em>}'.
2202 * <!-- begin-user-doc -->
2203 * <!-- end-user-doc -->
2204 * @return the meta object for class '<em>Typed Argument</em>'.
2205 * @see org.eclipse.viatra.solver.language.solverLanguage.TypedArgument
2206 * @generated
2207 */
2208 EClass getTypedArgument();
2209
2210 /**
2211 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getType <em>Type</em>}'.
2212 * <!-- begin-user-doc -->
2213 * <!-- end-user-doc -->
2214 * @return the meta object for the reference '<em>Type</em>'.
2215 * @see org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getType()
2216 * @see #getTypedArgument()
2217 * @generated
2218 */
2219 EReference getTypedArgument_Type();
2220
2221 /**
2222 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getVariable <em>Variable</em>}'.
2223 * <!-- begin-user-doc -->
2224 * <!-- end-user-doc -->
2225 * @return the meta object for the reference '<em>Variable</em>'.
2226 * @see org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getVariable()
2227 * @see #getTypedArgument()
2228 * @generated
2229 */
2230 EReference getTypedArgument_Variable();
2231
2232 /**
2233 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument <em>Typed Star Argument</em>}'.
2234 * <!-- begin-user-doc -->
2235 * <!-- end-user-doc -->
2236 * @return the meta object for class '<em>Typed Star Argument</em>'.
2237 * @see org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument
2238 * @generated
2239 */
2240 EClass getTypedStarArgument();
2241
2242 /**
2243 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument#getType <em>Type</em>}'.
2244 * <!-- begin-user-doc -->
2245 * <!-- end-user-doc -->
2246 * @return the meta object for the reference '<em>Type</em>'.
2247 * @see org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument#getType()
2248 * @see #getTypedStarArgument()
2249 * @generated
2250 */
2251 EReference getTypedStarArgument_Type();
2252
2253 /**
2254 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Reference <em>Reference</em>}'.
2255 * <!-- begin-user-doc -->
2256 * <!-- end-user-doc -->
2257 * @return the meta object for class '<em>Reference</em>'.
2258 * @see org.eclipse.viatra.solver.language.solverLanguage.Reference
2259 * @generated
2260 */
2261 EClass getReference();
2262
2263 /**
2264 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Reference#getReferred <em>Referred</em>}'.
2265 * <!-- begin-user-doc -->
2266 * <!-- end-user-doc -->
2267 * @return the meta object for the reference '<em>Referred</em>'.
2268 * @see org.eclipse.viatra.solver.language.solverLanguage.Reference#getReferred()
2269 * @see #getReference()
2270 * @generated
2271 */
2272 EReference getReference_Referred();
2273
2274 /**
2275 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval <em>Interval</em>}'.
2276 * <!-- begin-user-doc -->
2277 * <!-- end-user-doc -->
2278 * @return the meta object for class '<em>Interval</em>'.
2279 * @see org.eclipse.viatra.solver.language.solverLanguage.Interval
2280 * @generated
2281 */
2282 EClass getInterval();
2283
2284 /**
2285 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval#getLowerBound <em>Lower Bound</em>}'.
2286 * <!-- begin-user-doc -->
2287 * <!-- end-user-doc -->
2288 * @return the meta object for the containment reference '<em>Lower Bound</em>'.
2289 * @see org.eclipse.viatra.solver.language.solverLanguage.Interval#getLowerBound()
2290 * @see #getInterval()
2291 * @generated
2292 */
2293 EReference getInterval_LowerBound();
2294
2295 /**
2296 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval#getUpperBound <em>Upper Bound</em>}'.
2297 * <!-- begin-user-doc -->
2298 * <!-- end-user-doc -->
2299 * @return the meta object for the containment reference '<em>Upper Bound</em>'.
2300 * @see org.eclipse.viatra.solver.language.solverLanguage.Interval#getUpperBound()
2301 * @see #getInterval()
2302 * @generated
2303 */
2304 EReference getInterval_UpperBound();
2305
2306 /**
2307 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Literal <em>Literal</em>}'.
2308 * <!-- begin-user-doc -->
2309 * <!-- end-user-doc -->
2310 * @return the meta object for class '<em>Literal</em>'.
2311 * @see org.eclipse.viatra.solver.language.solverLanguage.Literal
2312 * @generated
2313 */
2314 EClass getLiteral();
2315
2316 /**
2317 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral <em>Logic Literal</em>}'.
2318 * <!-- begin-user-doc -->
2319 * <!-- end-user-doc -->
2320 * @return the meta object for class '<em>Logic Literal</em>'.
2321 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral
2322 * @generated
2323 */
2324 EClass getLogicLiteral();
2325
2326 /**
2327 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral#getValue <em>Value</em>}'.
2328 * <!-- begin-user-doc -->
2329 * <!-- end-user-doc -->
2330 * @return the meta object for the attribute '<em>Value</em>'.
2331 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral#getValue()
2332 * @see #getLogicLiteral()
2333 * @generated
2334 */
2335 EAttribute getLogicLiteral_Value();
2336
2337 /**
2338 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral <em>Numeric Literal</em>}'.
2339 * <!-- begin-user-doc -->
2340 * <!-- end-user-doc -->
2341 * @return the meta object for class '<em>Numeric Literal</em>'.
2342 * @see org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral
2343 * @generated
2344 */
2345 EClass getNumericLiteral();
2346
2347 /**
2348 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral#getValue <em>Value</em>}'.
2349 * <!-- begin-user-doc -->
2350 * <!-- end-user-doc -->
2351 * @return the meta object for the attribute '<em>Value</em>'.
2352 * @see org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral#getValue()
2353 * @see #getNumericLiteral()
2354 * @generated
2355 */
2356 EAttribute getNumericLiteral_Value();
2357
2358 /**
2359 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral <em>Infinity Literal</em>}'.
2360 * <!-- begin-user-doc -->
2361 * <!-- end-user-doc -->
2362 * @return the meta object for class '<em>Infinity Literal</em>'.
2363 * @see org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral
2364 * @generated
2365 */
2366 EClass getInfinityLiteral();
2367
2368 /**
2369 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral <em>Empty Interval Literal</em>}'.
2370 * <!-- begin-user-doc -->
2371 * <!-- end-user-doc -->
2372 * @return the meta object for class '<em>Empty Interval Literal</em>'.
2373 * @see org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral
2374 * @generated
2375 */
2376 EClass getEmptyIntervalLiteral();
2377
2378 /**
2379 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.StringLiteral <em>String Literal</em>}'.
2380 * <!-- begin-user-doc -->
2381 * <!-- end-user-doc -->
2382 * @return the meta object for class '<em>String Literal</em>'.
2383 * @see org.eclipse.viatra.solver.language.solverLanguage.StringLiteral
2384 * @generated
2385 */
2386 EClass getStringLiteral();
2387
2388 /**
2389 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.StringLiteral#getValue <em>Value</em>}'.
2390 * <!-- begin-user-doc -->
2391 * <!-- end-user-doc -->
2392 * @return the meta object for the attribute '<em>Value</em>'.
2393 * @see org.eclipse.viatra.solver.language.solverLanguage.StringLiteral#getValue()
2394 * @see #getStringLiteral()
2395 * @generated
2396 */
2397 EAttribute getStringLiteral_Value();
2398
2399 /**
2400 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition <em>Class Definition</em>}'.
2401 * <!-- begin-user-doc -->
2402 * <!-- end-user-doc -->
2403 * @return the meta object for class '<em>Class Definition</em>'.
2404 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition
2405 * @generated
2406 */
2407 EClass getClassDefinition();
2408
2409 /**
2410 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#isAbstract <em>Abstract</em>}'.
2411 * <!-- begin-user-doc -->
2412 * <!-- end-user-doc -->
2413 * @return the meta object for the attribute '<em>Abstract</em>'.
2414 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#isAbstract()
2415 * @see #getClassDefinition()
2416 * @generated
2417 */
2418 EAttribute getClassDefinition_Abstract();
2419
2420 /**
2421 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getName <em>Name</em>}'.
2422 * <!-- begin-user-doc -->
2423 * <!-- end-user-doc -->
2424 * @return the meta object for the attribute '<em>Name</em>'.
2425 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getName()
2426 * @see #getClassDefinition()
2427 * @generated
2428 */
2429 EAttribute getClassDefinition_Name();
2430
2431 /**
2432 * Returns the meta object for the reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getSuperclasses <em>Superclasses</em>}'.
2433 * <!-- begin-user-doc -->
2434 * <!-- end-user-doc -->
2435 * @return the meta object for the reference list '<em>Superclasses</em>'.
2436 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getSuperclasses()
2437 * @see #getClassDefinition()
2438 * @generated
2439 */
2440 EReference getClassDefinition_Superclasses();
2441
2442 /**
2443 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getMembers <em>Members</em>}'.
2444 * <!-- begin-user-doc -->
2445 * <!-- end-user-doc -->
2446 * @return the meta object for the containment reference list '<em>Members</em>'.
2447 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition#getMembers()
2448 * @see #getClassDefinition()
2449 * @generated
2450 */
2451 EReference getClassDefinition_Members();
2452
2453 /**
2454 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition <em>Member Definition</em>}'.
2455 * <!-- begin-user-doc -->
2456 * <!-- end-user-doc -->
2457 * @return the meta object for class '<em>Member Definition</em>'.
2458 * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition
2459 * @generated
2460 */
2461 EClass getMemberDefinition();
2462
2463 /**
2464 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#isContainment <em>Containment</em>}'.
2465 * <!-- begin-user-doc -->
2466 * <!-- end-user-doc -->
2467 * @return the meta object for the attribute '<em>Containment</em>'.
2468 * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#isContainment()
2469 * @see #getMemberDefinition()
2470 * @generated
2471 */
2472 EAttribute getMemberDefinition_Containment();
2473
2474 /**
2475 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getType <em>Type</em>}'.
2476 * <!-- begin-user-doc -->
2477 * <!-- end-user-doc -->
2478 * @return the meta object for the reference '<em>Type</em>'.
2479 * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getType()
2480 * @see #getMemberDefinition()
2481 * @generated
2482 */
2483 EReference getMemberDefinition_Type();
2484
2485 /**
2486 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getMultiplicity <em>Multiplicity</em>}'.
2487 * <!-- begin-user-doc -->
2488 * <!-- end-user-doc -->
2489 * @return the meta object for the containment reference '<em>Multiplicity</em>'.
2490 * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getMultiplicity()
2491 * @see #getMemberDefinition()
2492 * @generated
2493 */
2494 EReference getMemberDefinition_Multiplicity();
2495
2496 /**
2497 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getName <em>Name</em>}'.
2498 * <!-- begin-user-doc -->
2499 * <!-- end-user-doc -->
2500 * @return the meta object for the attribute '<em>Name</em>'.
2501 * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getName()
2502 * @see #getMemberDefinition()
2503 * @generated
2504 */
2505 EAttribute getMemberDefinition_Name();
2506
2507 /**
2508 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getOpposite <em>Opposite</em>}'.
2509 * <!-- begin-user-doc -->
2510 * <!-- end-user-doc -->
2511 * @return the meta object for the reference '<em>Opposite</em>'.
2512 * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition#getOpposite()
2513 * @see #getMemberDefinition()
2514 * @generated
2515 */
2516 EReference getMemberDefinition_Opposite();
2517
2518 /**
2519 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Multiplicity <em>Multiplicity</em>}'.
2520 * <!-- begin-user-doc -->
2521 * <!-- end-user-doc -->
2522 * @return the meta object for class '<em>Multiplicity</em>'.
2523 * @see org.eclipse.viatra.solver.language.solverLanguage.Multiplicity
2524 * @generated
2525 */
2526 EClass getMultiplicity();
2527
2528 /**
2529 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity <em>Many Multiplicity</em>}'.
2530 * <!-- begin-user-doc -->
2531 * <!-- end-user-doc -->
2532 * @return the meta object for class '<em>Many Multiplicity</em>'.
2533 * @see org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity
2534 * @generated
2535 */
2536 EClass getManyMultiplicity();
2537
2538 /**
2539 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity <em>Exact Multiplicity</em>}'.
2540 * <!-- begin-user-doc -->
2541 * <!-- end-user-doc -->
2542 * @return the meta object for class '<em>Exact Multiplicity</em>'.
2543 * @see org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity
2544 * @generated
2545 */
2546 EClass getExactMultiplicity();
2547
2548 /**
2549 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity#getMultiplicity <em>Multiplicity</em>}'.
2550 * <!-- begin-user-doc -->
2551 * <!-- end-user-doc -->
2552 * @return the meta object for the attribute '<em>Multiplicity</em>'.
2553 * @see org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity#getMultiplicity()
2554 * @see #getExactMultiplicity()
2555 * @generated
2556 */
2557 EAttribute getExactMultiplicity_Multiplicity();
2558
2559 /**
2560 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity <em>Bounded Multiplicity</em>}'.
2561 * <!-- begin-user-doc -->
2562 * <!-- end-user-doc -->
2563 * @return the meta object for class '<em>Bounded Multiplicity</em>'.
2564 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity
2565 * @generated
2566 */
2567 EClass getBoundedMultiplicity();
2568
2569 /**
2570 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getLowerBound <em>Lower Bound</em>}'.
2571 * <!-- begin-user-doc -->
2572 * <!-- end-user-doc -->
2573 * @return the meta object for the attribute '<em>Lower Bound</em>'.
2574 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getLowerBound()
2575 * @see #getBoundedMultiplicity()
2576 * @generated
2577 */
2578 EAttribute getBoundedMultiplicity_LowerBound();
2579
2580 /**
2581 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getUpperBound <em>Upper Bound</em>}'.
2582 * <!-- begin-user-doc -->
2583 * <!-- end-user-doc -->
2584 * @return the meta object for the attribute '<em>Upper Bound</em>'.
2585 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity#getUpperBound()
2586 * @see #getBoundedMultiplicity()
2587 * @generated
2588 */
2589 EAttribute getBoundedMultiplicity_UpperBound();
2590
2591 /**
2592 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition <em>Scope Definition</em>}'.
2593 * <!-- begin-user-doc -->
2594 * <!-- end-user-doc -->
2595 * @return the meta object for class '<em>Scope Definition</em>'.
2596 * @see org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition
2597 * @generated
2598 */
2599 EClass getScopeDefinition();
2600
2601 /**
2602 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition#getType <em>Type</em>}'.
2603 * <!-- begin-user-doc -->
2604 * <!-- end-user-doc -->
2605 * @return the meta object for the reference '<em>Type</em>'.
2606 * @see org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition#getType()
2607 * @see #getScopeDefinition()
2608 * @generated
2609 */
2610 EReference getScopeDefinition_Type();
2611
2612 /**
2613 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition <em>Exact Scope Definition</em>}'.
2614 * <!-- begin-user-doc -->
2615 * <!-- end-user-doc -->
2616 * @return the meta object for class '<em>Exact Scope Definition</em>'.
2617 * @see org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition
2618 * @generated
2619 */
2620 EClass getExactScopeDefinition();
2621
2622 /**
2623 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition#getExactScope <em>Exact Scope</em>}'.
2624 * <!-- begin-user-doc -->
2625 * <!-- end-user-doc -->
2626 * @return the meta object for the attribute '<em>Exact Scope</em>'.
2627 * @see org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition#getExactScope()
2628 * @see #getExactScopeDefinition()
2629 * @generated
2630 */
2631 EAttribute getExactScopeDefinition_ExactScope();
2632
2633 /**
2634 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition <em>Bounded Scope Definition</em>}'.
2635 * <!-- begin-user-doc -->
2636 * <!-- end-user-doc -->
2637 * @return the meta object for class '<em>Bounded Scope Definition</em>'.
2638 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition
2639 * @generated
2640 */
2641 EClass getBoundedScopeDefinition();
2642
2643 /**
2644 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getLowerBound <em>Lower Bound</em>}'.
2645 * <!-- begin-user-doc -->
2646 * <!-- end-user-doc -->
2647 * @return the meta object for the attribute '<em>Lower Bound</em>'.
2648 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getLowerBound()
2649 * @see #getBoundedScopeDefinition()
2650 * @generated
2651 */
2652 EAttribute getBoundedScopeDefinition_LowerBound();
2653
2654 /**
2655 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getUpperBound <em>Upper Bound</em>}'.
2656 * <!-- begin-user-doc -->
2657 * <!-- end-user-doc -->
2658 * @return the meta object for the attribute '<em>Upper Bound</em>'.
2659 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition#getUpperBound()
2660 * @see #getBoundedScopeDefinition()
2661 * @generated
2662 */
2663 EAttribute getBoundedScopeDefinition_UpperBound();
2664
2665 /**
2666 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition <em>Lower Bounded Scope Definition</em>}'.
2667 * <!-- begin-user-doc -->
2668 * <!-- end-user-doc -->
2669 * @return the meta object for class '<em>Lower Bounded Scope Definition</em>'.
2670 * @see org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition
2671 * @generated
2672 */
2673 EClass getLowerBoundedScopeDefinition();
2674
2675 /**
2676 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition#getLowerBound <em>Lower Bound</em>}'.
2677 * <!-- begin-user-doc -->
2678 * <!-- end-user-doc -->
2679 * @return the meta object for the attribute '<em>Lower Bound</em>'.
2680 * @see org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition#getLowerBound()
2681 * @see #getLowerBoundedScopeDefinition()
2682 * @generated
2683 */
2684 EAttribute getLowerBoundedScopeDefinition_LowerBound();
2685
2686 /**
2687 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition <em>Objective Definition</em>}'.
2688 * <!-- begin-user-doc -->
2689 * <!-- end-user-doc -->
2690 * @return the meta object for class '<em>Objective Definition</em>'.
2691 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition
2692 * @generated
2693 */
2694 EClass getObjectiveDefinition();
2695
2696 /**
2697 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getKind <em>Kind</em>}'.
2698 * <!-- begin-user-doc -->
2699 * <!-- end-user-doc -->
2700 * @return the meta object for the attribute '<em>Kind</em>'.
2701 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getKind()
2702 * @see #getObjectiveDefinition()
2703 * @generated
2704 */
2705 EAttribute getObjectiveDefinition_Kind();
2706
2707 /**
2708 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getObjective <em>Objective</em>}'.
2709 * <!-- begin-user-doc -->
2710 * <!-- end-user-doc -->
2711 * @return the meta object for the containment reference '<em>Objective</em>'.
2712 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition#getObjective()
2713 * @see #getObjectiveDefinition()
2714 * @generated
2715 */
2716 EReference getObjectiveDefinition_Objective();
2717
2718 /**
2719 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement <em>Named Element</em>}'.
2720 * <!-- begin-user-doc -->
2721 * <!-- end-user-doc -->
2722 * @return the meta object for class '<em>Named Element</em>'.
2723 * @see org.eclipse.viatra.solver.language.solverLanguage.NamedElement
2724 * @generated
2725 */
2726 EClass getNamedElement();
2727
2728 /**
2729 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement#getName <em>Name</em>}'.
2730 * <!-- begin-user-doc -->
2731 * <!-- end-user-doc -->
2732 * @return the meta object for the attribute '<em>Name</em>'.
2733 * @see org.eclipse.viatra.solver.language.solverLanguage.NamedElement#getName()
2734 * @see #getNamedElement()
2735 * @generated
2736 */
2737 EAttribute getNamedElement_Name();
2738
2739 /**
2740 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Assertion <em>Assertion</em>}'.
2741 * <!-- begin-user-doc -->
2742 * <!-- end-user-doc -->
2743 * @return the meta object for class '<em>Assertion</em>'.
2744 * @see org.eclipse.viatra.solver.language.solverLanguage.Assertion
2745 * @generated
2746 */
2747 EClass getAssertion();
2748
2749 /**
2750 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Assertion#getBody <em>Body</em>}'.
2751 * <!-- begin-user-doc -->
2752 * <!-- end-user-doc -->
2753 * @return the meta object for the containment reference '<em>Body</em>'.
2754 * @see org.eclipse.viatra.solver.language.solverLanguage.Assertion#getBody()
2755 * @see #getAssertion()
2756 * @generated
2757 */
2758 EReference getAssertion_Body();
2759
2760 /**
2761 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Assertion#getRange <em>Range</em>}'.
2762 * <!-- begin-user-doc -->
2763 * <!-- end-user-doc -->
2764 * @return the meta object for the containment reference '<em>Range</em>'.
2765 * @see org.eclipse.viatra.solver.language.solverLanguage.Assertion#getRange()
2766 * @see #getAssertion()
2767 * @generated
2768 */
2769 EReference getAssertion_Range();
2770
2771 /**
2772 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Disjunction <em>Disjunction</em>}'.
2773 * <!-- begin-user-doc -->
2774 * <!-- end-user-doc -->
2775 * @return the meta object for class '<em>Disjunction</em>'.
2776 * @see org.eclipse.viatra.solver.language.solverLanguage.Disjunction
2777 * @generated
2778 */
2779 EClass getDisjunction();
2780
2781 /**
2782 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Disjunction#getChildren <em>Children</em>}'.
2783 * <!-- begin-user-doc -->
2784 * <!-- end-user-doc -->
2785 * @return the meta object for the containment reference list '<em>Children</em>'.
2786 * @see org.eclipse.viatra.solver.language.solverLanguage.Disjunction#getChildren()
2787 * @see #getDisjunction()
2788 * @generated
2789 */
2790 EReference getDisjunction_Children();
2791
2792 /**
2793 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Switch <em>Switch</em>}'.
2794 * <!-- begin-user-doc -->
2795 * <!-- end-user-doc -->
2796 * @return the meta object for class '<em>Switch</em>'.
2797 * @see org.eclipse.viatra.solver.language.solverLanguage.Switch
2798 * @generated
2799 */
2800 EClass getSwitch();
2801
2802 /**
2803 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Switch#getCases <em>Cases</em>}'.
2804 * <!-- begin-user-doc -->
2805 * <!-- end-user-doc -->
2806 * @return the meta object for the containment reference list '<em>Cases</em>'.
2807 * @see org.eclipse.viatra.solver.language.solverLanguage.Switch#getCases()
2808 * @see #getSwitch()
2809 * @generated
2810 */
2811 EReference getSwitch_Cases();
2812
2813 /**
2814 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Conjunction <em>Conjunction</em>}'.
2815 * <!-- begin-user-doc -->
2816 * <!-- end-user-doc -->
2817 * @return the meta object for class '<em>Conjunction</em>'.
2818 * @see org.eclipse.viatra.solver.language.solverLanguage.Conjunction
2819 * @generated
2820 */
2821 EClass getConjunction();
2822
2823 /**
2824 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.solverLanguage.Conjunction#getChildren <em>Children</em>}'.
2825 * <!-- begin-user-doc -->
2826 * <!-- end-user-doc -->
2827 * @return the meta object for the containment reference list '<em>Children</em>'.
2828 * @see org.eclipse.viatra.solver.language.solverLanguage.Conjunction#getChildren()
2829 * @see #getConjunction()
2830 * @generated
2831 */
2832 EReference getConjunction_Children();
2833
2834 /**
2835 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison <em>Comparison</em>}'.
2836 * <!-- begin-user-doc -->
2837 * <!-- end-user-doc -->
2838 * @return the meta object for class '<em>Comparison</em>'.
2839 * @see org.eclipse.viatra.solver.language.solverLanguage.Comparison
2840 * @generated
2841 */
2842 EClass getComparison();
2843
2844 /**
2845 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getLeft <em>Left</em>}'.
2846 * <!-- begin-user-doc -->
2847 * <!-- end-user-doc -->
2848 * @return the meta object for the containment reference '<em>Left</em>'.
2849 * @see org.eclipse.viatra.solver.language.solverLanguage.Comparison#getLeft()
2850 * @see #getComparison()
2851 * @generated
2852 */
2853 EReference getComparison_Left();
2854
2855 /**
2856 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getOp <em>Op</em>}'.
2857 * <!-- begin-user-doc -->
2858 * <!-- end-user-doc -->
2859 * @return the meta object for the attribute '<em>Op</em>'.
2860 * @see org.eclipse.viatra.solver.language.solverLanguage.Comparison#getOp()
2861 * @see #getComparison()
2862 * @generated
2863 */
2864 EAttribute getComparison_Op();
2865
2866 /**
2867 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison#getRight <em>Right</em>}'.
2868 * <!-- begin-user-doc -->
2869 * <!-- end-user-doc -->
2870 * @return the meta object for the containment reference '<em>Right</em>'.
2871 * @see org.eclipse.viatra.solver.language.solverLanguage.Comparison#getRight()
2872 * @see #getComparison()
2873 * @generated
2874 */
2875 EReference getComparison_Right();
2876
2877 /**
2878 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression <em>Binary Expression</em>}'.
2879 * <!-- begin-user-doc -->
2880 * <!-- end-user-doc -->
2881 * @return the meta object for class '<em>Binary Expression</em>'.
2882 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression
2883 * @generated
2884 */
2885 EClass getBinaryExpression();
2886
2887 /**
2888 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getLeft <em>Left</em>}'.
2889 * <!-- begin-user-doc -->
2890 * <!-- end-user-doc -->
2891 * @return the meta object for the containment reference '<em>Left</em>'.
2892 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getLeft()
2893 * @see #getBinaryExpression()
2894 * @generated
2895 */
2896 EReference getBinaryExpression_Left();
2897
2898 /**
2899 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getOp <em>Op</em>}'.
2900 * <!-- begin-user-doc -->
2901 * <!-- end-user-doc -->
2902 * @return the meta object for the attribute '<em>Op</em>'.
2903 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getOp()
2904 * @see #getBinaryExpression()
2905 * @generated
2906 */
2907 EAttribute getBinaryExpression_Op();
2908
2909 /**
2910 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getRight <em>Right</em>}'.
2911 * <!-- begin-user-doc -->
2912 * <!-- end-user-doc -->
2913 * @return the meta object for the containment reference '<em>Right</em>'.
2914 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression#getRight()
2915 * @see #getBinaryExpression()
2916 * @generated
2917 */
2918 EReference getBinaryExpression_Right();
2919
2920 /**
2921 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression <em>Unary Expression</em>}'.
2922 * <!-- begin-user-doc -->
2923 * <!-- end-user-doc -->
2924 * @return the meta object for class '<em>Unary Expression</em>'.
2925 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression
2926 * @generated
2927 */
2928 EClass getUnaryExpression();
2929
2930 /**
2931 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getOp <em>Op</em>}'.
2932 * <!-- begin-user-doc -->
2933 * <!-- end-user-doc -->
2934 * @return the meta object for the attribute '<em>Op</em>'.
2935 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getOp()
2936 * @see #getUnaryExpression()
2937 * @generated
2938 */
2939 EAttribute getUnaryExpression_Op();
2940
2941 /**
2942 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getBody <em>Body</em>}'.
2943 * <!-- begin-user-doc -->
2944 * <!-- end-user-doc -->
2945 * @return the meta object for the containment reference '<em>Body</em>'.
2946 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getBody()
2947 * @see #getUnaryExpression()
2948 * @generated
2949 */
2950 EReference getUnaryExpression_Body();
2951
2952 /**
2953 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricType <em>Metric Type</em>}'.
2954 * <!-- begin-user-doc -->
2955 * <!-- end-user-doc -->
2956 * @return the meta object for enum '<em>Metric Type</em>'.
2957 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricType
2958 * @generated
2959 */
2960 EEnum getMetricType();
2961
2962 /**
2963 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator <em>Binary Operator</em>}'.
2964 * <!-- begin-user-doc -->
2965 * <!-- end-user-doc -->
2966 * @return the meta object for enum '<em>Binary Operator</em>'.
2967 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator
2968 * @generated
2969 */
2970 EEnum getBinaryOperator();
2971
2972 /**
2973 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryOp <em>Unary Op</em>}'.
2974 * <!-- begin-user-doc -->
2975 * <!-- end-user-doc -->
2976 * @return the meta object for enum '<em>Unary Op</em>'.
2977 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOp
2978 * @generated
2979 */
2980 EEnum getUnaryOp();
2981
2982 /**
2983 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.AggregationOp <em>Aggregation Op</em>}'.
2984 * <!-- begin-user-doc -->
2985 * <!-- end-user-doc -->
2986 * @return the meta object for enum '<em>Aggregation Op</em>'.
2987 * @see org.eclipse.viatra.solver.language.solverLanguage.AggregationOp
2988 * @generated
2989 */
2990 EEnum getAggregationOp();
2991
2992 /**
2993 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicValue <em>Logic Value</em>}'.
2994 * <!-- begin-user-doc -->
2995 * <!-- end-user-doc -->
2996 * @return the meta object for enum '<em>Logic Value</em>'.
2997 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicValue
2998 * @generated
2999 */
3000 EEnum getLogicValue();
3001
3002 /**
3003 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind <em>Objective Kind</em>}'.
3004 * <!-- begin-user-doc -->
3005 * <!-- end-user-doc -->
3006 * @return the meta object for enum '<em>Objective Kind</em>'.
3007 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind
3008 * @generated
3009 */
3010 EEnum getObjectiveKind();
3011
3012 /**
3013 * Returns the factory that creates the instances of the model.
3014 * <!-- begin-user-doc -->
3015 * <!-- end-user-doc -->
3016 * @return the factory that creates the instances of the model.
3017 * @generated
3018 */
3019 SolverLanguageFactory getSolverLanguageFactory();
3020
3021 /**
3022 * <!-- begin-user-doc -->
3023 * Defines literals for the meta objects that represent
3024 * <ul>
3025 * <li>each class,</li>
3026 * <li>each feature of each class,</li>
3027 * <li>each enum,</li>
3028 * <li>and each data type</li>
3029 * </ul>
3030 * <!-- end-user-doc -->
3031 * @generated
3032 */
3033 interface Literals
3034 {
3035 /**
3036 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl <em>Problem</em>}' class.
3037 * <!-- begin-user-doc -->
3038 * <!-- end-user-doc -->
3039 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl
3040 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getProblem()
3041 * @generated
3042 */
3043 EClass PROBLEM = eINSTANCE.getProblem();
3044
3045 /**
3046 * The meta object literal for the '<em><b>Statements</b></em>' containment reference list feature.
3047 * <!-- begin-user-doc -->
3048 * <!-- end-user-doc -->
3049 * @generated
3050 */
3051 EReference PROBLEM__STATEMENTS = eINSTANCE.getProblem_Statements();
3052
3053 /**
3054 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl <em>Statement</em>}' class.
3055 * <!-- begin-user-doc -->
3056 * <!-- end-user-doc -->
3057 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StatementImpl
3058 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStatement()
3059 * @generated
3060 */
3061 EClass STATEMENT = eINSTANCE.getStatement();
3062
3063 /**
3064 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl <em>Predicate Definition</em>}' class.
3065 * <!-- begin-user-doc -->
3066 * <!-- end-user-doc -->
3067 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl
3068 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getPredicateDefinition()
3069 * @generated
3070 */
3071 EClass PREDICATE_DEFINITION = eINSTANCE.getPredicateDefinition();
3072
3073 /**
3074 * The meta object literal for the '<em><b>Head</b></em>' containment reference feature.
3075 * <!-- begin-user-doc -->
3076 * <!-- end-user-doc -->
3077 * @generated
3078 */
3079 EReference PREDICATE_DEFINITION__HEAD = eINSTANCE.getPredicateDefinition_Head();
3080
3081 /**
3082 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
3083 * <!-- begin-user-doc -->
3084 * <!-- end-user-doc -->
3085 * @generated
3086 */
3087 EReference PREDICATE_DEFINITION__BODY = eINSTANCE.getPredicateDefinition_Body();
3088
3089 /**
3090 * The meta object literal for the '<em><b>Functional</b></em>' attribute feature.
3091 * <!-- begin-user-doc -->
3092 * <!-- end-user-doc -->
3093 * @generated
3094 */
3095 EAttribute PREDICATE_DEFINITION__FUNCTIONAL = eINSTANCE.getPredicateDefinition_Functional();
3096
3097 /**
3098 * The meta object literal for the '<em><b>Error</b></em>' attribute feature.
3099 * <!-- begin-user-doc -->
3100 * <!-- end-user-doc -->
3101 * @generated
3102 */
3103 EAttribute PREDICATE_DEFINITION__ERROR = eINSTANCE.getPredicateDefinition_Error();
3104
3105 /**
3106 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl <em>Unnamed Error Prediate Definition</em>}' class.
3107 * <!-- begin-user-doc -->
3108 * <!-- end-user-doc -->
3109 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl
3110 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnnamedErrorPrediateDefinition()
3111 * @generated
3112 */
3113 EClass UNNAMED_ERROR_PREDIATE_DEFINITION = eINSTANCE.getUnnamedErrorPrediateDefinition();
3114
3115 /**
3116 * The meta object literal for the '<em><b>Argument List</b></em>' containment reference feature.
3117 * <!-- begin-user-doc -->
3118 * <!-- end-user-doc -->
3119 * @generated
3120 */
3121 EReference UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST = eINSTANCE.getUnnamedErrorPrediateDefinition_ArgumentList();
3122
3123 /**
3124 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
3125 * <!-- begin-user-doc -->
3126 * <!-- end-user-doc -->
3127 * @generated
3128 */
3129 EReference UNNAMED_ERROR_PREDIATE_DEFINITION__BODY = eINSTANCE.getUnnamedErrorPrediateDefinition_Body();
3130
3131 /**
3132 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl <em>Default Definition</em>}' class.
3133 * <!-- begin-user-doc -->
3134 * <!-- end-user-doc -->
3135 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl
3136 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDefaultDefinition()
3137 * @generated
3138 */
3139 EClass DEFAULT_DEFINITION = eINSTANCE.getDefaultDefinition();
3140
3141 /**
3142 * The meta object literal for the '<em><b>Head</b></em>' containment reference feature.
3143 * <!-- begin-user-doc -->
3144 * <!-- end-user-doc -->
3145 * @generated
3146 */
3147 EReference DEFAULT_DEFINITION__HEAD = eINSTANCE.getDefaultDefinition_Head();
3148
3149 /**
3150 * The meta object literal for the '<em><b>Range</b></em>' containment reference feature.
3151 * <!-- begin-user-doc -->
3152 * <!-- end-user-doc -->
3153 * @generated
3154 */
3155 EReference DEFAULT_DEFINITION__RANGE = eINSTANCE.getDefaultDefinition_Range();
3156
3157 /**
3158 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl <em>Extern Predicate Definition</em>}' class.
3159 * <!-- begin-user-doc -->
3160 * <!-- end-user-doc -->
3161 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl
3162 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternPredicateDefinition()
3163 * @generated
3164 */
3165 EClass EXTERN_PREDICATE_DEFINITION = eINSTANCE.getExternPredicateDefinition();
3166
3167 /**
3168 * The meta object literal for the '<em><b>Head</b></em>' containment reference feature.
3169 * <!-- begin-user-doc -->
3170 * <!-- end-user-doc -->
3171 * @generated
3172 */
3173 EReference EXTERN_PREDICATE_DEFINITION__HEAD = eINSTANCE.getExternPredicateDefinition_Head();
3174
3175 /**
3176 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl <em>Metric Definition</em>}' class.
3177 * <!-- begin-user-doc -->
3178 * <!-- end-user-doc -->
3179 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl
3180 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetricDefinition()
3181 * @generated
3182 */
3183 EClass METRIC_DEFINITION = eINSTANCE.getMetricDefinition();
3184
3185 /**
3186 * The meta object literal for the '<em><b>Head</b></em>' containment reference feature.
3187 * <!-- begin-user-doc -->
3188 * <!-- end-user-doc -->
3189 * @generated
3190 */
3191 EReference METRIC_DEFINITION__HEAD = eINSTANCE.getMetricDefinition_Head();
3192
3193 /**
3194 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
3195 * <!-- begin-user-doc -->
3196 * <!-- end-user-doc -->
3197 * @generated
3198 */
3199 EReference METRIC_DEFINITION__BODY = eINSTANCE.getMetricDefinition_Body();
3200
3201 /**
3202 * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
3203 * <!-- begin-user-doc -->
3204 * <!-- end-user-doc -->
3205 * @generated
3206 */
3207 EAttribute METRIC_DEFINITION__TYPE = eINSTANCE.getMetricDefinition_Type();
3208
3209 /**
3210 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl <em>Extern Metric Definition</em>}' class.
3211 * <!-- begin-user-doc -->
3212 * <!-- end-user-doc -->
3213 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl
3214 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExternMetricDefinition()
3215 * @generated
3216 */
3217 EClass EXTERN_METRIC_DEFINITION = eINSTANCE.getExternMetricDefinition();
3218
3219 /**
3220 * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
3221 * <!-- begin-user-doc -->
3222 * <!-- end-user-doc -->
3223 * @generated
3224 */
3225 EAttribute EXTERN_METRIC_DEFINITION__TYPE = eINSTANCE.getExternMetricDefinition_Type();
3226
3227 /**
3228 * The meta object literal for the '<em><b>Head</b></em>' containment reference feature.
3229 * <!-- begin-user-doc -->
3230 * <!-- end-user-doc -->
3231 * @generated
3232 */
3233 EReference EXTERN_METRIC_DEFINITION__HEAD = eINSTANCE.getExternMetricDefinition_Head();
3234
3235 /**
3236 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionImpl <em>Expression</em>}' class.
3237 * <!-- begin-user-doc -->
3238 * <!-- end-user-doc -->
3239 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionImpl
3240 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExpression()
3241 * @generated
3242 */
3243 EClass EXPRESSION = eINSTANCE.getExpression();
3244
3245 /**
3246 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl <em>If Else</em>}' class.
3247 * <!-- begin-user-doc -->
3248 * <!-- end-user-doc -->
3249 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl
3250 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getIfElse()
3251 * @generated
3252 */
3253 EClass IF_ELSE = eINSTANCE.getIfElse();
3254
3255 /**
3256 * The meta object literal for the '<em><b>Condition</b></em>' containment reference feature.
3257 * <!-- begin-user-doc -->
3258 * <!-- end-user-doc -->
3259 * @generated
3260 */
3261 EReference IF_ELSE__CONDITION = eINSTANCE.getIfElse_Condition();
3262
3263 /**
3264 * The meta object literal for the '<em><b>Then</b></em>' containment reference feature.
3265 * <!-- begin-user-doc -->
3266 * <!-- end-user-doc -->
3267 * @generated
3268 */
3269 EReference IF_ELSE__THEN = eINSTANCE.getIfElse_Then();
3270
3271 /**
3272 * The meta object literal for the '<em><b>Else</b></em>' containment reference feature.
3273 * <!-- begin-user-doc -->
3274 * <!-- end-user-doc -->
3275 * @generated
3276 */
3277 EReference IF_ELSE__ELSE = eINSTANCE.getIfElse_Else();
3278
3279 /**
3280 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl <em>Case</em>}' class.
3281 * <!-- begin-user-doc -->
3282 * <!-- end-user-doc -->
3283 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl
3284 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCase()
3285 * @generated
3286 */
3287 EClass CASE = eINSTANCE.getCase();
3288
3289 /**
3290 * The meta object literal for the '<em><b>Condition</b></em>' containment reference feature.
3291 * <!-- begin-user-doc -->
3292 * <!-- end-user-doc -->
3293 * @generated
3294 */
3295 EReference CASE__CONDITION = eINSTANCE.getCase_Condition();
3296
3297 /**
3298 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
3299 * <!-- begin-user-doc -->
3300 * <!-- end-user-doc -->
3301 * @generated
3302 */
3303 EReference CASE__BODY = eINSTANCE.getCase_Body();
3304
3305 /**
3306 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CountImpl <em>Count</em>}' class.
3307 * <!-- begin-user-doc -->
3308 * <!-- end-user-doc -->
3309 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CountImpl
3310 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCount()
3311 * @generated
3312 */
3313 EClass COUNT = eINSTANCE.getCount();
3314
3315 /**
3316 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
3317 * <!-- begin-user-doc -->
3318 * <!-- end-user-doc -->
3319 * @generated
3320 */
3321 EReference COUNT__BODY = eINSTANCE.getCount_Body();
3322
3323 /**
3324 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl <em>Aggregation</em>}' class.
3325 * <!-- begin-user-doc -->
3326 * <!-- end-user-doc -->
3327 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl
3328 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAggregation()
3329 * @generated
3330 */
3331 EClass AGGREGATION = eINSTANCE.getAggregation();
3332
3333 /**
3334 * The meta object literal for the '<em><b>Op</b></em>' attribute feature.
3335 * <!-- begin-user-doc -->
3336 * <!-- end-user-doc -->
3337 * @generated
3338 */
3339 EAttribute AGGREGATION__OP = eINSTANCE.getAggregation_Op();
3340
3341 /**
3342 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
3343 * <!-- begin-user-doc -->
3344 * <!-- end-user-doc -->
3345 * @generated
3346 */
3347 EReference AGGREGATION__BODY = eINSTANCE.getAggregation_Body();
3348
3349 /**
3350 * The meta object literal for the '<em><b>Condition</b></em>' containment reference feature.
3351 * <!-- begin-user-doc -->
3352 * <!-- end-user-doc -->
3353 * @generated
3354 */
3355 EReference AGGREGATION__CONDITION = eINSTANCE.getAggregation_Condition();
3356
3357 /**
3358 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl <em>Call</em>}' class.
3359 * <!-- begin-user-doc -->
3360 * <!-- end-user-doc -->
3361 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl
3362 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getCall()
3363 * @generated
3364 */
3365 EClass CALL = eINSTANCE.getCall();
3366
3367 /**
3368 * The meta object literal for the '<em><b>Functor</b></em>' containment reference feature.
3369 * <!-- begin-user-doc -->
3370 * <!-- end-user-doc -->
3371 * @generated
3372 */
3373 EReference CALL__FUNCTOR = eINSTANCE.getCall_Functor();
3374
3375 /**
3376 * The meta object literal for the '<em><b>Transitive Closure</b></em>' attribute feature.
3377 * <!-- begin-user-doc -->
3378 * <!-- end-user-doc -->
3379 * @generated
3380 */
3381 EAttribute CALL__TRANSITIVE_CLOSURE = eINSTANCE.getCall_TransitiveClosure();
3382
3383 /**
3384 * The meta object literal for the '<em><b>Reflexive Transitive Closure</b></em>' attribute feature.
3385 * <!-- begin-user-doc -->
3386 * <!-- end-user-doc -->
3387 * @generated
3388 */
3389 EAttribute CALL__REFLEXIVE_TRANSITIVE_CLOSURE = eINSTANCE.getCall_ReflexiveTransitiveClosure();
3390
3391 /**
3392 * The meta object literal for the '<em><b>Argument List</b></em>' containment reference feature.
3393 * <!-- begin-user-doc -->
3394 * <!-- end-user-doc -->
3395 * @generated
3396 */
3397 EReference CALL__ARGUMENT_LIST = eINSTANCE.getCall_ArgumentList();
3398
3399 /**
3400 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl <em>Argument List</em>}' class.
3401 * <!-- begin-user-doc -->
3402 * <!-- end-user-doc -->
3403 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl
3404 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getArgumentList()
3405 * @generated
3406 */
3407 EClass ARGUMENT_LIST = eINSTANCE.getArgumentList();
3408
3409 /**
3410 * The meta object literal for the '<em><b>Arguments</b></em>' containment reference list feature.
3411 * <!-- begin-user-doc -->
3412 * <!-- end-user-doc -->
3413 * @generated
3414 */
3415 EReference ARGUMENT_LIST__ARGUMENTS = eINSTANCE.getArgumentList_Arguments();
3416
3417 /**
3418 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentImpl <em>Argument</em>}' class.
3419 * <!-- begin-user-doc -->
3420 * <!-- end-user-doc -->
3421 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentImpl
3422 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getArgument()
3423 * @generated
3424 */
3425 EClass ARGUMENT = eINSTANCE.getArgument();
3426
3427 /**
3428 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl <em>Expression Argument</em>}' class.
3429 * <!-- begin-user-doc -->
3430 * <!-- end-user-doc -->
3431 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl
3432 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExpressionArgument()
3433 * @generated
3434 */
3435 EClass EXPRESSION_ARGUMENT = eINSTANCE.getExpressionArgument();
3436
3437 /**
3438 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
3439 * <!-- begin-user-doc -->
3440 * <!-- end-user-doc -->
3441 * @generated
3442 */
3443 EReference EXPRESSION_ARGUMENT__BODY = eINSTANCE.getExpressionArgument_Body();
3444
3445 /**
3446 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StarArgumentImpl <em>Star Argument</em>}' class.
3447 * <!-- begin-user-doc -->
3448 * <!-- end-user-doc -->
3449 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StarArgumentImpl
3450 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStarArgument()
3451 * @generated
3452 */
3453 EClass STAR_ARGUMENT = eINSTANCE.getStarArgument();
3454
3455 /**
3456 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl <em>Typed Argument</em>}' class.
3457 * <!-- begin-user-doc -->
3458 * <!-- end-user-doc -->
3459 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl
3460 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedArgument()
3461 * @generated
3462 */
3463 EClass TYPED_ARGUMENT = eINSTANCE.getTypedArgument();
3464
3465 /**
3466 * The meta object literal for the '<em><b>Type</b></em>' reference feature.
3467 * <!-- begin-user-doc -->
3468 * <!-- end-user-doc -->
3469 * @generated
3470 */
3471 EReference TYPED_ARGUMENT__TYPE = eINSTANCE.getTypedArgument_Type();
3472
3473 /**
3474 * The meta object literal for the '<em><b>Variable</b></em>' reference feature.
3475 * <!-- begin-user-doc -->
3476 * <!-- end-user-doc -->
3477 * @generated
3478 */
3479 EReference TYPED_ARGUMENT__VARIABLE = eINSTANCE.getTypedArgument_Variable();
3480
3481 /**
3482 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl <em>Typed Star Argument</em>}' class.
3483 * <!-- begin-user-doc -->
3484 * <!-- end-user-doc -->
3485 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl
3486 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getTypedStarArgument()
3487 * @generated
3488 */
3489 EClass TYPED_STAR_ARGUMENT = eINSTANCE.getTypedStarArgument();
3490
3491 /**
3492 * The meta object literal for the '<em><b>Type</b></em>' reference feature.
3493 * <!-- begin-user-doc -->
3494 * <!-- end-user-doc -->
3495 * @generated
3496 */
3497 EReference TYPED_STAR_ARGUMENT__TYPE = eINSTANCE.getTypedStarArgument_Type();
3498
3499 /**
3500 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl <em>Reference</em>}' class.
3501 * <!-- begin-user-doc -->
3502 * <!-- end-user-doc -->
3503 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl
3504 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getReference()
3505 * @generated
3506 */
3507 EClass REFERENCE = eINSTANCE.getReference();
3508
3509 /**
3510 * The meta object literal for the '<em><b>Referred</b></em>' reference feature.
3511 * <!-- begin-user-doc -->
3512 * <!-- end-user-doc -->
3513 * @generated
3514 */
3515 EReference REFERENCE__REFERRED = eINSTANCE.getReference_Referred();
3516
3517 /**
3518 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl <em>Interval</em>}' class.
3519 * <!-- begin-user-doc -->
3520 * <!-- end-user-doc -->
3521 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl
3522 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInterval()
3523 * @generated
3524 */
3525 EClass INTERVAL = eINSTANCE.getInterval();
3526
3527 /**
3528 * The meta object literal for the '<em><b>Lower Bound</b></em>' containment reference feature.
3529 * <!-- begin-user-doc -->
3530 * <!-- end-user-doc -->
3531 * @generated
3532 */
3533 EReference INTERVAL__LOWER_BOUND = eINSTANCE.getInterval_LowerBound();
3534
3535 /**
3536 * The meta object literal for the '<em><b>Upper Bound</b></em>' containment reference feature.
3537 * <!-- begin-user-doc -->
3538 * <!-- end-user-doc -->
3539 * @generated
3540 */
3541 EReference INTERVAL__UPPER_BOUND = eINSTANCE.getInterval_UpperBound();
3542
3543 /**
3544 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl <em>Literal</em>}' class.
3545 * <!-- begin-user-doc -->
3546 * <!-- end-user-doc -->
3547 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LiteralImpl
3548 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLiteral()
3549 * @generated
3550 */
3551 EClass LITERAL = eINSTANCE.getLiteral();
3552
3553 /**
3554 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl <em>Logic Literal</em>}' class.
3555 * <!-- begin-user-doc -->
3556 * <!-- end-user-doc -->
3557 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl
3558 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLogicLiteral()
3559 * @generated
3560 */
3561 EClass LOGIC_LITERAL = eINSTANCE.getLogicLiteral();
3562
3563 /**
3564 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
3565 * <!-- begin-user-doc -->
3566 * <!-- end-user-doc -->
3567 * @generated
3568 */
3569 EAttribute LOGIC_LITERAL__VALUE = eINSTANCE.getLogicLiteral_Value();
3570
3571 /**
3572 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl <em>Numeric Literal</em>}' class.
3573 * <!-- begin-user-doc -->
3574 * <!-- end-user-doc -->
3575 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl
3576 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNumericLiteral()
3577 * @generated
3578 */
3579 EClass NUMERIC_LITERAL = eINSTANCE.getNumericLiteral();
3580
3581 /**
3582 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
3583 * <!-- begin-user-doc -->
3584 * <!-- end-user-doc -->
3585 * @generated
3586 */
3587 EAttribute NUMERIC_LITERAL__VALUE = eINSTANCE.getNumericLiteral_Value();
3588
3589 /**
3590 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.InfinityLiteralImpl <em>Infinity Literal</em>}' class.
3591 * <!-- begin-user-doc -->
3592 * <!-- end-user-doc -->
3593 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.InfinityLiteralImpl
3594 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getInfinityLiteral()
3595 * @generated
3596 */
3597 EClass INFINITY_LITERAL = eINSTANCE.getInfinityLiteral();
3598
3599 /**
3600 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.EmptyIntervalLiteralImpl <em>Empty Interval Literal</em>}' class.
3601 * <!-- begin-user-doc -->
3602 * <!-- end-user-doc -->
3603 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.EmptyIntervalLiteralImpl
3604 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getEmptyIntervalLiteral()
3605 * @generated
3606 */
3607 EClass EMPTY_INTERVAL_LITERAL = eINSTANCE.getEmptyIntervalLiteral();
3608
3609 /**
3610 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl <em>String Literal</em>}' class.
3611 * <!-- begin-user-doc -->
3612 * <!-- end-user-doc -->
3613 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl
3614 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getStringLiteral()
3615 * @generated
3616 */
3617 EClass STRING_LITERAL = eINSTANCE.getStringLiteral();
3618
3619 /**
3620 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
3621 * <!-- begin-user-doc -->
3622 * <!-- end-user-doc -->
3623 * @generated
3624 */
3625 EAttribute STRING_LITERAL__VALUE = eINSTANCE.getStringLiteral_Value();
3626
3627 /**
3628 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl <em>Class Definition</em>}' class.
3629 * <!-- begin-user-doc -->
3630 * <!-- end-user-doc -->
3631 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl
3632 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getClassDefinition()
3633 * @generated
3634 */
3635 EClass CLASS_DEFINITION = eINSTANCE.getClassDefinition();
3636
3637 /**
3638 * The meta object literal for the '<em><b>Abstract</b></em>' attribute feature.
3639 * <!-- begin-user-doc -->
3640 * <!-- end-user-doc -->
3641 * @generated
3642 */
3643 EAttribute CLASS_DEFINITION__ABSTRACT = eINSTANCE.getClassDefinition_Abstract();
3644
3645 /**
3646 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
3647 * <!-- begin-user-doc -->
3648 * <!-- end-user-doc -->
3649 * @generated
3650 */
3651 EAttribute CLASS_DEFINITION__NAME = eINSTANCE.getClassDefinition_Name();
3652
3653 /**
3654 * The meta object literal for the '<em><b>Superclasses</b></em>' reference list feature.
3655 * <!-- begin-user-doc -->
3656 * <!-- end-user-doc -->
3657 * @generated
3658 */
3659 EReference CLASS_DEFINITION__SUPERCLASSES = eINSTANCE.getClassDefinition_Superclasses();
3660
3661 /**
3662 * The meta object literal for the '<em><b>Members</b></em>' containment reference list feature.
3663 * <!-- begin-user-doc -->
3664 * <!-- end-user-doc -->
3665 * @generated
3666 */
3667 EReference CLASS_DEFINITION__MEMBERS = eINSTANCE.getClassDefinition_Members();
3668
3669 /**
3670 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl <em>Member Definition</em>}' class.
3671 * <!-- begin-user-doc -->
3672 * <!-- end-user-doc -->
3673 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl
3674 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMemberDefinition()
3675 * @generated
3676 */
3677 EClass MEMBER_DEFINITION = eINSTANCE.getMemberDefinition();
3678
3679 /**
3680 * The meta object literal for the '<em><b>Containment</b></em>' attribute feature.
3681 * <!-- begin-user-doc -->
3682 * <!-- end-user-doc -->
3683 * @generated
3684 */
3685 EAttribute MEMBER_DEFINITION__CONTAINMENT = eINSTANCE.getMemberDefinition_Containment();
3686
3687 /**
3688 * The meta object literal for the '<em><b>Type</b></em>' reference feature.
3689 * <!-- begin-user-doc -->
3690 * <!-- end-user-doc -->
3691 * @generated
3692 */
3693 EReference MEMBER_DEFINITION__TYPE = eINSTANCE.getMemberDefinition_Type();
3694
3695 /**
3696 * The meta object literal for the '<em><b>Multiplicity</b></em>' containment reference feature.
3697 * <!-- begin-user-doc -->
3698 * <!-- end-user-doc -->
3699 * @generated
3700 */
3701 EReference MEMBER_DEFINITION__MULTIPLICITY = eINSTANCE.getMemberDefinition_Multiplicity();
3702
3703 /**
3704 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
3705 * <!-- begin-user-doc -->
3706 * <!-- end-user-doc -->
3707 * @generated
3708 */
3709 EAttribute MEMBER_DEFINITION__NAME = eINSTANCE.getMemberDefinition_Name();
3710
3711 /**
3712 * The meta object literal for the '<em><b>Opposite</b></em>' reference feature.
3713 * <!-- begin-user-doc -->
3714 * <!-- end-user-doc -->
3715 * @generated
3716 */
3717 EReference MEMBER_DEFINITION__OPPOSITE = eINSTANCE.getMemberDefinition_Opposite();
3718
3719 /**
3720 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityImpl <em>Multiplicity</em>}' class.
3721 * <!-- begin-user-doc -->
3722 * <!-- end-user-doc -->
3723 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.MultiplicityImpl
3724 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMultiplicity()
3725 * @generated
3726 */
3727 EClass MULTIPLICITY = eINSTANCE.getMultiplicity();
3728
3729 /**
3730 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl <em>Many Multiplicity</em>}' class.
3731 * <!-- begin-user-doc -->
3732 * <!-- end-user-doc -->
3733 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ManyMultiplicityImpl
3734 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getManyMultiplicity()
3735 * @generated
3736 */
3737 EClass MANY_MULTIPLICITY = eINSTANCE.getManyMultiplicity();
3738
3739 /**
3740 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl <em>Exact Multiplicity</em>}' class.
3741 * <!-- begin-user-doc -->
3742 * <!-- end-user-doc -->
3743 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl
3744 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactMultiplicity()
3745 * @generated
3746 */
3747 EClass EXACT_MULTIPLICITY = eINSTANCE.getExactMultiplicity();
3748
3749 /**
3750 * The meta object literal for the '<em><b>Multiplicity</b></em>' attribute feature.
3751 * <!-- begin-user-doc -->
3752 * <!-- end-user-doc -->
3753 * @generated
3754 */
3755 EAttribute EXACT_MULTIPLICITY__MULTIPLICITY = eINSTANCE.getExactMultiplicity_Multiplicity();
3756
3757 /**
3758 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl <em>Bounded Multiplicity</em>}' class.
3759 * <!-- begin-user-doc -->
3760 * <!-- end-user-doc -->
3761 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl
3762 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedMultiplicity()
3763 * @generated
3764 */
3765 EClass BOUNDED_MULTIPLICITY = eINSTANCE.getBoundedMultiplicity();
3766
3767 /**
3768 * The meta object literal for the '<em><b>Lower Bound</b></em>' attribute feature.
3769 * <!-- begin-user-doc -->
3770 * <!-- end-user-doc -->
3771 * @generated
3772 */
3773 EAttribute BOUNDED_MULTIPLICITY__LOWER_BOUND = eINSTANCE.getBoundedMultiplicity_LowerBound();
3774
3775 /**
3776 * The meta object literal for the '<em><b>Upper Bound</b></em>' attribute feature.
3777 * <!-- begin-user-doc -->
3778 * <!-- end-user-doc -->
3779 * @generated
3780 */
3781 EAttribute BOUNDED_MULTIPLICITY__UPPER_BOUND = eINSTANCE.getBoundedMultiplicity_UpperBound();
3782
3783 /**
3784 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl <em>Scope Definition</em>}' class.
3785 * <!-- begin-user-doc -->
3786 * <!-- end-user-doc -->
3787 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl
3788 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getScopeDefinition()
3789 * @generated
3790 */
3791 EClass SCOPE_DEFINITION = eINSTANCE.getScopeDefinition();
3792
3793 /**
3794 * The meta object literal for the '<em><b>Type</b></em>' reference feature.
3795 * <!-- begin-user-doc -->
3796 * <!-- end-user-doc -->
3797 * @generated
3798 */
3799 EReference SCOPE_DEFINITION__TYPE = eINSTANCE.getScopeDefinition_Type();
3800
3801 /**
3802 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl <em>Exact Scope Definition</em>}' class.
3803 * <!-- begin-user-doc -->
3804 * <!-- end-user-doc -->
3805 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl
3806 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getExactScopeDefinition()
3807 * @generated
3808 */
3809 EClass EXACT_SCOPE_DEFINITION = eINSTANCE.getExactScopeDefinition();
3810
3811 /**
3812 * The meta object literal for the '<em><b>Exact Scope</b></em>' attribute feature.
3813 * <!-- begin-user-doc -->
3814 * <!-- end-user-doc -->
3815 * @generated
3816 */
3817 EAttribute EXACT_SCOPE_DEFINITION__EXACT_SCOPE = eINSTANCE.getExactScopeDefinition_ExactScope();
3818
3819 /**
3820 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl <em>Bounded Scope Definition</em>}' class.
3821 * <!-- begin-user-doc -->
3822 * <!-- end-user-doc -->
3823 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl
3824 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBoundedScopeDefinition()
3825 * @generated
3826 */
3827 EClass BOUNDED_SCOPE_DEFINITION = eINSTANCE.getBoundedScopeDefinition();
3828
3829 /**
3830 * The meta object literal for the '<em><b>Lower Bound</b></em>' attribute feature.
3831 * <!-- begin-user-doc -->
3832 * <!-- end-user-doc -->
3833 * @generated
3834 */
3835 EAttribute BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = eINSTANCE.getBoundedScopeDefinition_LowerBound();
3836
3837 /**
3838 * The meta object literal for the '<em><b>Upper Bound</b></em>' attribute feature.
3839 * <!-- begin-user-doc -->
3840 * <!-- end-user-doc -->
3841 * @generated
3842 */
3843 EAttribute BOUNDED_SCOPE_DEFINITION__UPPER_BOUND = eINSTANCE.getBoundedScopeDefinition_UpperBound();
3844
3845 /**
3846 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl <em>Lower Bounded Scope Definition</em>}' class.
3847 * <!-- begin-user-doc -->
3848 * <!-- end-user-doc -->
3849 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl
3850 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLowerBoundedScopeDefinition()
3851 * @generated
3852 */
3853 EClass LOWER_BOUNDED_SCOPE_DEFINITION = eINSTANCE.getLowerBoundedScopeDefinition();
3854
3855 /**
3856 * The meta object literal for the '<em><b>Lower Bound</b></em>' attribute feature.
3857 * <!-- begin-user-doc -->
3858 * <!-- end-user-doc -->
3859 * @generated
3860 */
3861 EAttribute LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND = eINSTANCE.getLowerBoundedScopeDefinition_LowerBound();
3862
3863 /**
3864 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl <em>Objective Definition</em>}' class.
3865 * <!-- begin-user-doc -->
3866 * <!-- end-user-doc -->
3867 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl
3868 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveDefinition()
3869 * @generated
3870 */
3871 EClass OBJECTIVE_DEFINITION = eINSTANCE.getObjectiveDefinition();
3872
3873 /**
3874 * The meta object literal for the '<em><b>Kind</b></em>' attribute feature.
3875 * <!-- begin-user-doc -->
3876 * <!-- end-user-doc -->
3877 * @generated
3878 */
3879 EAttribute OBJECTIVE_DEFINITION__KIND = eINSTANCE.getObjectiveDefinition_Kind();
3880
3881 /**
3882 * The meta object literal for the '<em><b>Objective</b></em>' containment reference feature.
3883 * <!-- begin-user-doc -->
3884 * <!-- end-user-doc -->
3885 * @generated
3886 */
3887 EReference OBJECTIVE_DEFINITION__OBJECTIVE = eINSTANCE.getObjectiveDefinition_Objective();
3888
3889 /**
3890 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl <em>Named Element</em>}' class.
3891 * <!-- begin-user-doc -->
3892 * <!-- end-user-doc -->
3893 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl
3894 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getNamedElement()
3895 * @generated
3896 */
3897 EClass NAMED_ELEMENT = eINSTANCE.getNamedElement();
3898
3899 /**
3900 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
3901 * <!-- begin-user-doc -->
3902 * <!-- end-user-doc -->
3903 * @generated
3904 */
3905 EAttribute NAMED_ELEMENT__NAME = eINSTANCE.getNamedElement_Name();
3906
3907 /**
3908 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl <em>Assertion</em>}' class.
3909 * <!-- begin-user-doc -->
3910 * <!-- end-user-doc -->
3911 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl
3912 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAssertion()
3913 * @generated
3914 */
3915 EClass ASSERTION = eINSTANCE.getAssertion();
3916
3917 /**
3918 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
3919 * <!-- begin-user-doc -->
3920 * <!-- end-user-doc -->
3921 * @generated
3922 */
3923 EReference ASSERTION__BODY = eINSTANCE.getAssertion_Body();
3924
3925 /**
3926 * The meta object literal for the '<em><b>Range</b></em>' containment reference feature.
3927 * <!-- begin-user-doc -->
3928 * <!-- end-user-doc -->
3929 * @generated
3930 */
3931 EReference ASSERTION__RANGE = eINSTANCE.getAssertion_Range();
3932
3933 /**
3934 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl <em>Disjunction</em>}' class.
3935 * <!-- begin-user-doc -->
3936 * <!-- end-user-doc -->
3937 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl
3938 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getDisjunction()
3939 * @generated
3940 */
3941 EClass DISJUNCTION = eINSTANCE.getDisjunction();
3942
3943 /**
3944 * The meta object literal for the '<em><b>Children</b></em>' containment reference list feature.
3945 * <!-- begin-user-doc -->
3946 * <!-- end-user-doc -->
3947 * @generated
3948 */
3949 EReference DISJUNCTION__CHILDREN = eINSTANCE.getDisjunction_Children();
3950
3951 /**
3952 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl <em>Switch</em>}' class.
3953 * <!-- begin-user-doc -->
3954 * <!-- end-user-doc -->
3955 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl
3956 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getSwitch()
3957 * @generated
3958 */
3959 EClass SWITCH = eINSTANCE.getSwitch();
3960
3961 /**
3962 * The meta object literal for the '<em><b>Cases</b></em>' containment reference list feature.
3963 * <!-- begin-user-doc -->
3964 * <!-- end-user-doc -->
3965 * @generated
3966 */
3967 EReference SWITCH__CASES = eINSTANCE.getSwitch_Cases();
3968
3969 /**
3970 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl <em>Conjunction</em>}' class.
3971 * <!-- begin-user-doc -->
3972 * <!-- end-user-doc -->
3973 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl
3974 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getConjunction()
3975 * @generated
3976 */
3977 EClass CONJUNCTION = eINSTANCE.getConjunction();
3978
3979 /**
3980 * The meta object literal for the '<em><b>Children</b></em>' containment reference list feature.
3981 * <!-- begin-user-doc -->
3982 * <!-- end-user-doc -->
3983 * @generated
3984 */
3985 EReference CONJUNCTION__CHILDREN = eINSTANCE.getConjunction_Children();
3986
3987 /**
3988 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl <em>Comparison</em>}' class.
3989 * <!-- begin-user-doc -->
3990 * <!-- end-user-doc -->
3991 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl
3992 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getComparison()
3993 * @generated
3994 */
3995 EClass COMPARISON = eINSTANCE.getComparison();
3996
3997 /**
3998 * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
3999 * <!-- begin-user-doc -->
4000 * <!-- end-user-doc -->
4001 * @generated
4002 */
4003 EReference COMPARISON__LEFT = eINSTANCE.getComparison_Left();
4004
4005 /**
4006 * The meta object literal for the '<em><b>Op</b></em>' attribute feature.
4007 * <!-- begin-user-doc -->
4008 * <!-- end-user-doc -->
4009 * @generated
4010 */
4011 EAttribute COMPARISON__OP = eINSTANCE.getComparison_Op();
4012
4013 /**
4014 * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
4015 * <!-- begin-user-doc -->
4016 * <!-- end-user-doc -->
4017 * @generated
4018 */
4019 EReference COMPARISON__RIGHT = eINSTANCE.getComparison_Right();
4020
4021 /**
4022 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl <em>Binary Expression</em>}' class.
4023 * <!-- begin-user-doc -->
4024 * <!-- end-user-doc -->
4025 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl
4026 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBinaryExpression()
4027 * @generated
4028 */
4029 EClass BINARY_EXPRESSION = eINSTANCE.getBinaryExpression();
4030
4031 /**
4032 * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
4033 * <!-- begin-user-doc -->
4034 * <!-- end-user-doc -->
4035 * @generated
4036 */
4037 EReference BINARY_EXPRESSION__LEFT = eINSTANCE.getBinaryExpression_Left();
4038
4039 /**
4040 * The meta object literal for the '<em><b>Op</b></em>' attribute feature.
4041 * <!-- begin-user-doc -->
4042 * <!-- end-user-doc -->
4043 * @generated
4044 */
4045 EAttribute BINARY_EXPRESSION__OP = eINSTANCE.getBinaryExpression_Op();
4046
4047 /**
4048 * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
4049 * <!-- begin-user-doc -->
4050 * <!-- end-user-doc -->
4051 * @generated
4052 */
4053 EReference BINARY_EXPRESSION__RIGHT = eINSTANCE.getBinaryExpression_Right();
4054
4055 /**
4056 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl <em>Unary Expression</em>}' class.
4057 * <!-- begin-user-doc -->
4058 * <!-- end-user-doc -->
4059 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl
4060 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryExpression()
4061 * @generated
4062 */
4063 EClass UNARY_EXPRESSION = eINSTANCE.getUnaryExpression();
4064
4065 /**
4066 * The meta object literal for the '<em><b>Op</b></em>' attribute feature.
4067 * <!-- begin-user-doc -->
4068 * <!-- end-user-doc -->
4069 * @generated
4070 */
4071 EAttribute UNARY_EXPRESSION__OP = eINSTANCE.getUnaryExpression_Op();
4072
4073 /**
4074 * The meta object literal for the '<em><b>Body</b></em>' containment reference feature.
4075 * <!-- begin-user-doc -->
4076 * <!-- end-user-doc -->
4077 * @generated
4078 */
4079 EReference UNARY_EXPRESSION__BODY = eINSTANCE.getUnaryExpression_Body();
4080
4081 /**
4082 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricType <em>Metric Type</em>}' enum.
4083 * <!-- begin-user-doc -->
4084 * <!-- end-user-doc -->
4085 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricType
4086 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getMetricType()
4087 * @generated
4088 */
4089 EEnum METRIC_TYPE = eINSTANCE.getMetricType();
4090
4091 /**
4092 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator <em>Binary Operator</em>}' enum.
4093 * <!-- begin-user-doc -->
4094 * <!-- end-user-doc -->
4095 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator
4096 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getBinaryOperator()
4097 * @generated
4098 */
4099 EEnum BINARY_OPERATOR = eINSTANCE.getBinaryOperator();
4100
4101 /**
4102 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryOp <em>Unary Op</em>}' enum.
4103 * <!-- begin-user-doc -->
4104 * <!-- end-user-doc -->
4105 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOp
4106 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getUnaryOp()
4107 * @generated
4108 */
4109 EEnum UNARY_OP = eINSTANCE.getUnaryOp();
4110
4111 /**
4112 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.AggregationOp <em>Aggregation Op</em>}' enum.
4113 * <!-- begin-user-doc -->
4114 * <!-- end-user-doc -->
4115 * @see org.eclipse.viatra.solver.language.solverLanguage.AggregationOp
4116 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getAggregationOp()
4117 * @generated
4118 */
4119 EEnum AGGREGATION_OP = eINSTANCE.getAggregationOp();
4120
4121 /**
4122 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicValue <em>Logic Value</em>}' enum.
4123 * <!-- begin-user-doc -->
4124 * <!-- end-user-doc -->
4125 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicValue
4126 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getLogicValue()
4127 * @generated
4128 */
4129 EEnum LOGIC_VALUE = eINSTANCE.getLogicValue();
4130
4131 /**
4132 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind <em>Objective Kind</em>}' enum.
4133 * <!-- begin-user-doc -->
4134 * <!-- end-user-doc -->
4135 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind
4136 * @see org.eclipse.viatra.solver.language.solverLanguage.impl.SolverLanguagePackageImpl#getObjectiveKind()
4137 * @generated
4138 */
4139 EEnum OBJECTIVE_KIND = eINSTANCE.getObjectiveKind();
4140
4141 }
4142
4143} //SolverLanguagePackage
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java
deleted file mode 100644
index 4e4bed1b..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StarArgument.java
+++ /dev/null
@@ -1,19 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Star Argument</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStarArgument()
14 * @model
15 * @generated
16 */
17public interface StarArgument extends Argument
18{
19} // StarArgument
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java
deleted file mode 100644
index 7c8d208f..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Statement.java
+++ /dev/null
@@ -1,20 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.ecore.EObject;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Statement</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 *
14 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStatement()
15 * @model
16 * @generated
17 */
18public interface Statement extends EObject
19{
20} // Statement
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java
deleted file mode 100644
index dc4d6487..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/StringLiteral.java
+++ /dev/null
@@ -1,47 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>String Literal</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.solverLanguage.StringLiteral#getValue <em>Value</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStringLiteral()
20 * @model
21 * @generated
22 */
23public interface StringLiteral extends Literal
24{
25 /**
26 * Returns the value of the '<em><b>Value</b></em>' attribute.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Value</em>' attribute.
30 * @see #setValue(String)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getStringLiteral_Value()
32 * @model
33 * @generated
34 */
35 String getValue();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.StringLiteral#getValue <em>Value</em>}' attribute.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Value</em>' attribute.
42 * @see #getValue()
43 * @generated
44 */
45 void setValue(String value);
46
47} // StringLiteral
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Switch.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Switch.java
deleted file mode 100644
index 92504b5d..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/Switch.java
+++ /dev/null
@@ -1,38 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import org.eclipse.emf.common.util.EList;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>Switch</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.Switch#getCases <em>Cases</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getSwitch()
21 * @model
22 * @generated
23 */
24public interface Switch extends Expression
25{
26 /**
27 * Returns the value of the '<em><b>Cases</b></em>' containment reference list.
28 * The list contents are of type {@link org.eclipse.viatra.solver.language.solverLanguage.Case}.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Cases</em>' containment reference list.
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getSwitch_Cases()
33 * @model containment="true"
34 * @generated
35 */
36 EList<Case> getCases();
37
38} // Switch
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java
deleted file mode 100644
index f903338a..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedArgument.java
+++ /dev/null
@@ -1,70 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Typed Argument</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getType <em>Type</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getVariable <em>Variable</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTypedArgument()
21 * @model
22 * @generated
23 */
24public interface TypedArgument extends Argument
25{
26 /**
27 * Returns the value of the '<em><b>Type</b></em>' reference.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Type</em>' reference.
31 * @see #setType(NamedElement)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTypedArgument_Type()
33 * @model
34 * @generated
35 */
36 NamedElement getType();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getType <em>Type</em>}' reference.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Type</em>' reference.
43 * @see #getType()
44 * @generated
45 */
46 void setType(NamedElement value);
47
48 /**
49 * Returns the value of the '<em><b>Variable</b></em>' reference.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @return the value of the '<em>Variable</em>' reference.
53 * @see #setVariable(NamedElement)
54 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTypedArgument_Variable()
55 * @model
56 * @generated
57 */
58 NamedElement getVariable();
59
60 /**
61 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument#getVariable <em>Variable</em>}' reference.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @param value the new value of the '<em>Variable</em>' reference.
65 * @see #getVariable()
66 * @generated
67 */
68 void setVariable(NamedElement value);
69
70} // TypedArgument
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedStarArgument.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedStarArgument.java
deleted file mode 100644
index 2b8bc002..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/TypedStarArgument.java
+++ /dev/null
@@ -1,47 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Typed Star Argument</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument#getType <em>Type</em>}</li>
17 * </ul>
18 *
19 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTypedStarArgument()
20 * @model
21 * @generated
22 */
23public interface TypedStarArgument extends Argument
24{
25 /**
26 * Returns the value of the '<em><b>Type</b></em>' reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Type</em>' reference.
30 * @see #setType(NamedElement)
31 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getTypedStarArgument_Type()
32 * @model
33 * @generated
34 */
35 NamedElement getType();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument#getType <em>Type</em>}' reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Type</em>' reference.
42 * @see #getType()
43 * @generated
44 */
45 void setType(NamedElement value);
46
47} // TypedStarArgument
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryExpression.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryExpression.java
deleted file mode 100644
index 5c2356cd..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryExpression.java
+++ /dev/null
@@ -1,73 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Unary Expression</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.solverLanguage.UnaryExpression#getOp <em>Op</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getBody <em>Body</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnaryExpression()
21 * @model
22 * @generated
23 */
24public interface UnaryExpression extends Expression
25{
26 /**
27 * Returns the value of the '<em><b>Op</b></em>' attribute.
28 * The literals are from the enumeration {@link org.eclipse.viatra.solver.language.solverLanguage.UnaryOp}.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Op</em>' attribute.
32 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOp
33 * @see #setOp(UnaryOp)
34 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnaryExpression_Op()
35 * @model
36 * @generated
37 */
38 UnaryOp getOp();
39
40 /**
41 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getOp <em>Op</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Op</em>' attribute.
45 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryOp
46 * @see #getOp()
47 * @generated
48 */
49 void setOp(UnaryOp value);
50
51 /**
52 * Returns the value of the '<em><b>Body</b></em>' containment reference.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return the value of the '<em>Body</em>' containment reference.
56 * @see #setBody(Expression)
57 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnaryExpression_Body()
58 * @model containment="true"
59 * @generated
60 */
61 Expression getBody();
62
63 /**
64 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression#getBody <em>Body</em>}' containment reference.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @param value the new value of the '<em>Body</em>' containment reference.
68 * @see #getBody()
69 * @generated
70 */
71 void setBody(Expression value);
72
73} // UnaryExpression
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryOp.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryOp.java
deleted file mode 100644
index e426f4f1..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnaryOp.java
+++ /dev/null
@@ -1,317 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6import java.util.Arrays;
7import java.util.Collections;
8import java.util.List;
9
10import org.eclipse.emf.common.util.Enumerator;
11
12/**
13 * <!-- begin-user-doc -->
14 * A representation of the literals of the enumeration '<em><b>Unary Op</b></em>',
15 * and utility methods for working with them.
16 * <!-- end-user-doc -->
17 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnaryOp()
18 * @model
19 * @generated
20 */
21public enum UnaryOp implements Enumerator
22{
23 /**
24 * The '<em><b>NEG</b></em>' literal object.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @see #NEG_VALUE
28 * @generated
29 * @ordered
30 */
31 NEG(0, "NEG", "!"),
32
33 /**
34 * The '<em><b>PLUS</b></em>' literal object.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #PLUS_VALUE
38 * @generated
39 * @ordered
40 */
41 PLUS(1, "PLUS", "+"),
42
43 /**
44 * The '<em><b>MINUS</b></em>' literal object.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #MINUS_VALUE
48 * @generated
49 * @ordered
50 */
51 MINUS(2, "MINUS", "-"),
52
53 /**
54 * The '<em><b>MAY</b></em>' literal object.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @see #MAY_VALUE
58 * @generated
59 * @ordered
60 */
61 MAY(3, "MAY", "may"),
62
63 /**
64 * The '<em><b>MUST</b></em>' literal object.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @see #MUST_VALUE
68 * @generated
69 * @ordered
70 */
71 MUST(4, "MUST", "must"),
72
73 /**
74 * The '<em><b>CURRENT</b></em>' literal object.
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @see #CURRENT_VALUE
78 * @generated
79 * @ordered
80 */
81 CURRENT(5, "CURRENT", "current");
82
83 /**
84 * The '<em><b>NEG</b></em>' literal value.
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @see #NEG
88 * @model literal="!"
89 * @generated
90 * @ordered
91 */
92 public static final int NEG_VALUE = 0;
93
94 /**
95 * The '<em><b>PLUS</b></em>' literal value.
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @see #PLUS
99 * @model literal="+"
100 * @generated
101 * @ordered
102 */
103 public static final int PLUS_VALUE = 1;
104
105 /**
106 * The '<em><b>MINUS</b></em>' literal value.
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @see #MINUS
110 * @model literal="-"
111 * @generated
112 * @ordered
113 */
114 public static final int MINUS_VALUE = 2;
115
116 /**
117 * The '<em><b>MAY</b></em>' literal value.
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @see #MAY
121 * @model literal="may"
122 * @generated
123 * @ordered
124 */
125 public static final int MAY_VALUE = 3;
126
127 /**
128 * The '<em><b>MUST</b></em>' literal value.
129 * <!-- begin-user-doc -->
130 * <!-- end-user-doc -->
131 * @see #MUST
132 * @model literal="must"
133 * @generated
134 * @ordered
135 */
136 public static final int MUST_VALUE = 4;
137
138 /**
139 * The '<em><b>CURRENT</b></em>' literal value.
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @see #CURRENT
143 * @model literal="current"
144 * @generated
145 * @ordered
146 */
147 public static final int CURRENT_VALUE = 5;
148
149 /**
150 * An array of all the '<em><b>Unary Op</b></em>' enumerators.
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 private static final UnaryOp[] VALUES_ARRAY =
156 new UnaryOp[]
157 {
158 NEG,
159 PLUS,
160 MINUS,
161 MAY,
162 MUST,
163 CURRENT,
164 };
165
166 /**
167 * A public read-only list of all the '<em><b>Unary Op</b></em>' enumerators.
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 public static final List<UnaryOp> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
173
174 /**
175 * Returns the '<em><b>Unary Op</b></em>' literal with the specified literal value.
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @param literal the literal.
179 * @return the matching enumerator or <code>null</code>.
180 * @generated
181 */
182 public static UnaryOp get(String literal)
183 {
184 for (int i = 0; i < VALUES_ARRAY.length; ++i)
185 {
186 UnaryOp result = VALUES_ARRAY[i];
187 if (result.toString().equals(literal))
188 {
189 return result;
190 }
191 }
192 return null;
193 }
194
195 /**
196 * Returns the '<em><b>Unary Op</b></em>' literal with the specified name.
197 * <!-- begin-user-doc -->
198 * <!-- end-user-doc -->
199 * @param name the name.
200 * @return the matching enumerator or <code>null</code>.
201 * @generated
202 */
203 public static UnaryOp getByName(String name)
204 {
205 for (int i = 0; i < VALUES_ARRAY.length; ++i)
206 {
207 UnaryOp result = VALUES_ARRAY[i];
208 if (result.getName().equals(name))
209 {
210 return result;
211 }
212 }
213 return null;
214 }
215
216 /**
217 * Returns the '<em><b>Unary Op</b></em>' literal with the specified integer value.
218 * <!-- begin-user-doc -->
219 * <!-- end-user-doc -->
220 * @param value the integer value.
221 * @return the matching enumerator or <code>null</code>.
222 * @generated
223 */
224 public static UnaryOp get(int value)
225 {
226 switch (value)
227 {
228 case NEG_VALUE: return NEG;
229 case PLUS_VALUE: return PLUS;
230 case MINUS_VALUE: return MINUS;
231 case MAY_VALUE: return MAY;
232 case MUST_VALUE: return MUST;
233 case CURRENT_VALUE: return CURRENT;
234 }
235 return null;
236 }
237
238 /**
239 * <!-- begin-user-doc -->
240 * <!-- end-user-doc -->
241 * @generated
242 */
243 private final int value;
244
245 /**
246 * <!-- begin-user-doc -->
247 * <!-- end-user-doc -->
248 * @generated
249 */
250 private final String name;
251
252 /**
253 * <!-- begin-user-doc -->
254 * <!-- end-user-doc -->
255 * @generated
256 */
257 private final String literal;
258
259 /**
260 * Only this class can construct instances.
261 * <!-- begin-user-doc -->
262 * <!-- end-user-doc -->
263 * @generated
264 */
265 private UnaryOp(int value, String name, String literal)
266 {
267 this.value = value;
268 this.name = name;
269 this.literal = literal;
270 }
271
272 /**
273 * <!-- begin-user-doc -->
274 * <!-- end-user-doc -->
275 * @generated
276 */
277 @Override
278 public int getValue()
279 {
280 return value;
281 }
282
283 /**
284 * <!-- begin-user-doc -->
285 * <!-- end-user-doc -->
286 * @generated
287 */
288 @Override
289 public String getName()
290 {
291 return name;
292 }
293
294 /**
295 * <!-- begin-user-doc -->
296 * <!-- end-user-doc -->
297 * @generated
298 */
299 @Override
300 public String getLiteral()
301 {
302 return literal;
303 }
304
305 /**
306 * Returns the literal value of the enumerator, which is its string representation.
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @generated
310 */
311 @Override
312 public String toString()
313 {
314 return literal;
315 }
316
317} //UnaryOp
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedErrorPrediateDefinition.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedErrorPrediateDefinition.java
deleted file mode 100644
index 54621550..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/UnnamedErrorPrediateDefinition.java
+++ /dev/null
@@ -1,70 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Unnamed Error Prediate Definition</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.solverLanguage.UnnamedErrorPrediateDefinition#getArgumentList <em>Argument List</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getBody <em>Body</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnnamedErrorPrediateDefinition()
21 * @model
22 * @generated
23 */
24public interface UnnamedErrorPrediateDefinition extends Statement
25{
26 /**
27 * Returns the value of the '<em><b>Argument List</b></em>' containment reference.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return the value of the '<em>Argument List</em>' containment reference.
31 * @see #setArgumentList(ArgumentList)
32 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnnamedErrorPrediateDefinition_ArgumentList()
33 * @model containment="true"
34 * @generated
35 */
36 ArgumentList getArgumentList();
37
38 /**
39 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getArgumentList <em>Argument List</em>}' containment reference.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @param value the new value of the '<em>Argument List</em>' containment reference.
43 * @see #getArgumentList()
44 * @generated
45 */
46 void setArgumentList(ArgumentList value);
47
48 /**
49 * Returns the value of the '<em><b>Body</b></em>' containment reference.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @return the value of the '<em>Body</em>' containment reference.
53 * @see #setBody(Expression)
54 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#getUnnamedErrorPrediateDefinition_Body()
55 * @model containment="true"
56 * @generated
57 */
58 Expression getBody();
59
60 /**
61 * Sets the value of the '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition#getBody <em>Body</em>}' containment reference.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @param value the new value of the '<em>Body</em>' containment reference.
65 * @see #getBody()
66 * @generated
67 */
68 void setBody(Expression value);
69
70} // UnnamedErrorPrediateDefinition
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java
deleted file mode 100644
index 542f3c40..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AggregationImpl.java
+++ /dev/null
@@ -1,343 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Aggregation;
15import org.eclipse.viatra.solver.language.solverLanguage.AggregationOp;
16import org.eclipse.viatra.solver.language.solverLanguage.Expression;
17import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Aggregation</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl#getOp <em>Op</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl#getBody <em>Body</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AggregationImpl#getCondition <em>Condition</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class AggregationImpl extends ExpressionImpl implements Aggregation
35{
36 /**
37 * The default value of the '{@link #getOp() <em>Op</em>}' attribute.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @see #getOp()
41 * @generated
42 * @ordered
43 */
44 protected static final AggregationOp OP_EDEFAULT = AggregationOp.ONLY;
45
46 /**
47 * The cached value of the '{@link #getOp() <em>Op</em>}' attribute.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @see #getOp()
51 * @generated
52 * @ordered
53 */
54 protected AggregationOp op = OP_EDEFAULT;
55
56 /**
57 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @see #getBody()
61 * @generated
62 * @ordered
63 */
64 protected Expression body;
65
66 /**
67 * The cached value of the '{@link #getCondition() <em>Condition</em>}' containment reference.
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @see #getCondition()
71 * @generated
72 * @ordered
73 */
74 protected Expression condition;
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 protected AggregationImpl()
82 {
83 super();
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 @Override
92 protected EClass eStaticClass()
93 {
94 return SolverLanguagePackage.Literals.AGGREGATION;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 @Override
103 public AggregationOp getOp()
104 {
105 return op;
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 @Override
114 public void setOp(AggregationOp newOp)
115 {
116 AggregationOp oldOp = op;
117 op = newOp == null ? OP_EDEFAULT : newOp;
118 if (eNotificationRequired())
119 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__OP, oldOp, op));
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 @Override
128 public Expression getBody()
129 {
130 return body;
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs)
139 {
140 Expression oldBody = body;
141 body = newBody;
142 if (eNotificationRequired())
143 {
144 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__BODY, oldBody, newBody);
145 if (msgs == null) msgs = notification; else msgs.add(notification);
146 }
147 return msgs;
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 @Override
156 public void setBody(Expression newBody)
157 {
158 if (newBody != body)
159 {
160 NotificationChain msgs = null;
161 if (body != null)
162 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATION__BODY, null, msgs);
163 if (newBody != null)
164 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATION__BODY, null, msgs);
165 msgs = basicSetBody(newBody, msgs);
166 if (msgs != null) msgs.dispatch();
167 }
168 else if (eNotificationRequired())
169 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__BODY, newBody, newBody));
170 }
171
172 /**
173 * <!-- begin-user-doc -->
174 * <!-- end-user-doc -->
175 * @generated
176 */
177 @Override
178 public Expression getCondition()
179 {
180 return condition;
181 }
182
183 /**
184 * <!-- begin-user-doc -->
185 * <!-- end-user-doc -->
186 * @generated
187 */
188 public NotificationChain basicSetCondition(Expression newCondition, NotificationChain msgs)
189 {
190 Expression oldCondition = condition;
191 condition = newCondition;
192 if (eNotificationRequired())
193 {
194 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__CONDITION, oldCondition, newCondition);
195 if (msgs == null) msgs = notification; else msgs.add(notification);
196 }
197 return msgs;
198 }
199
200 /**
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 */
205 @Override
206 public void setCondition(Expression newCondition)
207 {
208 if (newCondition != condition)
209 {
210 NotificationChain msgs = null;
211 if (condition != null)
212 msgs = ((InternalEObject)condition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATION__CONDITION, null, msgs);
213 if (newCondition != null)
214 msgs = ((InternalEObject)newCondition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.AGGREGATION__CONDITION, null, msgs);
215 msgs = basicSetCondition(newCondition, msgs);
216 if (msgs != null) msgs.dispatch();
217 }
218 else if (eNotificationRequired())
219 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.AGGREGATION__CONDITION, newCondition, newCondition));
220 }
221
222 /**
223 * <!-- begin-user-doc -->
224 * <!-- end-user-doc -->
225 * @generated
226 */
227 @Override
228 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
229 {
230 switch (featureID)
231 {
232 case SolverLanguagePackage.AGGREGATION__BODY:
233 return basicSetBody(null, msgs);
234 case SolverLanguagePackage.AGGREGATION__CONDITION:
235 return basicSetCondition(null, msgs);
236 }
237 return super.eInverseRemove(otherEnd, featureID, msgs);
238 }
239
240 /**
241 * <!-- begin-user-doc -->
242 * <!-- end-user-doc -->
243 * @generated
244 */
245 @Override
246 public Object eGet(int featureID, boolean resolve, boolean coreType)
247 {
248 switch (featureID)
249 {
250 case SolverLanguagePackage.AGGREGATION__OP:
251 return getOp();
252 case SolverLanguagePackage.AGGREGATION__BODY:
253 return getBody();
254 case SolverLanguagePackage.AGGREGATION__CONDITION:
255 return getCondition();
256 }
257 return super.eGet(featureID, resolve, coreType);
258 }
259
260 /**
261 * <!-- begin-user-doc -->
262 * <!-- end-user-doc -->
263 * @generated
264 */
265 @Override
266 public void eSet(int featureID, Object newValue)
267 {
268 switch (featureID)
269 {
270 case SolverLanguagePackage.AGGREGATION__OP:
271 setOp((AggregationOp)newValue);
272 return;
273 case SolverLanguagePackage.AGGREGATION__BODY:
274 setBody((Expression)newValue);
275 return;
276 case SolverLanguagePackage.AGGREGATION__CONDITION:
277 setCondition((Expression)newValue);
278 return;
279 }
280 super.eSet(featureID, newValue);
281 }
282
283 /**
284 * <!-- begin-user-doc -->
285 * <!-- end-user-doc -->
286 * @generated
287 */
288 @Override
289 public void eUnset(int featureID)
290 {
291 switch (featureID)
292 {
293 case SolverLanguagePackage.AGGREGATION__OP:
294 setOp(OP_EDEFAULT);
295 return;
296 case SolverLanguagePackage.AGGREGATION__BODY:
297 setBody((Expression)null);
298 return;
299 case SolverLanguagePackage.AGGREGATION__CONDITION:
300 setCondition((Expression)null);
301 return;
302 }
303 super.eUnset(featureID);
304 }
305
306 /**
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @generated
310 */
311 @Override
312 public boolean eIsSet(int featureID)
313 {
314 switch (featureID)
315 {
316 case SolverLanguagePackage.AGGREGATION__OP:
317 return op != OP_EDEFAULT;
318 case SolverLanguagePackage.AGGREGATION__BODY:
319 return body != null;
320 case SolverLanguagePackage.AGGREGATION__CONDITION:
321 return condition != null;
322 }
323 return super.eIsSet(featureID);
324 }
325
326 /**
327 * <!-- begin-user-doc -->
328 * <!-- end-user-doc -->
329 * @generated
330 */
331 @Override
332 public String toString()
333 {
334 if (eIsProxy()) return super.toString();
335
336 StringBuilder result = new StringBuilder(super.toString());
337 result.append(" (op: ");
338 result.append(op);
339 result.append(')');
340 return result.toString();
341 }
342
343} //AggregationImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java
deleted file mode 100644
index d8bf8d91..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentImpl.java
+++ /dev/null
@@ -1,43 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
9
10import org.eclipse.viatra.solver.language.solverLanguage.Argument;
11import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
12
13/**
14 * <!-- begin-user-doc -->
15 * An implementation of the model object '<em><b>Argument</b></em>'.
16 * <!-- end-user-doc -->
17 *
18 * @generated
19 */
20public class ArgumentImpl extends MinimalEObjectImpl.Container implements Argument
21{
22 /**
23 * <!-- begin-user-doc -->
24 * <!-- end-user-doc -->
25 * @generated
26 */
27 protected ArgumentImpl()
28 {
29 super();
30 }
31
32 /**
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 @Override
38 protected EClass eStaticClass()
39 {
40 return SolverLanguagePackage.Literals.ARGUMENT;
41 }
42
43} //ArgumentImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java
deleted file mode 100644
index 8c16fb4f..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ArgumentListImpl.java
+++ /dev/null
@@ -1,169 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import java.util.Collection;
7
8import org.eclipse.emf.common.notify.NotificationChain;
9
10import org.eclipse.emf.common.util.EList;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
16
17import org.eclipse.emf.ecore.util.EObjectContainmentEList;
18import org.eclipse.emf.ecore.util.InternalEList;
19
20import org.eclipse.viatra.solver.language.solverLanguage.Argument;
21import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList;
22import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
23
24/**
25 * <!-- begin-user-doc -->
26 * An implementation of the model object '<em><b>Argument List</b></em>'.
27 * <!-- end-user-doc -->
28 * <p>
29 * The following features are implemented:
30 * </p>
31 * <ul>
32 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ArgumentListImpl#getArguments <em>Arguments</em>}</li>
33 * </ul>
34 *
35 * @generated
36 */
37public class ArgumentListImpl extends MinimalEObjectImpl.Container implements ArgumentList
38{
39 /**
40 * The cached value of the '{@link #getArguments() <em>Arguments</em>}' containment reference list.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getArguments()
44 * @generated
45 * @ordered
46 */
47 protected EList<Argument> arguments;
48
49 /**
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @generated
53 */
54 protected ArgumentListImpl()
55 {
56 super();
57 }
58
59 /**
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @generated
63 */
64 @Override
65 protected EClass eStaticClass()
66 {
67 return SolverLanguagePackage.Literals.ARGUMENT_LIST;
68 }
69
70 /**
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 @Override
76 public EList<Argument> getArguments()
77 {
78 if (arguments == null)
79 {
80 arguments = new EObjectContainmentEList<Argument>(Argument.class, this, SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS);
81 }
82 return arguments;
83 }
84
85 /**
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 @Override
91 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
92 {
93 switch (featureID)
94 {
95 case SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS:
96 return ((InternalEList<?>)getArguments()).basicRemove(otherEnd, msgs);
97 }
98 return super.eInverseRemove(otherEnd, featureID, msgs);
99 }
100
101 /**
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @generated
105 */
106 @Override
107 public Object eGet(int featureID, boolean resolve, boolean coreType)
108 {
109 switch (featureID)
110 {
111 case SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS:
112 return getArguments();
113 }
114 return super.eGet(featureID, resolve, coreType);
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @SuppressWarnings("unchecked")
123 @Override
124 public void eSet(int featureID, Object newValue)
125 {
126 switch (featureID)
127 {
128 case SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS:
129 getArguments().clear();
130 getArguments().addAll((Collection<? extends Argument>)newValue);
131 return;
132 }
133 super.eSet(featureID, newValue);
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 @Override
142 public void eUnset(int featureID)
143 {
144 switch (featureID)
145 {
146 case SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS:
147 getArguments().clear();
148 return;
149 }
150 super.eUnset(featureID);
151 }
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 @Override
159 public boolean eIsSet(int featureID)
160 {
161 switch (featureID)
162 {
163 case SolverLanguagePackage.ARGUMENT_LIST__ARGUMENTS:
164 return arguments != null && !arguments.isEmpty();
165 }
166 return super.eIsSet(featureID);
167 }
168
169} //ArgumentListImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AssertionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AssertionImpl.java
deleted file mode 100644
index 8165b62e..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/AssertionImpl.java
+++ /dev/null
@@ -1,269 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Assertion;
15import org.eclipse.viatra.solver.language.solverLanguage.Expression;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Assertion</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl#getBody <em>Body</em>}</li>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.AssertionImpl#getRange <em>Range</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class AssertionImpl extends StatementImpl implements Assertion
33{
34 /**
35 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @see #getBody()
39 * @generated
40 * @ordered
41 */
42 protected Expression body;
43
44 /**
45 * The cached value of the '{@link #getRange() <em>Range</em>}' containment reference.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getRange()
49 * @generated
50 * @ordered
51 */
52 protected Expression range;
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 protected AssertionImpl()
60 {
61 super();
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 @Override
70 protected EClass eStaticClass()
71 {
72 return SolverLanguagePackage.Literals.ASSERTION;
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 @Override
81 public Expression getBody()
82 {
83 return body;
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs)
92 {
93 Expression oldBody = body;
94 body = newBody;
95 if (eNotificationRequired())
96 {
97 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ASSERTION__BODY, oldBody, newBody);
98 if (msgs == null) msgs = notification; else msgs.add(notification);
99 }
100 return msgs;
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 @Override
109 public void setBody(Expression newBody)
110 {
111 if (newBody != body)
112 {
113 NotificationChain msgs = null;
114 if (body != null)
115 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ASSERTION__BODY, null, msgs);
116 if (newBody != null)
117 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ASSERTION__BODY, null, msgs);
118 msgs = basicSetBody(newBody, msgs);
119 if (msgs != null) msgs.dispatch();
120 }
121 else if (eNotificationRequired())
122 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ASSERTION__BODY, newBody, newBody));
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public Expression getRange()
132 {
133 return range;
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 public NotificationChain basicSetRange(Expression newRange, NotificationChain msgs)
142 {
143 Expression oldRange = range;
144 range = newRange;
145 if (eNotificationRequired())
146 {
147 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ASSERTION__RANGE, oldRange, newRange);
148 if (msgs == null) msgs = notification; else msgs.add(notification);
149 }
150 return msgs;
151 }
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 @Override
159 public void setRange(Expression newRange)
160 {
161 if (newRange != range)
162 {
163 NotificationChain msgs = null;
164 if (range != null)
165 msgs = ((InternalEObject)range).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ASSERTION__RANGE, null, msgs);
166 if (newRange != null)
167 msgs = ((InternalEObject)newRange).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.ASSERTION__RANGE, null, msgs);
168 msgs = basicSetRange(newRange, msgs);
169 if (msgs != null) msgs.dispatch();
170 }
171 else if (eNotificationRequired())
172 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.ASSERTION__RANGE, newRange, newRange));
173 }
174
175 /**
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @generated
179 */
180 @Override
181 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
182 {
183 switch (featureID)
184 {
185 case SolverLanguagePackage.ASSERTION__BODY:
186 return basicSetBody(null, msgs);
187 case SolverLanguagePackage.ASSERTION__RANGE:
188 return basicSetRange(null, msgs);
189 }
190 return super.eInverseRemove(otherEnd, featureID, msgs);
191 }
192
193 /**
194 * <!-- begin-user-doc -->
195 * <!-- end-user-doc -->
196 * @generated
197 */
198 @Override
199 public Object eGet(int featureID, boolean resolve, boolean coreType)
200 {
201 switch (featureID)
202 {
203 case SolverLanguagePackage.ASSERTION__BODY:
204 return getBody();
205 case SolverLanguagePackage.ASSERTION__RANGE:
206 return getRange();
207 }
208 return super.eGet(featureID, resolve, coreType);
209 }
210
211 /**
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @generated
215 */
216 @Override
217 public void eSet(int featureID, Object newValue)
218 {
219 switch (featureID)
220 {
221 case SolverLanguagePackage.ASSERTION__BODY:
222 setBody((Expression)newValue);
223 return;
224 case SolverLanguagePackage.ASSERTION__RANGE:
225 setRange((Expression)newValue);
226 return;
227 }
228 super.eSet(featureID, newValue);
229 }
230
231 /**
232 * <!-- begin-user-doc -->
233 * <!-- end-user-doc -->
234 * @generated
235 */
236 @Override
237 public void eUnset(int featureID)
238 {
239 switch (featureID)
240 {
241 case SolverLanguagePackage.ASSERTION__BODY:
242 setBody((Expression)null);
243 return;
244 case SolverLanguagePackage.ASSERTION__RANGE:
245 setRange((Expression)null);
246 return;
247 }
248 super.eUnset(featureID);
249 }
250
251 /**
252 * <!-- begin-user-doc -->
253 * <!-- end-user-doc -->
254 * @generated
255 */
256 @Override
257 public boolean eIsSet(int featureID)
258 {
259 switch (featureID)
260 {
261 case SolverLanguagePackage.ASSERTION__BODY:
262 return body != null;
263 case SolverLanguagePackage.ASSERTION__RANGE:
264 return range != null;
265 }
266 return super.eIsSet(featureID);
267 }
268
269} //AssertionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java
deleted file mode 100644
index adc94c4a..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BinaryExpressionImpl.java
+++ /dev/null
@@ -1,343 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression;
15import org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator;
16import org.eclipse.viatra.solver.language.solverLanguage.Expression;
17import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Binary Expression</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl#getLeft <em>Left</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl#getOp <em>Op</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BinaryExpressionImpl#getRight <em>Right</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class BinaryExpressionImpl extends ExpressionImpl implements BinaryExpression
35{
36 /**
37 * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @see #getLeft()
41 * @generated
42 * @ordered
43 */
44 protected Expression left;
45
46 /**
47 * The default value of the '{@link #getOp() <em>Op</em>}' attribute.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @see #getOp()
51 * @generated
52 * @ordered
53 */
54 protected static final BinaryOperator OP_EDEFAULT = BinaryOperator.EQ;
55
56 /**
57 * The cached value of the '{@link #getOp() <em>Op</em>}' attribute.
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @see #getOp()
61 * @generated
62 * @ordered
63 */
64 protected BinaryOperator op = OP_EDEFAULT;
65
66 /**
67 * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @see #getRight()
71 * @generated
72 * @ordered
73 */
74 protected Expression right;
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 protected BinaryExpressionImpl()
82 {
83 super();
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 @Override
92 protected EClass eStaticClass()
93 {
94 return SolverLanguagePackage.Literals.BINARY_EXPRESSION;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 @Override
103 public Expression getLeft()
104 {
105 return left;
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs)
114 {
115 Expression oldLeft = left;
116 left = newLeft;
117 if (eNotificationRequired())
118 {
119 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BINARY_EXPRESSION__LEFT, oldLeft, newLeft);
120 if (msgs == null) msgs = notification; else msgs.add(notification);
121 }
122 return msgs;
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public void setLeft(Expression newLeft)
132 {
133 if (newLeft != left)
134 {
135 NotificationChain msgs = null;
136 if (left != null)
137 msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BINARY_EXPRESSION__LEFT, null, msgs);
138 if (newLeft != null)
139 msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BINARY_EXPRESSION__LEFT, null, msgs);
140 msgs = basicSetLeft(newLeft, msgs);
141 if (msgs != null) msgs.dispatch();
142 }
143 else if (eNotificationRequired())
144 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BINARY_EXPRESSION__LEFT, newLeft, newLeft));
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 @Override
153 public BinaryOperator getOp()
154 {
155 return op;
156 }
157
158 /**
159 * <!-- begin-user-doc -->
160 * <!-- end-user-doc -->
161 * @generated
162 */
163 @Override
164 public void setOp(BinaryOperator newOp)
165 {
166 BinaryOperator oldOp = op;
167 op = newOp == null ? OP_EDEFAULT : newOp;
168 if (eNotificationRequired())
169 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BINARY_EXPRESSION__OP, oldOp, op));
170 }
171
172 /**
173 * <!-- begin-user-doc -->
174 * <!-- end-user-doc -->
175 * @generated
176 */
177 @Override
178 public Expression getRight()
179 {
180 return right;
181 }
182
183 /**
184 * <!-- begin-user-doc -->
185 * <!-- end-user-doc -->
186 * @generated
187 */
188 public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs)
189 {
190 Expression oldRight = right;
191 right = newRight;
192 if (eNotificationRequired())
193 {
194 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BINARY_EXPRESSION__RIGHT, oldRight, newRight);
195 if (msgs == null) msgs = notification; else msgs.add(notification);
196 }
197 return msgs;
198 }
199
200 /**
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 */
205 @Override
206 public void setRight(Expression newRight)
207 {
208 if (newRight != right)
209 {
210 NotificationChain msgs = null;
211 if (right != null)
212 msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BINARY_EXPRESSION__RIGHT, null, msgs);
213 if (newRight != null)
214 msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.BINARY_EXPRESSION__RIGHT, null, msgs);
215 msgs = basicSetRight(newRight, msgs);
216 if (msgs != null) msgs.dispatch();
217 }
218 else if (eNotificationRequired())
219 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BINARY_EXPRESSION__RIGHT, newRight, newRight));
220 }
221
222 /**
223 * <!-- begin-user-doc -->
224 * <!-- end-user-doc -->
225 * @generated
226 */
227 @Override
228 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
229 {
230 switch (featureID)
231 {
232 case SolverLanguagePackage.BINARY_EXPRESSION__LEFT:
233 return basicSetLeft(null, msgs);
234 case SolverLanguagePackage.BINARY_EXPRESSION__RIGHT:
235 return basicSetRight(null, msgs);
236 }
237 return super.eInverseRemove(otherEnd, featureID, msgs);
238 }
239
240 /**
241 * <!-- begin-user-doc -->
242 * <!-- end-user-doc -->
243 * @generated
244 */
245 @Override
246 public Object eGet(int featureID, boolean resolve, boolean coreType)
247 {
248 switch (featureID)
249 {
250 case SolverLanguagePackage.BINARY_EXPRESSION__LEFT:
251 return getLeft();
252 case SolverLanguagePackage.BINARY_EXPRESSION__OP:
253 return getOp();
254 case SolverLanguagePackage.BINARY_EXPRESSION__RIGHT:
255 return getRight();
256 }
257 return super.eGet(featureID, resolve, coreType);
258 }
259
260 /**
261 * <!-- begin-user-doc -->
262 * <!-- end-user-doc -->
263 * @generated
264 */
265 @Override
266 public void eSet(int featureID, Object newValue)
267 {
268 switch (featureID)
269 {
270 case SolverLanguagePackage.BINARY_EXPRESSION__LEFT:
271 setLeft((Expression)newValue);
272 return;
273 case SolverLanguagePackage.BINARY_EXPRESSION__OP:
274 setOp((BinaryOperator)newValue);
275 return;
276 case SolverLanguagePackage.BINARY_EXPRESSION__RIGHT:
277 setRight((Expression)newValue);
278 return;
279 }
280 super.eSet(featureID, newValue);
281 }
282
283 /**
284 * <!-- begin-user-doc -->
285 * <!-- end-user-doc -->
286 * @generated
287 */
288 @Override
289 public void eUnset(int featureID)
290 {
291 switch (featureID)
292 {
293 case SolverLanguagePackage.BINARY_EXPRESSION__LEFT:
294 setLeft((Expression)null);
295 return;
296 case SolverLanguagePackage.BINARY_EXPRESSION__OP:
297 setOp(OP_EDEFAULT);
298 return;
299 case SolverLanguagePackage.BINARY_EXPRESSION__RIGHT:
300 setRight((Expression)null);
301 return;
302 }
303 super.eUnset(featureID);
304 }
305
306 /**
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @generated
310 */
311 @Override
312 public boolean eIsSet(int featureID)
313 {
314 switch (featureID)
315 {
316 case SolverLanguagePackage.BINARY_EXPRESSION__LEFT:
317 return left != null;
318 case SolverLanguagePackage.BINARY_EXPRESSION__OP:
319 return op != OP_EDEFAULT;
320 case SolverLanguagePackage.BINARY_EXPRESSION__RIGHT:
321 return right != null;
322 }
323 return super.eIsSet(featureID);
324 }
325
326 /**
327 * <!-- begin-user-doc -->
328 * <!-- end-user-doc -->
329 * @generated
330 */
331 @Override
332 public String toString()
333 {
334 if (eIsProxy()) return super.toString();
335
336 StringBuilder result = new StringBuilder(super.toString());
337 result.append(" (op: ");
338 result.append(op);
339 result.append(')');
340 return result.toString();
341 }
342
343} //BinaryExpressionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java
deleted file mode 100644
index 45a105e0..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedMultiplicityImpl.java
+++ /dev/null
@@ -1,237 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11
12import org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity;
13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Bounded Multiplicity</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl#getLowerBound <em>Lower Bound</em>}</li>
24 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedMultiplicityImpl#getUpperBound <em>Upper Bound</em>}</li>
25 * </ul>
26 *
27 * @generated
28 */
29public class BoundedMultiplicityImpl extends MultiplicityImpl implements BoundedMultiplicity
30{
31 /**
32 * The default value of the '{@link #getLowerBound() <em>Lower Bound</em>}' attribute.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #getLowerBound()
36 * @generated
37 * @ordered
38 */
39 protected static final int LOWER_BOUND_EDEFAULT = 0;
40
41 /**
42 * The cached value of the '{@link #getLowerBound() <em>Lower Bound</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #getLowerBound()
46 * @generated
47 * @ordered
48 */
49 protected int lowerBound = LOWER_BOUND_EDEFAULT;
50
51 /**
52 * The default value of the '{@link #getUpperBound() <em>Upper Bound</em>}' attribute.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #getUpperBound()
56 * @generated
57 * @ordered
58 */
59 protected static final int UPPER_BOUND_EDEFAULT = 0;
60
61 /**
62 * The cached value of the '{@link #getUpperBound() <em>Upper Bound</em>}' attribute.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @see #getUpperBound()
66 * @generated
67 * @ordered
68 */
69 protected int upperBound = UPPER_BOUND_EDEFAULT;
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 protected BoundedMultiplicityImpl()
77 {
78 super();
79 }
80
81 /**
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 @Override
87 protected EClass eStaticClass()
88 {
89 return SolverLanguagePackage.Literals.BOUNDED_MULTIPLICITY;
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 @Override
98 public int getLowerBound()
99 {
100 return lowerBound;
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 @Override
109 public void setLowerBound(int newLowerBound)
110 {
111 int oldLowerBound = lowerBound;
112 lowerBound = newLowerBound;
113 if (eNotificationRequired())
114 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BOUNDED_MULTIPLICITY__LOWER_BOUND, oldLowerBound, lowerBound));
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @Override
123 public int getUpperBound()
124 {
125 return upperBound;
126 }
127
128 /**
129 * <!-- begin-user-doc -->
130 * <!-- end-user-doc -->
131 * @generated
132 */
133 @Override
134 public void setUpperBound(int newUpperBound)
135 {
136 int oldUpperBound = upperBound;
137 upperBound = newUpperBound;
138 if (eNotificationRequired())
139 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BOUNDED_MULTIPLICITY__UPPER_BOUND, oldUpperBound, upperBound));
140 }
141
142 /**
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 */
147 @Override
148 public Object eGet(int featureID, boolean resolve, boolean coreType)
149 {
150 switch (featureID)
151 {
152 case SolverLanguagePackage.BOUNDED_MULTIPLICITY__LOWER_BOUND:
153 return getLowerBound();
154 case SolverLanguagePackage.BOUNDED_MULTIPLICITY__UPPER_BOUND:
155 return getUpperBound();
156 }
157 return super.eGet(featureID, resolve, coreType);
158 }
159
160 /**
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @generated
164 */
165 @Override
166 public void eSet(int featureID, Object newValue)
167 {
168 switch (featureID)
169 {
170 case SolverLanguagePackage.BOUNDED_MULTIPLICITY__LOWER_BOUND:
171 setLowerBound((Integer)newValue);
172 return;
173 case SolverLanguagePackage.BOUNDED_MULTIPLICITY__UPPER_BOUND:
174 setUpperBound((Integer)newValue);
175 return;
176 }
177 super.eSet(featureID, newValue);
178 }
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 @Override
186 public void eUnset(int featureID)
187 {
188 switch (featureID)
189 {
190 case SolverLanguagePackage.BOUNDED_MULTIPLICITY__LOWER_BOUND:
191 setLowerBound(LOWER_BOUND_EDEFAULT);
192 return;
193 case SolverLanguagePackage.BOUNDED_MULTIPLICITY__UPPER_BOUND:
194 setUpperBound(UPPER_BOUND_EDEFAULT);
195 return;
196 }
197 super.eUnset(featureID);
198 }
199
200 /**
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 */
205 @Override
206 public boolean eIsSet(int featureID)
207 {
208 switch (featureID)
209 {
210 case SolverLanguagePackage.BOUNDED_MULTIPLICITY__LOWER_BOUND:
211 return lowerBound != LOWER_BOUND_EDEFAULT;
212 case SolverLanguagePackage.BOUNDED_MULTIPLICITY__UPPER_BOUND:
213 return upperBound != UPPER_BOUND_EDEFAULT;
214 }
215 return super.eIsSet(featureID);
216 }
217
218 /**
219 * <!-- begin-user-doc -->
220 * <!-- end-user-doc -->
221 * @generated
222 */
223 @Override
224 public String toString()
225 {
226 if (eIsProxy()) return super.toString();
227
228 StringBuilder result = new StringBuilder(super.toString());
229 result.append(" (lowerBound: ");
230 result.append(lowerBound);
231 result.append(", upperBound: ");
232 result.append(upperBound);
233 result.append(')');
234 return result.toString();
235 }
236
237} //BoundedMultiplicityImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeDefinitionImpl.java
deleted file mode 100644
index 36bf4f96..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/BoundedScopeDefinitionImpl.java
+++ /dev/null
@@ -1,237 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11
12import org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition;
13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Bounded Scope Definition</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl#getLowerBound <em>Lower Bound</em>}</li>
24 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.BoundedScopeDefinitionImpl#getUpperBound <em>Upper Bound</em>}</li>
25 * </ul>
26 *
27 * @generated
28 */
29public class BoundedScopeDefinitionImpl extends ScopeDefinitionImpl implements BoundedScopeDefinition
30{
31 /**
32 * The default value of the '{@link #getLowerBound() <em>Lower Bound</em>}' attribute.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #getLowerBound()
36 * @generated
37 * @ordered
38 */
39 protected static final int LOWER_BOUND_EDEFAULT = 0;
40
41 /**
42 * The cached value of the '{@link #getLowerBound() <em>Lower Bound</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #getLowerBound()
46 * @generated
47 * @ordered
48 */
49 protected int lowerBound = LOWER_BOUND_EDEFAULT;
50
51 /**
52 * The default value of the '{@link #getUpperBound() <em>Upper Bound</em>}' attribute.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #getUpperBound()
56 * @generated
57 * @ordered
58 */
59 protected static final int UPPER_BOUND_EDEFAULT = 0;
60
61 /**
62 * The cached value of the '{@link #getUpperBound() <em>Upper Bound</em>}' attribute.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @see #getUpperBound()
66 * @generated
67 * @ordered
68 */
69 protected int upperBound = UPPER_BOUND_EDEFAULT;
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 protected BoundedScopeDefinitionImpl()
77 {
78 super();
79 }
80
81 /**
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 @Override
87 protected EClass eStaticClass()
88 {
89 return SolverLanguagePackage.Literals.BOUNDED_SCOPE_DEFINITION;
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 @Override
98 public int getLowerBound()
99 {
100 return lowerBound;
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 @Override
109 public void setLowerBound(int newLowerBound)
110 {
111 int oldLowerBound = lowerBound;
112 lowerBound = newLowerBound;
113 if (eNotificationRequired())
114 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__LOWER_BOUND, oldLowerBound, lowerBound));
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @Override
123 public int getUpperBound()
124 {
125 return upperBound;
126 }
127
128 /**
129 * <!-- begin-user-doc -->
130 * <!-- end-user-doc -->
131 * @generated
132 */
133 @Override
134 public void setUpperBound(int newUpperBound)
135 {
136 int oldUpperBound = upperBound;
137 upperBound = newUpperBound;
138 if (eNotificationRequired())
139 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__UPPER_BOUND, oldUpperBound, upperBound));
140 }
141
142 /**
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 */
147 @Override
148 public Object eGet(int featureID, boolean resolve, boolean coreType)
149 {
150 switch (featureID)
151 {
152 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__LOWER_BOUND:
153 return getLowerBound();
154 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__UPPER_BOUND:
155 return getUpperBound();
156 }
157 return super.eGet(featureID, resolve, coreType);
158 }
159
160 /**
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @generated
164 */
165 @Override
166 public void eSet(int featureID, Object newValue)
167 {
168 switch (featureID)
169 {
170 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__LOWER_BOUND:
171 setLowerBound((Integer)newValue);
172 return;
173 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__UPPER_BOUND:
174 setUpperBound((Integer)newValue);
175 return;
176 }
177 super.eSet(featureID, newValue);
178 }
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 @Override
186 public void eUnset(int featureID)
187 {
188 switch (featureID)
189 {
190 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__LOWER_BOUND:
191 setLowerBound(LOWER_BOUND_EDEFAULT);
192 return;
193 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__UPPER_BOUND:
194 setUpperBound(UPPER_BOUND_EDEFAULT);
195 return;
196 }
197 super.eUnset(featureID);
198 }
199
200 /**
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 */
205 @Override
206 public boolean eIsSet(int featureID)
207 {
208 switch (featureID)
209 {
210 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__LOWER_BOUND:
211 return lowerBound != LOWER_BOUND_EDEFAULT;
212 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION__UPPER_BOUND:
213 return upperBound != UPPER_BOUND_EDEFAULT;
214 }
215 return super.eIsSet(featureID);
216 }
217
218 /**
219 * <!-- begin-user-doc -->
220 * <!-- end-user-doc -->
221 * @generated
222 */
223 @Override
224 public String toString()
225 {
226 if (eIsProxy()) return super.toString();
227
228 StringBuilder result = new StringBuilder(super.toString());
229 result.append(" (lowerBound: ");
230 result.append(lowerBound);
231 result.append(", upperBound: ");
232 result.append(upperBound);
233 result.append(')');
234 return result.toString();
235 }
236
237} //BoundedScopeDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java
deleted file mode 100644
index 01712ad3..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CallImpl.java
+++ /dev/null
@@ -1,401 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList;
15import org.eclipse.viatra.solver.language.solverLanguage.Call;
16import org.eclipse.viatra.solver.language.solverLanguage.Reference;
17import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Call</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#getFunctor <em>Functor</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#isTransitiveClosure <em>Transitive Closure</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#isReflexiveTransitiveClosure <em>Reflexive Transitive Closure</em>}</li>
30 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CallImpl#getArgumentList <em>Argument List</em>}</li>
31 * </ul>
32 *
33 * @generated
34 */
35public class CallImpl extends ExpressionImpl implements Call
36{
37 /**
38 * The cached value of the '{@link #getFunctor() <em>Functor</em>}' containment reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @see #getFunctor()
42 * @generated
43 * @ordered
44 */
45 protected Reference functor;
46
47 /**
48 * The default value of the '{@link #isTransitiveClosure() <em>Transitive Closure</em>}' attribute.
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @see #isTransitiveClosure()
52 * @generated
53 * @ordered
54 */
55 protected static final boolean TRANSITIVE_CLOSURE_EDEFAULT = false;
56
57 /**
58 * The cached value of the '{@link #isTransitiveClosure() <em>Transitive Closure</em>}' attribute.
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @see #isTransitiveClosure()
62 * @generated
63 * @ordered
64 */
65 protected boolean transitiveClosure = TRANSITIVE_CLOSURE_EDEFAULT;
66
67 /**
68 * The default value of the '{@link #isReflexiveTransitiveClosure() <em>Reflexive Transitive Closure</em>}' attribute.
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @see #isReflexiveTransitiveClosure()
72 * @generated
73 * @ordered
74 */
75 protected static final boolean REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT = false;
76
77 /**
78 * The cached value of the '{@link #isReflexiveTransitiveClosure() <em>Reflexive Transitive Closure</em>}' attribute.
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @see #isReflexiveTransitiveClosure()
82 * @generated
83 * @ordered
84 */
85 protected boolean reflexiveTransitiveClosure = REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT;
86
87 /**
88 * The cached value of the '{@link #getArgumentList() <em>Argument List</em>}' containment reference.
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @see #getArgumentList()
92 * @generated
93 * @ordered
94 */
95 protected ArgumentList argumentList;
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 protected CallImpl()
103 {
104 super();
105 }
106
107 /**
108 * <!-- begin-user-doc -->
109 * <!-- end-user-doc -->
110 * @generated
111 */
112 @Override
113 protected EClass eStaticClass()
114 {
115 return SolverLanguagePackage.Literals.CALL;
116 }
117
118 /**
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 */
123 @Override
124 public Reference getFunctor()
125 {
126 return functor;
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 public NotificationChain basicSetFunctor(Reference newFunctor, NotificationChain msgs)
135 {
136 Reference oldFunctor = functor;
137 functor = newFunctor;
138 if (eNotificationRequired())
139 {
140 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__FUNCTOR, oldFunctor, newFunctor);
141 if (msgs == null) msgs = notification; else msgs.add(notification);
142 }
143 return msgs;
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public void setFunctor(Reference newFunctor)
153 {
154 if (newFunctor != functor)
155 {
156 NotificationChain msgs = null;
157 if (functor != null)
158 msgs = ((InternalEObject)functor).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__FUNCTOR, null, msgs);
159 if (newFunctor != null)
160 msgs = ((InternalEObject)newFunctor).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__FUNCTOR, null, msgs);
161 msgs = basicSetFunctor(newFunctor, msgs);
162 if (msgs != null) msgs.dispatch();
163 }
164 else if (eNotificationRequired())
165 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__FUNCTOR, newFunctor, newFunctor));
166 }
167
168 /**
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
173 @Override
174 public boolean isTransitiveClosure()
175 {
176 return transitiveClosure;
177 }
178
179 /**
180 * <!-- begin-user-doc -->
181 * <!-- end-user-doc -->
182 * @generated
183 */
184 @Override
185 public void setTransitiveClosure(boolean newTransitiveClosure)
186 {
187 boolean oldTransitiveClosure = transitiveClosure;
188 transitiveClosure = newTransitiveClosure;
189 if (eNotificationRequired())
190 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE, oldTransitiveClosure, transitiveClosure));
191 }
192
193 /**
194 * <!-- begin-user-doc -->
195 * <!-- end-user-doc -->
196 * @generated
197 */
198 @Override
199 public boolean isReflexiveTransitiveClosure()
200 {
201 return reflexiveTransitiveClosure;
202 }
203
204 /**
205 * <!-- begin-user-doc -->
206 * <!-- end-user-doc -->
207 * @generated
208 */
209 @Override
210 public void setReflexiveTransitiveClosure(boolean newReflexiveTransitiveClosure)
211 {
212 boolean oldReflexiveTransitiveClosure = reflexiveTransitiveClosure;
213 reflexiveTransitiveClosure = newReflexiveTransitiveClosure;
214 if (eNotificationRequired())
215 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE, oldReflexiveTransitiveClosure, reflexiveTransitiveClosure));
216 }
217
218 /**
219 * <!-- begin-user-doc -->
220 * <!-- end-user-doc -->
221 * @generated
222 */
223 @Override
224 public ArgumentList getArgumentList()
225 {
226 return argumentList;
227 }
228
229 /**
230 * <!-- begin-user-doc -->
231 * <!-- end-user-doc -->
232 * @generated
233 */
234 public NotificationChain basicSetArgumentList(ArgumentList newArgumentList, NotificationChain msgs)
235 {
236 ArgumentList oldArgumentList = argumentList;
237 argumentList = newArgumentList;
238 if (eNotificationRequired())
239 {
240 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__ARGUMENT_LIST, oldArgumentList, newArgumentList);
241 if (msgs == null) msgs = notification; else msgs.add(notification);
242 }
243 return msgs;
244 }
245
246 /**
247 * <!-- begin-user-doc -->
248 * <!-- end-user-doc -->
249 * @generated
250 */
251 @Override
252 public void setArgumentList(ArgumentList newArgumentList)
253 {
254 if (newArgumentList != argumentList)
255 {
256 NotificationChain msgs = null;
257 if (argumentList != null)
258 msgs = ((InternalEObject)argumentList).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__ARGUMENT_LIST, null, msgs);
259 if (newArgumentList != null)
260 msgs = ((InternalEObject)newArgumentList).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CALL__ARGUMENT_LIST, null, msgs);
261 msgs = basicSetArgumentList(newArgumentList, msgs);
262 if (msgs != null) msgs.dispatch();
263 }
264 else if (eNotificationRequired())
265 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CALL__ARGUMENT_LIST, newArgumentList, newArgumentList));
266 }
267
268 /**
269 * <!-- begin-user-doc -->
270 * <!-- end-user-doc -->
271 * @generated
272 */
273 @Override
274 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
275 {
276 switch (featureID)
277 {
278 case SolverLanguagePackage.CALL__FUNCTOR:
279 return basicSetFunctor(null, msgs);
280 case SolverLanguagePackage.CALL__ARGUMENT_LIST:
281 return basicSetArgumentList(null, msgs);
282 }
283 return super.eInverseRemove(otherEnd, featureID, msgs);
284 }
285
286 /**
287 * <!-- begin-user-doc -->
288 * <!-- end-user-doc -->
289 * @generated
290 */
291 @Override
292 public Object eGet(int featureID, boolean resolve, boolean coreType)
293 {
294 switch (featureID)
295 {
296 case SolverLanguagePackage.CALL__FUNCTOR:
297 return getFunctor();
298 case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE:
299 return isTransitiveClosure();
300 case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE:
301 return isReflexiveTransitiveClosure();
302 case SolverLanguagePackage.CALL__ARGUMENT_LIST:
303 return getArgumentList();
304 }
305 return super.eGet(featureID, resolve, coreType);
306 }
307
308 /**
309 * <!-- begin-user-doc -->
310 * <!-- end-user-doc -->
311 * @generated
312 */
313 @Override
314 public void eSet(int featureID, Object newValue)
315 {
316 switch (featureID)
317 {
318 case SolverLanguagePackage.CALL__FUNCTOR:
319 setFunctor((Reference)newValue);
320 return;
321 case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE:
322 setTransitiveClosure((Boolean)newValue);
323 return;
324 case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE:
325 setReflexiveTransitiveClosure((Boolean)newValue);
326 return;
327 case SolverLanguagePackage.CALL__ARGUMENT_LIST:
328 setArgumentList((ArgumentList)newValue);
329 return;
330 }
331 super.eSet(featureID, newValue);
332 }
333
334 /**
335 * <!-- begin-user-doc -->
336 * <!-- end-user-doc -->
337 * @generated
338 */
339 @Override
340 public void eUnset(int featureID)
341 {
342 switch (featureID)
343 {
344 case SolverLanguagePackage.CALL__FUNCTOR:
345 setFunctor((Reference)null);
346 return;
347 case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE:
348 setTransitiveClosure(TRANSITIVE_CLOSURE_EDEFAULT);
349 return;
350 case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE:
351 setReflexiveTransitiveClosure(REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT);
352 return;
353 case SolverLanguagePackage.CALL__ARGUMENT_LIST:
354 setArgumentList((ArgumentList)null);
355 return;
356 }
357 super.eUnset(featureID);
358 }
359
360 /**
361 * <!-- begin-user-doc -->
362 * <!-- end-user-doc -->
363 * @generated
364 */
365 @Override
366 public boolean eIsSet(int featureID)
367 {
368 switch (featureID)
369 {
370 case SolverLanguagePackage.CALL__FUNCTOR:
371 return functor != null;
372 case SolverLanguagePackage.CALL__TRANSITIVE_CLOSURE:
373 return transitiveClosure != TRANSITIVE_CLOSURE_EDEFAULT;
374 case SolverLanguagePackage.CALL__REFLEXIVE_TRANSITIVE_CLOSURE:
375 return reflexiveTransitiveClosure != REFLEXIVE_TRANSITIVE_CLOSURE_EDEFAULT;
376 case SolverLanguagePackage.CALL__ARGUMENT_LIST:
377 return argumentList != null;
378 }
379 return super.eIsSet(featureID);
380 }
381
382 /**
383 * <!-- begin-user-doc -->
384 * <!-- end-user-doc -->
385 * @generated
386 */
387 @Override
388 public String toString()
389 {
390 if (eIsProxy()) return super.toString();
391
392 StringBuilder result = new StringBuilder(super.toString());
393 result.append(" (transitiveClosure: ");
394 result.append(transitiveClosure);
395 result.append(", reflexiveTransitiveClosure: ");
396 result.append(reflexiveTransitiveClosure);
397 result.append(')');
398 return result.toString();
399 }
400
401} //CallImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java
deleted file mode 100644
index 47245831..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CaseImpl.java
+++ /dev/null
@@ -1,269 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Case;
15import org.eclipse.viatra.solver.language.solverLanguage.Expression;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Case</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl#getCondition <em>Condition</em>}</li>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CaseImpl#getBody <em>Body</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class CaseImpl extends ExpressionImpl implements Case
33{
34 /**
35 * The cached value of the '{@link #getCondition() <em>Condition</em>}' containment reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @see #getCondition()
39 * @generated
40 * @ordered
41 */
42 protected Expression condition;
43
44 /**
45 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getBody()
49 * @generated
50 * @ordered
51 */
52 protected Expression body;
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 protected CaseImpl()
60 {
61 super();
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 @Override
70 protected EClass eStaticClass()
71 {
72 return SolverLanguagePackage.Literals.CASE;
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 @Override
81 public Expression getCondition()
82 {
83 return condition;
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 public NotificationChain basicSetCondition(Expression newCondition, NotificationChain msgs)
92 {
93 Expression oldCondition = condition;
94 condition = newCondition;
95 if (eNotificationRequired())
96 {
97 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CASE__CONDITION, oldCondition, newCondition);
98 if (msgs == null) msgs = notification; else msgs.add(notification);
99 }
100 return msgs;
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 @Override
109 public void setCondition(Expression newCondition)
110 {
111 if (newCondition != condition)
112 {
113 NotificationChain msgs = null;
114 if (condition != null)
115 msgs = ((InternalEObject)condition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CASE__CONDITION, null, msgs);
116 if (newCondition != null)
117 msgs = ((InternalEObject)newCondition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CASE__CONDITION, null, msgs);
118 msgs = basicSetCondition(newCondition, msgs);
119 if (msgs != null) msgs.dispatch();
120 }
121 else if (eNotificationRequired())
122 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CASE__CONDITION, newCondition, newCondition));
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public Expression getBody()
132 {
133 return body;
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs)
142 {
143 Expression oldBody = body;
144 body = newBody;
145 if (eNotificationRequired())
146 {
147 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CASE__BODY, oldBody, newBody);
148 if (msgs == null) msgs = notification; else msgs.add(notification);
149 }
150 return msgs;
151 }
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 @Override
159 public void setBody(Expression newBody)
160 {
161 if (newBody != body)
162 {
163 NotificationChain msgs = null;
164 if (body != null)
165 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CASE__BODY, null, msgs);
166 if (newBody != null)
167 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.CASE__BODY, null, msgs);
168 msgs = basicSetBody(newBody, msgs);
169 if (msgs != null) msgs.dispatch();
170 }
171 else if (eNotificationRequired())
172 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CASE__BODY, newBody, newBody));
173 }
174
175 /**
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @generated
179 */
180 @Override
181 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
182 {
183 switch (featureID)
184 {
185 case SolverLanguagePackage.CASE__CONDITION:
186 return basicSetCondition(null, msgs);
187 case SolverLanguagePackage.CASE__BODY:
188 return basicSetBody(null, msgs);
189 }
190 return super.eInverseRemove(otherEnd, featureID, msgs);
191 }
192
193 /**
194 * <!-- begin-user-doc -->
195 * <!-- end-user-doc -->
196 * @generated
197 */
198 @Override
199 public Object eGet(int featureID, boolean resolve, boolean coreType)
200 {
201 switch (featureID)
202 {
203 case SolverLanguagePackage.CASE__CONDITION:
204 return getCondition();
205 case SolverLanguagePackage.CASE__BODY:
206 return getBody();
207 }
208 return super.eGet(featureID, resolve, coreType);
209 }
210
211 /**
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @generated
215 */
216 @Override
217 public void eSet(int featureID, Object newValue)
218 {
219 switch (featureID)
220 {
221 case SolverLanguagePackage.CASE__CONDITION:
222 setCondition((Expression)newValue);
223 return;
224 case SolverLanguagePackage.CASE__BODY:
225 setBody((Expression)newValue);
226 return;
227 }
228 super.eSet(featureID, newValue);
229 }
230
231 /**
232 * <!-- begin-user-doc -->
233 * <!-- end-user-doc -->
234 * @generated
235 */
236 @Override
237 public void eUnset(int featureID)
238 {
239 switch (featureID)
240 {
241 case SolverLanguagePackage.CASE__CONDITION:
242 setCondition((Expression)null);
243 return;
244 case SolverLanguagePackage.CASE__BODY:
245 setBody((Expression)null);
246 return;
247 }
248 super.eUnset(featureID);
249 }
250
251 /**
252 * <!-- begin-user-doc -->
253 * <!-- end-user-doc -->
254 * @generated
255 */
256 @Override
257 public boolean eIsSet(int featureID)
258 {
259 switch (featureID)
260 {
261 case SolverLanguagePackage.CASE__CONDITION:
262 return condition != null;
263 case SolverLanguagePackage.CASE__BODY:
264 return body != null;
265 }
266 return super.eIsSet(featureID);
267 }
268
269} //CaseImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDefinitionImpl.java
deleted file mode 100644
index f0a81764..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ClassDefinitionImpl.java
+++ /dev/null
@@ -1,340 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import java.util.Collection;
7
8import org.eclipse.emf.common.notify.Notification;
9import org.eclipse.emf.common.notify.NotificationChain;
10
11import org.eclipse.emf.common.util.EList;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17
18import org.eclipse.emf.ecore.util.EObjectContainmentEList;
19import org.eclipse.emf.ecore.util.EObjectResolvingEList;
20import org.eclipse.emf.ecore.util.InternalEList;
21
22import org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition;
23import org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition;
24import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
25import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
26
27/**
28 * <!-- begin-user-doc -->
29 * An implementation of the model object '<em><b>Class Definition</b></em>'.
30 * <!-- end-user-doc -->
31 * <p>
32 * The following features are implemented:
33 * </p>
34 * <ul>
35 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl#isAbstract <em>Abstract</em>}</li>
36 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl#getName <em>Name</em>}</li>
37 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl#getSuperclasses <em>Superclasses</em>}</li>
38 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ClassDefinitionImpl#getMembers <em>Members</em>}</li>
39 * </ul>
40 *
41 * @generated
42 */
43public class ClassDefinitionImpl extends StatementImpl implements ClassDefinition
44{
45 /**
46 * The default value of the '{@link #isAbstract() <em>Abstract</em>}' attribute.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @see #isAbstract()
50 * @generated
51 * @ordered
52 */
53 protected static final boolean ABSTRACT_EDEFAULT = false;
54
55 /**
56 * The cached value of the '{@link #isAbstract() <em>Abstract</em>}' attribute.
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @see #isAbstract()
60 * @generated
61 * @ordered
62 */
63 protected boolean abstract_ = ABSTRACT_EDEFAULT;
64
65 /**
66 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @see #getName()
70 * @generated
71 * @ordered
72 */
73 protected static final String NAME_EDEFAULT = null;
74
75 /**
76 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @see #getName()
80 * @generated
81 * @ordered
82 */
83 protected String name = NAME_EDEFAULT;
84
85 /**
86 * The cached value of the '{@link #getSuperclasses() <em>Superclasses</em>}' reference list.
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @see #getSuperclasses()
90 * @generated
91 * @ordered
92 */
93 protected EList<NamedElement> superclasses;
94
95 /**
96 * The cached value of the '{@link #getMembers() <em>Members</em>}' containment reference list.
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @see #getMembers()
100 * @generated
101 * @ordered
102 */
103 protected EList<MemberDefinition> members;
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 protected ClassDefinitionImpl()
111 {
112 super();
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 @Override
121 protected EClass eStaticClass()
122 {
123 return SolverLanguagePackage.Literals.CLASS_DEFINITION;
124 }
125
126 /**
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @generated
130 */
131 @Override
132 public boolean isAbstract()
133 {
134 return abstract_;
135 }
136
137 /**
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @generated
141 */
142 @Override
143 public void setAbstract(boolean newAbstract)
144 {
145 boolean oldAbstract = abstract_;
146 abstract_ = newAbstract;
147 if (eNotificationRequired())
148 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT, oldAbstract, abstract_));
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public String getName()
158 {
159 return name;
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 @Override
168 public void setName(String newName)
169 {
170 String oldName = name;
171 name = newName;
172 if (eNotificationRequired())
173 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.CLASS_DEFINITION__NAME, oldName, name));
174 }
175
176 /**
177 * <!-- begin-user-doc -->
178 * <!-- end-user-doc -->
179 * @generated
180 */
181 @Override
182 public EList<NamedElement> getSuperclasses()
183 {
184 if (superclasses == null)
185 {
186 superclasses = new EObjectResolvingEList<NamedElement>(NamedElement.class, this, SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES);
187 }
188 return superclasses;
189 }
190
191 /**
192 * <!-- begin-user-doc -->
193 * <!-- end-user-doc -->
194 * @generated
195 */
196 @Override
197 public EList<MemberDefinition> getMembers()
198 {
199 if (members == null)
200 {
201 members = new EObjectContainmentEList<MemberDefinition>(MemberDefinition.class, this, SolverLanguagePackage.CLASS_DEFINITION__MEMBERS);
202 }
203 return members;
204 }
205
206 /**
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @generated
210 */
211 @Override
212 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
213 {
214 switch (featureID)
215 {
216 case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS:
217 return ((InternalEList<?>)getMembers()).basicRemove(otherEnd, msgs);
218 }
219 return super.eInverseRemove(otherEnd, featureID, msgs);
220 }
221
222 /**
223 * <!-- begin-user-doc -->
224 * <!-- end-user-doc -->
225 * @generated
226 */
227 @Override
228 public Object eGet(int featureID, boolean resolve, boolean coreType)
229 {
230 switch (featureID)
231 {
232 case SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT:
233 return isAbstract();
234 case SolverLanguagePackage.CLASS_DEFINITION__NAME:
235 return getName();
236 case SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES:
237 return getSuperclasses();
238 case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS:
239 return getMembers();
240 }
241 return super.eGet(featureID, resolve, coreType);
242 }
243
244 /**
245 * <!-- begin-user-doc -->
246 * <!-- end-user-doc -->
247 * @generated
248 */
249 @SuppressWarnings("unchecked")
250 @Override
251 public void eSet(int featureID, Object newValue)
252 {
253 switch (featureID)
254 {
255 case SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT:
256 setAbstract((Boolean)newValue);
257 return;
258 case SolverLanguagePackage.CLASS_DEFINITION__NAME:
259 setName((String)newValue);
260 return;
261 case SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES:
262 getSuperclasses().clear();
263 getSuperclasses().addAll((Collection<? extends NamedElement>)newValue);
264 return;
265 case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS:
266 getMembers().clear();
267 getMembers().addAll((Collection<? extends MemberDefinition>)newValue);
268 return;
269 }
270 super.eSet(featureID, newValue);
271 }
272
273 /**
274 * <!-- begin-user-doc -->
275 * <!-- end-user-doc -->
276 * @generated
277 */
278 @Override
279 public void eUnset(int featureID)
280 {
281 switch (featureID)
282 {
283 case SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT:
284 setAbstract(ABSTRACT_EDEFAULT);
285 return;
286 case SolverLanguagePackage.CLASS_DEFINITION__NAME:
287 setName(NAME_EDEFAULT);
288 return;
289 case SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES:
290 getSuperclasses().clear();
291 return;
292 case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS:
293 getMembers().clear();
294 return;
295 }
296 super.eUnset(featureID);
297 }
298
299 /**
300 * <!-- begin-user-doc -->
301 * <!-- end-user-doc -->
302 * @generated
303 */
304 @Override
305 public boolean eIsSet(int featureID)
306 {
307 switch (featureID)
308 {
309 case SolverLanguagePackage.CLASS_DEFINITION__ABSTRACT:
310 return abstract_ != ABSTRACT_EDEFAULT;
311 case SolverLanguagePackage.CLASS_DEFINITION__NAME:
312 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
313 case SolverLanguagePackage.CLASS_DEFINITION__SUPERCLASSES:
314 return superclasses != null && !superclasses.isEmpty();
315 case SolverLanguagePackage.CLASS_DEFINITION__MEMBERS:
316 return members != null && !members.isEmpty();
317 }
318 return super.eIsSet(featureID);
319 }
320
321 /**
322 * <!-- begin-user-doc -->
323 * <!-- end-user-doc -->
324 * @generated
325 */
326 @Override
327 public String toString()
328 {
329 if (eIsProxy()) return super.toString();
330
331 StringBuilder result = new StringBuilder(super.toString());
332 result.append(" (abstract: ");
333 result.append(abstract_);
334 result.append(", name: ");
335 result.append(name);
336 result.append(')');
337 return result.toString();
338 }
339
340} //ClassDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComparisonImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComparisonImpl.java
deleted file mode 100644
index 9e62d7ef..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ComparisonImpl.java
+++ /dev/null
@@ -1,343 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator;
15import org.eclipse.viatra.solver.language.solverLanguage.Comparison;
16import org.eclipse.viatra.solver.language.solverLanguage.Expression;
17import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Comparison</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl#getLeft <em>Left</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl#getOp <em>Op</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ComparisonImpl#getRight <em>Right</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class ComparisonImpl extends ExpressionImpl implements Comparison
35{
36 /**
37 * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @see #getLeft()
41 * @generated
42 * @ordered
43 */
44 protected Expression left;
45
46 /**
47 * The default value of the '{@link #getOp() <em>Op</em>}' attribute.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @see #getOp()
51 * @generated
52 * @ordered
53 */
54 protected static final BinaryOperator OP_EDEFAULT = BinaryOperator.EQ;
55
56 /**
57 * The cached value of the '{@link #getOp() <em>Op</em>}' attribute.
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @see #getOp()
61 * @generated
62 * @ordered
63 */
64 protected BinaryOperator op = OP_EDEFAULT;
65
66 /**
67 * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @see #getRight()
71 * @generated
72 * @ordered
73 */
74 protected Expression right;
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 protected ComparisonImpl()
82 {
83 super();
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 @Override
92 protected EClass eStaticClass()
93 {
94 return SolverLanguagePackage.Literals.COMPARISON;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 @Override
103 public Expression getLeft()
104 {
105 return left;
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs)
114 {
115 Expression oldLeft = left;
116 left = newLeft;
117 if (eNotificationRequired())
118 {
119 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COMPARISON__LEFT, oldLeft, newLeft);
120 if (msgs == null) msgs = notification; else msgs.add(notification);
121 }
122 return msgs;
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public void setLeft(Expression newLeft)
132 {
133 if (newLeft != left)
134 {
135 NotificationChain msgs = null;
136 if (left != null)
137 msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.COMPARISON__LEFT, null, msgs);
138 if (newLeft != null)
139 msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.COMPARISON__LEFT, null, msgs);
140 msgs = basicSetLeft(newLeft, msgs);
141 if (msgs != null) msgs.dispatch();
142 }
143 else if (eNotificationRequired())
144 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COMPARISON__LEFT, newLeft, newLeft));
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 @Override
153 public BinaryOperator getOp()
154 {
155 return op;
156 }
157
158 /**
159 * <!-- begin-user-doc -->
160 * <!-- end-user-doc -->
161 * @generated
162 */
163 @Override
164 public void setOp(BinaryOperator newOp)
165 {
166 BinaryOperator oldOp = op;
167 op = newOp == null ? OP_EDEFAULT : newOp;
168 if (eNotificationRequired())
169 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COMPARISON__OP, oldOp, op));
170 }
171
172 /**
173 * <!-- begin-user-doc -->
174 * <!-- end-user-doc -->
175 * @generated
176 */
177 @Override
178 public Expression getRight()
179 {
180 return right;
181 }
182
183 /**
184 * <!-- begin-user-doc -->
185 * <!-- end-user-doc -->
186 * @generated
187 */
188 public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs)
189 {
190 Expression oldRight = right;
191 right = newRight;
192 if (eNotificationRequired())
193 {
194 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COMPARISON__RIGHT, oldRight, newRight);
195 if (msgs == null) msgs = notification; else msgs.add(notification);
196 }
197 return msgs;
198 }
199
200 /**
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 */
205 @Override
206 public void setRight(Expression newRight)
207 {
208 if (newRight != right)
209 {
210 NotificationChain msgs = null;
211 if (right != null)
212 msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.COMPARISON__RIGHT, null, msgs);
213 if (newRight != null)
214 msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.COMPARISON__RIGHT, null, msgs);
215 msgs = basicSetRight(newRight, msgs);
216 if (msgs != null) msgs.dispatch();
217 }
218 else if (eNotificationRequired())
219 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COMPARISON__RIGHT, newRight, newRight));
220 }
221
222 /**
223 * <!-- begin-user-doc -->
224 * <!-- end-user-doc -->
225 * @generated
226 */
227 @Override
228 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
229 {
230 switch (featureID)
231 {
232 case SolverLanguagePackage.COMPARISON__LEFT:
233 return basicSetLeft(null, msgs);
234 case SolverLanguagePackage.COMPARISON__RIGHT:
235 return basicSetRight(null, msgs);
236 }
237 return super.eInverseRemove(otherEnd, featureID, msgs);
238 }
239
240 /**
241 * <!-- begin-user-doc -->
242 * <!-- end-user-doc -->
243 * @generated
244 */
245 @Override
246 public Object eGet(int featureID, boolean resolve, boolean coreType)
247 {
248 switch (featureID)
249 {
250 case SolverLanguagePackage.COMPARISON__LEFT:
251 return getLeft();
252 case SolverLanguagePackage.COMPARISON__OP:
253 return getOp();
254 case SolverLanguagePackage.COMPARISON__RIGHT:
255 return getRight();
256 }
257 return super.eGet(featureID, resolve, coreType);
258 }
259
260 /**
261 * <!-- begin-user-doc -->
262 * <!-- end-user-doc -->
263 * @generated
264 */
265 @Override
266 public void eSet(int featureID, Object newValue)
267 {
268 switch (featureID)
269 {
270 case SolverLanguagePackage.COMPARISON__LEFT:
271 setLeft((Expression)newValue);
272 return;
273 case SolverLanguagePackage.COMPARISON__OP:
274 setOp((BinaryOperator)newValue);
275 return;
276 case SolverLanguagePackage.COMPARISON__RIGHT:
277 setRight((Expression)newValue);
278 return;
279 }
280 super.eSet(featureID, newValue);
281 }
282
283 /**
284 * <!-- begin-user-doc -->
285 * <!-- end-user-doc -->
286 * @generated
287 */
288 @Override
289 public void eUnset(int featureID)
290 {
291 switch (featureID)
292 {
293 case SolverLanguagePackage.COMPARISON__LEFT:
294 setLeft((Expression)null);
295 return;
296 case SolverLanguagePackage.COMPARISON__OP:
297 setOp(OP_EDEFAULT);
298 return;
299 case SolverLanguagePackage.COMPARISON__RIGHT:
300 setRight((Expression)null);
301 return;
302 }
303 super.eUnset(featureID);
304 }
305
306 /**
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @generated
310 */
311 @Override
312 public boolean eIsSet(int featureID)
313 {
314 switch (featureID)
315 {
316 case SolverLanguagePackage.COMPARISON__LEFT:
317 return left != null;
318 case SolverLanguagePackage.COMPARISON__OP:
319 return op != OP_EDEFAULT;
320 case SolverLanguagePackage.COMPARISON__RIGHT:
321 return right != null;
322 }
323 return super.eIsSet(featureID);
324 }
325
326 /**
327 * <!-- begin-user-doc -->
328 * <!-- end-user-doc -->
329 * @generated
330 */
331 @Override
332 public String toString()
333 {
334 if (eIsProxy()) return super.toString();
335
336 StringBuilder result = new StringBuilder(super.toString());
337 result.append(" (op: ");
338 result.append(op);
339 result.append(')');
340 return result.toString();
341 }
342
343} //ComparisonImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java
deleted file mode 100644
index 6a1e995a..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ConjunctionImpl.java
+++ /dev/null
@@ -1,167 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import java.util.Collection;
7
8import org.eclipse.emf.common.notify.NotificationChain;
9
10import org.eclipse.emf.common.util.EList;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.util.EObjectContainmentEList;
16import org.eclipse.emf.ecore.util.InternalEList;
17
18import org.eclipse.viatra.solver.language.solverLanguage.Conjunction;
19import org.eclipse.viatra.solver.language.solverLanguage.Expression;
20import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
21
22/**
23 * <!-- begin-user-doc -->
24 * An implementation of the model object '<em><b>Conjunction</b></em>'.
25 * <!-- end-user-doc -->
26 * <p>
27 * The following features are implemented:
28 * </p>
29 * <ul>
30 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ConjunctionImpl#getChildren <em>Children</em>}</li>
31 * </ul>
32 *
33 * @generated
34 */
35public class ConjunctionImpl extends ExpressionImpl implements Conjunction
36{
37 /**
38 * The cached value of the '{@link #getChildren() <em>Children</em>}' containment reference list.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @see #getChildren()
42 * @generated
43 * @ordered
44 */
45 protected EList<Expression> children;
46
47 /**
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @generated
51 */
52 protected ConjunctionImpl()
53 {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass()
64 {
65 return SolverLanguagePackage.Literals.CONJUNCTION;
66 }
67
68 /**
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @generated
72 */
73 @Override
74 public EList<Expression> getChildren()
75 {
76 if (children == null)
77 {
78 children = new EObjectContainmentEList<Expression>(Expression.class, this, SolverLanguagePackage.CONJUNCTION__CHILDREN);
79 }
80 return children;
81 }
82
83 /**
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @generated
87 */
88 @Override
89 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
90 {
91 switch (featureID)
92 {
93 case SolverLanguagePackage.CONJUNCTION__CHILDREN:
94 return ((InternalEList<?>)getChildren()).basicRemove(otherEnd, msgs);
95 }
96 return super.eInverseRemove(otherEnd, featureID, msgs);
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 @Override
105 public Object eGet(int featureID, boolean resolve, boolean coreType)
106 {
107 switch (featureID)
108 {
109 case SolverLanguagePackage.CONJUNCTION__CHILDREN:
110 return getChildren();
111 }
112 return super.eGet(featureID, resolve, coreType);
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 @SuppressWarnings("unchecked")
121 @Override
122 public void eSet(int featureID, Object newValue)
123 {
124 switch (featureID)
125 {
126 case SolverLanguagePackage.CONJUNCTION__CHILDREN:
127 getChildren().clear();
128 getChildren().addAll((Collection<? extends Expression>)newValue);
129 return;
130 }
131 super.eSet(featureID, newValue);
132 }
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 @Override
140 public void eUnset(int featureID)
141 {
142 switch (featureID)
143 {
144 case SolverLanguagePackage.CONJUNCTION__CHILDREN:
145 getChildren().clear();
146 return;
147 }
148 super.eUnset(featureID);
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public boolean eIsSet(int featureID)
158 {
159 switch (featureID)
160 {
161 case SolverLanguagePackage.CONJUNCTION__CHILDREN:
162 return children != null && !children.isEmpty();
163 }
164 return super.eIsSet(featureID);
165 }
166
167} //ConjunctionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CountImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CountImpl.java
deleted file mode 100644
index 1609245f..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/CountImpl.java
+++ /dev/null
@@ -1,196 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Count;
15import org.eclipse.viatra.solver.language.solverLanguage.Expression;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Count</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.CountImpl#getBody <em>Body</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class CountImpl extends ExpressionImpl implements Count
32{
33 /**
34 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getBody()
38 * @generated
39 * @ordered
40 */
41 protected Expression body;
42
43 /**
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @generated
47 */
48 protected CountImpl()
49 {
50 super();
51 }
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 @Override
59 protected EClass eStaticClass()
60 {
61 return SolverLanguagePackage.Literals.COUNT;
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 @Override
70 public Expression getBody()
71 {
72 return body;
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs)
81 {
82 Expression oldBody = body;
83 body = newBody;
84 if (eNotificationRequired())
85 {
86 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COUNT__BODY, oldBody, newBody);
87 if (msgs == null) msgs = notification; else msgs.add(notification);
88 }
89 return msgs;
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 @Override
98 public void setBody(Expression newBody)
99 {
100 if (newBody != body)
101 {
102 NotificationChain msgs = null;
103 if (body != null)
104 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.COUNT__BODY, null, msgs);
105 if (newBody != null)
106 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.COUNT__BODY, null, msgs);
107 msgs = basicSetBody(newBody, msgs);
108 if (msgs != null) msgs.dispatch();
109 }
110 else if (eNotificationRequired())
111 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.COUNT__BODY, newBody, newBody));
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 @Override
120 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
121 {
122 switch (featureID)
123 {
124 case SolverLanguagePackage.COUNT__BODY:
125 return basicSetBody(null, msgs);
126 }
127 return super.eInverseRemove(otherEnd, featureID, msgs);
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 @Override
136 public Object eGet(int featureID, boolean resolve, boolean coreType)
137 {
138 switch (featureID)
139 {
140 case SolverLanguagePackage.COUNT__BODY:
141 return getBody();
142 }
143 return super.eGet(featureID, resolve, coreType);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public void eSet(int featureID, Object newValue)
153 {
154 switch (featureID)
155 {
156 case SolverLanguagePackage.COUNT__BODY:
157 setBody((Expression)newValue);
158 return;
159 }
160 super.eSet(featureID, newValue);
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public void eUnset(int featureID)
170 {
171 switch (featureID)
172 {
173 case SolverLanguagePackage.COUNT__BODY:
174 setBody((Expression)null);
175 return;
176 }
177 super.eUnset(featureID);
178 }
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 @Override
186 public boolean eIsSet(int featureID)
187 {
188 switch (featureID)
189 {
190 case SolverLanguagePackage.COUNT__BODY:
191 return body != null;
192 }
193 return super.eIsSet(featureID);
194 }
195
196} //CountImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultDefinitionImpl.java
deleted file mode 100644
index c1eaa71a..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DefaultDefinitionImpl.java
+++ /dev/null
@@ -1,270 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Call;
15import org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition;
16import org.eclipse.viatra.solver.language.solverLanguage.Expression;
17import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Default Definition</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl#getHead <em>Head</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DefaultDefinitionImpl#getRange <em>Range</em>}</li>
29 * </ul>
30 *
31 * @generated
32 */
33public class DefaultDefinitionImpl extends StatementImpl implements DefaultDefinition
34{
35 /**
36 * The cached value of the '{@link #getHead() <em>Head</em>}' containment reference.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getHead()
40 * @generated
41 * @ordered
42 */
43 protected Call head;
44
45 /**
46 * The cached value of the '{@link #getRange() <em>Range</em>}' containment reference.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @see #getRange()
50 * @generated
51 * @ordered
52 */
53 protected Expression range;
54
55 /**
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @generated
59 */
60 protected DefaultDefinitionImpl()
61 {
62 super();
63 }
64
65 /**
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @generated
69 */
70 @Override
71 protected EClass eStaticClass()
72 {
73 return SolverLanguagePackage.Literals.DEFAULT_DEFINITION;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 @Override
82 public Call getHead()
83 {
84 return head;
85 }
86
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 public NotificationChain basicSetHead(Call newHead, NotificationChain msgs)
93 {
94 Call oldHead = head;
95 head = newHead;
96 if (eNotificationRequired())
97 {
98 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.DEFAULT_DEFINITION__HEAD, oldHead, newHead);
99 if (msgs == null) msgs = notification; else msgs.add(notification);
100 }
101 return msgs;
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 @Override
110 public void setHead(Call newHead)
111 {
112 if (newHead != head)
113 {
114 NotificationChain msgs = null;
115 if (head != null)
116 msgs = ((InternalEObject)head).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.DEFAULT_DEFINITION__HEAD, null, msgs);
117 if (newHead != null)
118 msgs = ((InternalEObject)newHead).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.DEFAULT_DEFINITION__HEAD, null, msgs);
119 msgs = basicSetHead(newHead, msgs);
120 if (msgs != null) msgs.dispatch();
121 }
122 else if (eNotificationRequired())
123 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.DEFAULT_DEFINITION__HEAD, newHead, newHead));
124 }
125
126 /**
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @generated
130 */
131 @Override
132 public Expression getRange()
133 {
134 return range;
135 }
136
137 /**
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @generated
141 */
142 public NotificationChain basicSetRange(Expression newRange, NotificationChain msgs)
143 {
144 Expression oldRange = range;
145 range = newRange;
146 if (eNotificationRequired())
147 {
148 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.DEFAULT_DEFINITION__RANGE, oldRange, newRange);
149 if (msgs == null) msgs = notification; else msgs.add(notification);
150 }
151 return msgs;
152 }
153
154 /**
155 * <!-- begin-user-doc -->
156 * <!-- end-user-doc -->
157 * @generated
158 */
159 @Override
160 public void setRange(Expression newRange)
161 {
162 if (newRange != range)
163 {
164 NotificationChain msgs = null;
165 if (range != null)
166 msgs = ((InternalEObject)range).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.DEFAULT_DEFINITION__RANGE, null, msgs);
167 if (newRange != null)
168 msgs = ((InternalEObject)newRange).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.DEFAULT_DEFINITION__RANGE, null, msgs);
169 msgs = basicSetRange(newRange, msgs);
170 if (msgs != null) msgs.dispatch();
171 }
172 else if (eNotificationRequired())
173 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.DEFAULT_DEFINITION__RANGE, newRange, newRange));
174 }
175
176 /**
177 * <!-- begin-user-doc -->
178 * <!-- end-user-doc -->
179 * @generated
180 */
181 @Override
182 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
183 {
184 switch (featureID)
185 {
186 case SolverLanguagePackage.DEFAULT_DEFINITION__HEAD:
187 return basicSetHead(null, msgs);
188 case SolverLanguagePackage.DEFAULT_DEFINITION__RANGE:
189 return basicSetRange(null, msgs);
190 }
191 return super.eInverseRemove(otherEnd, featureID, msgs);
192 }
193
194 /**
195 * <!-- begin-user-doc -->
196 * <!-- end-user-doc -->
197 * @generated
198 */
199 @Override
200 public Object eGet(int featureID, boolean resolve, boolean coreType)
201 {
202 switch (featureID)
203 {
204 case SolverLanguagePackage.DEFAULT_DEFINITION__HEAD:
205 return getHead();
206 case SolverLanguagePackage.DEFAULT_DEFINITION__RANGE:
207 return getRange();
208 }
209 return super.eGet(featureID, resolve, coreType);
210 }
211
212 /**
213 * <!-- begin-user-doc -->
214 * <!-- end-user-doc -->
215 * @generated
216 */
217 @Override
218 public void eSet(int featureID, Object newValue)
219 {
220 switch (featureID)
221 {
222 case SolverLanguagePackage.DEFAULT_DEFINITION__HEAD:
223 setHead((Call)newValue);
224 return;
225 case SolverLanguagePackage.DEFAULT_DEFINITION__RANGE:
226 setRange((Expression)newValue);
227 return;
228 }
229 super.eSet(featureID, newValue);
230 }
231
232 /**
233 * <!-- begin-user-doc -->
234 * <!-- end-user-doc -->
235 * @generated
236 */
237 @Override
238 public void eUnset(int featureID)
239 {
240 switch (featureID)
241 {
242 case SolverLanguagePackage.DEFAULT_DEFINITION__HEAD:
243 setHead((Call)null);
244 return;
245 case SolverLanguagePackage.DEFAULT_DEFINITION__RANGE:
246 setRange((Expression)null);
247 return;
248 }
249 super.eUnset(featureID);
250 }
251
252 /**
253 * <!-- begin-user-doc -->
254 * <!-- end-user-doc -->
255 * @generated
256 */
257 @Override
258 public boolean eIsSet(int featureID)
259 {
260 switch (featureID)
261 {
262 case SolverLanguagePackage.DEFAULT_DEFINITION__HEAD:
263 return head != null;
264 case SolverLanguagePackage.DEFAULT_DEFINITION__RANGE:
265 return range != null;
266 }
267 return super.eIsSet(featureID);
268 }
269
270} //DefaultDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java
deleted file mode 100644
index ecdb14d8..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/DisjunctionImpl.java
+++ /dev/null
@@ -1,167 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import java.util.Collection;
7
8import org.eclipse.emf.common.notify.NotificationChain;
9
10import org.eclipse.emf.common.util.EList;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.util.EObjectContainmentEList;
16import org.eclipse.emf.ecore.util.InternalEList;
17
18import org.eclipse.viatra.solver.language.solverLanguage.Disjunction;
19import org.eclipse.viatra.solver.language.solverLanguage.Expression;
20import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
21
22/**
23 * <!-- begin-user-doc -->
24 * An implementation of the model object '<em><b>Disjunction</b></em>'.
25 * <!-- end-user-doc -->
26 * <p>
27 * The following features are implemented:
28 * </p>
29 * <ul>
30 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.DisjunctionImpl#getChildren <em>Children</em>}</li>
31 * </ul>
32 *
33 * @generated
34 */
35public class DisjunctionImpl extends ExpressionImpl implements Disjunction
36{
37 /**
38 * The cached value of the '{@link #getChildren() <em>Children</em>}' containment reference list.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @see #getChildren()
42 * @generated
43 * @ordered
44 */
45 protected EList<Expression> children;
46
47 /**
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @generated
51 */
52 protected DisjunctionImpl()
53 {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass()
64 {
65 return SolverLanguagePackage.Literals.DISJUNCTION;
66 }
67
68 /**
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @generated
72 */
73 @Override
74 public EList<Expression> getChildren()
75 {
76 if (children == null)
77 {
78 children = new EObjectContainmentEList<Expression>(Expression.class, this, SolverLanguagePackage.DISJUNCTION__CHILDREN);
79 }
80 return children;
81 }
82
83 /**
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @generated
87 */
88 @Override
89 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
90 {
91 switch (featureID)
92 {
93 case SolverLanguagePackage.DISJUNCTION__CHILDREN:
94 return ((InternalEList<?>)getChildren()).basicRemove(otherEnd, msgs);
95 }
96 return super.eInverseRemove(otherEnd, featureID, msgs);
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 @Override
105 public Object eGet(int featureID, boolean resolve, boolean coreType)
106 {
107 switch (featureID)
108 {
109 case SolverLanguagePackage.DISJUNCTION__CHILDREN:
110 return getChildren();
111 }
112 return super.eGet(featureID, resolve, coreType);
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 @SuppressWarnings("unchecked")
121 @Override
122 public void eSet(int featureID, Object newValue)
123 {
124 switch (featureID)
125 {
126 case SolverLanguagePackage.DISJUNCTION__CHILDREN:
127 getChildren().clear();
128 getChildren().addAll((Collection<? extends Expression>)newValue);
129 return;
130 }
131 super.eSet(featureID, newValue);
132 }
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 @Override
140 public void eUnset(int featureID)
141 {
142 switch (featureID)
143 {
144 case SolverLanguagePackage.DISJUNCTION__CHILDREN:
145 getChildren().clear();
146 return;
147 }
148 super.eUnset(featureID);
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public boolean eIsSet(int featureID)
158 {
159 switch (featureID)
160 {
161 case SolverLanguagePackage.DISJUNCTION__CHILDREN:
162 return children != null && !children.isEmpty();
163 }
164 return super.eIsSet(featureID);
165 }
166
167} //DisjunctionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyIntervalLiteralImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyIntervalLiteralImpl.java
deleted file mode 100644
index 1ebf38ad..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/EmptyIntervalLiteralImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Empty Interval Literal</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class EmptyIntervalLiteralImpl extends LiteralImpl implements EmptyIntervalLiteral
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected EmptyIntervalLiteralImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.EMPTY_INTERVAL_LITERAL;
39 }
40
41} //EmptyIntervalLiteralImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java
deleted file mode 100644
index 3751de39..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactMultiplicityImpl.java
+++ /dev/null
@@ -1,179 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11
12import org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity;
13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Exact Multiplicity</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactMultiplicityImpl#getMultiplicity <em>Multiplicity</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class ExactMultiplicityImpl extends MultiplicityImpl implements ExactMultiplicity
29{
30 /**
31 * The default value of the '{@link #getMultiplicity() <em>Multiplicity</em>}' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getMultiplicity()
35 * @generated
36 * @ordered
37 */
38 protected static final int MULTIPLICITY_EDEFAULT = 0;
39
40 /**
41 * The cached value of the '{@link #getMultiplicity() <em>Multiplicity</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getMultiplicity()
45 * @generated
46 * @ordered
47 */
48 protected int multiplicity = MULTIPLICITY_EDEFAULT;
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 protected ExactMultiplicityImpl()
56 {
57 super();
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 @Override
66 protected EClass eStaticClass()
67 {
68 return SolverLanguagePackage.Literals.EXACT_MULTIPLICITY;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 @Override
77 public int getMultiplicity()
78 {
79 return multiplicity;
80 }
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 @Override
88 public void setMultiplicity(int newMultiplicity)
89 {
90 int oldMultiplicity = multiplicity;
91 multiplicity = newMultiplicity;
92 if (eNotificationRequired())
93 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXACT_MULTIPLICITY__MULTIPLICITY, oldMultiplicity, multiplicity));
94 }
95
96 /**
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @generated
100 */
101 @Override
102 public Object eGet(int featureID, boolean resolve, boolean coreType)
103 {
104 switch (featureID)
105 {
106 case SolverLanguagePackage.EXACT_MULTIPLICITY__MULTIPLICITY:
107 return getMultiplicity();
108 }
109 return super.eGet(featureID, resolve, coreType);
110 }
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 @Override
118 public void eSet(int featureID, Object newValue)
119 {
120 switch (featureID)
121 {
122 case SolverLanguagePackage.EXACT_MULTIPLICITY__MULTIPLICITY:
123 setMultiplicity((Integer)newValue);
124 return;
125 }
126 super.eSet(featureID, newValue);
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 @Override
135 public void eUnset(int featureID)
136 {
137 switch (featureID)
138 {
139 case SolverLanguagePackage.EXACT_MULTIPLICITY__MULTIPLICITY:
140 setMultiplicity(MULTIPLICITY_EDEFAULT);
141 return;
142 }
143 super.eUnset(featureID);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public boolean eIsSet(int featureID)
153 {
154 switch (featureID)
155 {
156 case SolverLanguagePackage.EXACT_MULTIPLICITY__MULTIPLICITY:
157 return multiplicity != MULTIPLICITY_EDEFAULT;
158 }
159 return super.eIsSet(featureID);
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 @Override
168 public String toString()
169 {
170 if (eIsProxy()) return super.toString();
171
172 StringBuilder result = new StringBuilder(super.toString());
173 result.append(" (multiplicity: ");
174 result.append(multiplicity);
175 result.append(')');
176 return result.toString();
177 }
178
179} //ExactMultiplicityImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeDefinitionImpl.java
deleted file mode 100644
index faf51904..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExactScopeDefinitionImpl.java
+++ /dev/null
@@ -1,179 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11
12import org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition;
13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Exact Scope Definition</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExactScopeDefinitionImpl#getExactScope <em>Exact Scope</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class ExactScopeDefinitionImpl extends ScopeDefinitionImpl implements ExactScopeDefinition
29{
30 /**
31 * The default value of the '{@link #getExactScope() <em>Exact Scope</em>}' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getExactScope()
35 * @generated
36 * @ordered
37 */
38 protected static final int EXACT_SCOPE_EDEFAULT = 0;
39
40 /**
41 * The cached value of the '{@link #getExactScope() <em>Exact Scope</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getExactScope()
45 * @generated
46 * @ordered
47 */
48 protected int exactScope = EXACT_SCOPE_EDEFAULT;
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 protected ExactScopeDefinitionImpl()
56 {
57 super();
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 @Override
66 protected EClass eStaticClass()
67 {
68 return SolverLanguagePackage.Literals.EXACT_SCOPE_DEFINITION;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 @Override
77 public int getExactScope()
78 {
79 return exactScope;
80 }
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 @Override
88 public void setExactScope(int newExactScope)
89 {
90 int oldExactScope = exactScope;
91 exactScope = newExactScope;
92 if (eNotificationRequired())
93 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXACT_SCOPE_DEFINITION__EXACT_SCOPE, oldExactScope, exactScope));
94 }
95
96 /**
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @generated
100 */
101 @Override
102 public Object eGet(int featureID, boolean resolve, boolean coreType)
103 {
104 switch (featureID)
105 {
106 case SolverLanguagePackage.EXACT_SCOPE_DEFINITION__EXACT_SCOPE:
107 return getExactScope();
108 }
109 return super.eGet(featureID, resolve, coreType);
110 }
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 @Override
118 public void eSet(int featureID, Object newValue)
119 {
120 switch (featureID)
121 {
122 case SolverLanguagePackage.EXACT_SCOPE_DEFINITION__EXACT_SCOPE:
123 setExactScope((Integer)newValue);
124 return;
125 }
126 super.eSet(featureID, newValue);
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 @Override
135 public void eUnset(int featureID)
136 {
137 switch (featureID)
138 {
139 case SolverLanguagePackage.EXACT_SCOPE_DEFINITION__EXACT_SCOPE:
140 setExactScope(EXACT_SCOPE_EDEFAULT);
141 return;
142 }
143 super.eUnset(featureID);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public boolean eIsSet(int featureID)
153 {
154 switch (featureID)
155 {
156 case SolverLanguagePackage.EXACT_SCOPE_DEFINITION__EXACT_SCOPE:
157 return exactScope != EXACT_SCOPE_EDEFAULT;
158 }
159 return super.eIsSet(featureID);
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 @Override
168 public String toString()
169 {
170 if (eIsProxy()) return super.toString();
171
172 StringBuilder result = new StringBuilder(super.toString());
173 result.append(" (exactScope: ");
174 result.append(exactScope);
175 result.append(')');
176 return result.toString();
177 }
178
179} //ExactScopeDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java
deleted file mode 100644
index f83c1cb3..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionArgumentImpl.java
+++ /dev/null
@@ -1,196 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Expression;
15import org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Expression Argument</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExpressionArgumentImpl#getBody <em>Body</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class ExpressionArgumentImpl extends ArgumentImpl implements ExpressionArgument
32{
33 /**
34 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getBody()
38 * @generated
39 * @ordered
40 */
41 protected Expression body;
42
43 /**
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @generated
47 */
48 protected ExpressionArgumentImpl()
49 {
50 super();
51 }
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 @Override
59 protected EClass eStaticClass()
60 {
61 return SolverLanguagePackage.Literals.EXPRESSION_ARGUMENT;
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 @Override
70 public Expression getBody()
71 {
72 return body;
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs)
81 {
82 Expression oldBody = body;
83 body = newBody;
84 if (eNotificationRequired())
85 {
86 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY, oldBody, newBody);
87 if (msgs == null) msgs = notification; else msgs.add(notification);
88 }
89 return msgs;
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 @Override
98 public void setBody(Expression newBody)
99 {
100 if (newBody != body)
101 {
102 NotificationChain msgs = null;
103 if (body != null)
104 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY, null, msgs);
105 if (newBody != null)
106 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY, null, msgs);
107 msgs = basicSetBody(newBody, msgs);
108 if (msgs != null) msgs.dispatch();
109 }
110 else if (eNotificationRequired())
111 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY, newBody, newBody));
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 @Override
120 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
121 {
122 switch (featureID)
123 {
124 case SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY:
125 return basicSetBody(null, msgs);
126 }
127 return super.eInverseRemove(otherEnd, featureID, msgs);
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 @Override
136 public Object eGet(int featureID, boolean resolve, boolean coreType)
137 {
138 switch (featureID)
139 {
140 case SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY:
141 return getBody();
142 }
143 return super.eGet(featureID, resolve, coreType);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public void eSet(int featureID, Object newValue)
153 {
154 switch (featureID)
155 {
156 case SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY:
157 setBody((Expression)newValue);
158 return;
159 }
160 super.eSet(featureID, newValue);
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public void eUnset(int featureID)
170 {
171 switch (featureID)
172 {
173 case SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY:
174 setBody((Expression)null);
175 return;
176 }
177 super.eUnset(featureID);
178 }
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 @Override
186 public boolean eIsSet(int featureID)
187 {
188 switch (featureID)
189 {
190 case SolverLanguagePackage.EXPRESSION_ARGUMENT__BODY:
191 return body != null;
192 }
193 return super.eIsSet(featureID);
194 }
195
196} //ExpressionArgumentImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java
deleted file mode 100644
index 585e3c41..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExpressionImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.Expression;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Expression</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class ExpressionImpl extends StatementImpl implements Expression
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected ExpressionImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.EXPRESSION;
39 }
40
41} //ExpressionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternMetricDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternMetricDefinitionImpl.java
deleted file mode 100644
index e324c38a..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternMetricDefinitionImpl.java
+++ /dev/null
@@ -1,270 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Call;
15import org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition;
16import org.eclipse.viatra.solver.language.solverLanguage.MetricType;
17import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Extern Metric Definition</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl#getType <em>Type</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternMetricDefinitionImpl#getHead <em>Head</em>}</li>
29 * </ul>
30 *
31 * @generated
32 */
33public class ExternMetricDefinitionImpl extends StatementImpl implements ExternMetricDefinition
34{
35 /**
36 * The default value of the '{@link #getType() <em>Type</em>}' attribute.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getType()
40 * @generated
41 * @ordered
42 */
43 protected static final MetricType TYPE_EDEFAULT = MetricType.INT;
44
45 /**
46 * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @see #getType()
50 * @generated
51 * @ordered
52 */
53 protected MetricType type = TYPE_EDEFAULT;
54
55 /**
56 * The cached value of the '{@link #getHead() <em>Head</em>}' containment reference.
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @see #getHead()
60 * @generated
61 * @ordered
62 */
63 protected Call head;
64
65 /**
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @generated
69 */
70 protected ExternMetricDefinitionImpl()
71 {
72 super();
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 @Override
81 protected EClass eStaticClass()
82 {
83 return SolverLanguagePackage.Literals.EXTERN_METRIC_DEFINITION;
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 @Override
92 public MetricType getType()
93 {
94 return type;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 @Override
103 public void setType(MetricType newType)
104 {
105 MetricType oldType = type;
106 type = newType == null ? TYPE_EDEFAULT : newType;
107 if (eNotificationRequired())
108 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_METRIC_DEFINITION__TYPE, oldType, type));
109 }
110
111 /**
112 * <!-- begin-user-doc -->
113 * <!-- end-user-doc -->
114 * @generated
115 */
116 @Override
117 public Call getHead()
118 {
119 return head;
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 public NotificationChain basicSetHead(Call newHead, NotificationChain msgs)
128 {
129 Call oldHead = head;
130 head = newHead;
131 if (eNotificationRequired())
132 {
133 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD, oldHead, newHead);
134 if (msgs == null) msgs = notification; else msgs.add(notification);
135 }
136 return msgs;
137 }
138
139 /**
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @generated
143 */
144 @Override
145 public void setHead(Call newHead)
146 {
147 if (newHead != head)
148 {
149 NotificationChain msgs = null;
150 if (head != null)
151 msgs = ((InternalEObject)head).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD, null, msgs);
152 if (newHead != null)
153 msgs = ((InternalEObject)newHead).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD, null, msgs);
154 msgs = basicSetHead(newHead, msgs);
155 if (msgs != null) msgs.dispatch();
156 }
157 else if (eNotificationRequired())
158 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD, newHead, newHead));
159 }
160
161 /**
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @generated
165 */
166 @Override
167 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
168 {
169 switch (featureID)
170 {
171 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD:
172 return basicSetHead(null, msgs);
173 }
174 return super.eInverseRemove(otherEnd, featureID, msgs);
175 }
176
177 /**
178 * <!-- begin-user-doc -->
179 * <!-- end-user-doc -->
180 * @generated
181 */
182 @Override
183 public Object eGet(int featureID, boolean resolve, boolean coreType)
184 {
185 switch (featureID)
186 {
187 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__TYPE:
188 return getType();
189 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD:
190 return getHead();
191 }
192 return super.eGet(featureID, resolve, coreType);
193 }
194
195 /**
196 * <!-- begin-user-doc -->
197 * <!-- end-user-doc -->
198 * @generated
199 */
200 @Override
201 public void eSet(int featureID, Object newValue)
202 {
203 switch (featureID)
204 {
205 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__TYPE:
206 setType((MetricType)newValue);
207 return;
208 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD:
209 setHead((Call)newValue);
210 return;
211 }
212 super.eSet(featureID, newValue);
213 }
214
215 /**
216 * <!-- begin-user-doc -->
217 * <!-- end-user-doc -->
218 * @generated
219 */
220 @Override
221 public void eUnset(int featureID)
222 {
223 switch (featureID)
224 {
225 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__TYPE:
226 setType(TYPE_EDEFAULT);
227 return;
228 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD:
229 setHead((Call)null);
230 return;
231 }
232 super.eUnset(featureID);
233 }
234
235 /**
236 * <!-- begin-user-doc -->
237 * <!-- end-user-doc -->
238 * @generated
239 */
240 @Override
241 public boolean eIsSet(int featureID)
242 {
243 switch (featureID)
244 {
245 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__TYPE:
246 return type != TYPE_EDEFAULT;
247 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION__HEAD:
248 return head != null;
249 }
250 return super.eIsSet(featureID);
251 }
252
253 /**
254 * <!-- begin-user-doc -->
255 * <!-- end-user-doc -->
256 * @generated
257 */
258 @Override
259 public String toString()
260 {
261 if (eIsProxy()) return super.toString();
262
263 StringBuilder result = new StringBuilder(super.toString());
264 result.append(" (type: ");
265 result.append(type);
266 result.append(')');
267 return result.toString();
268 }
269
270} //ExternMetricDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDefinitionImpl.java
deleted file mode 100644
index 0605cb0f..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ExternPredicateDefinitionImpl.java
+++ /dev/null
@@ -1,196 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Call;
15import org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Extern Predicate Definition</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ExternPredicateDefinitionImpl#getHead <em>Head</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class ExternPredicateDefinitionImpl extends StatementImpl implements ExternPredicateDefinition
32{
33 /**
34 * The cached value of the '{@link #getHead() <em>Head</em>}' containment reference.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getHead()
38 * @generated
39 * @ordered
40 */
41 protected Call head;
42
43 /**
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @generated
47 */
48 protected ExternPredicateDefinitionImpl()
49 {
50 super();
51 }
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 @Override
59 protected EClass eStaticClass()
60 {
61 return SolverLanguagePackage.Literals.EXTERN_PREDICATE_DEFINITION;
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 @Override
70 public Call getHead()
71 {
72 return head;
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 public NotificationChain basicSetHead(Call newHead, NotificationChain msgs)
81 {
82 Call oldHead = head;
83 head = newHead;
84 if (eNotificationRequired())
85 {
86 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD, oldHead, newHead);
87 if (msgs == null) msgs = notification; else msgs.add(notification);
88 }
89 return msgs;
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 @Override
98 public void setHead(Call newHead)
99 {
100 if (newHead != head)
101 {
102 NotificationChain msgs = null;
103 if (head != null)
104 msgs = ((InternalEObject)head).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD, null, msgs);
105 if (newHead != null)
106 msgs = ((InternalEObject)newHead).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD, null, msgs);
107 msgs = basicSetHead(newHead, msgs);
108 if (msgs != null) msgs.dispatch();
109 }
110 else if (eNotificationRequired())
111 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD, newHead, newHead));
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 @Override
120 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
121 {
122 switch (featureID)
123 {
124 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD:
125 return basicSetHead(null, msgs);
126 }
127 return super.eInverseRemove(otherEnd, featureID, msgs);
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 @Override
136 public Object eGet(int featureID, boolean resolve, boolean coreType)
137 {
138 switch (featureID)
139 {
140 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD:
141 return getHead();
142 }
143 return super.eGet(featureID, resolve, coreType);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public void eSet(int featureID, Object newValue)
153 {
154 switch (featureID)
155 {
156 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD:
157 setHead((Call)newValue);
158 return;
159 }
160 super.eSet(featureID, newValue);
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public void eUnset(int featureID)
170 {
171 switch (featureID)
172 {
173 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD:
174 setHead((Call)null);
175 return;
176 }
177 super.eUnset(featureID);
178 }
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 @Override
186 public boolean eIsSet(int featureID)
187 {
188 switch (featureID)
189 {
190 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION__HEAD:
191 return head != null;
192 }
193 return super.eIsSet(featureID);
194 }
195
196} //ExternPredicateDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IfElseImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IfElseImpl.java
deleted file mode 100644
index 1b873568..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IfElseImpl.java
+++ /dev/null
@@ -1,342 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Expression;
15import org.eclipse.viatra.solver.language.solverLanguage.IfElse;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>If Else</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl#getCondition <em>Condition</em>}</li>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl#getThen <em>Then</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IfElseImpl#getElse <em>Else</em>}</li>
29 * </ul>
30 *
31 * @generated
32 */
33public class IfElseImpl extends ExpressionImpl implements IfElse
34{
35 /**
36 * The cached value of the '{@link #getCondition() <em>Condition</em>}' containment reference.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getCondition()
40 * @generated
41 * @ordered
42 */
43 protected Expression condition;
44
45 /**
46 * The cached value of the '{@link #getThen() <em>Then</em>}' containment reference.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @see #getThen()
50 * @generated
51 * @ordered
52 */
53 protected Expression then;
54
55 /**
56 * The cached value of the '{@link #getElse() <em>Else</em>}' containment reference.
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @see #getElse()
60 * @generated
61 * @ordered
62 */
63 protected Expression else_;
64
65 /**
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @generated
69 */
70 protected IfElseImpl()
71 {
72 super();
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 @Override
81 protected EClass eStaticClass()
82 {
83 return SolverLanguagePackage.Literals.IF_ELSE;
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 @Override
92 public Expression getCondition()
93 {
94 return condition;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 public NotificationChain basicSetCondition(Expression newCondition, NotificationChain msgs)
103 {
104 Expression oldCondition = condition;
105 condition = newCondition;
106 if (eNotificationRequired())
107 {
108 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__CONDITION, oldCondition, newCondition);
109 if (msgs == null) msgs = notification; else msgs.add(notification);
110 }
111 return msgs;
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 @Override
120 public void setCondition(Expression newCondition)
121 {
122 if (newCondition != condition)
123 {
124 NotificationChain msgs = null;
125 if (condition != null)
126 msgs = ((InternalEObject)condition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__CONDITION, null, msgs);
127 if (newCondition != null)
128 msgs = ((InternalEObject)newCondition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__CONDITION, null, msgs);
129 msgs = basicSetCondition(newCondition, msgs);
130 if (msgs != null) msgs.dispatch();
131 }
132 else if (eNotificationRequired())
133 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__CONDITION, newCondition, newCondition));
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 @Override
142 public Expression getThen()
143 {
144 return then;
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 public NotificationChain basicSetThen(Expression newThen, NotificationChain msgs)
153 {
154 Expression oldThen = then;
155 then = newThen;
156 if (eNotificationRequired())
157 {
158 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__THEN, oldThen, newThen);
159 if (msgs == null) msgs = notification; else msgs.add(notification);
160 }
161 return msgs;
162 }
163
164 /**
165 * <!-- begin-user-doc -->
166 * <!-- end-user-doc -->
167 * @generated
168 */
169 @Override
170 public void setThen(Expression newThen)
171 {
172 if (newThen != then)
173 {
174 NotificationChain msgs = null;
175 if (then != null)
176 msgs = ((InternalEObject)then).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__THEN, null, msgs);
177 if (newThen != null)
178 msgs = ((InternalEObject)newThen).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__THEN, null, msgs);
179 msgs = basicSetThen(newThen, msgs);
180 if (msgs != null) msgs.dispatch();
181 }
182 else if (eNotificationRequired())
183 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__THEN, newThen, newThen));
184 }
185
186 /**
187 * <!-- begin-user-doc -->
188 * <!-- end-user-doc -->
189 * @generated
190 */
191 @Override
192 public Expression getElse()
193 {
194 return else_;
195 }
196
197 /**
198 * <!-- begin-user-doc -->
199 * <!-- end-user-doc -->
200 * @generated
201 */
202 public NotificationChain basicSetElse(Expression newElse, NotificationChain msgs)
203 {
204 Expression oldElse = else_;
205 else_ = newElse;
206 if (eNotificationRequired())
207 {
208 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__ELSE, oldElse, newElse);
209 if (msgs == null) msgs = notification; else msgs.add(notification);
210 }
211 return msgs;
212 }
213
214 /**
215 * <!-- begin-user-doc -->
216 * <!-- end-user-doc -->
217 * @generated
218 */
219 @Override
220 public void setElse(Expression newElse)
221 {
222 if (newElse != else_)
223 {
224 NotificationChain msgs = null;
225 if (else_ != null)
226 msgs = ((InternalEObject)else_).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__ELSE, null, msgs);
227 if (newElse != null)
228 msgs = ((InternalEObject)newElse).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.IF_ELSE__ELSE, null, msgs);
229 msgs = basicSetElse(newElse, msgs);
230 if (msgs != null) msgs.dispatch();
231 }
232 else if (eNotificationRequired())
233 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.IF_ELSE__ELSE, newElse, newElse));
234 }
235
236 /**
237 * <!-- begin-user-doc -->
238 * <!-- end-user-doc -->
239 * @generated
240 */
241 @Override
242 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
243 {
244 switch (featureID)
245 {
246 case SolverLanguagePackage.IF_ELSE__CONDITION:
247 return basicSetCondition(null, msgs);
248 case SolverLanguagePackage.IF_ELSE__THEN:
249 return basicSetThen(null, msgs);
250 case SolverLanguagePackage.IF_ELSE__ELSE:
251 return basicSetElse(null, msgs);
252 }
253 return super.eInverseRemove(otherEnd, featureID, msgs);
254 }
255
256 /**
257 * <!-- begin-user-doc -->
258 * <!-- end-user-doc -->
259 * @generated
260 */
261 @Override
262 public Object eGet(int featureID, boolean resolve, boolean coreType)
263 {
264 switch (featureID)
265 {
266 case SolverLanguagePackage.IF_ELSE__CONDITION:
267 return getCondition();
268 case SolverLanguagePackage.IF_ELSE__THEN:
269 return getThen();
270 case SolverLanguagePackage.IF_ELSE__ELSE:
271 return getElse();
272 }
273 return super.eGet(featureID, resolve, coreType);
274 }
275
276 /**
277 * <!-- begin-user-doc -->
278 * <!-- end-user-doc -->
279 * @generated
280 */
281 @Override
282 public void eSet(int featureID, Object newValue)
283 {
284 switch (featureID)
285 {
286 case SolverLanguagePackage.IF_ELSE__CONDITION:
287 setCondition((Expression)newValue);
288 return;
289 case SolverLanguagePackage.IF_ELSE__THEN:
290 setThen((Expression)newValue);
291 return;
292 case SolverLanguagePackage.IF_ELSE__ELSE:
293 setElse((Expression)newValue);
294 return;
295 }
296 super.eSet(featureID, newValue);
297 }
298
299 /**
300 * <!-- begin-user-doc -->
301 * <!-- end-user-doc -->
302 * @generated
303 */
304 @Override
305 public void eUnset(int featureID)
306 {
307 switch (featureID)
308 {
309 case SolverLanguagePackage.IF_ELSE__CONDITION:
310 setCondition((Expression)null);
311 return;
312 case SolverLanguagePackage.IF_ELSE__THEN:
313 setThen((Expression)null);
314 return;
315 case SolverLanguagePackage.IF_ELSE__ELSE:
316 setElse((Expression)null);
317 return;
318 }
319 super.eUnset(featureID);
320 }
321
322 /**
323 * <!-- begin-user-doc -->
324 * <!-- end-user-doc -->
325 * @generated
326 */
327 @Override
328 public boolean eIsSet(int featureID)
329 {
330 switch (featureID)
331 {
332 case SolverLanguagePackage.IF_ELSE__CONDITION:
333 return condition != null;
334 case SolverLanguagePackage.IF_ELSE__THEN:
335 return then != null;
336 case SolverLanguagePackage.IF_ELSE__ELSE:
337 return else_ != null;
338 }
339 return super.eIsSet(featureID);
340 }
341
342} //IfElseImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java
deleted file mode 100644
index e796f5a0..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/InfinityLiteralImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Infinity Literal</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class InfinityLiteralImpl extends LiteralImpl implements InfinityLiteral
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected InfinityLiteralImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.INFINITY_LITERAL;
39 }
40
41} //InfinityLiteralImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java
deleted file mode 100644
index e6107ef8..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/IntervalImpl.java
+++ /dev/null
@@ -1,269 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Expression;
15import org.eclipse.viatra.solver.language.solverLanguage.Interval;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Interval</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl#getLowerBound <em>Lower Bound</em>}</li>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.IntervalImpl#getUpperBound <em>Upper Bound</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class IntervalImpl extends ExpressionImpl implements Interval
33{
34 /**
35 * The cached value of the '{@link #getLowerBound() <em>Lower Bound</em>}' containment reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @see #getLowerBound()
39 * @generated
40 * @ordered
41 */
42 protected Expression lowerBound;
43
44 /**
45 * The cached value of the '{@link #getUpperBound() <em>Upper Bound</em>}' containment reference.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getUpperBound()
49 * @generated
50 * @ordered
51 */
52 protected Expression upperBound;
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 protected IntervalImpl()
60 {
61 super();
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 @Override
70 protected EClass eStaticClass()
71 {
72 return SolverLanguagePackage.Literals.INTERVAL;
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 @Override
81 public Expression getLowerBound()
82 {
83 return lowerBound;
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 public NotificationChain basicSetLowerBound(Expression newLowerBound, NotificationChain msgs)
92 {
93 Expression oldLowerBound = lowerBound;
94 lowerBound = newLowerBound;
95 if (eNotificationRequired())
96 {
97 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERVAL__LOWER_BOUND, oldLowerBound, newLowerBound);
98 if (msgs == null) msgs = notification; else msgs.add(notification);
99 }
100 return msgs;
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 @Override
109 public void setLowerBound(Expression newLowerBound)
110 {
111 if (newLowerBound != lowerBound)
112 {
113 NotificationChain msgs = null;
114 if (lowerBound != null)
115 msgs = ((InternalEObject)lowerBound).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERVAL__LOWER_BOUND, null, msgs);
116 if (newLowerBound != null)
117 msgs = ((InternalEObject)newLowerBound).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERVAL__LOWER_BOUND, null, msgs);
118 msgs = basicSetLowerBound(newLowerBound, msgs);
119 if (msgs != null) msgs.dispatch();
120 }
121 else if (eNotificationRequired())
122 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERVAL__LOWER_BOUND, newLowerBound, newLowerBound));
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public Expression getUpperBound()
132 {
133 return upperBound;
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 public NotificationChain basicSetUpperBound(Expression newUpperBound, NotificationChain msgs)
142 {
143 Expression oldUpperBound = upperBound;
144 upperBound = newUpperBound;
145 if (eNotificationRequired())
146 {
147 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERVAL__UPPER_BOUND, oldUpperBound, newUpperBound);
148 if (msgs == null) msgs = notification; else msgs.add(notification);
149 }
150 return msgs;
151 }
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 @Override
159 public void setUpperBound(Expression newUpperBound)
160 {
161 if (newUpperBound != upperBound)
162 {
163 NotificationChain msgs = null;
164 if (upperBound != null)
165 msgs = ((InternalEObject)upperBound).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERVAL__UPPER_BOUND, null, msgs);
166 if (newUpperBound != null)
167 msgs = ((InternalEObject)newUpperBound).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.INTERVAL__UPPER_BOUND, null, msgs);
168 msgs = basicSetUpperBound(newUpperBound, msgs);
169 if (msgs != null) msgs.dispatch();
170 }
171 else if (eNotificationRequired())
172 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.INTERVAL__UPPER_BOUND, newUpperBound, newUpperBound));
173 }
174
175 /**
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @generated
179 */
180 @Override
181 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
182 {
183 switch (featureID)
184 {
185 case SolverLanguagePackage.INTERVAL__LOWER_BOUND:
186 return basicSetLowerBound(null, msgs);
187 case SolverLanguagePackage.INTERVAL__UPPER_BOUND:
188 return basicSetUpperBound(null, msgs);
189 }
190 return super.eInverseRemove(otherEnd, featureID, msgs);
191 }
192
193 /**
194 * <!-- begin-user-doc -->
195 * <!-- end-user-doc -->
196 * @generated
197 */
198 @Override
199 public Object eGet(int featureID, boolean resolve, boolean coreType)
200 {
201 switch (featureID)
202 {
203 case SolverLanguagePackage.INTERVAL__LOWER_BOUND:
204 return getLowerBound();
205 case SolverLanguagePackage.INTERVAL__UPPER_BOUND:
206 return getUpperBound();
207 }
208 return super.eGet(featureID, resolve, coreType);
209 }
210
211 /**
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @generated
215 */
216 @Override
217 public void eSet(int featureID, Object newValue)
218 {
219 switch (featureID)
220 {
221 case SolverLanguagePackage.INTERVAL__LOWER_BOUND:
222 setLowerBound((Expression)newValue);
223 return;
224 case SolverLanguagePackage.INTERVAL__UPPER_BOUND:
225 setUpperBound((Expression)newValue);
226 return;
227 }
228 super.eSet(featureID, newValue);
229 }
230
231 /**
232 * <!-- begin-user-doc -->
233 * <!-- end-user-doc -->
234 * @generated
235 */
236 @Override
237 public void eUnset(int featureID)
238 {
239 switch (featureID)
240 {
241 case SolverLanguagePackage.INTERVAL__LOWER_BOUND:
242 setLowerBound((Expression)null);
243 return;
244 case SolverLanguagePackage.INTERVAL__UPPER_BOUND:
245 setUpperBound((Expression)null);
246 return;
247 }
248 super.eUnset(featureID);
249 }
250
251 /**
252 * <!-- begin-user-doc -->
253 * <!-- end-user-doc -->
254 * @generated
255 */
256 @Override
257 public boolean eIsSet(int featureID)
258 {
259 switch (featureID)
260 {
261 case SolverLanguagePackage.INTERVAL__LOWER_BOUND:
262 return lowerBound != null;
263 case SolverLanguagePackage.INTERVAL__UPPER_BOUND:
264 return upperBound != null;
265 }
266 return super.eIsSet(featureID);
267 }
268
269} //IntervalImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java
deleted file mode 100644
index 2983566c..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LiteralImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.Literal;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Literal</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class LiteralImpl extends ExpressionImpl implements Literal
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected LiteralImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.LITERAL;
39 }
40
41} //LiteralImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java
deleted file mode 100644
index 2bc27a20..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LogicLiteralImpl.java
+++ /dev/null
@@ -1,180 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11
12import org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral;
13import org.eclipse.viatra.solver.language.solverLanguage.LogicValue;
14import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
15
16/**
17 * <!-- begin-user-doc -->
18 * An implementation of the model object '<em><b>Logic Literal</b></em>'.
19 * <!-- end-user-doc -->
20 * <p>
21 * The following features are implemented:
22 * </p>
23 * <ul>
24 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LogicLiteralImpl#getValue <em>Value</em>}</li>
25 * </ul>
26 *
27 * @generated
28 */
29public class LogicLiteralImpl extends LiteralImpl implements LogicLiteral
30{
31 /**
32 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #getValue()
36 * @generated
37 * @ordered
38 */
39 protected static final LogicValue VALUE_EDEFAULT = LogicValue.TRUE;
40
41 /**
42 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #getValue()
46 * @generated
47 * @ordered
48 */
49 protected LogicValue value = VALUE_EDEFAULT;
50
51 /**
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 protected LogicLiteralImpl()
57 {
58 super();
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 @Override
67 protected EClass eStaticClass()
68 {
69 return SolverLanguagePackage.Literals.LOGIC_LITERAL;
70 }
71
72 /**
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 */
77 @Override
78 public LogicValue getValue()
79 {
80 return value;
81 }
82
83 /**
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @generated
87 */
88 @Override
89 public void setValue(LogicValue newValue)
90 {
91 LogicValue oldValue = value;
92 value = newValue == null ? VALUE_EDEFAULT : newValue;
93 if (eNotificationRequired())
94 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LOGIC_LITERAL__VALUE, oldValue, value));
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 @Override
103 public Object eGet(int featureID, boolean resolve, boolean coreType)
104 {
105 switch (featureID)
106 {
107 case SolverLanguagePackage.LOGIC_LITERAL__VALUE:
108 return getValue();
109 }
110 return super.eGet(featureID, resolve, coreType);
111 }
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 @Override
119 public void eSet(int featureID, Object newValue)
120 {
121 switch (featureID)
122 {
123 case SolverLanguagePackage.LOGIC_LITERAL__VALUE:
124 setValue((LogicValue)newValue);
125 return;
126 }
127 super.eSet(featureID, newValue);
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 @Override
136 public void eUnset(int featureID)
137 {
138 switch (featureID)
139 {
140 case SolverLanguagePackage.LOGIC_LITERAL__VALUE:
141 setValue(VALUE_EDEFAULT);
142 return;
143 }
144 super.eUnset(featureID);
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 @Override
153 public boolean eIsSet(int featureID)
154 {
155 switch (featureID)
156 {
157 case SolverLanguagePackage.LOGIC_LITERAL__VALUE:
158 return value != VALUE_EDEFAULT;
159 }
160 return super.eIsSet(featureID);
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public String toString()
170 {
171 if (eIsProxy()) return super.toString();
172
173 StringBuilder result = new StringBuilder(super.toString());
174 result.append(" (value: ");
175 result.append(value);
176 result.append(')');
177 return result.toString();
178 }
179
180} //LogicLiteralImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeDefinitionImpl.java
deleted file mode 100644
index 5eb671f3..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/LowerBoundedScopeDefinitionImpl.java
+++ /dev/null
@@ -1,179 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11
12import org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition;
13import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>Lower Bounded Scope Definition</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.LowerBoundedScopeDefinitionImpl#getLowerBound <em>Lower Bound</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class LowerBoundedScopeDefinitionImpl extends ScopeDefinitionImpl implements LowerBoundedScopeDefinition
29{
30 /**
31 * The default value of the '{@link #getLowerBound() <em>Lower Bound</em>}' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getLowerBound()
35 * @generated
36 * @ordered
37 */
38 protected static final int LOWER_BOUND_EDEFAULT = 0;
39
40 /**
41 * The cached value of the '{@link #getLowerBound() <em>Lower Bound</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getLowerBound()
45 * @generated
46 * @ordered
47 */
48 protected int lowerBound = LOWER_BOUND_EDEFAULT;
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 protected LowerBoundedScopeDefinitionImpl()
56 {
57 super();
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 @Override
66 protected EClass eStaticClass()
67 {
68 return SolverLanguagePackage.Literals.LOWER_BOUNDED_SCOPE_DEFINITION;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 @Override
77 public int getLowerBound()
78 {
79 return lowerBound;
80 }
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 @Override
88 public void setLowerBound(int newLowerBound)
89 {
90 int oldLowerBound = lowerBound;
91 lowerBound = newLowerBound;
92 if (eNotificationRequired())
93 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND, oldLowerBound, lowerBound));
94 }
95
96 /**
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @generated
100 */
101 @Override
102 public Object eGet(int featureID, boolean resolve, boolean coreType)
103 {
104 switch (featureID)
105 {
106 case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND:
107 return getLowerBound();
108 }
109 return super.eGet(featureID, resolve, coreType);
110 }
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 @Override
118 public void eSet(int featureID, Object newValue)
119 {
120 switch (featureID)
121 {
122 case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND:
123 setLowerBound((Integer)newValue);
124 return;
125 }
126 super.eSet(featureID, newValue);
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 @Override
135 public void eUnset(int featureID)
136 {
137 switch (featureID)
138 {
139 case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND:
140 setLowerBound(LOWER_BOUND_EDEFAULT);
141 return;
142 }
143 super.eUnset(featureID);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public boolean eIsSet(int featureID)
153 {
154 switch (featureID)
155 {
156 case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND:
157 return lowerBound != LOWER_BOUND_EDEFAULT;
158 }
159 return super.eIsSet(featureID);
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 @Override
168 public String toString()
169 {
170 if (eIsProxy()) return super.toString();
171
172 StringBuilder result = new StringBuilder(super.toString());
173 result.append(" (lowerBound: ");
174 result.append(lowerBound);
175 result.append(')');
176 return result.toString();
177 }
178
179} //LowerBoundedScopeDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ManyMultiplicityImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ManyMultiplicityImpl.java
deleted file mode 100644
index c248b4ea..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ManyMultiplicityImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity;
9import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Many Multiplicity</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class ManyMultiplicityImpl extends MultiplicityImpl implements ManyMultiplicity
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected ManyMultiplicityImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.MANY_MULTIPLICITY;
39 }
40
41} //ManyMultiplicityImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MemberDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MemberDefinitionImpl.java
deleted file mode 100644
index 69021347..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MemberDefinitionImpl.java
+++ /dev/null
@@ -1,463 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
14
15import org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition;
16import org.eclipse.viatra.solver.language.solverLanguage.Multiplicity;
17import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
18import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
19
20/**
21 * <!-- begin-user-doc -->
22 * An implementation of the model object '<em><b>Member Definition</b></em>'.
23 * <!-- end-user-doc -->
24 * <p>
25 * The following features are implemented:
26 * </p>
27 * <ul>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl#isContainment <em>Containment</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl#getType <em>Type</em>}</li>
30 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl#getMultiplicity <em>Multiplicity</em>}</li>
31 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl#getName <em>Name</em>}</li>
32 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MemberDefinitionImpl#getOpposite <em>Opposite</em>}</li>
33 * </ul>
34 *
35 * @generated
36 */
37public class MemberDefinitionImpl extends MinimalEObjectImpl.Container implements MemberDefinition
38{
39 /**
40 * The default value of the '{@link #isContainment() <em>Containment</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #isContainment()
44 * @generated
45 * @ordered
46 */
47 protected static final boolean CONTAINMENT_EDEFAULT = false;
48
49 /**
50 * The cached value of the '{@link #isContainment() <em>Containment</em>}' attribute.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @see #isContainment()
54 * @generated
55 * @ordered
56 */
57 protected boolean containment = CONTAINMENT_EDEFAULT;
58
59 /**
60 * The cached value of the '{@link #getType() <em>Type</em>}' reference.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @see #getType()
64 * @generated
65 * @ordered
66 */
67 protected NamedElement type;
68
69 /**
70 * The cached value of the '{@link #getMultiplicity() <em>Multiplicity</em>}' containment reference.
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @see #getMultiplicity()
74 * @generated
75 * @ordered
76 */
77 protected Multiplicity multiplicity;
78
79 /**
80 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @see #getName()
84 * @generated
85 * @ordered
86 */
87 protected static final String NAME_EDEFAULT = null;
88
89 /**
90 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @see #getName()
94 * @generated
95 * @ordered
96 */
97 protected String name = NAME_EDEFAULT;
98
99 /**
100 * The cached value of the '{@link #getOpposite() <em>Opposite</em>}' reference.
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @see #getOpposite()
104 * @generated
105 * @ordered
106 */
107 protected NamedElement opposite;
108
109 /**
110 * <!-- begin-user-doc -->
111 * <!-- end-user-doc -->
112 * @generated
113 */
114 protected MemberDefinitionImpl()
115 {
116 super();
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 @Override
125 protected EClass eStaticClass()
126 {
127 return SolverLanguagePackage.Literals.MEMBER_DEFINITION;
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 @Override
136 public boolean isContainment()
137 {
138 return containment;
139 }
140
141 /**
142 * <!-- begin-user-doc -->
143 * <!-- end-user-doc -->
144 * @generated
145 */
146 @Override
147 public void setContainment(boolean newContainment)
148 {
149 boolean oldContainment = containment;
150 containment = newContainment;
151 if (eNotificationRequired())
152 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__CONTAINMENT, oldContainment, containment));
153 }
154
155 /**
156 * <!-- begin-user-doc -->
157 * <!-- end-user-doc -->
158 * @generated
159 */
160 @Override
161 public NamedElement getType()
162 {
163 if (type != null && type.eIsProxy())
164 {
165 InternalEObject oldType = (InternalEObject)type;
166 type = (NamedElement)eResolveProxy(oldType);
167 if (type != oldType)
168 {
169 if (eNotificationRequired())
170 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.MEMBER_DEFINITION__TYPE, oldType, type));
171 }
172 }
173 return type;
174 }
175
176 /**
177 * <!-- begin-user-doc -->
178 * <!-- end-user-doc -->
179 * @generated
180 */
181 public NamedElement basicGetType()
182 {
183 return type;
184 }
185
186 /**
187 * <!-- begin-user-doc -->
188 * <!-- end-user-doc -->
189 * @generated
190 */
191 @Override
192 public void setType(NamedElement newType)
193 {
194 NamedElement oldType = type;
195 type = newType;
196 if (eNotificationRequired())
197 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__TYPE, oldType, type));
198 }
199
200 /**
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 */
205 @Override
206 public Multiplicity getMultiplicity()
207 {
208 return multiplicity;
209 }
210
211 /**
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @generated
215 */
216 public NotificationChain basicSetMultiplicity(Multiplicity newMultiplicity, NotificationChain msgs)
217 {
218 Multiplicity oldMultiplicity = multiplicity;
219 multiplicity = newMultiplicity;
220 if (eNotificationRequired())
221 {
222 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY, oldMultiplicity, newMultiplicity);
223 if (msgs == null) msgs = notification; else msgs.add(notification);
224 }
225 return msgs;
226 }
227
228 /**
229 * <!-- begin-user-doc -->
230 * <!-- end-user-doc -->
231 * @generated
232 */
233 @Override
234 public void setMultiplicity(Multiplicity newMultiplicity)
235 {
236 if (newMultiplicity != multiplicity)
237 {
238 NotificationChain msgs = null;
239 if (multiplicity != null)
240 msgs = ((InternalEObject)multiplicity).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY, null, msgs);
241 if (newMultiplicity != null)
242 msgs = ((InternalEObject)newMultiplicity).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY, null, msgs);
243 msgs = basicSetMultiplicity(newMultiplicity, msgs);
244 if (msgs != null) msgs.dispatch();
245 }
246 else if (eNotificationRequired())
247 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY, newMultiplicity, newMultiplicity));
248 }
249
250 /**
251 * <!-- begin-user-doc -->
252 * <!-- end-user-doc -->
253 * @generated
254 */
255 @Override
256 public String getName()
257 {
258 return name;
259 }
260
261 /**
262 * <!-- begin-user-doc -->
263 * <!-- end-user-doc -->
264 * @generated
265 */
266 @Override
267 public void setName(String newName)
268 {
269 String oldName = name;
270 name = newName;
271 if (eNotificationRequired())
272 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__NAME, oldName, name));
273 }
274
275 /**
276 * <!-- begin-user-doc -->
277 * <!-- end-user-doc -->
278 * @generated
279 */
280 @Override
281 public NamedElement getOpposite()
282 {
283 if (opposite != null && opposite.eIsProxy())
284 {
285 InternalEObject oldOpposite = (InternalEObject)opposite;
286 opposite = (NamedElement)eResolveProxy(oldOpposite);
287 if (opposite != oldOpposite)
288 {
289 if (eNotificationRequired())
290 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE, oldOpposite, opposite));
291 }
292 }
293 return opposite;
294 }
295
296 /**
297 * <!-- begin-user-doc -->
298 * <!-- end-user-doc -->
299 * @generated
300 */
301 public NamedElement basicGetOpposite()
302 {
303 return opposite;
304 }
305
306 /**
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @generated
310 */
311 @Override
312 public void setOpposite(NamedElement newOpposite)
313 {
314 NamedElement oldOpposite = opposite;
315 opposite = newOpposite;
316 if (eNotificationRequired())
317 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE, oldOpposite, opposite));
318 }
319
320 /**
321 * <!-- begin-user-doc -->
322 * <!-- end-user-doc -->
323 * @generated
324 */
325 @Override
326 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
327 {
328 switch (featureID)
329 {
330 case SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY:
331 return basicSetMultiplicity(null, msgs);
332 }
333 return super.eInverseRemove(otherEnd, featureID, msgs);
334 }
335
336 /**
337 * <!-- begin-user-doc -->
338 * <!-- end-user-doc -->
339 * @generated
340 */
341 @Override
342 public Object eGet(int featureID, boolean resolve, boolean coreType)
343 {
344 switch (featureID)
345 {
346 case SolverLanguagePackage.MEMBER_DEFINITION__CONTAINMENT:
347 return isContainment();
348 case SolverLanguagePackage.MEMBER_DEFINITION__TYPE:
349 if (resolve) return getType();
350 return basicGetType();
351 case SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY:
352 return getMultiplicity();
353 case SolverLanguagePackage.MEMBER_DEFINITION__NAME:
354 return getName();
355 case SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE:
356 if (resolve) return getOpposite();
357 return basicGetOpposite();
358 }
359 return super.eGet(featureID, resolve, coreType);
360 }
361
362 /**
363 * <!-- begin-user-doc -->
364 * <!-- end-user-doc -->
365 * @generated
366 */
367 @Override
368 public void eSet(int featureID, Object newValue)
369 {
370 switch (featureID)
371 {
372 case SolverLanguagePackage.MEMBER_DEFINITION__CONTAINMENT:
373 setContainment((Boolean)newValue);
374 return;
375 case SolverLanguagePackage.MEMBER_DEFINITION__TYPE:
376 setType((NamedElement)newValue);
377 return;
378 case SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY:
379 setMultiplicity((Multiplicity)newValue);
380 return;
381 case SolverLanguagePackage.MEMBER_DEFINITION__NAME:
382 setName((String)newValue);
383 return;
384 case SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE:
385 setOpposite((NamedElement)newValue);
386 return;
387 }
388 super.eSet(featureID, newValue);
389 }
390
391 /**
392 * <!-- begin-user-doc -->
393 * <!-- end-user-doc -->
394 * @generated
395 */
396 @Override
397 public void eUnset(int featureID)
398 {
399 switch (featureID)
400 {
401 case SolverLanguagePackage.MEMBER_DEFINITION__CONTAINMENT:
402 setContainment(CONTAINMENT_EDEFAULT);
403 return;
404 case SolverLanguagePackage.MEMBER_DEFINITION__TYPE:
405 setType((NamedElement)null);
406 return;
407 case SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY:
408 setMultiplicity((Multiplicity)null);
409 return;
410 case SolverLanguagePackage.MEMBER_DEFINITION__NAME:
411 setName(NAME_EDEFAULT);
412 return;
413 case SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE:
414 setOpposite((NamedElement)null);
415 return;
416 }
417 super.eUnset(featureID);
418 }
419
420 /**
421 * <!-- begin-user-doc -->
422 * <!-- end-user-doc -->
423 * @generated
424 */
425 @Override
426 public boolean eIsSet(int featureID)
427 {
428 switch (featureID)
429 {
430 case SolverLanguagePackage.MEMBER_DEFINITION__CONTAINMENT:
431 return containment != CONTAINMENT_EDEFAULT;
432 case SolverLanguagePackage.MEMBER_DEFINITION__TYPE:
433 return type != null;
434 case SolverLanguagePackage.MEMBER_DEFINITION__MULTIPLICITY:
435 return multiplicity != null;
436 case SolverLanguagePackage.MEMBER_DEFINITION__NAME:
437 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
438 case SolverLanguagePackage.MEMBER_DEFINITION__OPPOSITE:
439 return opposite != null;
440 }
441 return super.eIsSet(featureID);
442 }
443
444 /**
445 * <!-- begin-user-doc -->
446 * <!-- end-user-doc -->
447 * @generated
448 */
449 @Override
450 public String toString()
451 {
452 if (eIsProxy()) return super.toString();
453
454 StringBuilder result = new StringBuilder(super.toString());
455 result.append(" (containment: ");
456 result.append(containment);
457 result.append(", name: ");
458 result.append(name);
459 result.append(')');
460 return result.toString();
461 }
462
463} //MemberDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricDefinitionImpl.java
deleted file mode 100644
index 8f84d2f1..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MetricDefinitionImpl.java
+++ /dev/null
@@ -1,343 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Expression;
15import org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition;
16import org.eclipse.viatra.solver.language.solverLanguage.MetricType;
17import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Metric Definition</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl#getHead <em>Head</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl#getBody <em>Body</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.MetricDefinitionImpl#getType <em>Type</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class MetricDefinitionImpl extends StatementImpl implements MetricDefinition
35{
36 /**
37 * The cached value of the '{@link #getHead() <em>Head</em>}' containment reference.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @see #getHead()
41 * @generated
42 * @ordered
43 */
44 protected Expression head;
45
46 /**
47 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @see #getBody()
51 * @generated
52 * @ordered
53 */
54 protected Expression body;
55
56 /**
57 * The default value of the '{@link #getType() <em>Type</em>}' attribute.
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @see #getType()
61 * @generated
62 * @ordered
63 */
64 protected static final MetricType TYPE_EDEFAULT = MetricType.INT;
65
66 /**
67 * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @see #getType()
71 * @generated
72 * @ordered
73 */
74 protected MetricType type = TYPE_EDEFAULT;
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 protected MetricDefinitionImpl()
82 {
83 super();
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 @Override
92 protected EClass eStaticClass()
93 {
94 return SolverLanguagePackage.Literals.METRIC_DEFINITION;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 @Override
103 public Expression getHead()
104 {
105 return head;
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 public NotificationChain basicSetHead(Expression newHead, NotificationChain msgs)
114 {
115 Expression oldHead = head;
116 head = newHead;
117 if (eNotificationRequired())
118 {
119 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.METRIC_DEFINITION__HEAD, oldHead, newHead);
120 if (msgs == null) msgs = notification; else msgs.add(notification);
121 }
122 return msgs;
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public void setHead(Expression newHead)
132 {
133 if (newHead != head)
134 {
135 NotificationChain msgs = null;
136 if (head != null)
137 msgs = ((InternalEObject)head).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.METRIC_DEFINITION__HEAD, null, msgs);
138 if (newHead != null)
139 msgs = ((InternalEObject)newHead).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.METRIC_DEFINITION__HEAD, null, msgs);
140 msgs = basicSetHead(newHead, msgs);
141 if (msgs != null) msgs.dispatch();
142 }
143 else if (eNotificationRequired())
144 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.METRIC_DEFINITION__HEAD, newHead, newHead));
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 @Override
153 public Expression getBody()
154 {
155 return body;
156 }
157
158 /**
159 * <!-- begin-user-doc -->
160 * <!-- end-user-doc -->
161 * @generated
162 */
163 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs)
164 {
165 Expression oldBody = body;
166 body = newBody;
167 if (eNotificationRequired())
168 {
169 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.METRIC_DEFINITION__BODY, oldBody, newBody);
170 if (msgs == null) msgs = notification; else msgs.add(notification);
171 }
172 return msgs;
173 }
174
175 /**
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @generated
179 */
180 @Override
181 public void setBody(Expression newBody)
182 {
183 if (newBody != body)
184 {
185 NotificationChain msgs = null;
186 if (body != null)
187 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.METRIC_DEFINITION__BODY, null, msgs);
188 if (newBody != null)
189 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.METRIC_DEFINITION__BODY, null, msgs);
190 msgs = basicSetBody(newBody, msgs);
191 if (msgs != null) msgs.dispatch();
192 }
193 else if (eNotificationRequired())
194 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.METRIC_DEFINITION__BODY, newBody, newBody));
195 }
196
197 /**
198 * <!-- begin-user-doc -->
199 * <!-- end-user-doc -->
200 * @generated
201 */
202 @Override
203 public MetricType getType()
204 {
205 return type;
206 }
207
208 /**
209 * <!-- begin-user-doc -->
210 * <!-- end-user-doc -->
211 * @generated
212 */
213 @Override
214 public void setType(MetricType newType)
215 {
216 MetricType oldType = type;
217 type = newType == null ? TYPE_EDEFAULT : newType;
218 if (eNotificationRequired())
219 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.METRIC_DEFINITION__TYPE, oldType, type));
220 }
221
222 /**
223 * <!-- begin-user-doc -->
224 * <!-- end-user-doc -->
225 * @generated
226 */
227 @Override
228 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
229 {
230 switch (featureID)
231 {
232 case SolverLanguagePackage.METRIC_DEFINITION__HEAD:
233 return basicSetHead(null, msgs);
234 case SolverLanguagePackage.METRIC_DEFINITION__BODY:
235 return basicSetBody(null, msgs);
236 }
237 return super.eInverseRemove(otherEnd, featureID, msgs);
238 }
239
240 /**
241 * <!-- begin-user-doc -->
242 * <!-- end-user-doc -->
243 * @generated
244 */
245 @Override
246 public Object eGet(int featureID, boolean resolve, boolean coreType)
247 {
248 switch (featureID)
249 {
250 case SolverLanguagePackage.METRIC_DEFINITION__HEAD:
251 return getHead();
252 case SolverLanguagePackage.METRIC_DEFINITION__BODY:
253 return getBody();
254 case SolverLanguagePackage.METRIC_DEFINITION__TYPE:
255 return getType();
256 }
257 return super.eGet(featureID, resolve, coreType);
258 }
259
260 /**
261 * <!-- begin-user-doc -->
262 * <!-- end-user-doc -->
263 * @generated
264 */
265 @Override
266 public void eSet(int featureID, Object newValue)
267 {
268 switch (featureID)
269 {
270 case SolverLanguagePackage.METRIC_DEFINITION__HEAD:
271 setHead((Expression)newValue);
272 return;
273 case SolverLanguagePackage.METRIC_DEFINITION__BODY:
274 setBody((Expression)newValue);
275 return;
276 case SolverLanguagePackage.METRIC_DEFINITION__TYPE:
277 setType((MetricType)newValue);
278 return;
279 }
280 super.eSet(featureID, newValue);
281 }
282
283 /**
284 * <!-- begin-user-doc -->
285 * <!-- end-user-doc -->
286 * @generated
287 */
288 @Override
289 public void eUnset(int featureID)
290 {
291 switch (featureID)
292 {
293 case SolverLanguagePackage.METRIC_DEFINITION__HEAD:
294 setHead((Expression)null);
295 return;
296 case SolverLanguagePackage.METRIC_DEFINITION__BODY:
297 setBody((Expression)null);
298 return;
299 case SolverLanguagePackage.METRIC_DEFINITION__TYPE:
300 setType(TYPE_EDEFAULT);
301 return;
302 }
303 super.eUnset(featureID);
304 }
305
306 /**
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @generated
310 */
311 @Override
312 public boolean eIsSet(int featureID)
313 {
314 switch (featureID)
315 {
316 case SolverLanguagePackage.METRIC_DEFINITION__HEAD:
317 return head != null;
318 case SolverLanguagePackage.METRIC_DEFINITION__BODY:
319 return body != null;
320 case SolverLanguagePackage.METRIC_DEFINITION__TYPE:
321 return type != TYPE_EDEFAULT;
322 }
323 return super.eIsSet(featureID);
324 }
325
326 /**
327 * <!-- begin-user-doc -->
328 * <!-- end-user-doc -->
329 * @generated
330 */
331 @Override
332 public String toString()
333 {
334 if (eIsProxy()) return super.toString();
335
336 StringBuilder result = new StringBuilder(super.toString());
337 result.append(" (type: ");
338 result.append(type);
339 result.append(')');
340 return result.toString();
341 }
342
343} //MetricDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java
deleted file mode 100644
index 935cf5be..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/MultiplicityImpl.java
+++ /dev/null
@@ -1,43 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
9
10import org.eclipse.viatra.solver.language.solverLanguage.Multiplicity;
11import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
12
13/**
14 * <!-- begin-user-doc -->
15 * An implementation of the model object '<em><b>Multiplicity</b></em>'.
16 * <!-- end-user-doc -->
17 *
18 * @generated
19 */
20public class MultiplicityImpl extends MinimalEObjectImpl.Container implements Multiplicity
21{
22 /**
23 * <!-- begin-user-doc -->
24 * <!-- end-user-doc -->
25 * @generated
26 */
27 protected MultiplicityImpl()
28 {
29 super();
30 }
31
32 /**
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 @Override
38 protected EClass eStaticClass()
39 {
40 return SolverLanguagePackage.Literals.MULTIPLICITY;
41 }
42
43} //MultiplicityImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedElementImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedElementImpl.java
deleted file mode 100644
index a94f9894..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NamedElementImpl.java
+++ /dev/null
@@ -1,180 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
12
13import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
14import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
15
16/**
17 * <!-- begin-user-doc -->
18 * An implementation of the model object '<em><b>Named Element</b></em>'.
19 * <!-- end-user-doc -->
20 * <p>
21 * The following features are implemented:
22 * </p>
23 * <ul>
24 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NamedElementImpl#getName <em>Name</em>}</li>
25 * </ul>
26 *
27 * @generated
28 */
29public class NamedElementImpl extends MinimalEObjectImpl.Container implements NamedElement
30{
31 /**
32 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #getName()
36 * @generated
37 * @ordered
38 */
39 protected static final String NAME_EDEFAULT = null;
40
41 /**
42 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #getName()
46 * @generated
47 * @ordered
48 */
49 protected String name = NAME_EDEFAULT;
50
51 /**
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 protected NamedElementImpl()
57 {
58 super();
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 @Override
67 protected EClass eStaticClass()
68 {
69 return SolverLanguagePackage.Literals.NAMED_ELEMENT;
70 }
71
72 /**
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 */
77 @Override
78 public String getName()
79 {
80 return name;
81 }
82
83 /**
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @generated
87 */
88 @Override
89 public void setName(String newName)
90 {
91 String oldName = name;
92 name = newName;
93 if (eNotificationRequired())
94 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.NAMED_ELEMENT__NAME, oldName, name));
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 @Override
103 public Object eGet(int featureID, boolean resolve, boolean coreType)
104 {
105 switch (featureID)
106 {
107 case SolverLanguagePackage.NAMED_ELEMENT__NAME:
108 return getName();
109 }
110 return super.eGet(featureID, resolve, coreType);
111 }
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 @Override
119 public void eSet(int featureID, Object newValue)
120 {
121 switch (featureID)
122 {
123 case SolverLanguagePackage.NAMED_ELEMENT__NAME:
124 setName((String)newValue);
125 return;
126 }
127 super.eSet(featureID, newValue);
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 @Override
136 public void eUnset(int featureID)
137 {
138 switch (featureID)
139 {
140 case SolverLanguagePackage.NAMED_ELEMENT__NAME:
141 setName(NAME_EDEFAULT);
142 return;
143 }
144 super.eUnset(featureID);
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 @Override
153 public boolean eIsSet(int featureID)
154 {
155 switch (featureID)
156 {
157 case SolverLanguagePackage.NAMED_ELEMENT__NAME:
158 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
159 }
160 return super.eIsSet(featureID);
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public String toString()
170 {
171 if (eIsProxy()) return super.toString();
172
173 StringBuilder result = new StringBuilder(super.toString());
174 result.append(" (name: ");
175 result.append(name);
176 result.append(')');
177 return result.toString();
178 }
179
180} //NamedElementImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NumericLiteralImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NumericLiteralImpl.java
deleted file mode 100644
index 04622dfb..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/NumericLiteralImpl.java
+++ /dev/null
@@ -1,181 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import java.math.BigDecimal;
7
8import org.eclipse.emf.common.notify.Notification;
9
10import org.eclipse.emf.ecore.EClass;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral;
15import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Numeric Literal</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.NumericLiteralImpl#getValue <em>Value</em>}</li>
26 * </ul>
27 *
28 * @generated
29 */
30public class NumericLiteralImpl extends LiteralImpl implements NumericLiteral
31{
32 /**
33 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getValue()
37 * @generated
38 * @ordered
39 */
40 protected static final BigDecimal VALUE_EDEFAULT = null;
41
42 /**
43 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getValue()
47 * @generated
48 * @ordered
49 */
50 protected BigDecimal value = VALUE_EDEFAULT;
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 protected NumericLiteralImpl()
58 {
59 super();
60 }
61
62 /**
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @generated
66 */
67 @Override
68 protected EClass eStaticClass()
69 {
70 return SolverLanguagePackage.Literals.NUMERIC_LITERAL;
71 }
72
73 /**
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @generated
77 */
78 @Override
79 public BigDecimal getValue()
80 {
81 return value;
82 }
83
84 /**
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @generated
88 */
89 @Override
90 public void setValue(BigDecimal newValue)
91 {
92 BigDecimal oldValue = value;
93 value = newValue;
94 if (eNotificationRequired())
95 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.NUMERIC_LITERAL__VALUE, oldValue, value));
96 }
97
98 /**
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @generated
102 */
103 @Override
104 public Object eGet(int featureID, boolean resolve, boolean coreType)
105 {
106 switch (featureID)
107 {
108 case SolverLanguagePackage.NUMERIC_LITERAL__VALUE:
109 return getValue();
110 }
111 return super.eGet(featureID, resolve, coreType);
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 @Override
120 public void eSet(int featureID, Object newValue)
121 {
122 switch (featureID)
123 {
124 case SolverLanguagePackage.NUMERIC_LITERAL__VALUE:
125 setValue((BigDecimal)newValue);
126 return;
127 }
128 super.eSet(featureID, newValue);
129 }
130
131 /**
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @generated
135 */
136 @Override
137 public void eUnset(int featureID)
138 {
139 switch (featureID)
140 {
141 case SolverLanguagePackage.NUMERIC_LITERAL__VALUE:
142 setValue(VALUE_EDEFAULT);
143 return;
144 }
145 super.eUnset(featureID);
146 }
147
148 /**
149 * <!-- begin-user-doc -->
150 * <!-- end-user-doc -->
151 * @generated
152 */
153 @Override
154 public boolean eIsSet(int featureID)
155 {
156 switch (featureID)
157 {
158 case SolverLanguagePackage.NUMERIC_LITERAL__VALUE:
159 return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
160 }
161 return super.eIsSet(featureID);
162 }
163
164 /**
165 * <!-- begin-user-doc -->
166 * <!-- end-user-doc -->
167 * @generated
168 */
169 @Override
170 public String toString()
171 {
172 if (eIsProxy()) return super.toString();
173
174 StringBuilder result = new StringBuilder(super.toString());
175 result.append(" (value: ");
176 result.append(value);
177 result.append(')');
178 return result.toString();
179 }
180
181} //NumericLiteralImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDefinitionImpl.java
deleted file mode 100644
index 43b16e31..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ObjectiveDefinitionImpl.java
+++ /dev/null
@@ -1,270 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Expression;
15import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition;
16import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind;
17import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Objective Definition</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl#getKind <em>Kind</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ObjectiveDefinitionImpl#getObjective <em>Objective</em>}</li>
29 * </ul>
30 *
31 * @generated
32 */
33public class ObjectiveDefinitionImpl extends StatementImpl implements ObjectiveDefinition
34{
35 /**
36 * The default value of the '{@link #getKind() <em>Kind</em>}' attribute.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getKind()
40 * @generated
41 * @ordered
42 */
43 protected static final ObjectiveKind KIND_EDEFAULT = ObjectiveKind.MINIMIZE;
44
45 /**
46 * The cached value of the '{@link #getKind() <em>Kind</em>}' attribute.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @see #getKind()
50 * @generated
51 * @ordered
52 */
53 protected ObjectiveKind kind = KIND_EDEFAULT;
54
55 /**
56 * The cached value of the '{@link #getObjective() <em>Objective</em>}' containment reference.
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @see #getObjective()
60 * @generated
61 * @ordered
62 */
63 protected Expression objective;
64
65 /**
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @generated
69 */
70 protected ObjectiveDefinitionImpl()
71 {
72 super();
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 @Override
81 protected EClass eStaticClass()
82 {
83 return SolverLanguagePackage.Literals.OBJECTIVE_DEFINITION;
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 @Override
92 public ObjectiveKind getKind()
93 {
94 return kind;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 @Override
103 public void setKind(ObjectiveKind newKind)
104 {
105 ObjectiveKind oldKind = kind;
106 kind = newKind == null ? KIND_EDEFAULT : newKind;
107 if (eNotificationRequired())
108 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.OBJECTIVE_DEFINITION__KIND, oldKind, kind));
109 }
110
111 /**
112 * <!-- begin-user-doc -->
113 * <!-- end-user-doc -->
114 * @generated
115 */
116 @Override
117 public Expression getObjective()
118 {
119 return objective;
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 public NotificationChain basicSetObjective(Expression newObjective, NotificationChain msgs)
128 {
129 Expression oldObjective = objective;
130 objective = newObjective;
131 if (eNotificationRequired())
132 {
133 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE, oldObjective, newObjective);
134 if (msgs == null) msgs = notification; else msgs.add(notification);
135 }
136 return msgs;
137 }
138
139 /**
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @generated
143 */
144 @Override
145 public void setObjective(Expression newObjective)
146 {
147 if (newObjective != objective)
148 {
149 NotificationChain msgs = null;
150 if (objective != null)
151 msgs = ((InternalEObject)objective).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE, null, msgs);
152 if (newObjective != null)
153 msgs = ((InternalEObject)newObjective).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE, null, msgs);
154 msgs = basicSetObjective(newObjective, msgs);
155 if (msgs != null) msgs.dispatch();
156 }
157 else if (eNotificationRequired())
158 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE, newObjective, newObjective));
159 }
160
161 /**
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @generated
165 */
166 @Override
167 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
168 {
169 switch (featureID)
170 {
171 case SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE:
172 return basicSetObjective(null, msgs);
173 }
174 return super.eInverseRemove(otherEnd, featureID, msgs);
175 }
176
177 /**
178 * <!-- begin-user-doc -->
179 * <!-- end-user-doc -->
180 * @generated
181 */
182 @Override
183 public Object eGet(int featureID, boolean resolve, boolean coreType)
184 {
185 switch (featureID)
186 {
187 case SolverLanguagePackage.OBJECTIVE_DEFINITION__KIND:
188 return getKind();
189 case SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE:
190 return getObjective();
191 }
192 return super.eGet(featureID, resolve, coreType);
193 }
194
195 /**
196 * <!-- begin-user-doc -->
197 * <!-- end-user-doc -->
198 * @generated
199 */
200 @Override
201 public void eSet(int featureID, Object newValue)
202 {
203 switch (featureID)
204 {
205 case SolverLanguagePackage.OBJECTIVE_DEFINITION__KIND:
206 setKind((ObjectiveKind)newValue);
207 return;
208 case SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE:
209 setObjective((Expression)newValue);
210 return;
211 }
212 super.eSet(featureID, newValue);
213 }
214
215 /**
216 * <!-- begin-user-doc -->
217 * <!-- end-user-doc -->
218 * @generated
219 */
220 @Override
221 public void eUnset(int featureID)
222 {
223 switch (featureID)
224 {
225 case SolverLanguagePackage.OBJECTIVE_DEFINITION__KIND:
226 setKind(KIND_EDEFAULT);
227 return;
228 case SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE:
229 setObjective((Expression)null);
230 return;
231 }
232 super.eUnset(featureID);
233 }
234
235 /**
236 * <!-- begin-user-doc -->
237 * <!-- end-user-doc -->
238 * @generated
239 */
240 @Override
241 public boolean eIsSet(int featureID)
242 {
243 switch (featureID)
244 {
245 case SolverLanguagePackage.OBJECTIVE_DEFINITION__KIND:
246 return kind != KIND_EDEFAULT;
247 case SolverLanguagePackage.OBJECTIVE_DEFINITION__OBJECTIVE:
248 return objective != null;
249 }
250 return super.eIsSet(featureID);
251 }
252
253 /**
254 * <!-- begin-user-doc -->
255 * <!-- end-user-doc -->
256 * @generated
257 */
258 @Override
259 public String toString()
260 {
261 if (eIsProxy()) return super.toString();
262
263 StringBuilder result = new StringBuilder(super.toString());
264 result.append(" (kind: ");
265 result.append(kind);
266 result.append(')');
267 return result.toString();
268 }
269
270} //ObjectiveDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java
deleted file mode 100644
index 50130f01..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/PredicateDefinitionImpl.java
+++ /dev/null
@@ -1,400 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Expression;
15import org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Predicate Definition</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl#getHead <em>Head</em>}</li>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl#getBody <em>Body</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl#isFunctional <em>Functional</em>}</li>
29 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.PredicateDefinitionImpl#isError <em>Error</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class PredicateDefinitionImpl extends StatementImpl implements PredicateDefinition
35{
36 /**
37 * The cached value of the '{@link #getHead() <em>Head</em>}' containment reference.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @see #getHead()
41 * @generated
42 * @ordered
43 */
44 protected Expression head;
45
46 /**
47 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @see #getBody()
51 * @generated
52 * @ordered
53 */
54 protected Expression body;
55
56 /**
57 * The default value of the '{@link #isFunctional() <em>Functional</em>}' attribute.
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @see #isFunctional()
61 * @generated
62 * @ordered
63 */
64 protected static final boolean FUNCTIONAL_EDEFAULT = false;
65
66 /**
67 * The cached value of the '{@link #isFunctional() <em>Functional</em>}' attribute.
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @see #isFunctional()
71 * @generated
72 * @ordered
73 */
74 protected boolean functional = FUNCTIONAL_EDEFAULT;
75
76 /**
77 * The default value of the '{@link #isError() <em>Error</em>}' attribute.
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @see #isError()
81 * @generated
82 * @ordered
83 */
84 protected static final boolean ERROR_EDEFAULT = false;
85
86 /**
87 * The cached value of the '{@link #isError() <em>Error</em>}' attribute.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @see #isError()
91 * @generated
92 * @ordered
93 */
94 protected boolean error = ERROR_EDEFAULT;
95
96 /**
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @generated
100 */
101 protected PredicateDefinitionImpl()
102 {
103 super();
104 }
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 @Override
112 protected EClass eStaticClass()
113 {
114 return SolverLanguagePackage.Literals.PREDICATE_DEFINITION;
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @Override
123 public Expression getHead()
124 {
125 return head;
126 }
127
128 /**
129 * <!-- begin-user-doc -->
130 * <!-- end-user-doc -->
131 * @generated
132 */
133 public NotificationChain basicSetHead(Expression newHead, NotificationChain msgs)
134 {
135 Expression oldHead = head;
136 head = newHead;
137 if (eNotificationRequired())
138 {
139 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__HEAD, oldHead, newHead);
140 if (msgs == null) msgs = notification; else msgs.add(notification);
141 }
142 return msgs;
143 }
144
145 /**
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 */
150 @Override
151 public void setHead(Expression newHead)
152 {
153 if (newHead != head)
154 {
155 NotificationChain msgs = null;
156 if (head != null)
157 msgs = ((InternalEObject)head).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE_DEFINITION__HEAD, null, msgs);
158 if (newHead != null)
159 msgs = ((InternalEObject)newHead).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE_DEFINITION__HEAD, null, msgs);
160 msgs = basicSetHead(newHead, msgs);
161 if (msgs != null) msgs.dispatch();
162 }
163 else if (eNotificationRequired())
164 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__HEAD, newHead, newHead));
165 }
166
167 /**
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 @Override
173 public Expression getBody()
174 {
175 return body;
176 }
177
178 /**
179 * <!-- begin-user-doc -->
180 * <!-- end-user-doc -->
181 * @generated
182 */
183 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs)
184 {
185 Expression oldBody = body;
186 body = newBody;
187 if (eNotificationRequired())
188 {
189 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__BODY, oldBody, newBody);
190 if (msgs == null) msgs = notification; else msgs.add(notification);
191 }
192 return msgs;
193 }
194
195 /**
196 * <!-- begin-user-doc -->
197 * <!-- end-user-doc -->
198 * @generated
199 */
200 @Override
201 public void setBody(Expression newBody)
202 {
203 if (newBody != body)
204 {
205 NotificationChain msgs = null;
206 if (body != null)
207 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE_DEFINITION__BODY, null, msgs);
208 if (newBody != null)
209 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.PREDICATE_DEFINITION__BODY, null, msgs);
210 msgs = basicSetBody(newBody, msgs);
211 if (msgs != null) msgs.dispatch();
212 }
213 else if (eNotificationRequired())
214 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__BODY, newBody, newBody));
215 }
216
217 /**
218 * <!-- begin-user-doc -->
219 * <!-- end-user-doc -->
220 * @generated
221 */
222 @Override
223 public boolean isFunctional()
224 {
225 return functional;
226 }
227
228 /**
229 * <!-- begin-user-doc -->
230 * <!-- end-user-doc -->
231 * @generated
232 */
233 @Override
234 public void setFunctional(boolean newFunctional)
235 {
236 boolean oldFunctional = functional;
237 functional = newFunctional;
238 if (eNotificationRequired())
239 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL, oldFunctional, functional));
240 }
241
242 /**
243 * <!-- begin-user-doc -->
244 * <!-- end-user-doc -->
245 * @generated
246 */
247 @Override
248 public boolean isError()
249 {
250 return error;
251 }
252
253 /**
254 * <!-- begin-user-doc -->
255 * <!-- end-user-doc -->
256 * @generated
257 */
258 @Override
259 public void setError(boolean newError)
260 {
261 boolean oldError = error;
262 error = newError;
263 if (eNotificationRequired())
264 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.PREDICATE_DEFINITION__ERROR, oldError, error));
265 }
266
267 /**
268 * <!-- begin-user-doc -->
269 * <!-- end-user-doc -->
270 * @generated
271 */
272 @Override
273 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
274 {
275 switch (featureID)
276 {
277 case SolverLanguagePackage.PREDICATE_DEFINITION__HEAD:
278 return basicSetHead(null, msgs);
279 case SolverLanguagePackage.PREDICATE_DEFINITION__BODY:
280 return basicSetBody(null, msgs);
281 }
282 return super.eInverseRemove(otherEnd, featureID, msgs);
283 }
284
285 /**
286 * <!-- begin-user-doc -->
287 * <!-- end-user-doc -->
288 * @generated
289 */
290 @Override
291 public Object eGet(int featureID, boolean resolve, boolean coreType)
292 {
293 switch (featureID)
294 {
295 case SolverLanguagePackage.PREDICATE_DEFINITION__HEAD:
296 return getHead();
297 case SolverLanguagePackage.PREDICATE_DEFINITION__BODY:
298 return getBody();
299 case SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL:
300 return isFunctional();
301 case SolverLanguagePackage.PREDICATE_DEFINITION__ERROR:
302 return isError();
303 }
304 return super.eGet(featureID, resolve, coreType);
305 }
306
307 /**
308 * <!-- begin-user-doc -->
309 * <!-- end-user-doc -->
310 * @generated
311 */
312 @Override
313 public void eSet(int featureID, Object newValue)
314 {
315 switch (featureID)
316 {
317 case SolverLanguagePackage.PREDICATE_DEFINITION__HEAD:
318 setHead((Expression)newValue);
319 return;
320 case SolverLanguagePackage.PREDICATE_DEFINITION__BODY:
321 setBody((Expression)newValue);
322 return;
323 case SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL:
324 setFunctional((Boolean)newValue);
325 return;
326 case SolverLanguagePackage.PREDICATE_DEFINITION__ERROR:
327 setError((Boolean)newValue);
328 return;
329 }
330 super.eSet(featureID, newValue);
331 }
332
333 /**
334 * <!-- begin-user-doc -->
335 * <!-- end-user-doc -->
336 * @generated
337 */
338 @Override
339 public void eUnset(int featureID)
340 {
341 switch (featureID)
342 {
343 case SolverLanguagePackage.PREDICATE_DEFINITION__HEAD:
344 setHead((Expression)null);
345 return;
346 case SolverLanguagePackage.PREDICATE_DEFINITION__BODY:
347 setBody((Expression)null);
348 return;
349 case SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL:
350 setFunctional(FUNCTIONAL_EDEFAULT);
351 return;
352 case SolverLanguagePackage.PREDICATE_DEFINITION__ERROR:
353 setError(ERROR_EDEFAULT);
354 return;
355 }
356 super.eUnset(featureID);
357 }
358
359 /**
360 * <!-- begin-user-doc -->
361 * <!-- end-user-doc -->
362 * @generated
363 */
364 @Override
365 public boolean eIsSet(int featureID)
366 {
367 switch (featureID)
368 {
369 case SolverLanguagePackage.PREDICATE_DEFINITION__HEAD:
370 return head != null;
371 case SolverLanguagePackage.PREDICATE_DEFINITION__BODY:
372 return body != null;
373 case SolverLanguagePackage.PREDICATE_DEFINITION__FUNCTIONAL:
374 return functional != FUNCTIONAL_EDEFAULT;
375 case SolverLanguagePackage.PREDICATE_DEFINITION__ERROR:
376 return error != ERROR_EDEFAULT;
377 }
378 return super.eIsSet(featureID);
379 }
380
381 /**
382 * <!-- begin-user-doc -->
383 * <!-- end-user-doc -->
384 * @generated
385 */
386 @Override
387 public String toString()
388 {
389 if (eIsProxy()) return super.toString();
390
391 StringBuilder result = new StringBuilder(super.toString());
392 result.append(" (functional: ");
393 result.append(functional);
394 result.append(", error: ");
395 result.append(error);
396 result.append(')');
397 return result.toString();
398 }
399
400} //PredicateDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java
deleted file mode 100644
index 744e604d..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ProblemImpl.java
+++ /dev/null
@@ -1,169 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import java.util.Collection;
7
8import org.eclipse.emf.common.notify.NotificationChain;
9
10import org.eclipse.emf.common.util.EList;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
16
17import org.eclipse.emf.ecore.util.EObjectContainmentEList;
18import org.eclipse.emf.ecore.util.InternalEList;
19
20import org.eclipse.viatra.solver.language.solverLanguage.Problem;
21import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
22import org.eclipse.viatra.solver.language.solverLanguage.Statement;
23
24/**
25 * <!-- begin-user-doc -->
26 * An implementation of the model object '<em><b>Problem</b></em>'.
27 * <!-- end-user-doc -->
28 * <p>
29 * The following features are implemented:
30 * </p>
31 * <ul>
32 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ProblemImpl#getStatements <em>Statements</em>}</li>
33 * </ul>
34 *
35 * @generated
36 */
37public class ProblemImpl extends MinimalEObjectImpl.Container implements Problem
38{
39 /**
40 * The cached value of the '{@link #getStatements() <em>Statements</em>}' containment reference list.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getStatements()
44 * @generated
45 * @ordered
46 */
47 protected EList<Statement> statements;
48
49 /**
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @generated
53 */
54 protected ProblemImpl()
55 {
56 super();
57 }
58
59 /**
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @generated
63 */
64 @Override
65 protected EClass eStaticClass()
66 {
67 return SolverLanguagePackage.Literals.PROBLEM;
68 }
69
70 /**
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 @Override
76 public EList<Statement> getStatements()
77 {
78 if (statements == null)
79 {
80 statements = new EObjectContainmentEList<Statement>(Statement.class, this, SolverLanguagePackage.PROBLEM__STATEMENTS);
81 }
82 return statements;
83 }
84
85 /**
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 @Override
91 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
92 {
93 switch (featureID)
94 {
95 case SolverLanguagePackage.PROBLEM__STATEMENTS:
96 return ((InternalEList<?>)getStatements()).basicRemove(otherEnd, msgs);
97 }
98 return super.eInverseRemove(otherEnd, featureID, msgs);
99 }
100
101 /**
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @generated
105 */
106 @Override
107 public Object eGet(int featureID, boolean resolve, boolean coreType)
108 {
109 switch (featureID)
110 {
111 case SolverLanguagePackage.PROBLEM__STATEMENTS:
112 return getStatements();
113 }
114 return super.eGet(featureID, resolve, coreType);
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @SuppressWarnings("unchecked")
123 @Override
124 public void eSet(int featureID, Object newValue)
125 {
126 switch (featureID)
127 {
128 case SolverLanguagePackage.PROBLEM__STATEMENTS:
129 getStatements().clear();
130 getStatements().addAll((Collection<? extends Statement>)newValue);
131 return;
132 }
133 super.eSet(featureID, newValue);
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 @Override
142 public void eUnset(int featureID)
143 {
144 switch (featureID)
145 {
146 case SolverLanguagePackage.PROBLEM__STATEMENTS:
147 getStatements().clear();
148 return;
149 }
150 super.eUnset(featureID);
151 }
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 @Override
159 public boolean eIsSet(int featureID)
160 {
161 switch (featureID)
162 {
163 case SolverLanguagePackage.PROBLEM__STATEMENTS:
164 return statements != null && !statements.isEmpty();
165 }
166 return super.eIsSet(featureID);
167 }
168
169} //ProblemImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java
deleted file mode 100644
index be44c0e9..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ReferenceImpl.java
+++ /dev/null
@@ -1,175 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9import org.eclipse.emf.ecore.InternalEObject;
10
11import org.eclipse.emf.ecore.impl.ENotificationImpl;
12
13import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
14import org.eclipse.viatra.solver.language.solverLanguage.Reference;
15import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Reference</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ReferenceImpl#getReferred <em>Referred</em>}</li>
26 * </ul>
27 *
28 * @generated
29 */
30public class ReferenceImpl extends ExpressionImpl implements Reference
31{
32 /**
33 * The cached value of the '{@link #getReferred() <em>Referred</em>}' reference.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getReferred()
37 * @generated
38 * @ordered
39 */
40 protected NamedElement referred;
41
42 /**
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @generated
46 */
47 protected ReferenceImpl()
48 {
49 super();
50 }
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 @Override
58 protected EClass eStaticClass()
59 {
60 return SolverLanguagePackage.Literals.REFERENCE;
61 }
62
63 /**
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 @Override
69 public NamedElement getReferred()
70 {
71 if (referred != null && referred.eIsProxy())
72 {
73 InternalEObject oldReferred = (InternalEObject)referred;
74 referred = (NamedElement)eResolveProxy(oldReferred);
75 if (referred != oldReferred)
76 {
77 if (eNotificationRequired())
78 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.REFERENCE__REFERRED, oldReferred, referred));
79 }
80 }
81 return referred;
82 }
83
84 /**
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @generated
88 */
89 public NamedElement basicGetReferred()
90 {
91 return referred;
92 }
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 @Override
100 public void setReferred(NamedElement newReferred)
101 {
102 NamedElement oldReferred = referred;
103 referred = newReferred;
104 if (eNotificationRequired())
105 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.REFERENCE__REFERRED, oldReferred, referred));
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 @Override
114 public Object eGet(int featureID, boolean resolve, boolean coreType)
115 {
116 switch (featureID)
117 {
118 case SolverLanguagePackage.REFERENCE__REFERRED:
119 if (resolve) return getReferred();
120 return basicGetReferred();
121 }
122 return super.eGet(featureID, resolve, coreType);
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public void eSet(int featureID, Object newValue)
132 {
133 switch (featureID)
134 {
135 case SolverLanguagePackage.REFERENCE__REFERRED:
136 setReferred((NamedElement)newValue);
137 return;
138 }
139 super.eSet(featureID, newValue);
140 }
141
142 /**
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 */
147 @Override
148 public void eUnset(int featureID)
149 {
150 switch (featureID)
151 {
152 case SolverLanguagePackage.REFERENCE__REFERRED:
153 setReferred((NamedElement)null);
154 return;
155 }
156 super.eUnset(featureID);
157 }
158
159 /**
160 * <!-- begin-user-doc -->
161 * <!-- end-user-doc -->
162 * @generated
163 */
164 @Override
165 public boolean eIsSet(int featureID)
166 {
167 switch (featureID)
168 {
169 case SolverLanguagePackage.REFERENCE__REFERRED:
170 return referred != null;
171 }
172 return super.eIsSet(featureID);
173 }
174
175} //ReferenceImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDefinitionImpl.java
deleted file mode 100644
index be109307..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/ScopeDefinitionImpl.java
+++ /dev/null
@@ -1,175 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9import org.eclipse.emf.ecore.InternalEObject;
10
11import org.eclipse.emf.ecore.impl.ENotificationImpl;
12
13import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
14import org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition;
15import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Scope Definition</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.ScopeDefinitionImpl#getType <em>Type</em>}</li>
26 * </ul>
27 *
28 * @generated
29 */
30public class ScopeDefinitionImpl extends StatementImpl implements ScopeDefinition
31{
32 /**
33 * The cached value of the '{@link #getType() <em>Type</em>}' reference.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getType()
37 * @generated
38 * @ordered
39 */
40 protected NamedElement type;
41
42 /**
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @generated
46 */
47 protected ScopeDefinitionImpl()
48 {
49 super();
50 }
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 @Override
58 protected EClass eStaticClass()
59 {
60 return SolverLanguagePackage.Literals.SCOPE_DEFINITION;
61 }
62
63 /**
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 @Override
69 public NamedElement getType()
70 {
71 if (type != null && type.eIsProxy())
72 {
73 InternalEObject oldType = (InternalEObject)type;
74 type = (NamedElement)eResolveProxy(oldType);
75 if (type != oldType)
76 {
77 if (eNotificationRequired())
78 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.SCOPE_DEFINITION__TYPE, oldType, type));
79 }
80 }
81 return type;
82 }
83
84 /**
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @generated
88 */
89 public NamedElement basicGetType()
90 {
91 return type;
92 }
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 @Override
100 public void setType(NamedElement newType)
101 {
102 NamedElement oldType = type;
103 type = newType;
104 if (eNotificationRequired())
105 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.SCOPE_DEFINITION__TYPE, oldType, type));
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 @Override
114 public Object eGet(int featureID, boolean resolve, boolean coreType)
115 {
116 switch (featureID)
117 {
118 case SolverLanguagePackage.SCOPE_DEFINITION__TYPE:
119 if (resolve) return getType();
120 return basicGetType();
121 }
122 return super.eGet(featureID, resolve, coreType);
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public void eSet(int featureID, Object newValue)
132 {
133 switch (featureID)
134 {
135 case SolverLanguagePackage.SCOPE_DEFINITION__TYPE:
136 setType((NamedElement)newValue);
137 return;
138 }
139 super.eSet(featureID, newValue);
140 }
141
142 /**
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 */
147 @Override
148 public void eUnset(int featureID)
149 {
150 switch (featureID)
151 {
152 case SolverLanguagePackage.SCOPE_DEFINITION__TYPE:
153 setType((NamedElement)null);
154 return;
155 }
156 super.eUnset(featureID);
157 }
158
159 /**
160 * <!-- begin-user-doc -->
161 * <!-- end-user-doc -->
162 * @generated
163 */
164 @Override
165 public boolean eIsSet(int featureID)
166 {
167 switch (featureID)
168 {
169 case SolverLanguagePackage.SCOPE_DEFINITION__TYPE:
170 return type != null;
171 }
172 return super.eIsSet(featureID);
173 }
174
175} //ScopeDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java
deleted file mode 100644
index 509d7568..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguageFactoryImpl.java
+++ /dev/null
@@ -1,894 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7import org.eclipse.emf.ecore.EDataType;
8import org.eclipse.emf.ecore.EObject;
9import org.eclipse.emf.ecore.EPackage;
10
11import org.eclipse.emf.ecore.impl.EFactoryImpl;
12
13import org.eclipse.emf.ecore.plugin.EcorePlugin;
14
15import org.eclipse.viatra.solver.language.solverLanguage.*;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model <b>Factory</b>.
20 * <!-- end-user-doc -->
21 * @generated
22 */
23public class SolverLanguageFactoryImpl extends EFactoryImpl implements SolverLanguageFactory
24{
25 /**
26 * Creates the default factory implementation.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @generated
30 */
31 public static SolverLanguageFactory init()
32 {
33 try
34 {
35 SolverLanguageFactory theSolverLanguageFactory = (SolverLanguageFactory)EPackage.Registry.INSTANCE.getEFactory(SolverLanguagePackage.eNS_URI);
36 if (theSolverLanguageFactory != null)
37 {
38 return theSolverLanguageFactory;
39 }
40 }
41 catch (Exception exception)
42 {
43 EcorePlugin.INSTANCE.log(exception);
44 }
45 return new SolverLanguageFactoryImpl();
46 }
47
48 /**
49 * Creates an instance of the factory.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @generated
53 */
54 public SolverLanguageFactoryImpl()
55 {
56 super();
57 }
58
59 /**
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @generated
63 */
64 @Override
65 public EObject create(EClass eClass)
66 {
67 switch (eClass.getClassifierID())
68 {
69 case SolverLanguagePackage.PROBLEM: return createProblem();
70 case SolverLanguagePackage.STATEMENT: return createStatement();
71 case SolverLanguagePackage.PREDICATE_DEFINITION: return createPredicateDefinition();
72 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION: return createUnnamedErrorPrediateDefinition();
73 case SolverLanguagePackage.DEFAULT_DEFINITION: return createDefaultDefinition();
74 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION: return createExternPredicateDefinition();
75 case SolverLanguagePackage.METRIC_DEFINITION: return createMetricDefinition();
76 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION: return createExternMetricDefinition();
77 case SolverLanguagePackage.EXPRESSION: return createExpression();
78 case SolverLanguagePackage.IF_ELSE: return createIfElse();
79 case SolverLanguagePackage.CASE: return createCase();
80 case SolverLanguagePackage.COUNT: return createCount();
81 case SolverLanguagePackage.AGGREGATION: return createAggregation();
82 case SolverLanguagePackage.CALL: return createCall();
83 case SolverLanguagePackage.ARGUMENT_LIST: return createArgumentList();
84 case SolverLanguagePackage.ARGUMENT: return createArgument();
85 case SolverLanguagePackage.EXPRESSION_ARGUMENT: return createExpressionArgument();
86 case SolverLanguagePackage.STAR_ARGUMENT: return createStarArgument();
87 case SolverLanguagePackage.TYPED_ARGUMENT: return createTypedArgument();
88 case SolverLanguagePackage.TYPED_STAR_ARGUMENT: return createTypedStarArgument();
89 case SolverLanguagePackage.REFERENCE: return createReference();
90 case SolverLanguagePackage.INTERVAL: return createInterval();
91 case SolverLanguagePackage.LITERAL: return createLiteral();
92 case SolverLanguagePackage.LOGIC_LITERAL: return createLogicLiteral();
93 case SolverLanguagePackage.NUMERIC_LITERAL: return createNumericLiteral();
94 case SolverLanguagePackage.INFINITY_LITERAL: return createInfinityLiteral();
95 case SolverLanguagePackage.EMPTY_INTERVAL_LITERAL: return createEmptyIntervalLiteral();
96 case SolverLanguagePackage.STRING_LITERAL: return createStringLiteral();
97 case SolverLanguagePackage.CLASS_DEFINITION: return createClassDefinition();
98 case SolverLanguagePackage.MEMBER_DEFINITION: return createMemberDefinition();
99 case SolverLanguagePackage.MULTIPLICITY: return createMultiplicity();
100 case SolverLanguagePackage.MANY_MULTIPLICITY: return createManyMultiplicity();
101 case SolverLanguagePackage.EXACT_MULTIPLICITY: return createExactMultiplicity();
102 case SolverLanguagePackage.BOUNDED_MULTIPLICITY: return createBoundedMultiplicity();
103 case SolverLanguagePackage.SCOPE_DEFINITION: return createScopeDefinition();
104 case SolverLanguagePackage.EXACT_SCOPE_DEFINITION: return createExactScopeDefinition();
105 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION: return createBoundedScopeDefinition();
106 case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION: return createLowerBoundedScopeDefinition();
107 case SolverLanguagePackage.OBJECTIVE_DEFINITION: return createObjectiveDefinition();
108 case SolverLanguagePackage.NAMED_ELEMENT: return createNamedElement();
109 case SolverLanguagePackage.ASSERTION: return createAssertion();
110 case SolverLanguagePackage.DISJUNCTION: return createDisjunction();
111 case SolverLanguagePackage.SWITCH: return createSwitch();
112 case SolverLanguagePackage.CONJUNCTION: return createConjunction();
113 case SolverLanguagePackage.COMPARISON: return createComparison();
114 case SolverLanguagePackage.BINARY_EXPRESSION: return createBinaryExpression();
115 case SolverLanguagePackage.UNARY_EXPRESSION: return createUnaryExpression();
116 default:
117 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
118 }
119 }
120
121 /**
122 * <!-- begin-user-doc -->
123 * <!-- end-user-doc -->
124 * @generated
125 */
126 @Override
127 public Object createFromString(EDataType eDataType, String initialValue)
128 {
129 switch (eDataType.getClassifierID())
130 {
131 case SolverLanguagePackage.METRIC_TYPE:
132 return createMetricTypeFromString(eDataType, initialValue);
133 case SolverLanguagePackage.BINARY_OPERATOR:
134 return createBinaryOperatorFromString(eDataType, initialValue);
135 case SolverLanguagePackage.UNARY_OP:
136 return createUnaryOpFromString(eDataType, initialValue);
137 case SolverLanguagePackage.AGGREGATION_OP:
138 return createAggregationOpFromString(eDataType, initialValue);
139 case SolverLanguagePackage.LOGIC_VALUE:
140 return createLogicValueFromString(eDataType, initialValue);
141 case SolverLanguagePackage.OBJECTIVE_KIND:
142 return createObjectiveKindFromString(eDataType, initialValue);
143 default:
144 throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
145 }
146 }
147
148 /**
149 * <!-- begin-user-doc -->
150 * <!-- end-user-doc -->
151 * @generated
152 */
153 @Override
154 public String convertToString(EDataType eDataType, Object instanceValue)
155 {
156 switch (eDataType.getClassifierID())
157 {
158 case SolverLanguagePackage.METRIC_TYPE:
159 return convertMetricTypeToString(eDataType, instanceValue);
160 case SolverLanguagePackage.BINARY_OPERATOR:
161 return convertBinaryOperatorToString(eDataType, instanceValue);
162 case SolverLanguagePackage.UNARY_OP:
163 return convertUnaryOpToString(eDataType, instanceValue);
164 case SolverLanguagePackage.AGGREGATION_OP:
165 return convertAggregationOpToString(eDataType, instanceValue);
166 case SolverLanguagePackage.LOGIC_VALUE:
167 return convertLogicValueToString(eDataType, instanceValue);
168 case SolverLanguagePackage.OBJECTIVE_KIND:
169 return convertObjectiveKindToString(eDataType, instanceValue);
170 default:
171 throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
172 }
173 }
174
175 /**
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @generated
179 */
180 @Override
181 public Problem createProblem()
182 {
183 ProblemImpl problem = new ProblemImpl();
184 return problem;
185 }
186
187 /**
188 * <!-- begin-user-doc -->
189 * <!-- end-user-doc -->
190 * @generated
191 */
192 @Override
193 public Statement createStatement()
194 {
195 StatementImpl statement = new StatementImpl();
196 return statement;
197 }
198
199 /**
200 * <!-- begin-user-doc -->
201 * <!-- end-user-doc -->
202 * @generated
203 */
204 @Override
205 public PredicateDefinition createPredicateDefinition()
206 {
207 PredicateDefinitionImpl predicateDefinition = new PredicateDefinitionImpl();
208 return predicateDefinition;
209 }
210
211 /**
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @generated
215 */
216 @Override
217 public UnnamedErrorPrediateDefinition createUnnamedErrorPrediateDefinition()
218 {
219 UnnamedErrorPrediateDefinitionImpl unnamedErrorPrediateDefinition = new UnnamedErrorPrediateDefinitionImpl();
220 return unnamedErrorPrediateDefinition;
221 }
222
223 /**
224 * <!-- begin-user-doc -->
225 * <!-- end-user-doc -->
226 * @generated
227 */
228 @Override
229 public DefaultDefinition createDefaultDefinition()
230 {
231 DefaultDefinitionImpl defaultDefinition = new DefaultDefinitionImpl();
232 return defaultDefinition;
233 }
234
235 /**
236 * <!-- begin-user-doc -->
237 * <!-- end-user-doc -->
238 * @generated
239 */
240 @Override
241 public ExternPredicateDefinition createExternPredicateDefinition()
242 {
243 ExternPredicateDefinitionImpl externPredicateDefinition = new ExternPredicateDefinitionImpl();
244 return externPredicateDefinition;
245 }
246
247 /**
248 * <!-- begin-user-doc -->
249 * <!-- end-user-doc -->
250 * @generated
251 */
252 @Override
253 public MetricDefinition createMetricDefinition()
254 {
255 MetricDefinitionImpl metricDefinition = new MetricDefinitionImpl();
256 return metricDefinition;
257 }
258
259 /**
260 * <!-- begin-user-doc -->
261 * <!-- end-user-doc -->
262 * @generated
263 */
264 @Override
265 public ExternMetricDefinition createExternMetricDefinition()
266 {
267 ExternMetricDefinitionImpl externMetricDefinition = new ExternMetricDefinitionImpl();
268 return externMetricDefinition;
269 }
270
271 /**
272 * <!-- begin-user-doc -->
273 * <!-- end-user-doc -->
274 * @generated
275 */
276 @Override
277 public Expression createExpression()
278 {
279 ExpressionImpl expression = new ExpressionImpl();
280 return expression;
281 }
282
283 /**
284 * <!-- begin-user-doc -->
285 * <!-- end-user-doc -->
286 * @generated
287 */
288 @Override
289 public IfElse createIfElse()
290 {
291 IfElseImpl ifElse = new IfElseImpl();
292 return ifElse;
293 }
294
295 /**
296 * <!-- begin-user-doc -->
297 * <!-- end-user-doc -->
298 * @generated
299 */
300 @Override
301 public Case createCase()
302 {
303 CaseImpl case_ = new CaseImpl();
304 return case_;
305 }
306
307 /**
308 * <!-- begin-user-doc -->
309 * <!-- end-user-doc -->
310 * @generated
311 */
312 @Override
313 public Count createCount()
314 {
315 CountImpl count = new CountImpl();
316 return count;
317 }
318
319 /**
320 * <!-- begin-user-doc -->
321 * <!-- end-user-doc -->
322 * @generated
323 */
324 @Override
325 public Aggregation createAggregation()
326 {
327 AggregationImpl aggregation = new AggregationImpl();
328 return aggregation;
329 }
330
331 /**
332 * <!-- begin-user-doc -->
333 * <!-- end-user-doc -->
334 * @generated
335 */
336 @Override
337 public Call createCall()
338 {
339 CallImpl call = new CallImpl();
340 return call;
341 }
342
343 /**
344 * <!-- begin-user-doc -->
345 * <!-- end-user-doc -->
346 * @generated
347 */
348 @Override
349 public ArgumentList createArgumentList()
350 {
351 ArgumentListImpl argumentList = new ArgumentListImpl();
352 return argumentList;
353 }
354
355 /**
356 * <!-- begin-user-doc -->
357 * <!-- end-user-doc -->
358 * @generated
359 */
360 @Override
361 public Argument createArgument()
362 {
363 ArgumentImpl argument = new ArgumentImpl();
364 return argument;
365 }
366
367 /**
368 * <!-- begin-user-doc -->
369 * <!-- end-user-doc -->
370 * @generated
371 */
372 @Override
373 public ExpressionArgument createExpressionArgument()
374 {
375 ExpressionArgumentImpl expressionArgument = new ExpressionArgumentImpl();
376 return expressionArgument;
377 }
378
379 /**
380 * <!-- begin-user-doc -->
381 * <!-- end-user-doc -->
382 * @generated
383 */
384 @Override
385 public StarArgument createStarArgument()
386 {
387 StarArgumentImpl starArgument = new StarArgumentImpl();
388 return starArgument;
389 }
390
391 /**
392 * <!-- begin-user-doc -->
393 * <!-- end-user-doc -->
394 * @generated
395 */
396 @Override
397 public TypedArgument createTypedArgument()
398 {
399 TypedArgumentImpl typedArgument = new TypedArgumentImpl();
400 return typedArgument;
401 }
402
403 /**
404 * <!-- begin-user-doc -->
405 * <!-- end-user-doc -->
406 * @generated
407 */
408 @Override
409 public TypedStarArgument createTypedStarArgument()
410 {
411 TypedStarArgumentImpl typedStarArgument = new TypedStarArgumentImpl();
412 return typedStarArgument;
413 }
414
415 /**
416 * <!-- begin-user-doc -->
417 * <!-- end-user-doc -->
418 * @generated
419 */
420 @Override
421 public Reference createReference()
422 {
423 ReferenceImpl reference = new ReferenceImpl();
424 return reference;
425 }
426
427 /**
428 * <!-- begin-user-doc -->
429 * <!-- end-user-doc -->
430 * @generated
431 */
432 @Override
433 public Interval createInterval()
434 {
435 IntervalImpl interval = new IntervalImpl();
436 return interval;
437 }
438
439 /**
440 * <!-- begin-user-doc -->
441 * <!-- end-user-doc -->
442 * @generated
443 */
444 @Override
445 public Literal createLiteral()
446 {
447 LiteralImpl literal = new LiteralImpl();
448 return literal;
449 }
450
451 /**
452 * <!-- begin-user-doc -->
453 * <!-- end-user-doc -->
454 * @generated
455 */
456 @Override
457 public LogicLiteral createLogicLiteral()
458 {
459 LogicLiteralImpl logicLiteral = new LogicLiteralImpl();
460 return logicLiteral;
461 }
462
463 /**
464 * <!-- begin-user-doc -->
465 * <!-- end-user-doc -->
466 * @generated
467 */
468 @Override
469 public NumericLiteral createNumericLiteral()
470 {
471 NumericLiteralImpl numericLiteral = new NumericLiteralImpl();
472 return numericLiteral;
473 }
474
475 /**
476 * <!-- begin-user-doc -->
477 * <!-- end-user-doc -->
478 * @generated
479 */
480 @Override
481 public InfinityLiteral createInfinityLiteral()
482 {
483 InfinityLiteralImpl infinityLiteral = new InfinityLiteralImpl();
484 return infinityLiteral;
485 }
486
487 /**
488 * <!-- begin-user-doc -->
489 * <!-- end-user-doc -->
490 * @generated
491 */
492 @Override
493 public EmptyIntervalLiteral createEmptyIntervalLiteral()
494 {
495 EmptyIntervalLiteralImpl emptyIntervalLiteral = new EmptyIntervalLiteralImpl();
496 return emptyIntervalLiteral;
497 }
498
499 /**
500 * <!-- begin-user-doc -->
501 * <!-- end-user-doc -->
502 * @generated
503 */
504 @Override
505 public StringLiteral createStringLiteral()
506 {
507 StringLiteralImpl stringLiteral = new StringLiteralImpl();
508 return stringLiteral;
509 }
510
511 /**
512 * <!-- begin-user-doc -->
513 * <!-- end-user-doc -->
514 * @generated
515 */
516 @Override
517 public ClassDefinition createClassDefinition()
518 {
519 ClassDefinitionImpl classDefinition = new ClassDefinitionImpl();
520 return classDefinition;
521 }
522
523 /**
524 * <!-- begin-user-doc -->
525 * <!-- end-user-doc -->
526 * @generated
527 */
528 @Override
529 public MemberDefinition createMemberDefinition()
530 {
531 MemberDefinitionImpl memberDefinition = new MemberDefinitionImpl();
532 return memberDefinition;
533 }
534
535 /**
536 * <!-- begin-user-doc -->
537 * <!-- end-user-doc -->
538 * @generated
539 */
540 @Override
541 public Multiplicity createMultiplicity()
542 {
543 MultiplicityImpl multiplicity = new MultiplicityImpl();
544 return multiplicity;
545 }
546
547 /**
548 * <!-- begin-user-doc -->
549 * <!-- end-user-doc -->
550 * @generated
551 */
552 @Override
553 public ManyMultiplicity createManyMultiplicity()
554 {
555 ManyMultiplicityImpl manyMultiplicity = new ManyMultiplicityImpl();
556 return manyMultiplicity;
557 }
558
559 /**
560 * <!-- begin-user-doc -->
561 * <!-- end-user-doc -->
562 * @generated
563 */
564 @Override
565 public ExactMultiplicity createExactMultiplicity()
566 {
567 ExactMultiplicityImpl exactMultiplicity = new ExactMultiplicityImpl();
568 return exactMultiplicity;
569 }
570
571 /**
572 * <!-- begin-user-doc -->
573 * <!-- end-user-doc -->
574 * @generated
575 */
576 @Override
577 public BoundedMultiplicity createBoundedMultiplicity()
578 {
579 BoundedMultiplicityImpl boundedMultiplicity = new BoundedMultiplicityImpl();
580 return boundedMultiplicity;
581 }
582
583 /**
584 * <!-- begin-user-doc -->
585 * <!-- end-user-doc -->
586 * @generated
587 */
588 @Override
589 public ScopeDefinition createScopeDefinition()
590 {
591 ScopeDefinitionImpl scopeDefinition = new ScopeDefinitionImpl();
592 return scopeDefinition;
593 }
594
595 /**
596 * <!-- begin-user-doc -->
597 * <!-- end-user-doc -->
598 * @generated
599 */
600 @Override
601 public ExactScopeDefinition createExactScopeDefinition()
602 {
603 ExactScopeDefinitionImpl exactScopeDefinition = new ExactScopeDefinitionImpl();
604 return exactScopeDefinition;
605 }
606
607 /**
608 * <!-- begin-user-doc -->
609 * <!-- end-user-doc -->
610 * @generated
611 */
612 @Override
613 public BoundedScopeDefinition createBoundedScopeDefinition()
614 {
615 BoundedScopeDefinitionImpl boundedScopeDefinition = new BoundedScopeDefinitionImpl();
616 return boundedScopeDefinition;
617 }
618
619 /**
620 * <!-- begin-user-doc -->
621 * <!-- end-user-doc -->
622 * @generated
623 */
624 @Override
625 public LowerBoundedScopeDefinition createLowerBoundedScopeDefinition()
626 {
627 LowerBoundedScopeDefinitionImpl lowerBoundedScopeDefinition = new LowerBoundedScopeDefinitionImpl();
628 return lowerBoundedScopeDefinition;
629 }
630
631 /**
632 * <!-- begin-user-doc -->
633 * <!-- end-user-doc -->
634 * @generated
635 */
636 @Override
637 public ObjectiveDefinition createObjectiveDefinition()
638 {
639 ObjectiveDefinitionImpl objectiveDefinition = new ObjectiveDefinitionImpl();
640 return objectiveDefinition;
641 }
642
643 /**
644 * <!-- begin-user-doc -->
645 * <!-- end-user-doc -->
646 * @generated
647 */
648 @Override
649 public NamedElement createNamedElement()
650 {
651 NamedElementImpl namedElement = new NamedElementImpl();
652 return namedElement;
653 }
654
655 /**
656 * <!-- begin-user-doc -->
657 * <!-- end-user-doc -->
658 * @generated
659 */
660 @Override
661 public Assertion createAssertion()
662 {
663 AssertionImpl assertion = new AssertionImpl();
664 return assertion;
665 }
666
667 /**
668 * <!-- begin-user-doc -->
669 * <!-- end-user-doc -->
670 * @generated
671 */
672 @Override
673 public Disjunction createDisjunction()
674 {
675 DisjunctionImpl disjunction = new DisjunctionImpl();
676 return disjunction;
677 }
678
679 /**
680 * <!-- begin-user-doc -->
681 * <!-- end-user-doc -->
682 * @generated
683 */
684 @Override
685 public Switch createSwitch()
686 {
687 SwitchImpl switch_ = new SwitchImpl();
688 return switch_;
689 }
690
691 /**
692 * <!-- begin-user-doc -->
693 * <!-- end-user-doc -->
694 * @generated
695 */
696 @Override
697 public Conjunction createConjunction()
698 {
699 ConjunctionImpl conjunction = new ConjunctionImpl();
700 return conjunction;
701 }
702
703 /**
704 * <!-- begin-user-doc -->
705 * <!-- end-user-doc -->
706 * @generated
707 */
708 @Override
709 public Comparison createComparison()
710 {
711 ComparisonImpl comparison = new ComparisonImpl();
712 return comparison;
713 }
714
715 /**
716 * <!-- begin-user-doc -->
717 * <!-- end-user-doc -->
718 * @generated
719 */
720 @Override
721 public BinaryExpression createBinaryExpression()
722 {
723 BinaryExpressionImpl binaryExpression = new BinaryExpressionImpl();
724 return binaryExpression;
725 }
726
727 /**
728 * <!-- begin-user-doc -->
729 * <!-- end-user-doc -->
730 * @generated
731 */
732 @Override
733 public UnaryExpression createUnaryExpression()
734 {
735 UnaryExpressionImpl unaryExpression = new UnaryExpressionImpl();
736 return unaryExpression;
737 }
738
739 /**
740 * <!-- begin-user-doc -->
741 * <!-- end-user-doc -->
742 * @generated
743 */
744 public MetricType createMetricTypeFromString(EDataType eDataType, String initialValue)
745 {
746 MetricType result = MetricType.get(initialValue);
747 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
748 return result;
749 }
750
751 /**
752 * <!-- begin-user-doc -->
753 * <!-- end-user-doc -->
754 * @generated
755 */
756 public String convertMetricTypeToString(EDataType eDataType, Object instanceValue)
757 {
758 return instanceValue == null ? null : instanceValue.toString();
759 }
760
761 /**
762 * <!-- begin-user-doc -->
763 * <!-- end-user-doc -->
764 * @generated
765 */
766 public BinaryOperator createBinaryOperatorFromString(EDataType eDataType, String initialValue)
767 {
768 BinaryOperator result = BinaryOperator.get(initialValue);
769 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
770 return result;
771 }
772
773 /**
774 * <!-- begin-user-doc -->
775 * <!-- end-user-doc -->
776 * @generated
777 */
778 public String convertBinaryOperatorToString(EDataType eDataType, Object instanceValue)
779 {
780 return instanceValue == null ? null : instanceValue.toString();
781 }
782
783 /**
784 * <!-- begin-user-doc -->
785 * <!-- end-user-doc -->
786 * @generated
787 */
788 public UnaryOp createUnaryOpFromString(EDataType eDataType, String initialValue)
789 {
790 UnaryOp result = UnaryOp.get(initialValue);
791 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
792 return result;
793 }
794
795 /**
796 * <!-- begin-user-doc -->
797 * <!-- end-user-doc -->
798 * @generated
799 */
800 public String convertUnaryOpToString(EDataType eDataType, Object instanceValue)
801 {
802 return instanceValue == null ? null : instanceValue.toString();
803 }
804
805 /**
806 * <!-- begin-user-doc -->
807 * <!-- end-user-doc -->
808 * @generated
809 */
810 public AggregationOp createAggregationOpFromString(EDataType eDataType, String initialValue)
811 {
812 AggregationOp result = AggregationOp.get(initialValue);
813 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
814 return result;
815 }
816
817 /**
818 * <!-- begin-user-doc -->
819 * <!-- end-user-doc -->
820 * @generated
821 */
822 public String convertAggregationOpToString(EDataType eDataType, Object instanceValue)
823 {
824 return instanceValue == null ? null : instanceValue.toString();
825 }
826
827 /**
828 * <!-- begin-user-doc -->
829 * <!-- end-user-doc -->
830 * @generated
831 */
832 public LogicValue createLogicValueFromString(EDataType eDataType, String initialValue)
833 {
834 LogicValue result = LogicValue.get(initialValue);
835 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
836 return result;
837 }
838
839 /**
840 * <!-- begin-user-doc -->
841 * <!-- end-user-doc -->
842 * @generated
843 */
844 public String convertLogicValueToString(EDataType eDataType, Object instanceValue)
845 {
846 return instanceValue == null ? null : instanceValue.toString();
847 }
848
849 /**
850 * <!-- begin-user-doc -->
851 * <!-- end-user-doc -->
852 * @generated
853 */
854 public ObjectiveKind createObjectiveKindFromString(EDataType eDataType, String initialValue)
855 {
856 ObjectiveKind result = ObjectiveKind.get(initialValue);
857 if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
858 return result;
859 }
860
861 /**
862 * <!-- begin-user-doc -->
863 * <!-- end-user-doc -->
864 * @generated
865 */
866 public String convertObjectiveKindToString(EDataType eDataType, Object instanceValue)
867 {
868 return instanceValue == null ? null : instanceValue.toString();
869 }
870
871 /**
872 * <!-- begin-user-doc -->
873 * <!-- end-user-doc -->
874 * @generated
875 */
876 @Override
877 public SolverLanguagePackage getSolverLanguagePackage()
878 {
879 return (SolverLanguagePackage)getEPackage();
880 }
881
882 /**
883 * <!-- begin-user-doc -->
884 * <!-- end-user-doc -->
885 * @deprecated
886 * @generated
887 */
888 @Deprecated
889 public static SolverLanguagePackage getPackage()
890 {
891 return SolverLanguagePackage.eINSTANCE;
892 }
893
894} //SolverLanguageFactoryImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java
deleted file mode 100644
index 39f811b9..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SolverLanguagePackageImpl.java
+++ /dev/null
@@ -1,2379 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EAttribute;
7import org.eclipse.emf.ecore.EClass;
8import org.eclipse.emf.ecore.EEnum;
9import org.eclipse.emf.ecore.EPackage;
10import org.eclipse.emf.ecore.EReference;
11
12import org.eclipse.emf.ecore.impl.EPackageImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Aggregation;
15import org.eclipse.viatra.solver.language.solverLanguage.AggregationOp;
16import org.eclipse.viatra.solver.language.solverLanguage.Argument;
17import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList;
18import org.eclipse.viatra.solver.language.solverLanguage.Assertion;
19import org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression;
20import org.eclipse.viatra.solver.language.solverLanguage.BinaryOperator;
21import org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity;
22import org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition;
23import org.eclipse.viatra.solver.language.solverLanguage.Call;
24import org.eclipse.viatra.solver.language.solverLanguage.Case;
25import org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition;
26import org.eclipse.viatra.solver.language.solverLanguage.Comparison;
27import org.eclipse.viatra.solver.language.solverLanguage.Conjunction;
28import org.eclipse.viatra.solver.language.solverLanguage.Count;
29import org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition;
30import org.eclipse.viatra.solver.language.solverLanguage.Disjunction;
31import org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral;
32import org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity;
33import org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition;
34import org.eclipse.viatra.solver.language.solverLanguage.Expression;
35import org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument;
36import org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition;
37import org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition;
38import org.eclipse.viatra.solver.language.solverLanguage.IfElse;
39import org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral;
40import org.eclipse.viatra.solver.language.solverLanguage.Interval;
41import org.eclipse.viatra.solver.language.solverLanguage.Literal;
42import org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral;
43import org.eclipse.viatra.solver.language.solverLanguage.LogicValue;
44import org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition;
45import org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity;
46import org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition;
47import org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition;
48import org.eclipse.viatra.solver.language.solverLanguage.MetricType;
49import org.eclipse.viatra.solver.language.solverLanguage.Multiplicity;
50import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
51import org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral;
52import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition;
53import org.eclipse.viatra.solver.language.solverLanguage.ObjectiveKind;
54import org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition;
55import org.eclipse.viatra.solver.language.solverLanguage.Problem;
56import org.eclipse.viatra.solver.language.solverLanguage.Reference;
57import org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition;
58import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguageFactory;
59import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
60import org.eclipse.viatra.solver.language.solverLanguage.StarArgument;
61import org.eclipse.viatra.solver.language.solverLanguage.Statement;
62import org.eclipse.viatra.solver.language.solverLanguage.StringLiteral;
63import org.eclipse.viatra.solver.language.solverLanguage.Switch;
64import org.eclipse.viatra.solver.language.solverLanguage.TypedArgument;
65import org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument;
66import org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression;
67import org.eclipse.viatra.solver.language.solverLanguage.UnaryOp;
68import org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition;
69
70/**
71 * <!-- begin-user-doc -->
72 * An implementation of the model <b>Package</b>.
73 * <!-- end-user-doc -->
74 * @generated
75 */
76public class SolverLanguagePackageImpl extends EPackageImpl implements SolverLanguagePackage
77{
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 private EClass problemEClass = null;
84
85 /**
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 private EClass statementEClass = null;
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 private EClass predicateDefinitionEClass = null;
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 private EClass unnamedErrorPrediateDefinitionEClass = null;
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 private EClass defaultDefinitionEClass = null;
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 private EClass externPredicateDefinitionEClass = null;
119
120 /**
121 * <!-- begin-user-doc -->
122 * <!-- end-user-doc -->
123 * @generated
124 */
125 private EClass metricDefinitionEClass = null;
126
127 /**
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 */
132 private EClass externMetricDefinitionEClass = null;
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 private EClass expressionEClass = null;
140
141 /**
142 * <!-- begin-user-doc -->
143 * <!-- end-user-doc -->
144 * @generated
145 */
146 private EClass ifElseEClass = null;
147
148 /**
149 * <!-- begin-user-doc -->
150 * <!-- end-user-doc -->
151 * @generated
152 */
153 private EClass caseEClass = null;
154
155 /**
156 * <!-- begin-user-doc -->
157 * <!-- end-user-doc -->
158 * @generated
159 */
160 private EClass countEClass = null;
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 private EClass aggregationEClass = null;
168
169 /**
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @generated
173 */
174 private EClass callEClass = null;
175
176 /**
177 * <!-- begin-user-doc -->
178 * <!-- end-user-doc -->
179 * @generated
180 */
181 private EClass argumentListEClass = null;
182
183 /**
184 * <!-- begin-user-doc -->
185 * <!-- end-user-doc -->
186 * @generated
187 */
188 private EClass argumentEClass = null;
189
190 /**
191 * <!-- begin-user-doc -->
192 * <!-- end-user-doc -->
193 * @generated
194 */
195 private EClass expressionArgumentEClass = null;
196
197 /**
198 * <!-- begin-user-doc -->
199 * <!-- end-user-doc -->
200 * @generated
201 */
202 private EClass starArgumentEClass = null;
203
204 /**
205 * <!-- begin-user-doc -->
206 * <!-- end-user-doc -->
207 * @generated
208 */
209 private EClass typedArgumentEClass = null;
210
211 /**
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @generated
215 */
216 private EClass typedStarArgumentEClass = null;
217
218 /**
219 * <!-- begin-user-doc -->
220 * <!-- end-user-doc -->
221 * @generated
222 */
223 private EClass referenceEClass = null;
224
225 /**
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @generated
229 */
230 private EClass intervalEClass = null;
231
232 /**
233 * <!-- begin-user-doc -->
234 * <!-- end-user-doc -->
235 * @generated
236 */
237 private EClass literalEClass = null;
238
239 /**
240 * <!-- begin-user-doc -->
241 * <!-- end-user-doc -->
242 * @generated
243 */
244 private EClass logicLiteralEClass = null;
245
246 /**
247 * <!-- begin-user-doc -->
248 * <!-- end-user-doc -->
249 * @generated
250 */
251 private EClass numericLiteralEClass = null;
252
253 /**
254 * <!-- begin-user-doc -->
255 * <!-- end-user-doc -->
256 * @generated
257 */
258 private EClass infinityLiteralEClass = null;
259
260 /**
261 * <!-- begin-user-doc -->
262 * <!-- end-user-doc -->
263 * @generated
264 */
265 private EClass emptyIntervalLiteralEClass = null;
266
267 /**
268 * <!-- begin-user-doc -->
269 * <!-- end-user-doc -->
270 * @generated
271 */
272 private EClass stringLiteralEClass = null;
273
274 /**
275 * <!-- begin-user-doc -->
276 * <!-- end-user-doc -->
277 * @generated
278 */
279 private EClass classDefinitionEClass = null;
280
281 /**
282 * <!-- begin-user-doc -->
283 * <!-- end-user-doc -->
284 * @generated
285 */
286 private EClass memberDefinitionEClass = null;
287
288 /**
289 * <!-- begin-user-doc -->
290 * <!-- end-user-doc -->
291 * @generated
292 */
293 private EClass multiplicityEClass = null;
294
295 /**
296 * <!-- begin-user-doc -->
297 * <!-- end-user-doc -->
298 * @generated
299 */
300 private EClass manyMultiplicityEClass = null;
301
302 /**
303 * <!-- begin-user-doc -->
304 * <!-- end-user-doc -->
305 * @generated
306 */
307 private EClass exactMultiplicityEClass = null;
308
309 /**
310 * <!-- begin-user-doc -->
311 * <!-- end-user-doc -->
312 * @generated
313 */
314 private EClass boundedMultiplicityEClass = null;
315
316 /**
317 * <!-- begin-user-doc -->
318 * <!-- end-user-doc -->
319 * @generated
320 */
321 private EClass scopeDefinitionEClass = null;
322
323 /**
324 * <!-- begin-user-doc -->
325 * <!-- end-user-doc -->
326 * @generated
327 */
328 private EClass exactScopeDefinitionEClass = null;
329
330 /**
331 * <!-- begin-user-doc -->
332 * <!-- end-user-doc -->
333 * @generated
334 */
335 private EClass boundedScopeDefinitionEClass = null;
336
337 /**
338 * <!-- begin-user-doc -->
339 * <!-- end-user-doc -->
340 * @generated
341 */
342 private EClass lowerBoundedScopeDefinitionEClass = null;
343
344 /**
345 * <!-- begin-user-doc -->
346 * <!-- end-user-doc -->
347 * @generated
348 */
349 private EClass objectiveDefinitionEClass = null;
350
351 /**
352 * <!-- begin-user-doc -->
353 * <!-- end-user-doc -->
354 * @generated
355 */
356 private EClass namedElementEClass = null;
357
358 /**
359 * <!-- begin-user-doc -->
360 * <!-- end-user-doc -->
361 * @generated
362 */
363 private EClass assertionEClass = null;
364
365 /**
366 * <!-- begin-user-doc -->
367 * <!-- end-user-doc -->
368 * @generated
369 */
370 private EClass disjunctionEClass = null;
371
372 /**
373 * <!-- begin-user-doc -->
374 * <!-- end-user-doc -->
375 * @generated
376 */
377 private EClass switchEClass = null;
378
379 /**
380 * <!-- begin-user-doc -->
381 * <!-- end-user-doc -->
382 * @generated
383 */
384 private EClass conjunctionEClass = null;
385
386 /**
387 * <!-- begin-user-doc -->
388 * <!-- end-user-doc -->
389 * @generated
390 */
391 private EClass comparisonEClass = null;
392
393 /**
394 * <!-- begin-user-doc -->
395 * <!-- end-user-doc -->
396 * @generated
397 */
398 private EClass binaryExpressionEClass = null;
399
400 /**
401 * <!-- begin-user-doc -->
402 * <!-- end-user-doc -->
403 * @generated
404 */
405 private EClass unaryExpressionEClass = null;
406
407 /**
408 * <!-- begin-user-doc -->
409 * <!-- end-user-doc -->
410 * @generated
411 */
412 private EEnum metricTypeEEnum = null;
413
414 /**
415 * <!-- begin-user-doc -->
416 * <!-- end-user-doc -->
417 * @generated
418 */
419 private EEnum binaryOperatorEEnum = null;
420
421 /**
422 * <!-- begin-user-doc -->
423 * <!-- end-user-doc -->
424 * @generated
425 */
426 private EEnum unaryOpEEnum = null;
427
428 /**
429 * <!-- begin-user-doc -->
430 * <!-- end-user-doc -->
431 * @generated
432 */
433 private EEnum aggregationOpEEnum = null;
434
435 /**
436 * <!-- begin-user-doc -->
437 * <!-- end-user-doc -->
438 * @generated
439 */
440 private EEnum logicValueEEnum = null;
441
442 /**
443 * <!-- begin-user-doc -->
444 * <!-- end-user-doc -->
445 * @generated
446 */
447 private EEnum objectiveKindEEnum = null;
448
449 /**
450 * Creates an instance of the model <b>Package</b>, registered with
451 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
452 * package URI value.
453 * <p>Note: the correct way to create the package is via the static
454 * factory method {@link #init init()}, which also performs
455 * initialization of the package, or returns the registered package,
456 * if one already exists.
457 * <!-- begin-user-doc -->
458 * <!-- end-user-doc -->
459 * @see org.eclipse.emf.ecore.EPackage.Registry
460 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage#eNS_URI
461 * @see #init()
462 * @generated
463 */
464 private SolverLanguagePackageImpl()
465 {
466 super(eNS_URI, SolverLanguageFactory.eINSTANCE);
467 }
468
469 /**
470 * <!-- begin-user-doc -->
471 * <!-- end-user-doc -->
472 * @generated
473 */
474 private static boolean isInited = false;
475
476 /**
477 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
478 *
479 * <p>This method is used to initialize {@link SolverLanguagePackage#eINSTANCE} when that field is accessed.
480 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
481 * <!-- begin-user-doc -->
482 * <!-- end-user-doc -->
483 * @see #eNS_URI
484 * @see #createPackageContents()
485 * @see #initializePackageContents()
486 * @generated
487 */
488 public static SolverLanguagePackage init()
489 {
490 if (isInited) return (SolverLanguagePackage)EPackage.Registry.INSTANCE.getEPackage(SolverLanguagePackage.eNS_URI);
491
492 // Obtain or create and register package
493 Object registeredSolverLanguagePackage = EPackage.Registry.INSTANCE.get(eNS_URI);
494 SolverLanguagePackageImpl theSolverLanguagePackage = registeredSolverLanguagePackage instanceof SolverLanguagePackageImpl ? (SolverLanguagePackageImpl)registeredSolverLanguagePackage : new SolverLanguagePackageImpl();
495
496 isInited = true;
497
498 // Create package meta-data objects
499 theSolverLanguagePackage.createPackageContents();
500
501 // Initialize created meta-data
502 theSolverLanguagePackage.initializePackageContents();
503
504 // Mark meta-data to indicate it can't be changed
505 theSolverLanguagePackage.freeze();
506
507 // Update the registry and return the package
508 EPackage.Registry.INSTANCE.put(SolverLanguagePackage.eNS_URI, theSolverLanguagePackage);
509 return theSolverLanguagePackage;
510 }
511
512 /**
513 * <!-- begin-user-doc -->
514 * <!-- end-user-doc -->
515 * @generated
516 */
517 @Override
518 public EClass getProblem()
519 {
520 return problemEClass;
521 }
522
523 /**
524 * <!-- begin-user-doc -->
525 * <!-- end-user-doc -->
526 * @generated
527 */
528 @Override
529 public EReference getProblem_Statements()
530 {
531 return (EReference)problemEClass.getEStructuralFeatures().get(0);
532 }
533
534 /**
535 * <!-- begin-user-doc -->
536 * <!-- end-user-doc -->
537 * @generated
538 */
539 @Override
540 public EClass getStatement()
541 {
542 return statementEClass;
543 }
544
545 /**
546 * <!-- begin-user-doc -->
547 * <!-- end-user-doc -->
548 * @generated
549 */
550 @Override
551 public EClass getPredicateDefinition()
552 {
553 return predicateDefinitionEClass;
554 }
555
556 /**
557 * <!-- begin-user-doc -->
558 * <!-- end-user-doc -->
559 * @generated
560 */
561 @Override
562 public EReference getPredicateDefinition_Head()
563 {
564 return (EReference)predicateDefinitionEClass.getEStructuralFeatures().get(0);
565 }
566
567 /**
568 * <!-- begin-user-doc -->
569 * <!-- end-user-doc -->
570 * @generated
571 */
572 @Override
573 public EReference getPredicateDefinition_Body()
574 {
575 return (EReference)predicateDefinitionEClass.getEStructuralFeatures().get(1);
576 }
577
578 /**
579 * <!-- begin-user-doc -->
580 * <!-- end-user-doc -->
581 * @generated
582 */
583 @Override
584 public EAttribute getPredicateDefinition_Functional()
585 {
586 return (EAttribute)predicateDefinitionEClass.getEStructuralFeatures().get(2);
587 }
588
589 /**
590 * <!-- begin-user-doc -->
591 * <!-- end-user-doc -->
592 * @generated
593 */
594 @Override
595 public EAttribute getPredicateDefinition_Error()
596 {
597 return (EAttribute)predicateDefinitionEClass.getEStructuralFeatures().get(3);
598 }
599
600 /**
601 * <!-- begin-user-doc -->
602 * <!-- end-user-doc -->
603 * @generated
604 */
605 @Override
606 public EClass getUnnamedErrorPrediateDefinition()
607 {
608 return unnamedErrorPrediateDefinitionEClass;
609 }
610
611 /**
612 * <!-- begin-user-doc -->
613 * <!-- end-user-doc -->
614 * @generated
615 */
616 @Override
617 public EReference getUnnamedErrorPrediateDefinition_ArgumentList()
618 {
619 return (EReference)unnamedErrorPrediateDefinitionEClass.getEStructuralFeatures().get(0);
620 }
621
622 /**
623 * <!-- begin-user-doc -->
624 * <!-- end-user-doc -->
625 * @generated
626 */
627 @Override
628 public EReference getUnnamedErrorPrediateDefinition_Body()
629 {
630 return (EReference)unnamedErrorPrediateDefinitionEClass.getEStructuralFeatures().get(1);
631 }
632
633 /**
634 * <!-- begin-user-doc -->
635 * <!-- end-user-doc -->
636 * @generated
637 */
638 @Override
639 public EClass getDefaultDefinition()
640 {
641 return defaultDefinitionEClass;
642 }
643
644 /**
645 * <!-- begin-user-doc -->
646 * <!-- end-user-doc -->
647 * @generated
648 */
649 @Override
650 public EReference getDefaultDefinition_Head()
651 {
652 return (EReference)defaultDefinitionEClass.getEStructuralFeatures().get(0);
653 }
654
655 /**
656 * <!-- begin-user-doc -->
657 * <!-- end-user-doc -->
658 * @generated
659 */
660 @Override
661 public EReference getDefaultDefinition_Range()
662 {
663 return (EReference)defaultDefinitionEClass.getEStructuralFeatures().get(1);
664 }
665
666 /**
667 * <!-- begin-user-doc -->
668 * <!-- end-user-doc -->
669 * @generated
670 */
671 @Override
672 public EClass getExternPredicateDefinition()
673 {
674 return externPredicateDefinitionEClass;
675 }
676
677 /**
678 * <!-- begin-user-doc -->
679 * <!-- end-user-doc -->
680 * @generated
681 */
682 @Override
683 public EReference getExternPredicateDefinition_Head()
684 {
685 return (EReference)externPredicateDefinitionEClass.getEStructuralFeatures().get(0);
686 }
687
688 /**
689 * <!-- begin-user-doc -->
690 * <!-- end-user-doc -->
691 * @generated
692 */
693 @Override
694 public EClass getMetricDefinition()
695 {
696 return metricDefinitionEClass;
697 }
698
699 /**
700 * <!-- begin-user-doc -->
701 * <!-- end-user-doc -->
702 * @generated
703 */
704 @Override
705 public EReference getMetricDefinition_Head()
706 {
707 return (EReference)metricDefinitionEClass.getEStructuralFeatures().get(0);
708 }
709
710 /**
711 * <!-- begin-user-doc -->
712 * <!-- end-user-doc -->
713 * @generated
714 */
715 @Override
716 public EReference getMetricDefinition_Body()
717 {
718 return (EReference)metricDefinitionEClass.getEStructuralFeatures().get(1);
719 }
720
721 /**
722 * <!-- begin-user-doc -->
723 * <!-- end-user-doc -->
724 * @generated
725 */
726 @Override
727 public EAttribute getMetricDefinition_Type()
728 {
729 return (EAttribute)metricDefinitionEClass.getEStructuralFeatures().get(2);
730 }
731
732 /**
733 * <!-- begin-user-doc -->
734 * <!-- end-user-doc -->
735 * @generated
736 */
737 @Override
738 public EClass getExternMetricDefinition()
739 {
740 return externMetricDefinitionEClass;
741 }
742
743 /**
744 * <!-- begin-user-doc -->
745 * <!-- end-user-doc -->
746 * @generated
747 */
748 @Override
749 public EAttribute getExternMetricDefinition_Type()
750 {
751 return (EAttribute)externMetricDefinitionEClass.getEStructuralFeatures().get(0);
752 }
753
754 /**
755 * <!-- begin-user-doc -->
756 * <!-- end-user-doc -->
757 * @generated
758 */
759 @Override
760 public EReference getExternMetricDefinition_Head()
761 {
762 return (EReference)externMetricDefinitionEClass.getEStructuralFeatures().get(1);
763 }
764
765 /**
766 * <!-- begin-user-doc -->
767 * <!-- end-user-doc -->
768 * @generated
769 */
770 @Override
771 public EClass getExpression()
772 {
773 return expressionEClass;
774 }
775
776 /**
777 * <!-- begin-user-doc -->
778 * <!-- end-user-doc -->
779 * @generated
780 */
781 @Override
782 public EClass getIfElse()
783 {
784 return ifElseEClass;
785 }
786
787 /**
788 * <!-- begin-user-doc -->
789 * <!-- end-user-doc -->
790 * @generated
791 */
792 @Override
793 public EReference getIfElse_Condition()
794 {
795 return (EReference)ifElseEClass.getEStructuralFeatures().get(0);
796 }
797
798 /**
799 * <!-- begin-user-doc -->
800 * <!-- end-user-doc -->
801 * @generated
802 */
803 @Override
804 public EReference getIfElse_Then()
805 {
806 return (EReference)ifElseEClass.getEStructuralFeatures().get(1);
807 }
808
809 /**
810 * <!-- begin-user-doc -->
811 * <!-- end-user-doc -->
812 * @generated
813 */
814 @Override
815 public EReference getIfElse_Else()
816 {
817 return (EReference)ifElseEClass.getEStructuralFeatures().get(2);
818 }
819
820 /**
821 * <!-- begin-user-doc -->
822 * <!-- end-user-doc -->
823 * @generated
824 */
825 @Override
826 public EClass getCase()
827 {
828 return caseEClass;
829 }
830
831 /**
832 * <!-- begin-user-doc -->
833 * <!-- end-user-doc -->
834 * @generated
835 */
836 @Override
837 public EReference getCase_Condition()
838 {
839 return (EReference)caseEClass.getEStructuralFeatures().get(0);
840 }
841
842 /**
843 * <!-- begin-user-doc -->
844 * <!-- end-user-doc -->
845 * @generated
846 */
847 @Override
848 public EReference getCase_Body()
849 {
850 return (EReference)caseEClass.getEStructuralFeatures().get(1);
851 }
852
853 /**
854 * <!-- begin-user-doc -->
855 * <!-- end-user-doc -->
856 * @generated
857 */
858 @Override
859 public EClass getCount()
860 {
861 return countEClass;
862 }
863
864 /**
865 * <!-- begin-user-doc -->
866 * <!-- end-user-doc -->
867 * @generated
868 */
869 @Override
870 public EReference getCount_Body()
871 {
872 return (EReference)countEClass.getEStructuralFeatures().get(0);
873 }
874
875 /**
876 * <!-- begin-user-doc -->
877 * <!-- end-user-doc -->
878 * @generated
879 */
880 @Override
881 public EClass getAggregation()
882 {
883 return aggregationEClass;
884 }
885
886 /**
887 * <!-- begin-user-doc -->
888 * <!-- end-user-doc -->
889 * @generated
890 */
891 @Override
892 public EAttribute getAggregation_Op()
893 {
894 return (EAttribute)aggregationEClass.getEStructuralFeatures().get(0);
895 }
896
897 /**
898 * <!-- begin-user-doc -->
899 * <!-- end-user-doc -->
900 * @generated
901 */
902 @Override
903 public EReference getAggregation_Body()
904 {
905 return (EReference)aggregationEClass.getEStructuralFeatures().get(1);
906 }
907
908 /**
909 * <!-- begin-user-doc -->
910 * <!-- end-user-doc -->
911 * @generated
912 */
913 @Override
914 public EReference getAggregation_Condition()
915 {
916 return (EReference)aggregationEClass.getEStructuralFeatures().get(2);
917 }
918
919 /**
920 * <!-- begin-user-doc -->
921 * <!-- end-user-doc -->
922 * @generated
923 */
924 @Override
925 public EClass getCall()
926 {
927 return callEClass;
928 }
929
930 /**
931 * <!-- begin-user-doc -->
932 * <!-- end-user-doc -->
933 * @generated
934 */
935 @Override
936 public EReference getCall_Functor()
937 {
938 return (EReference)callEClass.getEStructuralFeatures().get(0);
939 }
940
941 /**
942 * <!-- begin-user-doc -->
943 * <!-- end-user-doc -->
944 * @generated
945 */
946 @Override
947 public EAttribute getCall_TransitiveClosure()
948 {
949 return (EAttribute)callEClass.getEStructuralFeatures().get(1);
950 }
951
952 /**
953 * <!-- begin-user-doc -->
954 * <!-- end-user-doc -->
955 * @generated
956 */
957 @Override
958 public EAttribute getCall_ReflexiveTransitiveClosure()
959 {
960 return (EAttribute)callEClass.getEStructuralFeatures().get(2);
961 }
962
963 /**
964 * <!-- begin-user-doc -->
965 * <!-- end-user-doc -->
966 * @generated
967 */
968 @Override
969 public EReference getCall_ArgumentList()
970 {
971 return (EReference)callEClass.getEStructuralFeatures().get(3);
972 }
973
974 /**
975 * <!-- begin-user-doc -->
976 * <!-- end-user-doc -->
977 * @generated
978 */
979 @Override
980 public EClass getArgumentList()
981 {
982 return argumentListEClass;
983 }
984
985 /**
986 * <!-- begin-user-doc -->
987 * <!-- end-user-doc -->
988 * @generated
989 */
990 @Override
991 public EReference getArgumentList_Arguments()
992 {
993 return (EReference)argumentListEClass.getEStructuralFeatures().get(0);
994 }
995
996 /**
997 * <!-- begin-user-doc -->
998 * <!-- end-user-doc -->
999 * @generated
1000 */
1001 @Override
1002 public EClass getArgument()
1003 {
1004 return argumentEClass;
1005 }
1006
1007 /**
1008 * <!-- begin-user-doc -->
1009 * <!-- end-user-doc -->
1010 * @generated
1011 */
1012 @Override
1013 public EClass getExpressionArgument()
1014 {
1015 return expressionArgumentEClass;
1016 }
1017
1018 /**
1019 * <!-- begin-user-doc -->
1020 * <!-- end-user-doc -->
1021 * @generated
1022 */
1023 @Override
1024 public EReference getExpressionArgument_Body()
1025 {
1026 return (EReference)expressionArgumentEClass.getEStructuralFeatures().get(0);
1027 }
1028
1029 /**
1030 * <!-- begin-user-doc -->
1031 * <!-- end-user-doc -->
1032 * @generated
1033 */
1034 @Override
1035 public EClass getStarArgument()
1036 {
1037 return starArgumentEClass;
1038 }
1039
1040 /**
1041 * <!-- begin-user-doc -->
1042 * <!-- end-user-doc -->
1043 * @generated
1044 */
1045 @Override
1046 public EClass getTypedArgument()
1047 {
1048 return typedArgumentEClass;
1049 }
1050
1051 /**
1052 * <!-- begin-user-doc -->
1053 * <!-- end-user-doc -->
1054 * @generated
1055 */
1056 @Override
1057 public EReference getTypedArgument_Type()
1058 {
1059 return (EReference)typedArgumentEClass.getEStructuralFeatures().get(0);
1060 }
1061
1062 /**
1063 * <!-- begin-user-doc -->
1064 * <!-- end-user-doc -->
1065 * @generated
1066 */
1067 @Override
1068 public EReference getTypedArgument_Variable()
1069 {
1070 return (EReference)typedArgumentEClass.getEStructuralFeatures().get(1);
1071 }
1072
1073 /**
1074 * <!-- begin-user-doc -->
1075 * <!-- end-user-doc -->
1076 * @generated
1077 */
1078 @Override
1079 public EClass getTypedStarArgument()
1080 {
1081 return typedStarArgumentEClass;
1082 }
1083
1084 /**
1085 * <!-- begin-user-doc -->
1086 * <!-- end-user-doc -->
1087 * @generated
1088 */
1089 @Override
1090 public EReference getTypedStarArgument_Type()
1091 {
1092 return (EReference)typedStarArgumentEClass.getEStructuralFeatures().get(0);
1093 }
1094
1095 /**
1096 * <!-- begin-user-doc -->
1097 * <!-- end-user-doc -->
1098 * @generated
1099 */
1100 @Override
1101 public EClass getReference()
1102 {
1103 return referenceEClass;
1104 }
1105
1106 /**
1107 * <!-- begin-user-doc -->
1108 * <!-- end-user-doc -->
1109 * @generated
1110 */
1111 @Override
1112 public EReference getReference_Referred()
1113 {
1114 return (EReference)referenceEClass.getEStructuralFeatures().get(0);
1115 }
1116
1117 /**
1118 * <!-- begin-user-doc -->
1119 * <!-- end-user-doc -->
1120 * @generated
1121 */
1122 @Override
1123 public EClass getInterval()
1124 {
1125 return intervalEClass;
1126 }
1127
1128 /**
1129 * <!-- begin-user-doc -->
1130 * <!-- end-user-doc -->
1131 * @generated
1132 */
1133 @Override
1134 public EReference getInterval_LowerBound()
1135 {
1136 return (EReference)intervalEClass.getEStructuralFeatures().get(0);
1137 }
1138
1139 /**
1140 * <!-- begin-user-doc -->
1141 * <!-- end-user-doc -->
1142 * @generated
1143 */
1144 @Override
1145 public EReference getInterval_UpperBound()
1146 {
1147 return (EReference)intervalEClass.getEStructuralFeatures().get(1);
1148 }
1149
1150 /**
1151 * <!-- begin-user-doc -->
1152 * <!-- end-user-doc -->
1153 * @generated
1154 */
1155 @Override
1156 public EClass getLiteral()
1157 {
1158 return literalEClass;
1159 }
1160
1161 /**
1162 * <!-- begin-user-doc -->
1163 * <!-- end-user-doc -->
1164 * @generated
1165 */
1166 @Override
1167 public EClass getLogicLiteral()
1168 {
1169 return logicLiteralEClass;
1170 }
1171
1172 /**
1173 * <!-- begin-user-doc -->
1174 * <!-- end-user-doc -->
1175 * @generated
1176 */
1177 @Override
1178 public EAttribute getLogicLiteral_Value()
1179 {
1180 return (EAttribute)logicLiteralEClass.getEStructuralFeatures().get(0);
1181 }
1182
1183 /**
1184 * <!-- begin-user-doc -->
1185 * <!-- end-user-doc -->
1186 * @generated
1187 */
1188 @Override
1189 public EClass getNumericLiteral()
1190 {
1191 return numericLiteralEClass;
1192 }
1193
1194 /**
1195 * <!-- begin-user-doc -->
1196 * <!-- end-user-doc -->
1197 * @generated
1198 */
1199 @Override
1200 public EAttribute getNumericLiteral_Value()
1201 {
1202 return (EAttribute)numericLiteralEClass.getEStructuralFeatures().get(0);
1203 }
1204
1205 /**
1206 * <!-- begin-user-doc -->
1207 * <!-- end-user-doc -->
1208 * @generated
1209 */
1210 @Override
1211 public EClass getInfinityLiteral()
1212 {
1213 return infinityLiteralEClass;
1214 }
1215
1216 /**
1217 * <!-- begin-user-doc -->
1218 * <!-- end-user-doc -->
1219 * @generated
1220 */
1221 @Override
1222 public EClass getEmptyIntervalLiteral()
1223 {
1224 return emptyIntervalLiteralEClass;
1225 }
1226
1227 /**
1228 * <!-- begin-user-doc -->
1229 * <!-- end-user-doc -->
1230 * @generated
1231 */
1232 @Override
1233 public EClass getStringLiteral()
1234 {
1235 return stringLiteralEClass;
1236 }
1237
1238 /**
1239 * <!-- begin-user-doc -->
1240 * <!-- end-user-doc -->
1241 * @generated
1242 */
1243 @Override
1244 public EAttribute getStringLiteral_Value()
1245 {
1246 return (EAttribute)stringLiteralEClass.getEStructuralFeatures().get(0);
1247 }
1248
1249 /**
1250 * <!-- begin-user-doc -->
1251 * <!-- end-user-doc -->
1252 * @generated
1253 */
1254 @Override
1255 public EClass getClassDefinition()
1256 {
1257 return classDefinitionEClass;
1258 }
1259
1260 /**
1261 * <!-- begin-user-doc -->
1262 * <!-- end-user-doc -->
1263 * @generated
1264 */
1265 @Override
1266 public EAttribute getClassDefinition_Abstract()
1267 {
1268 return (EAttribute)classDefinitionEClass.getEStructuralFeatures().get(0);
1269 }
1270
1271 /**
1272 * <!-- begin-user-doc -->
1273 * <!-- end-user-doc -->
1274 * @generated
1275 */
1276 @Override
1277 public EAttribute getClassDefinition_Name()
1278 {
1279 return (EAttribute)classDefinitionEClass.getEStructuralFeatures().get(1);
1280 }
1281
1282 /**
1283 * <!-- begin-user-doc -->
1284 * <!-- end-user-doc -->
1285 * @generated
1286 */
1287 @Override
1288 public EReference getClassDefinition_Superclasses()
1289 {
1290 return (EReference)classDefinitionEClass.getEStructuralFeatures().get(2);
1291 }
1292
1293 /**
1294 * <!-- begin-user-doc -->
1295 * <!-- end-user-doc -->
1296 * @generated
1297 */
1298 @Override
1299 public EReference getClassDefinition_Members()
1300 {
1301 return (EReference)classDefinitionEClass.getEStructuralFeatures().get(3);
1302 }
1303
1304 /**
1305 * <!-- begin-user-doc -->
1306 * <!-- end-user-doc -->
1307 * @generated
1308 */
1309 @Override
1310 public EClass getMemberDefinition()
1311 {
1312 return memberDefinitionEClass;
1313 }
1314
1315 /**
1316 * <!-- begin-user-doc -->
1317 * <!-- end-user-doc -->
1318 * @generated
1319 */
1320 @Override
1321 public EAttribute getMemberDefinition_Containment()
1322 {
1323 return (EAttribute)memberDefinitionEClass.getEStructuralFeatures().get(0);
1324 }
1325
1326 /**
1327 * <!-- begin-user-doc -->
1328 * <!-- end-user-doc -->
1329 * @generated
1330 */
1331 @Override
1332 public EReference getMemberDefinition_Type()
1333 {
1334 return (EReference)memberDefinitionEClass.getEStructuralFeatures().get(1);
1335 }
1336
1337 /**
1338 * <!-- begin-user-doc -->
1339 * <!-- end-user-doc -->
1340 * @generated
1341 */
1342 @Override
1343 public EReference getMemberDefinition_Multiplicity()
1344 {
1345 return (EReference)memberDefinitionEClass.getEStructuralFeatures().get(2);
1346 }
1347
1348 /**
1349 * <!-- begin-user-doc -->
1350 * <!-- end-user-doc -->
1351 * @generated
1352 */
1353 @Override
1354 public EAttribute getMemberDefinition_Name()
1355 {
1356 return (EAttribute)memberDefinitionEClass.getEStructuralFeatures().get(3);
1357 }
1358
1359 /**
1360 * <!-- begin-user-doc -->
1361 * <!-- end-user-doc -->
1362 * @generated
1363 */
1364 @Override
1365 public EReference getMemberDefinition_Opposite()
1366 {
1367 return (EReference)memberDefinitionEClass.getEStructuralFeatures().get(4);
1368 }
1369
1370 /**
1371 * <!-- begin-user-doc -->
1372 * <!-- end-user-doc -->
1373 * @generated
1374 */
1375 @Override
1376 public EClass getMultiplicity()
1377 {
1378 return multiplicityEClass;
1379 }
1380
1381 /**
1382 * <!-- begin-user-doc -->
1383 * <!-- end-user-doc -->
1384 * @generated
1385 */
1386 @Override
1387 public EClass getManyMultiplicity()
1388 {
1389 return manyMultiplicityEClass;
1390 }
1391
1392 /**
1393 * <!-- begin-user-doc -->
1394 * <!-- end-user-doc -->
1395 * @generated
1396 */
1397 @Override
1398 public EClass getExactMultiplicity()
1399 {
1400 return exactMultiplicityEClass;
1401 }
1402
1403 /**
1404 * <!-- begin-user-doc -->
1405 * <!-- end-user-doc -->
1406 * @generated
1407 */
1408 @Override
1409 public EAttribute getExactMultiplicity_Multiplicity()
1410 {
1411 return (EAttribute)exactMultiplicityEClass.getEStructuralFeatures().get(0);
1412 }
1413
1414 /**
1415 * <!-- begin-user-doc -->
1416 * <!-- end-user-doc -->
1417 * @generated
1418 */
1419 @Override
1420 public EClass getBoundedMultiplicity()
1421 {
1422 return boundedMultiplicityEClass;
1423 }
1424
1425 /**
1426 * <!-- begin-user-doc -->
1427 * <!-- end-user-doc -->
1428 * @generated
1429 */
1430 @Override
1431 public EAttribute getBoundedMultiplicity_LowerBound()
1432 {
1433 return (EAttribute)boundedMultiplicityEClass.getEStructuralFeatures().get(0);
1434 }
1435
1436 /**
1437 * <!-- begin-user-doc -->
1438 * <!-- end-user-doc -->
1439 * @generated
1440 */
1441 @Override
1442 public EAttribute getBoundedMultiplicity_UpperBound()
1443 {
1444 return (EAttribute)boundedMultiplicityEClass.getEStructuralFeatures().get(1);
1445 }
1446
1447 /**
1448 * <!-- begin-user-doc -->
1449 * <!-- end-user-doc -->
1450 * @generated
1451 */
1452 @Override
1453 public EClass getScopeDefinition()
1454 {
1455 return scopeDefinitionEClass;
1456 }
1457
1458 /**
1459 * <!-- begin-user-doc -->
1460 * <!-- end-user-doc -->
1461 * @generated
1462 */
1463 @Override
1464 public EReference getScopeDefinition_Type()
1465 {
1466 return (EReference)scopeDefinitionEClass.getEStructuralFeatures().get(0);
1467 }
1468
1469 /**
1470 * <!-- begin-user-doc -->
1471 * <!-- end-user-doc -->
1472 * @generated
1473 */
1474 @Override
1475 public EClass getExactScopeDefinition()
1476 {
1477 return exactScopeDefinitionEClass;
1478 }
1479
1480 /**
1481 * <!-- begin-user-doc -->
1482 * <!-- end-user-doc -->
1483 * @generated
1484 */
1485 @Override
1486 public EAttribute getExactScopeDefinition_ExactScope()
1487 {
1488 return (EAttribute)exactScopeDefinitionEClass.getEStructuralFeatures().get(0);
1489 }
1490
1491 /**
1492 * <!-- begin-user-doc -->
1493 * <!-- end-user-doc -->
1494 * @generated
1495 */
1496 @Override
1497 public EClass getBoundedScopeDefinition()
1498 {
1499 return boundedScopeDefinitionEClass;
1500 }
1501
1502 /**
1503 * <!-- begin-user-doc -->
1504 * <!-- end-user-doc -->
1505 * @generated
1506 */
1507 @Override
1508 public EAttribute getBoundedScopeDefinition_LowerBound()
1509 {
1510 return (EAttribute)boundedScopeDefinitionEClass.getEStructuralFeatures().get(0);
1511 }
1512
1513 /**
1514 * <!-- begin-user-doc -->
1515 * <!-- end-user-doc -->
1516 * @generated
1517 */
1518 @Override
1519 public EAttribute getBoundedScopeDefinition_UpperBound()
1520 {
1521 return (EAttribute)boundedScopeDefinitionEClass.getEStructuralFeatures().get(1);
1522 }
1523
1524 /**
1525 * <!-- begin-user-doc -->
1526 * <!-- end-user-doc -->
1527 * @generated
1528 */
1529 @Override
1530 public EClass getLowerBoundedScopeDefinition()
1531 {
1532 return lowerBoundedScopeDefinitionEClass;
1533 }
1534
1535 /**
1536 * <!-- begin-user-doc -->
1537 * <!-- end-user-doc -->
1538 * @generated
1539 */
1540 @Override
1541 public EAttribute getLowerBoundedScopeDefinition_LowerBound()
1542 {
1543 return (EAttribute)lowerBoundedScopeDefinitionEClass.getEStructuralFeatures().get(0);
1544 }
1545
1546 /**
1547 * <!-- begin-user-doc -->
1548 * <!-- end-user-doc -->
1549 * @generated
1550 */
1551 @Override
1552 public EClass getObjectiveDefinition()
1553 {
1554 return objectiveDefinitionEClass;
1555 }
1556
1557 /**
1558 * <!-- begin-user-doc -->
1559 * <!-- end-user-doc -->
1560 * @generated
1561 */
1562 @Override
1563 public EAttribute getObjectiveDefinition_Kind()
1564 {
1565 return (EAttribute)objectiveDefinitionEClass.getEStructuralFeatures().get(0);
1566 }
1567
1568 /**
1569 * <!-- begin-user-doc -->
1570 * <!-- end-user-doc -->
1571 * @generated
1572 */
1573 @Override
1574 public EReference getObjectiveDefinition_Objective()
1575 {
1576 return (EReference)objectiveDefinitionEClass.getEStructuralFeatures().get(1);
1577 }
1578
1579 /**
1580 * <!-- begin-user-doc -->
1581 * <!-- end-user-doc -->
1582 * @generated
1583 */
1584 @Override
1585 public EClass getNamedElement()
1586 {
1587 return namedElementEClass;
1588 }
1589
1590 /**
1591 * <!-- begin-user-doc -->
1592 * <!-- end-user-doc -->
1593 * @generated
1594 */
1595 @Override
1596 public EAttribute getNamedElement_Name()
1597 {
1598 return (EAttribute)namedElementEClass.getEStructuralFeatures().get(0);
1599 }
1600
1601 /**
1602 * <!-- begin-user-doc -->
1603 * <!-- end-user-doc -->
1604 * @generated
1605 */
1606 @Override
1607 public EClass getAssertion()
1608 {
1609 return assertionEClass;
1610 }
1611
1612 /**
1613 * <!-- begin-user-doc -->
1614 * <!-- end-user-doc -->
1615 * @generated
1616 */
1617 @Override
1618 public EReference getAssertion_Body()
1619 {
1620 return (EReference)assertionEClass.getEStructuralFeatures().get(0);
1621 }
1622
1623 /**
1624 * <!-- begin-user-doc -->
1625 * <!-- end-user-doc -->
1626 * @generated
1627 */
1628 @Override
1629 public EReference getAssertion_Range()
1630 {
1631 return (EReference)assertionEClass.getEStructuralFeatures().get(1);
1632 }
1633
1634 /**
1635 * <!-- begin-user-doc -->
1636 * <!-- end-user-doc -->
1637 * @generated
1638 */
1639 @Override
1640 public EClass getDisjunction()
1641 {
1642 return disjunctionEClass;
1643 }
1644
1645 /**
1646 * <!-- begin-user-doc -->
1647 * <!-- end-user-doc -->
1648 * @generated
1649 */
1650 @Override
1651 public EReference getDisjunction_Children()
1652 {
1653 return (EReference)disjunctionEClass.getEStructuralFeatures().get(0);
1654 }
1655
1656 /**
1657 * <!-- begin-user-doc -->
1658 * <!-- end-user-doc -->
1659 * @generated
1660 */
1661 @Override
1662 public EClass getSwitch()
1663 {
1664 return switchEClass;
1665 }
1666
1667 /**
1668 * <!-- begin-user-doc -->
1669 * <!-- end-user-doc -->
1670 * @generated
1671 */
1672 @Override
1673 public EReference getSwitch_Cases()
1674 {
1675 return (EReference)switchEClass.getEStructuralFeatures().get(0);
1676 }
1677
1678 /**
1679 * <!-- begin-user-doc -->
1680 * <!-- end-user-doc -->
1681 * @generated
1682 */
1683 @Override
1684 public EClass getConjunction()
1685 {
1686 return conjunctionEClass;
1687 }
1688
1689 /**
1690 * <!-- begin-user-doc -->
1691 * <!-- end-user-doc -->
1692 * @generated
1693 */
1694 @Override
1695 public EReference getConjunction_Children()
1696 {
1697 return (EReference)conjunctionEClass.getEStructuralFeatures().get(0);
1698 }
1699
1700 /**
1701 * <!-- begin-user-doc -->
1702 * <!-- end-user-doc -->
1703 * @generated
1704 */
1705 @Override
1706 public EClass getComparison()
1707 {
1708 return comparisonEClass;
1709 }
1710
1711 /**
1712 * <!-- begin-user-doc -->
1713 * <!-- end-user-doc -->
1714 * @generated
1715 */
1716 @Override
1717 public EReference getComparison_Left()
1718 {
1719 return (EReference)comparisonEClass.getEStructuralFeatures().get(0);
1720 }
1721
1722 /**
1723 * <!-- begin-user-doc -->
1724 * <!-- end-user-doc -->
1725 * @generated
1726 */
1727 @Override
1728 public EAttribute getComparison_Op()
1729 {
1730 return (EAttribute)comparisonEClass.getEStructuralFeatures().get(1);
1731 }
1732
1733 /**
1734 * <!-- begin-user-doc -->
1735 * <!-- end-user-doc -->
1736 * @generated
1737 */
1738 @Override
1739 public EReference getComparison_Right()
1740 {
1741 return (EReference)comparisonEClass.getEStructuralFeatures().get(2);
1742 }
1743
1744 /**
1745 * <!-- begin-user-doc -->
1746 * <!-- end-user-doc -->
1747 * @generated
1748 */
1749 @Override
1750 public EClass getBinaryExpression()
1751 {
1752 return binaryExpressionEClass;
1753 }
1754
1755 /**
1756 * <!-- begin-user-doc -->
1757 * <!-- end-user-doc -->
1758 * @generated
1759 */
1760 @Override
1761 public EReference getBinaryExpression_Left()
1762 {
1763 return (EReference)binaryExpressionEClass.getEStructuralFeatures().get(0);
1764 }
1765
1766 /**
1767 * <!-- begin-user-doc -->
1768 * <!-- end-user-doc -->
1769 * @generated
1770 */
1771 @Override
1772 public EAttribute getBinaryExpression_Op()
1773 {
1774 return (EAttribute)binaryExpressionEClass.getEStructuralFeatures().get(1);
1775 }
1776
1777 /**
1778 * <!-- begin-user-doc -->
1779 * <!-- end-user-doc -->
1780 * @generated
1781 */
1782 @Override
1783 public EReference getBinaryExpression_Right()
1784 {
1785 return (EReference)binaryExpressionEClass.getEStructuralFeatures().get(2);
1786 }
1787
1788 /**
1789 * <!-- begin-user-doc -->
1790 * <!-- end-user-doc -->
1791 * @generated
1792 */
1793 @Override
1794 public EClass getUnaryExpression()
1795 {
1796 return unaryExpressionEClass;
1797 }
1798
1799 /**
1800 * <!-- begin-user-doc -->
1801 * <!-- end-user-doc -->
1802 * @generated
1803 */
1804 @Override
1805 public EAttribute getUnaryExpression_Op()
1806 {
1807 return (EAttribute)unaryExpressionEClass.getEStructuralFeatures().get(0);
1808 }
1809
1810 /**
1811 * <!-- begin-user-doc -->
1812 * <!-- end-user-doc -->
1813 * @generated
1814 */
1815 @Override
1816 public EReference getUnaryExpression_Body()
1817 {
1818 return (EReference)unaryExpressionEClass.getEStructuralFeatures().get(1);
1819 }
1820
1821 /**
1822 * <!-- begin-user-doc -->
1823 * <!-- end-user-doc -->
1824 * @generated
1825 */
1826 @Override
1827 public EEnum getMetricType()
1828 {
1829 return metricTypeEEnum;
1830 }
1831
1832 /**
1833 * <!-- begin-user-doc -->
1834 * <!-- end-user-doc -->
1835 * @generated
1836 */
1837 @Override
1838 public EEnum getBinaryOperator()
1839 {
1840 return binaryOperatorEEnum;
1841 }
1842
1843 /**
1844 * <!-- begin-user-doc -->
1845 * <!-- end-user-doc -->
1846 * @generated
1847 */
1848 @Override
1849 public EEnum getUnaryOp()
1850 {
1851 return unaryOpEEnum;
1852 }
1853
1854 /**
1855 * <!-- begin-user-doc -->
1856 * <!-- end-user-doc -->
1857 * @generated
1858 */
1859 @Override
1860 public EEnum getAggregationOp()
1861 {
1862 return aggregationOpEEnum;
1863 }
1864
1865 /**
1866 * <!-- begin-user-doc -->
1867 * <!-- end-user-doc -->
1868 * @generated
1869 */
1870 @Override
1871 public EEnum getLogicValue()
1872 {
1873 return logicValueEEnum;
1874 }
1875
1876 /**
1877 * <!-- begin-user-doc -->
1878 * <!-- end-user-doc -->
1879 * @generated
1880 */
1881 @Override
1882 public EEnum getObjectiveKind()
1883 {
1884 return objectiveKindEEnum;
1885 }
1886
1887 /**
1888 * <!-- begin-user-doc -->
1889 * <!-- end-user-doc -->
1890 * @generated
1891 */
1892 @Override
1893 public SolverLanguageFactory getSolverLanguageFactory()
1894 {
1895 return (SolverLanguageFactory)getEFactoryInstance();
1896 }
1897
1898 /**
1899 * <!-- begin-user-doc -->
1900 * <!-- end-user-doc -->
1901 * @generated
1902 */
1903 private boolean isCreated = false;
1904
1905 /**
1906 * Creates the meta-model objects for the package. This method is
1907 * guarded to have no affect on any invocation but its first.
1908 * <!-- begin-user-doc -->
1909 * <!-- end-user-doc -->
1910 * @generated
1911 */
1912 public void createPackageContents()
1913 {
1914 if (isCreated) return;
1915 isCreated = true;
1916
1917 // Create classes and their features
1918 problemEClass = createEClass(PROBLEM);
1919 createEReference(problemEClass, PROBLEM__STATEMENTS);
1920
1921 statementEClass = createEClass(STATEMENT);
1922
1923 predicateDefinitionEClass = createEClass(PREDICATE_DEFINITION);
1924 createEReference(predicateDefinitionEClass, PREDICATE_DEFINITION__HEAD);
1925 createEReference(predicateDefinitionEClass, PREDICATE_DEFINITION__BODY);
1926 createEAttribute(predicateDefinitionEClass, PREDICATE_DEFINITION__FUNCTIONAL);
1927 createEAttribute(predicateDefinitionEClass, PREDICATE_DEFINITION__ERROR);
1928
1929 unnamedErrorPrediateDefinitionEClass = createEClass(UNNAMED_ERROR_PREDIATE_DEFINITION);
1930 createEReference(unnamedErrorPrediateDefinitionEClass, UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST);
1931 createEReference(unnamedErrorPrediateDefinitionEClass, UNNAMED_ERROR_PREDIATE_DEFINITION__BODY);
1932
1933 defaultDefinitionEClass = createEClass(DEFAULT_DEFINITION);
1934 createEReference(defaultDefinitionEClass, DEFAULT_DEFINITION__HEAD);
1935 createEReference(defaultDefinitionEClass, DEFAULT_DEFINITION__RANGE);
1936
1937 externPredicateDefinitionEClass = createEClass(EXTERN_PREDICATE_DEFINITION);
1938 createEReference(externPredicateDefinitionEClass, EXTERN_PREDICATE_DEFINITION__HEAD);
1939
1940 metricDefinitionEClass = createEClass(METRIC_DEFINITION);
1941 createEReference(metricDefinitionEClass, METRIC_DEFINITION__HEAD);
1942 createEReference(metricDefinitionEClass, METRIC_DEFINITION__BODY);
1943 createEAttribute(metricDefinitionEClass, METRIC_DEFINITION__TYPE);
1944
1945 externMetricDefinitionEClass = createEClass(EXTERN_METRIC_DEFINITION);
1946 createEAttribute(externMetricDefinitionEClass, EXTERN_METRIC_DEFINITION__TYPE);
1947 createEReference(externMetricDefinitionEClass, EXTERN_METRIC_DEFINITION__HEAD);
1948
1949 expressionEClass = createEClass(EXPRESSION);
1950
1951 ifElseEClass = createEClass(IF_ELSE);
1952 createEReference(ifElseEClass, IF_ELSE__CONDITION);
1953 createEReference(ifElseEClass, IF_ELSE__THEN);
1954 createEReference(ifElseEClass, IF_ELSE__ELSE);
1955
1956 caseEClass = createEClass(CASE);
1957 createEReference(caseEClass, CASE__CONDITION);
1958 createEReference(caseEClass, CASE__BODY);
1959
1960 countEClass = createEClass(COUNT);
1961 createEReference(countEClass, COUNT__BODY);
1962
1963 aggregationEClass = createEClass(AGGREGATION);
1964 createEAttribute(aggregationEClass, AGGREGATION__OP);
1965 createEReference(aggregationEClass, AGGREGATION__BODY);
1966 createEReference(aggregationEClass, AGGREGATION__CONDITION);
1967
1968 callEClass = createEClass(CALL);
1969 createEReference(callEClass, CALL__FUNCTOR);
1970 createEAttribute(callEClass, CALL__TRANSITIVE_CLOSURE);
1971 createEAttribute(callEClass, CALL__REFLEXIVE_TRANSITIVE_CLOSURE);
1972 createEReference(callEClass, CALL__ARGUMENT_LIST);
1973
1974 argumentListEClass = createEClass(ARGUMENT_LIST);
1975 createEReference(argumentListEClass, ARGUMENT_LIST__ARGUMENTS);
1976
1977 argumentEClass = createEClass(ARGUMENT);
1978
1979 expressionArgumentEClass = createEClass(EXPRESSION_ARGUMENT);
1980 createEReference(expressionArgumentEClass, EXPRESSION_ARGUMENT__BODY);
1981
1982 starArgumentEClass = createEClass(STAR_ARGUMENT);
1983
1984 typedArgumentEClass = createEClass(TYPED_ARGUMENT);
1985 createEReference(typedArgumentEClass, TYPED_ARGUMENT__TYPE);
1986 createEReference(typedArgumentEClass, TYPED_ARGUMENT__VARIABLE);
1987
1988 typedStarArgumentEClass = createEClass(TYPED_STAR_ARGUMENT);
1989 createEReference(typedStarArgumentEClass, TYPED_STAR_ARGUMENT__TYPE);
1990
1991 referenceEClass = createEClass(REFERENCE);
1992 createEReference(referenceEClass, REFERENCE__REFERRED);
1993
1994 intervalEClass = createEClass(INTERVAL);
1995 createEReference(intervalEClass, INTERVAL__LOWER_BOUND);
1996 createEReference(intervalEClass, INTERVAL__UPPER_BOUND);
1997
1998 literalEClass = createEClass(LITERAL);
1999
2000 logicLiteralEClass = createEClass(LOGIC_LITERAL);
2001 createEAttribute(logicLiteralEClass, LOGIC_LITERAL__VALUE);
2002
2003 numericLiteralEClass = createEClass(NUMERIC_LITERAL);
2004 createEAttribute(numericLiteralEClass, NUMERIC_LITERAL__VALUE);
2005
2006 infinityLiteralEClass = createEClass(INFINITY_LITERAL);
2007
2008 emptyIntervalLiteralEClass = createEClass(EMPTY_INTERVAL_LITERAL);
2009
2010 stringLiteralEClass = createEClass(STRING_LITERAL);
2011 createEAttribute(stringLiteralEClass, STRING_LITERAL__VALUE);
2012
2013 classDefinitionEClass = createEClass(CLASS_DEFINITION);
2014 createEAttribute(classDefinitionEClass, CLASS_DEFINITION__ABSTRACT);
2015 createEAttribute(classDefinitionEClass, CLASS_DEFINITION__NAME);
2016 createEReference(classDefinitionEClass, CLASS_DEFINITION__SUPERCLASSES);
2017 createEReference(classDefinitionEClass, CLASS_DEFINITION__MEMBERS);
2018
2019 memberDefinitionEClass = createEClass(MEMBER_DEFINITION);
2020 createEAttribute(memberDefinitionEClass, MEMBER_DEFINITION__CONTAINMENT);
2021 createEReference(memberDefinitionEClass, MEMBER_DEFINITION__TYPE);
2022 createEReference(memberDefinitionEClass, MEMBER_DEFINITION__MULTIPLICITY);
2023 createEAttribute(memberDefinitionEClass, MEMBER_DEFINITION__NAME);
2024 createEReference(memberDefinitionEClass, MEMBER_DEFINITION__OPPOSITE);
2025
2026 multiplicityEClass = createEClass(MULTIPLICITY);
2027
2028 manyMultiplicityEClass = createEClass(MANY_MULTIPLICITY);
2029
2030 exactMultiplicityEClass = createEClass(EXACT_MULTIPLICITY);
2031 createEAttribute(exactMultiplicityEClass, EXACT_MULTIPLICITY__MULTIPLICITY);
2032
2033 boundedMultiplicityEClass = createEClass(BOUNDED_MULTIPLICITY);
2034 createEAttribute(boundedMultiplicityEClass, BOUNDED_MULTIPLICITY__LOWER_BOUND);
2035 createEAttribute(boundedMultiplicityEClass, BOUNDED_MULTIPLICITY__UPPER_BOUND);
2036
2037 scopeDefinitionEClass = createEClass(SCOPE_DEFINITION);
2038 createEReference(scopeDefinitionEClass, SCOPE_DEFINITION__TYPE);
2039
2040 exactScopeDefinitionEClass = createEClass(EXACT_SCOPE_DEFINITION);
2041 createEAttribute(exactScopeDefinitionEClass, EXACT_SCOPE_DEFINITION__EXACT_SCOPE);
2042
2043 boundedScopeDefinitionEClass = createEClass(BOUNDED_SCOPE_DEFINITION);
2044 createEAttribute(boundedScopeDefinitionEClass, BOUNDED_SCOPE_DEFINITION__LOWER_BOUND);
2045 createEAttribute(boundedScopeDefinitionEClass, BOUNDED_SCOPE_DEFINITION__UPPER_BOUND);
2046
2047 lowerBoundedScopeDefinitionEClass = createEClass(LOWER_BOUNDED_SCOPE_DEFINITION);
2048 createEAttribute(lowerBoundedScopeDefinitionEClass, LOWER_BOUNDED_SCOPE_DEFINITION__LOWER_BOUND);
2049
2050 objectiveDefinitionEClass = createEClass(OBJECTIVE_DEFINITION);
2051 createEAttribute(objectiveDefinitionEClass, OBJECTIVE_DEFINITION__KIND);
2052 createEReference(objectiveDefinitionEClass, OBJECTIVE_DEFINITION__OBJECTIVE);
2053
2054 namedElementEClass = createEClass(NAMED_ELEMENT);
2055 createEAttribute(namedElementEClass, NAMED_ELEMENT__NAME);
2056
2057 assertionEClass = createEClass(ASSERTION);
2058 createEReference(assertionEClass, ASSERTION__BODY);
2059 createEReference(assertionEClass, ASSERTION__RANGE);
2060
2061 disjunctionEClass = createEClass(DISJUNCTION);
2062 createEReference(disjunctionEClass, DISJUNCTION__CHILDREN);
2063
2064 switchEClass = createEClass(SWITCH);
2065 createEReference(switchEClass, SWITCH__CASES);
2066
2067 conjunctionEClass = createEClass(CONJUNCTION);
2068 createEReference(conjunctionEClass, CONJUNCTION__CHILDREN);
2069
2070 comparisonEClass = createEClass(COMPARISON);
2071 createEReference(comparisonEClass, COMPARISON__LEFT);
2072 createEAttribute(comparisonEClass, COMPARISON__OP);
2073 createEReference(comparisonEClass, COMPARISON__RIGHT);
2074
2075 binaryExpressionEClass = createEClass(BINARY_EXPRESSION);
2076 createEReference(binaryExpressionEClass, BINARY_EXPRESSION__LEFT);
2077 createEAttribute(binaryExpressionEClass, BINARY_EXPRESSION__OP);
2078 createEReference(binaryExpressionEClass, BINARY_EXPRESSION__RIGHT);
2079
2080 unaryExpressionEClass = createEClass(UNARY_EXPRESSION);
2081 createEAttribute(unaryExpressionEClass, UNARY_EXPRESSION__OP);
2082 createEReference(unaryExpressionEClass, UNARY_EXPRESSION__BODY);
2083
2084 // Create enums
2085 metricTypeEEnum = createEEnum(METRIC_TYPE);
2086 binaryOperatorEEnum = createEEnum(BINARY_OPERATOR);
2087 unaryOpEEnum = createEEnum(UNARY_OP);
2088 aggregationOpEEnum = createEEnum(AGGREGATION_OP);
2089 logicValueEEnum = createEEnum(LOGIC_VALUE);
2090 objectiveKindEEnum = createEEnum(OBJECTIVE_KIND);
2091 }
2092
2093 /**
2094 * <!-- begin-user-doc -->
2095 * <!-- end-user-doc -->
2096 * @generated
2097 */
2098 private boolean isInitialized = false;
2099
2100 /**
2101 * Complete the initialization of the package and its meta-model. This
2102 * method is guarded to have no affect on any invocation but its first.
2103 * <!-- begin-user-doc -->
2104 * <!-- end-user-doc -->
2105 * @generated
2106 */
2107 public void initializePackageContents()
2108 {
2109 if (isInitialized) return;
2110 isInitialized = true;
2111
2112 // Initialize package
2113 setName(eNAME);
2114 setNsPrefix(eNS_PREFIX);
2115 setNsURI(eNS_URI);
2116
2117 // Create type parameters
2118
2119 // Set bounds for type parameters
2120
2121 // Add supertypes to classes
2122 predicateDefinitionEClass.getESuperTypes().add(this.getStatement());
2123 unnamedErrorPrediateDefinitionEClass.getESuperTypes().add(this.getStatement());
2124 defaultDefinitionEClass.getESuperTypes().add(this.getStatement());
2125 externPredicateDefinitionEClass.getESuperTypes().add(this.getStatement());
2126 metricDefinitionEClass.getESuperTypes().add(this.getStatement());
2127 externMetricDefinitionEClass.getESuperTypes().add(this.getStatement());
2128 expressionEClass.getESuperTypes().add(this.getStatement());
2129 ifElseEClass.getESuperTypes().add(this.getExpression());
2130 caseEClass.getESuperTypes().add(this.getExpression());
2131 countEClass.getESuperTypes().add(this.getExpression());
2132 aggregationEClass.getESuperTypes().add(this.getExpression());
2133 callEClass.getESuperTypes().add(this.getExpression());
2134 expressionArgumentEClass.getESuperTypes().add(this.getArgument());
2135 starArgumentEClass.getESuperTypes().add(this.getArgument());
2136 typedArgumentEClass.getESuperTypes().add(this.getArgument());
2137 typedStarArgumentEClass.getESuperTypes().add(this.getArgument());
2138 referenceEClass.getESuperTypes().add(this.getExpression());
2139 intervalEClass.getESuperTypes().add(this.getExpression());
2140 literalEClass.getESuperTypes().add(this.getExpression());
2141 logicLiteralEClass.getESuperTypes().add(this.getLiteral());
2142 numericLiteralEClass.getESuperTypes().add(this.getLiteral());
2143 infinityLiteralEClass.getESuperTypes().add(this.getLiteral());
2144 emptyIntervalLiteralEClass.getESuperTypes().add(this.getLiteral());
2145 stringLiteralEClass.getESuperTypes().add(this.getLiteral());
2146 classDefinitionEClass.getESuperTypes().add(this.getStatement());
2147 manyMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
2148 exactMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
2149 boundedMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
2150 scopeDefinitionEClass.getESuperTypes().add(this.getStatement());
2151 exactScopeDefinitionEClass.getESuperTypes().add(this.getScopeDefinition());
2152 boundedScopeDefinitionEClass.getESuperTypes().add(this.getScopeDefinition());
2153 lowerBoundedScopeDefinitionEClass.getESuperTypes().add(this.getScopeDefinition());
2154 objectiveDefinitionEClass.getESuperTypes().add(this.getStatement());
2155 assertionEClass.getESuperTypes().add(this.getStatement());
2156 disjunctionEClass.getESuperTypes().add(this.getExpression());
2157 switchEClass.getESuperTypes().add(this.getExpression());
2158 conjunctionEClass.getESuperTypes().add(this.getExpression());
2159 comparisonEClass.getESuperTypes().add(this.getExpression());
2160 binaryExpressionEClass.getESuperTypes().add(this.getExpression());
2161 unaryExpressionEClass.getESuperTypes().add(this.getExpression());
2162
2163 // Initialize classes and features; add operations and parameters
2164 initEClass(problemEClass, Problem.class, "Problem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2165 initEReference(getProblem_Statements(), this.getStatement(), null, "statements", null, 0, -1, Problem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2166
2167 initEClass(statementEClass, Statement.class, "Statement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2168
2169 initEClass(predicateDefinitionEClass, PredicateDefinition.class, "PredicateDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2170 initEReference(getPredicateDefinition_Head(), this.getExpression(), null, "head", null, 0, 1, PredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2171 initEReference(getPredicateDefinition_Body(), this.getExpression(), null, "body", null, 0, 1, PredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2172 initEAttribute(getPredicateDefinition_Functional(), ecorePackage.getEBoolean(), "functional", null, 0, 1, PredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2173 initEAttribute(getPredicateDefinition_Error(), ecorePackage.getEBoolean(), "error", null, 0, 1, PredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2174
2175 initEClass(unnamedErrorPrediateDefinitionEClass, UnnamedErrorPrediateDefinition.class, "UnnamedErrorPrediateDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2176 initEReference(getUnnamedErrorPrediateDefinition_ArgumentList(), this.getArgumentList(), null, "argumentList", null, 0, 1, UnnamedErrorPrediateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2177 initEReference(getUnnamedErrorPrediateDefinition_Body(), this.getExpression(), null, "body", null, 0, 1, UnnamedErrorPrediateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2178
2179 initEClass(defaultDefinitionEClass, DefaultDefinition.class, "DefaultDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2180 initEReference(getDefaultDefinition_Head(), this.getCall(), null, "head", null, 0, 1, DefaultDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2181 initEReference(getDefaultDefinition_Range(), this.getExpression(), null, "range", null, 0, 1, DefaultDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2182
2183 initEClass(externPredicateDefinitionEClass, ExternPredicateDefinition.class, "ExternPredicateDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2184 initEReference(getExternPredicateDefinition_Head(), this.getCall(), null, "head", null, 0, 1, ExternPredicateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2185
2186 initEClass(metricDefinitionEClass, MetricDefinition.class, "MetricDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2187 initEReference(getMetricDefinition_Head(), this.getExpression(), null, "head", null, 0, 1, MetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2188 initEReference(getMetricDefinition_Body(), this.getExpression(), null, "body", null, 0, 1, MetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2189 initEAttribute(getMetricDefinition_Type(), this.getMetricType(), "type", null, 0, 1, MetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2190
2191 initEClass(externMetricDefinitionEClass, ExternMetricDefinition.class, "ExternMetricDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2192 initEAttribute(getExternMetricDefinition_Type(), this.getMetricType(), "type", null, 0, 1, ExternMetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2193 initEReference(getExternMetricDefinition_Head(), this.getCall(), null, "head", null, 0, 1, ExternMetricDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2194
2195 initEClass(expressionEClass, Expression.class, "Expression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2196
2197 initEClass(ifElseEClass, IfElse.class, "IfElse", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2198 initEReference(getIfElse_Condition(), this.getExpression(), null, "condition", null, 0, 1, IfElse.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2199 initEReference(getIfElse_Then(), this.getExpression(), null, "then", null, 0, 1, IfElse.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2200 initEReference(getIfElse_Else(), this.getExpression(), null, "else", null, 0, 1, IfElse.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2201
2202 initEClass(caseEClass, Case.class, "Case", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2203 initEReference(getCase_Condition(), this.getExpression(), null, "condition", null, 0, 1, Case.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2204 initEReference(getCase_Body(), this.getExpression(), null, "body", null, 0, 1, Case.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2205
2206 initEClass(countEClass, Count.class, "Count", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2207 initEReference(getCount_Body(), this.getExpression(), null, "body", null, 0, 1, Count.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2208
2209 initEClass(aggregationEClass, Aggregation.class, "Aggregation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2210 initEAttribute(getAggregation_Op(), this.getAggregationOp(), "op", null, 0, 1, Aggregation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2211 initEReference(getAggregation_Body(), this.getExpression(), null, "body", null, 0, 1, Aggregation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2212 initEReference(getAggregation_Condition(), this.getExpression(), null, "condition", null, 0, 1, Aggregation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2213
2214 initEClass(callEClass, Call.class, "Call", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2215 initEReference(getCall_Functor(), this.getReference(), null, "functor", null, 0, 1, Call.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2216 initEAttribute(getCall_TransitiveClosure(), ecorePackage.getEBoolean(), "transitiveClosure", null, 0, 1, Call.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2217 initEAttribute(getCall_ReflexiveTransitiveClosure(), ecorePackage.getEBoolean(), "reflexiveTransitiveClosure", null, 0, 1, Call.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2218 initEReference(getCall_ArgumentList(), this.getArgumentList(), null, "argumentList", null, 0, 1, Call.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2219
2220 initEClass(argumentListEClass, ArgumentList.class, "ArgumentList", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2221 initEReference(getArgumentList_Arguments(), this.getArgument(), null, "arguments", null, 0, -1, ArgumentList.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2222
2223 initEClass(argumentEClass, Argument.class, "Argument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2224
2225 initEClass(expressionArgumentEClass, ExpressionArgument.class, "ExpressionArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2226 initEReference(getExpressionArgument_Body(), this.getExpression(), null, "body", null, 0, 1, ExpressionArgument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2227
2228 initEClass(starArgumentEClass, StarArgument.class, "StarArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2229
2230 initEClass(typedArgumentEClass, TypedArgument.class, "TypedArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2231 initEReference(getTypedArgument_Type(), this.getNamedElement(), null, "type", null, 0, 1, TypedArgument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2232 initEReference(getTypedArgument_Variable(), this.getNamedElement(), null, "variable", null, 0, 1, TypedArgument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2233
2234 initEClass(typedStarArgumentEClass, TypedStarArgument.class, "TypedStarArgument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2235 initEReference(getTypedStarArgument_Type(), this.getNamedElement(), null, "type", null, 0, 1, TypedStarArgument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2236
2237 initEClass(referenceEClass, Reference.class, "Reference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2238 initEReference(getReference_Referred(), this.getNamedElement(), null, "referred", null, 0, 1, Reference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2239
2240 initEClass(intervalEClass, Interval.class, "Interval", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2241 initEReference(getInterval_LowerBound(), this.getExpression(), null, "lowerBound", null, 0, 1, Interval.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2242 initEReference(getInterval_UpperBound(), this.getExpression(), null, "upperBound", null, 0, 1, Interval.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2243
2244 initEClass(literalEClass, Literal.class, "Literal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2245
2246 initEClass(logicLiteralEClass, LogicLiteral.class, "LogicLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2247 initEAttribute(getLogicLiteral_Value(), this.getLogicValue(), "value", null, 0, 1, LogicLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2248
2249 initEClass(numericLiteralEClass, NumericLiteral.class, "NumericLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2250 initEAttribute(getNumericLiteral_Value(), ecorePackage.getEBigDecimal(), "value", null, 0, 1, NumericLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2251
2252 initEClass(infinityLiteralEClass, InfinityLiteral.class, "InfinityLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2253
2254 initEClass(emptyIntervalLiteralEClass, EmptyIntervalLiteral.class, "EmptyIntervalLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2255
2256 initEClass(stringLiteralEClass, StringLiteral.class, "StringLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2257 initEAttribute(getStringLiteral_Value(), ecorePackage.getEString(), "value", null, 0, 1, StringLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2258
2259 initEClass(classDefinitionEClass, ClassDefinition.class, "ClassDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2260 initEAttribute(getClassDefinition_Abstract(), ecorePackage.getEBoolean(), "abstract", null, 0, 1, ClassDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2261 initEAttribute(getClassDefinition_Name(), ecorePackage.getEString(), "name", null, 0, 1, ClassDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2262 initEReference(getClassDefinition_Superclasses(), this.getNamedElement(), null, "superclasses", null, 0, -1, ClassDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2263 initEReference(getClassDefinition_Members(), this.getMemberDefinition(), null, "members", null, 0, -1, ClassDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2264
2265 initEClass(memberDefinitionEClass, MemberDefinition.class, "MemberDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2266 initEAttribute(getMemberDefinition_Containment(), ecorePackage.getEBoolean(), "containment", null, 0, 1, MemberDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2267 initEReference(getMemberDefinition_Type(), this.getNamedElement(), null, "type", null, 0, 1, MemberDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2268 initEReference(getMemberDefinition_Multiplicity(), this.getMultiplicity(), null, "multiplicity", null, 0, 1, MemberDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2269 initEAttribute(getMemberDefinition_Name(), ecorePackage.getEString(), "name", null, 0, 1, MemberDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2270 initEReference(getMemberDefinition_Opposite(), this.getNamedElement(), null, "opposite", null, 0, 1, MemberDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2271
2272 initEClass(multiplicityEClass, Multiplicity.class, "Multiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2273
2274 initEClass(manyMultiplicityEClass, ManyMultiplicity.class, "ManyMultiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2275
2276 initEClass(exactMultiplicityEClass, ExactMultiplicity.class, "ExactMultiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2277 initEAttribute(getExactMultiplicity_Multiplicity(), ecorePackage.getEInt(), "multiplicity", null, 0, 1, ExactMultiplicity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2278
2279 initEClass(boundedMultiplicityEClass, BoundedMultiplicity.class, "BoundedMultiplicity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2280 initEAttribute(getBoundedMultiplicity_LowerBound(), ecorePackage.getEInt(), "lowerBound", null, 0, 1, BoundedMultiplicity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2281 initEAttribute(getBoundedMultiplicity_UpperBound(), ecorePackage.getEInt(), "upperBound", null, 0, 1, BoundedMultiplicity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2282
2283 initEClass(scopeDefinitionEClass, ScopeDefinition.class, "ScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2284 initEReference(getScopeDefinition_Type(), this.getNamedElement(), null, "type", null, 0, 1, ScopeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2285
2286 initEClass(exactScopeDefinitionEClass, ExactScopeDefinition.class, "ExactScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2287 initEAttribute(getExactScopeDefinition_ExactScope(), ecorePackage.getEInt(), "exactScope", null, 0, 1, ExactScopeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2288
2289 initEClass(boundedScopeDefinitionEClass, BoundedScopeDefinition.class, "BoundedScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2290 initEAttribute(getBoundedScopeDefinition_LowerBound(), ecorePackage.getEInt(), "lowerBound", null, 0, 1, BoundedScopeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2291 initEAttribute(getBoundedScopeDefinition_UpperBound(), ecorePackage.getEInt(), "upperBound", null, 0, 1, BoundedScopeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2292
2293 initEClass(lowerBoundedScopeDefinitionEClass, LowerBoundedScopeDefinition.class, "LowerBoundedScopeDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2294 initEAttribute(getLowerBoundedScopeDefinition_LowerBound(), ecorePackage.getEInt(), "lowerBound", null, 0, 1, LowerBoundedScopeDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2295
2296 initEClass(objectiveDefinitionEClass, ObjectiveDefinition.class, "ObjectiveDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2297 initEAttribute(getObjectiveDefinition_Kind(), this.getObjectiveKind(), "kind", null, 0, 1, ObjectiveDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2298 initEReference(getObjectiveDefinition_Objective(), this.getExpression(), null, "objective", null, 0, 1, ObjectiveDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2299
2300 initEClass(namedElementEClass, NamedElement.class, "NamedElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2301 initEAttribute(getNamedElement_Name(), ecorePackage.getEString(), "name", null, 0, 1, NamedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2302
2303 initEClass(assertionEClass, Assertion.class, "Assertion", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2304 initEReference(getAssertion_Body(), this.getExpression(), null, "body", null, 0, 1, Assertion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2305 initEReference(getAssertion_Range(), this.getExpression(), null, "range", null, 0, 1, Assertion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2306
2307 initEClass(disjunctionEClass, Disjunction.class, "Disjunction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2308 initEReference(getDisjunction_Children(), this.getExpression(), null, "children", null, 0, -1, Disjunction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2309
2310 initEClass(switchEClass, Switch.class, "Switch", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2311 initEReference(getSwitch_Cases(), this.getCase(), null, "cases", null, 0, -1, Switch.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2312
2313 initEClass(conjunctionEClass, Conjunction.class, "Conjunction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2314 initEReference(getConjunction_Children(), this.getExpression(), null, "children", null, 0, -1, Conjunction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2315
2316 initEClass(comparisonEClass, Comparison.class, "Comparison", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2317 initEReference(getComparison_Left(), this.getExpression(), null, "left", null, 0, 1, Comparison.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2318 initEAttribute(getComparison_Op(), this.getBinaryOperator(), "op", null, 0, 1, Comparison.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2319 initEReference(getComparison_Right(), this.getExpression(), null, "right", null, 0, 1, Comparison.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2320
2321 initEClass(binaryExpressionEClass, BinaryExpression.class, "BinaryExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2322 initEReference(getBinaryExpression_Left(), this.getExpression(), null, "left", null, 0, 1, BinaryExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2323 initEAttribute(getBinaryExpression_Op(), this.getBinaryOperator(), "op", null, 0, 1, BinaryExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2324 initEReference(getBinaryExpression_Right(), this.getExpression(), null, "right", null, 0, 1, BinaryExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2325
2326 initEClass(unaryExpressionEClass, UnaryExpression.class, "UnaryExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2327 initEAttribute(getUnaryExpression_Op(), this.getUnaryOp(), "op", null, 0, 1, UnaryExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2328 initEReference(getUnaryExpression_Body(), this.getExpression(), null, "body", null, 0, 1, UnaryExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2329
2330 // Initialize enums and add enum literals
2331 initEEnum(metricTypeEEnum, MetricType.class, "MetricType");
2332 addEEnumLiteral(metricTypeEEnum, MetricType.INT);
2333 addEEnumLiteral(metricTypeEEnum, MetricType.REAL);
2334
2335 initEEnum(binaryOperatorEEnum, BinaryOperator.class, "BinaryOperator");
2336 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.EQ);
2337 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.NOT_EQ);
2338 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.LESS);
2339 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.LESS_EQ);
2340 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.GREATER);
2341 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.GREATER_EQ);
2342 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.IN);
2343 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.ADD);
2344 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.SUB);
2345 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.MUL);
2346 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.DIV);
2347 addEEnumLiteral(binaryOperatorEEnum, BinaryOperator.POW);
2348
2349 initEEnum(unaryOpEEnum, UnaryOp.class, "UnaryOp");
2350 addEEnumLiteral(unaryOpEEnum, UnaryOp.NEG);
2351 addEEnumLiteral(unaryOpEEnum, UnaryOp.PLUS);
2352 addEEnumLiteral(unaryOpEEnum, UnaryOp.MINUS);
2353 addEEnumLiteral(unaryOpEEnum, UnaryOp.MAY);
2354 addEEnumLiteral(unaryOpEEnum, UnaryOp.MUST);
2355 addEEnumLiteral(unaryOpEEnum, UnaryOp.CURRENT);
2356
2357 initEEnum(aggregationOpEEnum, AggregationOp.class, "AggregationOp");
2358 addEEnumLiteral(aggregationOpEEnum, AggregationOp.ONLY);
2359 addEEnumLiteral(aggregationOpEEnum, AggregationOp.SUM);
2360 addEEnumLiteral(aggregationOpEEnum, AggregationOp.PROD);
2361 addEEnumLiteral(aggregationOpEEnum, AggregationOp.AVG);
2362 addEEnumLiteral(aggregationOpEEnum, AggregationOp.MIN);
2363 addEEnumLiteral(aggregationOpEEnum, AggregationOp.MAX);
2364
2365 initEEnum(logicValueEEnum, LogicValue.class, "LogicValue");
2366 addEEnumLiteral(logicValueEEnum, LogicValue.TRUE);
2367 addEEnumLiteral(logicValueEEnum, LogicValue.FALSE);
2368 addEEnumLiteral(logicValueEEnum, LogicValue.UNKNOWN);
2369 addEEnumLiteral(logicValueEEnum, LogicValue.ERROR);
2370
2371 initEEnum(objectiveKindEEnum, ObjectiveKind.class, "ObjectiveKind");
2372 addEEnumLiteral(objectiveKindEEnum, ObjectiveKind.MINIMIZE);
2373 addEEnumLiteral(objectiveKindEEnum, ObjectiveKind.MAXIMIZE);
2374
2375 // Create resource
2376 createResource(eNS_URI);
2377 }
2378
2379} //SolverLanguagePackageImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java
deleted file mode 100644
index b0cecaab..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StarArgumentImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
9import org.eclipse.viatra.solver.language.solverLanguage.StarArgument;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>Star Argument</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class StarArgumentImpl extends ArgumentImpl implements StarArgument
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected StarArgumentImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return SolverLanguagePackage.Literals.STAR_ARGUMENT;
39 }
40
41} //StarArgumentImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java
deleted file mode 100644
index d349d1a4..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StatementImpl.java
+++ /dev/null
@@ -1,43 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.ecore.EClass;
7
8import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
9
10import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
11import org.eclipse.viatra.solver.language.solverLanguage.Statement;
12
13/**
14 * <!-- begin-user-doc -->
15 * An implementation of the model object '<em><b>Statement</b></em>'.
16 * <!-- end-user-doc -->
17 *
18 * @generated
19 */
20public class StatementImpl extends MinimalEObjectImpl.Container implements Statement
21{
22 /**
23 * <!-- begin-user-doc -->
24 * <!-- end-user-doc -->
25 * @generated
26 */
27 protected StatementImpl()
28 {
29 super();
30 }
31
32 /**
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 @Override
38 protected EClass eStaticClass()
39 {
40 return SolverLanguagePackage.Literals.STATEMENT;
41 }
42
43} //StatementImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java
deleted file mode 100644
index 2b0b2720..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/StringLiteralImpl.java
+++ /dev/null
@@ -1,179 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11
12import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
13import org.eclipse.viatra.solver.language.solverLanguage.StringLiteral;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>String Literal</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.StringLiteralImpl#getValue <em>Value</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class StringLiteralImpl extends LiteralImpl implements StringLiteral
29{
30 /**
31 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getValue()
35 * @generated
36 * @ordered
37 */
38 protected static final String VALUE_EDEFAULT = null;
39
40 /**
41 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getValue()
45 * @generated
46 * @ordered
47 */
48 protected String value = VALUE_EDEFAULT;
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 protected StringLiteralImpl()
56 {
57 super();
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 @Override
66 protected EClass eStaticClass()
67 {
68 return SolverLanguagePackage.Literals.STRING_LITERAL;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 @Override
77 public String getValue()
78 {
79 return value;
80 }
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 @Override
88 public void setValue(String newValue)
89 {
90 String oldValue = value;
91 value = newValue;
92 if (eNotificationRequired())
93 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.STRING_LITERAL__VALUE, oldValue, value));
94 }
95
96 /**
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @generated
100 */
101 @Override
102 public Object eGet(int featureID, boolean resolve, boolean coreType)
103 {
104 switch (featureID)
105 {
106 case SolverLanguagePackage.STRING_LITERAL__VALUE:
107 return getValue();
108 }
109 return super.eGet(featureID, resolve, coreType);
110 }
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 @Override
118 public void eSet(int featureID, Object newValue)
119 {
120 switch (featureID)
121 {
122 case SolverLanguagePackage.STRING_LITERAL__VALUE:
123 setValue((String)newValue);
124 return;
125 }
126 super.eSet(featureID, newValue);
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 @Override
135 public void eUnset(int featureID)
136 {
137 switch (featureID)
138 {
139 case SolverLanguagePackage.STRING_LITERAL__VALUE:
140 setValue(VALUE_EDEFAULT);
141 return;
142 }
143 super.eUnset(featureID);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public boolean eIsSet(int featureID)
153 {
154 switch (featureID)
155 {
156 case SolverLanguagePackage.STRING_LITERAL__VALUE:
157 return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
158 }
159 return super.eIsSet(featureID);
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 @Override
168 public String toString()
169 {
170 if (eIsProxy()) return super.toString();
171
172 StringBuilder result = new StringBuilder(super.toString());
173 result.append(" (value: ");
174 result.append(value);
175 result.append(')');
176 return result.toString();
177 }
178
179} //StringLiteralImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java
deleted file mode 100644
index fefd5be6..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/SwitchImpl.java
+++ /dev/null
@@ -1,167 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import java.util.Collection;
7
8import org.eclipse.emf.common.notify.NotificationChain;
9
10import org.eclipse.emf.common.util.EList;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.util.EObjectContainmentEList;
16import org.eclipse.emf.ecore.util.InternalEList;
17
18import org.eclipse.viatra.solver.language.solverLanguage.Case;
19import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
20import org.eclipse.viatra.solver.language.solverLanguage.Switch;
21
22/**
23 * <!-- begin-user-doc -->
24 * An implementation of the model object '<em><b>Switch</b></em>'.
25 * <!-- end-user-doc -->
26 * <p>
27 * The following features are implemented:
28 * </p>
29 * <ul>
30 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.SwitchImpl#getCases <em>Cases</em>}</li>
31 * </ul>
32 *
33 * @generated
34 */
35public class SwitchImpl extends ExpressionImpl implements Switch
36{
37 /**
38 * The cached value of the '{@link #getCases() <em>Cases</em>}' containment reference list.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @see #getCases()
42 * @generated
43 * @ordered
44 */
45 protected EList<Case> cases;
46
47 /**
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @generated
51 */
52 protected SwitchImpl()
53 {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass()
64 {
65 return SolverLanguagePackage.Literals.SWITCH;
66 }
67
68 /**
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @generated
72 */
73 @Override
74 public EList<Case> getCases()
75 {
76 if (cases == null)
77 {
78 cases = new EObjectContainmentEList<Case>(Case.class, this, SolverLanguagePackage.SWITCH__CASES);
79 }
80 return cases;
81 }
82
83 /**
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @generated
87 */
88 @Override
89 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
90 {
91 switch (featureID)
92 {
93 case SolverLanguagePackage.SWITCH__CASES:
94 return ((InternalEList<?>)getCases()).basicRemove(otherEnd, msgs);
95 }
96 return super.eInverseRemove(otherEnd, featureID, msgs);
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 @Override
105 public Object eGet(int featureID, boolean resolve, boolean coreType)
106 {
107 switch (featureID)
108 {
109 case SolverLanguagePackage.SWITCH__CASES:
110 return getCases();
111 }
112 return super.eGet(featureID, resolve, coreType);
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 @SuppressWarnings("unchecked")
121 @Override
122 public void eSet(int featureID, Object newValue)
123 {
124 switch (featureID)
125 {
126 case SolverLanguagePackage.SWITCH__CASES:
127 getCases().clear();
128 getCases().addAll((Collection<? extends Case>)newValue);
129 return;
130 }
131 super.eSet(featureID, newValue);
132 }
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 @Override
140 public void eUnset(int featureID)
141 {
142 switch (featureID)
143 {
144 case SolverLanguagePackage.SWITCH__CASES:
145 getCases().clear();
146 return;
147 }
148 super.eUnset(featureID);
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public boolean eIsSet(int featureID)
158 {
159 switch (featureID)
160 {
161 case SolverLanguagePackage.SWITCH__CASES:
162 return cases != null && !cases.isEmpty();
163 }
164 return super.eIsSet(featureID);
165 }
166
167} //SwitchImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java
deleted file mode 100644
index 2d93f402..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedArgumentImpl.java
+++ /dev/null
@@ -1,242 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9import org.eclipse.emf.ecore.InternalEObject;
10
11import org.eclipse.emf.ecore.impl.ENotificationImpl;
12
13import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
14import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
15import org.eclipse.viatra.solver.language.solverLanguage.TypedArgument;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Typed Argument</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl#getType <em>Type</em>}</li>
26 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedArgumentImpl#getVariable <em>Variable</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class TypedArgumentImpl extends ArgumentImpl implements TypedArgument
32{
33 /**
34 * The cached value of the '{@link #getType() <em>Type</em>}' reference.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getType()
38 * @generated
39 * @ordered
40 */
41 protected NamedElement type;
42
43 /**
44 * The cached value of the '{@link #getVariable() <em>Variable</em>}' reference.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #getVariable()
48 * @generated
49 * @ordered
50 */
51 protected NamedElement variable;
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 protected TypedArgumentImpl()
59 {
60 super();
61 }
62
63 /**
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 @Override
69 protected EClass eStaticClass()
70 {
71 return SolverLanguagePackage.Literals.TYPED_ARGUMENT;
72 }
73
74 /**
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @generated
78 */
79 @Override
80 public NamedElement getType()
81 {
82 if (type != null && type.eIsProxy())
83 {
84 InternalEObject oldType = (InternalEObject)type;
85 type = (NamedElement)eResolveProxy(oldType);
86 if (type != oldType)
87 {
88 if (eNotificationRequired())
89 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.TYPED_ARGUMENT__TYPE, oldType, type));
90 }
91 }
92 return type;
93 }
94
95 /**
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @generated
99 */
100 public NamedElement basicGetType()
101 {
102 return type;
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 @Override
111 public void setType(NamedElement newType)
112 {
113 NamedElement oldType = type;
114 type = newType;
115 if (eNotificationRequired())
116 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.TYPED_ARGUMENT__TYPE, oldType, type));
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 @Override
125 public NamedElement getVariable()
126 {
127 if (variable != null && variable.eIsProxy())
128 {
129 InternalEObject oldVariable = (InternalEObject)variable;
130 variable = (NamedElement)eResolveProxy(oldVariable);
131 if (variable != oldVariable)
132 {
133 if (eNotificationRequired())
134 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE, oldVariable, variable));
135 }
136 }
137 return variable;
138 }
139
140 /**
141 * <!-- begin-user-doc -->
142 * <!-- end-user-doc -->
143 * @generated
144 */
145 public NamedElement basicGetVariable()
146 {
147 return variable;
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 @Override
156 public void setVariable(NamedElement newVariable)
157 {
158 NamedElement oldVariable = variable;
159 variable = newVariable;
160 if (eNotificationRequired())
161 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE, oldVariable, variable));
162 }
163
164 /**
165 * <!-- begin-user-doc -->
166 * <!-- end-user-doc -->
167 * @generated
168 */
169 @Override
170 public Object eGet(int featureID, boolean resolve, boolean coreType)
171 {
172 switch (featureID)
173 {
174 case SolverLanguagePackage.TYPED_ARGUMENT__TYPE:
175 if (resolve) return getType();
176 return basicGetType();
177 case SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE:
178 if (resolve) return getVariable();
179 return basicGetVariable();
180 }
181 return super.eGet(featureID, resolve, coreType);
182 }
183
184 /**
185 * <!-- begin-user-doc -->
186 * <!-- end-user-doc -->
187 * @generated
188 */
189 @Override
190 public void eSet(int featureID, Object newValue)
191 {
192 switch (featureID)
193 {
194 case SolverLanguagePackage.TYPED_ARGUMENT__TYPE:
195 setType((NamedElement)newValue);
196 return;
197 case SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE:
198 setVariable((NamedElement)newValue);
199 return;
200 }
201 super.eSet(featureID, newValue);
202 }
203
204 /**
205 * <!-- begin-user-doc -->
206 * <!-- end-user-doc -->
207 * @generated
208 */
209 @Override
210 public void eUnset(int featureID)
211 {
212 switch (featureID)
213 {
214 case SolverLanguagePackage.TYPED_ARGUMENT__TYPE:
215 setType((NamedElement)null);
216 return;
217 case SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE:
218 setVariable((NamedElement)null);
219 return;
220 }
221 super.eUnset(featureID);
222 }
223
224 /**
225 * <!-- begin-user-doc -->
226 * <!-- end-user-doc -->
227 * @generated
228 */
229 @Override
230 public boolean eIsSet(int featureID)
231 {
232 switch (featureID)
233 {
234 case SolverLanguagePackage.TYPED_ARGUMENT__TYPE:
235 return type != null;
236 case SolverLanguagePackage.TYPED_ARGUMENT__VARIABLE:
237 return variable != null;
238 }
239 return super.eIsSet(featureID);
240 }
241
242} //TypedArgumentImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java
deleted file mode 100644
index dd2b46bc..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/TypedStarArgumentImpl.java
+++ /dev/null
@@ -1,175 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7
8import org.eclipse.emf.ecore.EClass;
9import org.eclipse.emf.ecore.InternalEObject;
10
11import org.eclipse.emf.ecore.impl.ENotificationImpl;
12
13import org.eclipse.viatra.solver.language.solverLanguage.NamedElement;
14import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
15import org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Typed Star Argument</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.TypedStarArgumentImpl#getType <em>Type</em>}</li>
26 * </ul>
27 *
28 * @generated
29 */
30public class TypedStarArgumentImpl extends ArgumentImpl implements TypedStarArgument
31{
32 /**
33 * The cached value of the '{@link #getType() <em>Type</em>}' reference.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getType()
37 * @generated
38 * @ordered
39 */
40 protected NamedElement type;
41
42 /**
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @generated
46 */
47 protected TypedStarArgumentImpl()
48 {
49 super();
50 }
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 @Override
58 protected EClass eStaticClass()
59 {
60 return SolverLanguagePackage.Literals.TYPED_STAR_ARGUMENT;
61 }
62
63 /**
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 @Override
69 public NamedElement getType()
70 {
71 if (type != null && type.eIsProxy())
72 {
73 InternalEObject oldType = (InternalEObject)type;
74 type = (NamedElement)eResolveProxy(oldType);
75 if (type != oldType)
76 {
77 if (eNotificationRequired())
78 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE, oldType, type));
79 }
80 }
81 return type;
82 }
83
84 /**
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @generated
88 */
89 public NamedElement basicGetType()
90 {
91 return type;
92 }
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 @Override
100 public void setType(NamedElement newType)
101 {
102 NamedElement oldType = type;
103 type = newType;
104 if (eNotificationRequired())
105 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE, oldType, type));
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 @Override
114 public Object eGet(int featureID, boolean resolve, boolean coreType)
115 {
116 switch (featureID)
117 {
118 case SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE:
119 if (resolve) return getType();
120 return basicGetType();
121 }
122 return super.eGet(featureID, resolve, coreType);
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public void eSet(int featureID, Object newValue)
132 {
133 switch (featureID)
134 {
135 case SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE:
136 setType((NamedElement)newValue);
137 return;
138 }
139 super.eSet(featureID, newValue);
140 }
141
142 /**
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 */
147 @Override
148 public void eUnset(int featureID)
149 {
150 switch (featureID)
151 {
152 case SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE:
153 setType((NamedElement)null);
154 return;
155 }
156 super.eUnset(featureID);
157 }
158
159 /**
160 * <!-- begin-user-doc -->
161 * <!-- end-user-doc -->
162 * @generated
163 */
164 @Override
165 public boolean eIsSet(int featureID)
166 {
167 switch (featureID)
168 {
169 case SolverLanguagePackage.TYPED_STAR_ARGUMENT__TYPE:
170 return type != null;
171 }
172 return super.eIsSet(featureID);
173 }
174
175} //TypedStarArgumentImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java
deleted file mode 100644
index ee5ebfbb..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnaryExpressionImpl.java
+++ /dev/null
@@ -1,270 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.Expression;
15import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
16import org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression;
17import org.eclipse.viatra.solver.language.solverLanguage.UnaryOp;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Unary Expression</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl#getOp <em>Op</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnaryExpressionImpl#getBody <em>Body</em>}</li>
29 * </ul>
30 *
31 * @generated
32 */
33public class UnaryExpressionImpl extends ExpressionImpl implements UnaryExpression
34{
35 /**
36 * The default value of the '{@link #getOp() <em>Op</em>}' attribute.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getOp()
40 * @generated
41 * @ordered
42 */
43 protected static final UnaryOp OP_EDEFAULT = UnaryOp.NEG;
44
45 /**
46 * The cached value of the '{@link #getOp() <em>Op</em>}' attribute.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @see #getOp()
50 * @generated
51 * @ordered
52 */
53 protected UnaryOp op = OP_EDEFAULT;
54
55 /**
56 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @see #getBody()
60 * @generated
61 * @ordered
62 */
63 protected Expression body;
64
65 /**
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @generated
69 */
70 protected UnaryExpressionImpl()
71 {
72 super();
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 @Override
81 protected EClass eStaticClass()
82 {
83 return SolverLanguagePackage.Literals.UNARY_EXPRESSION;
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 @Override
92 public UnaryOp getOp()
93 {
94 return op;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 @Override
103 public void setOp(UnaryOp newOp)
104 {
105 UnaryOp oldOp = op;
106 op = newOp == null ? OP_EDEFAULT : newOp;
107 if (eNotificationRequired())
108 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNARY_EXPRESSION__OP, oldOp, op));
109 }
110
111 /**
112 * <!-- begin-user-doc -->
113 * <!-- end-user-doc -->
114 * @generated
115 */
116 @Override
117 public Expression getBody()
118 {
119 return body;
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs)
128 {
129 Expression oldBody = body;
130 body = newBody;
131 if (eNotificationRequired())
132 {
133 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNARY_EXPRESSION__BODY, oldBody, newBody);
134 if (msgs == null) msgs = notification; else msgs.add(notification);
135 }
136 return msgs;
137 }
138
139 /**
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @generated
143 */
144 @Override
145 public void setBody(Expression newBody)
146 {
147 if (newBody != body)
148 {
149 NotificationChain msgs = null;
150 if (body != null)
151 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNARY_EXPRESSION__BODY, null, msgs);
152 if (newBody != null)
153 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNARY_EXPRESSION__BODY, null, msgs);
154 msgs = basicSetBody(newBody, msgs);
155 if (msgs != null) msgs.dispatch();
156 }
157 else if (eNotificationRequired())
158 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNARY_EXPRESSION__BODY, newBody, newBody));
159 }
160
161 /**
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @generated
165 */
166 @Override
167 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
168 {
169 switch (featureID)
170 {
171 case SolverLanguagePackage.UNARY_EXPRESSION__BODY:
172 return basicSetBody(null, msgs);
173 }
174 return super.eInverseRemove(otherEnd, featureID, msgs);
175 }
176
177 /**
178 * <!-- begin-user-doc -->
179 * <!-- end-user-doc -->
180 * @generated
181 */
182 @Override
183 public Object eGet(int featureID, boolean resolve, boolean coreType)
184 {
185 switch (featureID)
186 {
187 case SolverLanguagePackage.UNARY_EXPRESSION__OP:
188 return getOp();
189 case SolverLanguagePackage.UNARY_EXPRESSION__BODY:
190 return getBody();
191 }
192 return super.eGet(featureID, resolve, coreType);
193 }
194
195 /**
196 * <!-- begin-user-doc -->
197 * <!-- end-user-doc -->
198 * @generated
199 */
200 @Override
201 public void eSet(int featureID, Object newValue)
202 {
203 switch (featureID)
204 {
205 case SolverLanguagePackage.UNARY_EXPRESSION__OP:
206 setOp((UnaryOp)newValue);
207 return;
208 case SolverLanguagePackage.UNARY_EXPRESSION__BODY:
209 setBody((Expression)newValue);
210 return;
211 }
212 super.eSet(featureID, newValue);
213 }
214
215 /**
216 * <!-- begin-user-doc -->
217 * <!-- end-user-doc -->
218 * @generated
219 */
220 @Override
221 public void eUnset(int featureID)
222 {
223 switch (featureID)
224 {
225 case SolverLanguagePackage.UNARY_EXPRESSION__OP:
226 setOp(OP_EDEFAULT);
227 return;
228 case SolverLanguagePackage.UNARY_EXPRESSION__BODY:
229 setBody((Expression)null);
230 return;
231 }
232 super.eUnset(featureID);
233 }
234
235 /**
236 * <!-- begin-user-doc -->
237 * <!-- end-user-doc -->
238 * @generated
239 */
240 @Override
241 public boolean eIsSet(int featureID)
242 {
243 switch (featureID)
244 {
245 case SolverLanguagePackage.UNARY_EXPRESSION__OP:
246 return op != OP_EDEFAULT;
247 case SolverLanguagePackage.UNARY_EXPRESSION__BODY:
248 return body != null;
249 }
250 return super.eIsSet(featureID);
251 }
252
253 /**
254 * <!-- begin-user-doc -->
255 * <!-- end-user-doc -->
256 * @generated
257 */
258 @Override
259 public String toString()
260 {
261 if (eIsProxy()) return super.toString();
262
263 StringBuilder result = new StringBuilder(super.toString());
264 result.append(" (op: ");
265 result.append(op);
266 result.append(')');
267 return result.toString();
268 }
269
270} //UnaryExpressionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPrediateDefinitionImpl.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPrediateDefinitionImpl.java
deleted file mode 100644
index cd6a3271..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/impl/UnnamedErrorPrediateDefinitionImpl.java
+++ /dev/null
@@ -1,270 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.impl;
5
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.notify.NotificationChain;
8
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.InternalEObject;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14import org.eclipse.viatra.solver.language.solverLanguage.ArgumentList;
15import org.eclipse.viatra.solver.language.solverLanguage.Expression;
16import org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage;
17import org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Unnamed Error Prediate Definition</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl#getArgumentList <em>Argument List</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.solverLanguage.impl.UnnamedErrorPrediateDefinitionImpl#getBody <em>Body</em>}</li>
29 * </ul>
30 *
31 * @generated
32 */
33public class UnnamedErrorPrediateDefinitionImpl extends StatementImpl implements UnnamedErrorPrediateDefinition
34{
35 /**
36 * The cached value of the '{@link #getArgumentList() <em>Argument List</em>}' containment reference.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getArgumentList()
40 * @generated
41 * @ordered
42 */
43 protected ArgumentList argumentList;
44
45 /**
46 * The cached value of the '{@link #getBody() <em>Body</em>}' containment reference.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @see #getBody()
50 * @generated
51 * @ordered
52 */
53 protected Expression body;
54
55 /**
56 * <!-- begin-user-doc -->
57 * <!-- end-user-doc -->
58 * @generated
59 */
60 protected UnnamedErrorPrediateDefinitionImpl()
61 {
62 super();
63 }
64
65 /**
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @generated
69 */
70 @Override
71 protected EClass eStaticClass()
72 {
73 return SolverLanguagePackage.Literals.UNNAMED_ERROR_PREDIATE_DEFINITION;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 @Override
82 public ArgumentList getArgumentList()
83 {
84 return argumentList;
85 }
86
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 public NotificationChain basicSetArgumentList(ArgumentList newArgumentList, NotificationChain msgs)
93 {
94 ArgumentList oldArgumentList = argumentList;
95 argumentList = newArgumentList;
96 if (eNotificationRequired())
97 {
98 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST, oldArgumentList, newArgumentList);
99 if (msgs == null) msgs = notification; else msgs.add(notification);
100 }
101 return msgs;
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 @Override
110 public void setArgumentList(ArgumentList newArgumentList)
111 {
112 if (newArgumentList != argumentList)
113 {
114 NotificationChain msgs = null;
115 if (argumentList != null)
116 msgs = ((InternalEObject)argumentList).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST, null, msgs);
117 if (newArgumentList != null)
118 msgs = ((InternalEObject)newArgumentList).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST, null, msgs);
119 msgs = basicSetArgumentList(newArgumentList, msgs);
120 if (msgs != null) msgs.dispatch();
121 }
122 else if (eNotificationRequired())
123 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST, newArgumentList, newArgumentList));
124 }
125
126 /**
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @generated
130 */
131 @Override
132 public Expression getBody()
133 {
134 return body;
135 }
136
137 /**
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @generated
141 */
142 public NotificationChain basicSetBody(Expression newBody, NotificationChain msgs)
143 {
144 Expression oldBody = body;
145 body = newBody;
146 if (eNotificationRequired())
147 {
148 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY, oldBody, newBody);
149 if (msgs == null) msgs = notification; else msgs.add(notification);
150 }
151 return msgs;
152 }
153
154 /**
155 * <!-- begin-user-doc -->
156 * <!-- end-user-doc -->
157 * @generated
158 */
159 @Override
160 public void setBody(Expression newBody)
161 {
162 if (newBody != body)
163 {
164 NotificationChain msgs = null;
165 if (body != null)
166 msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY, null, msgs);
167 if (newBody != null)
168 msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY, null, msgs);
169 msgs = basicSetBody(newBody, msgs);
170 if (msgs != null) msgs.dispatch();
171 }
172 else if (eNotificationRequired())
173 eNotify(new ENotificationImpl(this, Notification.SET, SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY, newBody, newBody));
174 }
175
176 /**
177 * <!-- begin-user-doc -->
178 * <!-- end-user-doc -->
179 * @generated
180 */
181 @Override
182 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
183 {
184 switch (featureID)
185 {
186 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST:
187 return basicSetArgumentList(null, msgs);
188 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY:
189 return basicSetBody(null, msgs);
190 }
191 return super.eInverseRemove(otherEnd, featureID, msgs);
192 }
193
194 /**
195 * <!-- begin-user-doc -->
196 * <!-- end-user-doc -->
197 * @generated
198 */
199 @Override
200 public Object eGet(int featureID, boolean resolve, boolean coreType)
201 {
202 switch (featureID)
203 {
204 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST:
205 return getArgumentList();
206 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY:
207 return getBody();
208 }
209 return super.eGet(featureID, resolve, coreType);
210 }
211
212 /**
213 * <!-- begin-user-doc -->
214 * <!-- end-user-doc -->
215 * @generated
216 */
217 @Override
218 public void eSet(int featureID, Object newValue)
219 {
220 switch (featureID)
221 {
222 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST:
223 setArgumentList((ArgumentList)newValue);
224 return;
225 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY:
226 setBody((Expression)newValue);
227 return;
228 }
229 super.eSet(featureID, newValue);
230 }
231
232 /**
233 * <!-- begin-user-doc -->
234 * <!-- end-user-doc -->
235 * @generated
236 */
237 @Override
238 public void eUnset(int featureID)
239 {
240 switch (featureID)
241 {
242 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST:
243 setArgumentList((ArgumentList)null);
244 return;
245 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY:
246 setBody((Expression)null);
247 return;
248 }
249 super.eUnset(featureID);
250 }
251
252 /**
253 * <!-- begin-user-doc -->
254 * <!-- end-user-doc -->
255 * @generated
256 */
257 @Override
258 public boolean eIsSet(int featureID)
259 {
260 switch (featureID)
261 {
262 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__ARGUMENT_LIST:
263 return argumentList != null;
264 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION__BODY:
265 return body != null;
266 }
267 return super.eIsSet(featureID);
268 }
269
270} //UnnamedErrorPrediateDefinitionImpl
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java
deleted file mode 100644
index 37b20718..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageAdapterFactory.java
+++ /dev/null
@@ -1,1053 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.util;
5
6import org.eclipse.emf.common.notify.Adapter;
7import org.eclipse.emf.common.notify.Notifier;
8
9import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
10
11import org.eclipse.emf.ecore.EObject;
12
13import org.eclipse.viatra.solver.language.solverLanguage.*;
14
15/**
16 * <!-- begin-user-doc -->
17 * The <b>Adapter Factory</b> for the model.
18 * It provides an adapter <code>createXXX</code> method for each class of the model.
19 * <!-- end-user-doc -->
20 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage
21 * @generated
22 */
23public class SolverLanguageAdapterFactory extends AdapterFactoryImpl
24{
25 /**
26 * The cached model package.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @generated
30 */
31 protected static SolverLanguagePackage modelPackage;
32
33 /**
34 * Creates an instance of the adapter factory.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @generated
38 */
39 public SolverLanguageAdapterFactory()
40 {
41 if (modelPackage == null)
42 {
43 modelPackage = SolverLanguagePackage.eINSTANCE;
44 }
45 }
46
47 /**
48 * Returns whether this factory is applicable for the type of the object.
49 * <!-- begin-user-doc -->
50 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
51 * <!-- end-user-doc -->
52 * @return whether this factory is applicable for the type of the object.
53 * @generated
54 */
55 @Override
56 public boolean isFactoryForType(Object object)
57 {
58 if (object == modelPackage)
59 {
60 return true;
61 }
62 if (object instanceof EObject)
63 {
64 return ((EObject)object).eClass().getEPackage() == modelPackage;
65 }
66 return false;
67 }
68
69 /**
70 * The switch that delegates to the <code>createXXX</code> methods.
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 protected SolverLanguageSwitch<Adapter> modelSwitch =
76 new SolverLanguageSwitch<Adapter>()
77 {
78 @Override
79 public Adapter caseProblem(Problem object)
80 {
81 return createProblemAdapter();
82 }
83 @Override
84 public Adapter caseStatement(Statement object)
85 {
86 return createStatementAdapter();
87 }
88 @Override
89 public Adapter casePredicateDefinition(PredicateDefinition object)
90 {
91 return createPredicateDefinitionAdapter();
92 }
93 @Override
94 public Adapter caseUnnamedErrorPrediateDefinition(UnnamedErrorPrediateDefinition object)
95 {
96 return createUnnamedErrorPrediateDefinitionAdapter();
97 }
98 @Override
99 public Adapter caseDefaultDefinition(DefaultDefinition object)
100 {
101 return createDefaultDefinitionAdapter();
102 }
103 @Override
104 public Adapter caseExternPredicateDefinition(ExternPredicateDefinition object)
105 {
106 return createExternPredicateDefinitionAdapter();
107 }
108 @Override
109 public Adapter caseMetricDefinition(MetricDefinition object)
110 {
111 return createMetricDefinitionAdapter();
112 }
113 @Override
114 public Adapter caseExternMetricDefinition(ExternMetricDefinition object)
115 {
116 return createExternMetricDefinitionAdapter();
117 }
118 @Override
119 public Adapter caseExpression(Expression object)
120 {
121 return createExpressionAdapter();
122 }
123 @Override
124 public Adapter caseIfElse(IfElse object)
125 {
126 return createIfElseAdapter();
127 }
128 @Override
129 public Adapter caseCase(Case object)
130 {
131 return createCaseAdapter();
132 }
133 @Override
134 public Adapter caseCount(Count object)
135 {
136 return createCountAdapter();
137 }
138 @Override
139 public Adapter caseAggregation(Aggregation object)
140 {
141 return createAggregationAdapter();
142 }
143 @Override
144 public Adapter caseCall(Call object)
145 {
146 return createCallAdapter();
147 }
148 @Override
149 public Adapter caseArgumentList(ArgumentList object)
150 {
151 return createArgumentListAdapter();
152 }
153 @Override
154 public Adapter caseArgument(Argument object)
155 {
156 return createArgumentAdapter();
157 }
158 @Override
159 public Adapter caseExpressionArgument(ExpressionArgument object)
160 {
161 return createExpressionArgumentAdapter();
162 }
163 @Override
164 public Adapter caseStarArgument(StarArgument object)
165 {
166 return createStarArgumentAdapter();
167 }
168 @Override
169 public Adapter caseTypedArgument(TypedArgument object)
170 {
171 return createTypedArgumentAdapter();
172 }
173 @Override
174 public Adapter caseTypedStarArgument(TypedStarArgument object)
175 {
176 return createTypedStarArgumentAdapter();
177 }
178 @Override
179 public Adapter caseReference(Reference object)
180 {
181 return createReferenceAdapter();
182 }
183 @Override
184 public Adapter caseInterval(Interval object)
185 {
186 return createIntervalAdapter();
187 }
188 @Override
189 public Adapter caseLiteral(Literal object)
190 {
191 return createLiteralAdapter();
192 }
193 @Override
194 public Adapter caseLogicLiteral(LogicLiteral object)
195 {
196 return createLogicLiteralAdapter();
197 }
198 @Override
199 public Adapter caseNumericLiteral(NumericLiteral object)
200 {
201 return createNumericLiteralAdapter();
202 }
203 @Override
204 public Adapter caseInfinityLiteral(InfinityLiteral object)
205 {
206 return createInfinityLiteralAdapter();
207 }
208 @Override
209 public Adapter caseEmptyIntervalLiteral(EmptyIntervalLiteral object)
210 {
211 return createEmptyIntervalLiteralAdapter();
212 }
213 @Override
214 public Adapter caseStringLiteral(StringLiteral object)
215 {
216 return createStringLiteralAdapter();
217 }
218 @Override
219 public Adapter caseClassDefinition(ClassDefinition object)
220 {
221 return createClassDefinitionAdapter();
222 }
223 @Override
224 public Adapter caseMemberDefinition(MemberDefinition object)
225 {
226 return createMemberDefinitionAdapter();
227 }
228 @Override
229 public Adapter caseMultiplicity(Multiplicity object)
230 {
231 return createMultiplicityAdapter();
232 }
233 @Override
234 public Adapter caseManyMultiplicity(ManyMultiplicity object)
235 {
236 return createManyMultiplicityAdapter();
237 }
238 @Override
239 public Adapter caseExactMultiplicity(ExactMultiplicity object)
240 {
241 return createExactMultiplicityAdapter();
242 }
243 @Override
244 public Adapter caseBoundedMultiplicity(BoundedMultiplicity object)
245 {
246 return createBoundedMultiplicityAdapter();
247 }
248 @Override
249 public Adapter caseScopeDefinition(ScopeDefinition object)
250 {
251 return createScopeDefinitionAdapter();
252 }
253 @Override
254 public Adapter caseExactScopeDefinition(ExactScopeDefinition object)
255 {
256 return createExactScopeDefinitionAdapter();
257 }
258 @Override
259 public Adapter caseBoundedScopeDefinition(BoundedScopeDefinition object)
260 {
261 return createBoundedScopeDefinitionAdapter();
262 }
263 @Override
264 public Adapter caseLowerBoundedScopeDefinition(LowerBoundedScopeDefinition object)
265 {
266 return createLowerBoundedScopeDefinitionAdapter();
267 }
268 @Override
269 public Adapter caseObjectiveDefinition(ObjectiveDefinition object)
270 {
271 return createObjectiveDefinitionAdapter();
272 }
273 @Override
274 public Adapter caseNamedElement(NamedElement object)
275 {
276 return createNamedElementAdapter();
277 }
278 @Override
279 public Adapter caseAssertion(Assertion object)
280 {
281 return createAssertionAdapter();
282 }
283 @Override
284 public Adapter caseDisjunction(Disjunction object)
285 {
286 return createDisjunctionAdapter();
287 }
288 @Override
289 public Adapter caseSwitch(Switch object)
290 {
291 return createSwitchAdapter();
292 }
293 @Override
294 public Adapter caseConjunction(Conjunction object)
295 {
296 return createConjunctionAdapter();
297 }
298 @Override
299 public Adapter caseComparison(Comparison object)
300 {
301 return createComparisonAdapter();
302 }
303 @Override
304 public Adapter caseBinaryExpression(BinaryExpression object)
305 {
306 return createBinaryExpressionAdapter();
307 }
308 @Override
309 public Adapter caseUnaryExpression(UnaryExpression object)
310 {
311 return createUnaryExpressionAdapter();
312 }
313 @Override
314 public Adapter defaultCase(EObject object)
315 {
316 return createEObjectAdapter();
317 }
318 };
319
320 /**
321 * Creates an adapter for the <code>target</code>.
322 * <!-- begin-user-doc -->
323 * <!-- end-user-doc -->
324 * @param target the object to adapt.
325 * @return the adapter for the <code>target</code>.
326 * @generated
327 */
328 @Override
329 public Adapter createAdapter(Notifier target)
330 {
331 return modelSwitch.doSwitch((EObject)target);
332 }
333
334
335 /**
336 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Problem <em>Problem</em>}'.
337 * <!-- begin-user-doc -->
338 * This default implementation returns null so that we can easily ignore cases;
339 * it's useful to ignore a case when inheritance will catch all the cases anyway.
340 * <!-- end-user-doc -->
341 * @return the new adapter.
342 * @see org.eclipse.viatra.solver.language.solverLanguage.Problem
343 * @generated
344 */
345 public Adapter createProblemAdapter()
346 {
347 return null;
348 }
349
350 /**
351 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Statement <em>Statement</em>}'.
352 * <!-- begin-user-doc -->
353 * This default implementation returns null so that we can easily ignore cases;
354 * it's useful to ignore a case when inheritance will catch all the cases anyway.
355 * <!-- end-user-doc -->
356 * @return the new adapter.
357 * @see org.eclipse.viatra.solver.language.solverLanguage.Statement
358 * @generated
359 */
360 public Adapter createStatementAdapter()
361 {
362 return null;
363 }
364
365 /**
366 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition <em>Predicate Definition</em>}'.
367 * <!-- begin-user-doc -->
368 * This default implementation returns null so that we can easily ignore cases;
369 * it's useful to ignore a case when inheritance will catch all the cases anyway.
370 * <!-- end-user-doc -->
371 * @return the new adapter.
372 * @see org.eclipse.viatra.solver.language.solverLanguage.PredicateDefinition
373 * @generated
374 */
375 public Adapter createPredicateDefinitionAdapter()
376 {
377 return null;
378 }
379
380 /**
381 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition <em>Unnamed Error Prediate Definition</em>}'.
382 * <!-- begin-user-doc -->
383 * This default implementation returns null so that we can easily ignore cases;
384 * it's useful to ignore a case when inheritance will catch all the cases anyway.
385 * <!-- end-user-doc -->
386 * @return the new adapter.
387 * @see org.eclipse.viatra.solver.language.solverLanguage.UnnamedErrorPrediateDefinition
388 * @generated
389 */
390 public Adapter createUnnamedErrorPrediateDefinitionAdapter()
391 {
392 return null;
393 }
394
395 /**
396 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition <em>Default Definition</em>}'.
397 * <!-- begin-user-doc -->
398 * This default implementation returns null so that we can easily ignore cases;
399 * it's useful to ignore a case when inheritance will catch all the cases anyway.
400 * <!-- end-user-doc -->
401 * @return the new adapter.
402 * @see org.eclipse.viatra.solver.language.solverLanguage.DefaultDefinition
403 * @generated
404 */
405 public Adapter createDefaultDefinitionAdapter()
406 {
407 return null;
408 }
409
410 /**
411 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition <em>Extern Predicate Definition</em>}'.
412 * <!-- begin-user-doc -->
413 * This default implementation returns null so that we can easily ignore cases;
414 * it's useful to ignore a case when inheritance will catch all the cases anyway.
415 * <!-- end-user-doc -->
416 * @return the new adapter.
417 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternPredicateDefinition
418 * @generated
419 */
420 public Adapter createExternPredicateDefinitionAdapter()
421 {
422 return null;
423 }
424
425 /**
426 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition <em>Metric Definition</em>}'.
427 * <!-- begin-user-doc -->
428 * This default implementation returns null so that we can easily ignore cases;
429 * it's useful to ignore a case when inheritance will catch all the cases anyway.
430 * <!-- end-user-doc -->
431 * @return the new adapter.
432 * @see org.eclipse.viatra.solver.language.solverLanguage.MetricDefinition
433 * @generated
434 */
435 public Adapter createMetricDefinitionAdapter()
436 {
437 return null;
438 }
439
440 /**
441 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition <em>Extern Metric Definition</em>}'.
442 * <!-- begin-user-doc -->
443 * This default implementation returns null so that we can easily ignore cases;
444 * it's useful to ignore a case when inheritance will catch all the cases anyway.
445 * <!-- end-user-doc -->
446 * @return the new adapter.
447 * @see org.eclipse.viatra.solver.language.solverLanguage.ExternMetricDefinition
448 * @generated
449 */
450 public Adapter createExternMetricDefinitionAdapter()
451 {
452 return null;
453 }
454
455 /**
456 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Expression <em>Expression</em>}'.
457 * <!-- begin-user-doc -->
458 * This default implementation returns null so that we can easily ignore cases;
459 * it's useful to ignore a case when inheritance will catch all the cases anyway.
460 * <!-- end-user-doc -->
461 * @return the new adapter.
462 * @see org.eclipse.viatra.solver.language.solverLanguage.Expression
463 * @generated
464 */
465 public Adapter createExpressionAdapter()
466 {
467 return null;
468 }
469
470 /**
471 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.IfElse <em>If Else</em>}'.
472 * <!-- begin-user-doc -->
473 * This default implementation returns null so that we can easily ignore cases;
474 * it's useful to ignore a case when inheritance will catch all the cases anyway.
475 * <!-- end-user-doc -->
476 * @return the new adapter.
477 * @see org.eclipse.viatra.solver.language.solverLanguage.IfElse
478 * @generated
479 */
480 public Adapter createIfElseAdapter()
481 {
482 return null;
483 }
484
485 /**
486 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Case <em>Case</em>}'.
487 * <!-- begin-user-doc -->
488 * This default implementation returns null so that we can easily ignore cases;
489 * it's useful to ignore a case when inheritance will catch all the cases anyway.
490 * <!-- end-user-doc -->
491 * @return the new adapter.
492 * @see org.eclipse.viatra.solver.language.solverLanguage.Case
493 * @generated
494 */
495 public Adapter createCaseAdapter()
496 {
497 return null;
498 }
499
500 /**
501 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Count <em>Count</em>}'.
502 * <!-- begin-user-doc -->
503 * This default implementation returns null so that we can easily ignore cases;
504 * it's useful to ignore a case when inheritance will catch all the cases anyway.
505 * <!-- end-user-doc -->
506 * @return the new adapter.
507 * @see org.eclipse.viatra.solver.language.solverLanguage.Count
508 * @generated
509 */
510 public Adapter createCountAdapter()
511 {
512 return null;
513 }
514
515 /**
516 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Aggregation <em>Aggregation</em>}'.
517 * <!-- begin-user-doc -->
518 * This default implementation returns null so that we can easily ignore cases;
519 * it's useful to ignore a case when inheritance will catch all the cases anyway.
520 * <!-- end-user-doc -->
521 * @return the new adapter.
522 * @see org.eclipse.viatra.solver.language.solverLanguage.Aggregation
523 * @generated
524 */
525 public Adapter createAggregationAdapter()
526 {
527 return null;
528 }
529
530 /**
531 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Call <em>Call</em>}'.
532 * <!-- begin-user-doc -->
533 * This default implementation returns null so that we can easily ignore cases;
534 * it's useful to ignore a case when inheritance will catch all the cases anyway.
535 * <!-- end-user-doc -->
536 * @return the new adapter.
537 * @see org.eclipse.viatra.solver.language.solverLanguage.Call
538 * @generated
539 */
540 public Adapter createCallAdapter()
541 {
542 return null;
543 }
544
545 /**
546 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ArgumentList <em>Argument List</em>}'.
547 * <!-- begin-user-doc -->
548 * This default implementation returns null so that we can easily ignore cases;
549 * it's useful to ignore a case when inheritance will catch all the cases anyway.
550 * <!-- end-user-doc -->
551 * @return the new adapter.
552 * @see org.eclipse.viatra.solver.language.solverLanguage.ArgumentList
553 * @generated
554 */
555 public Adapter createArgumentListAdapter()
556 {
557 return null;
558 }
559
560 /**
561 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Argument <em>Argument</em>}'.
562 * <!-- begin-user-doc -->
563 * This default implementation returns null so that we can easily ignore cases;
564 * it's useful to ignore a case when inheritance will catch all the cases anyway.
565 * <!-- end-user-doc -->
566 * @return the new adapter.
567 * @see org.eclipse.viatra.solver.language.solverLanguage.Argument
568 * @generated
569 */
570 public Adapter createArgumentAdapter()
571 {
572 return null;
573 }
574
575 /**
576 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument <em>Expression Argument</em>}'.
577 * <!-- begin-user-doc -->
578 * This default implementation returns null so that we can easily ignore cases;
579 * it's useful to ignore a case when inheritance will catch all the cases anyway.
580 * <!-- end-user-doc -->
581 * @return the new adapter.
582 * @see org.eclipse.viatra.solver.language.solverLanguage.ExpressionArgument
583 * @generated
584 */
585 public Adapter createExpressionArgumentAdapter()
586 {
587 return null;
588 }
589
590 /**
591 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.StarArgument <em>Star Argument</em>}'.
592 * <!-- begin-user-doc -->
593 * This default implementation returns null so that we can easily ignore cases;
594 * it's useful to ignore a case when inheritance will catch all the cases anyway.
595 * <!-- end-user-doc -->
596 * @return the new adapter.
597 * @see org.eclipse.viatra.solver.language.solverLanguage.StarArgument
598 * @generated
599 */
600 public Adapter createStarArgumentAdapter()
601 {
602 return null;
603 }
604
605 /**
606 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedArgument <em>Typed Argument</em>}'.
607 * <!-- begin-user-doc -->
608 * This default implementation returns null so that we can easily ignore cases;
609 * it's useful to ignore a case when inheritance will catch all the cases anyway.
610 * <!-- end-user-doc -->
611 * @return the new adapter.
612 * @see org.eclipse.viatra.solver.language.solverLanguage.TypedArgument
613 * @generated
614 */
615 public Adapter createTypedArgumentAdapter()
616 {
617 return null;
618 }
619
620 /**
621 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument <em>Typed Star Argument</em>}'.
622 * <!-- begin-user-doc -->
623 * This default implementation returns null so that we can easily ignore cases;
624 * it's useful to ignore a case when inheritance will catch all the cases anyway.
625 * <!-- end-user-doc -->
626 * @return the new adapter.
627 * @see org.eclipse.viatra.solver.language.solverLanguage.TypedStarArgument
628 * @generated
629 */
630 public Adapter createTypedStarArgumentAdapter()
631 {
632 return null;
633 }
634
635 /**
636 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Reference <em>Reference</em>}'.
637 * <!-- begin-user-doc -->
638 * This default implementation returns null so that we can easily ignore cases;
639 * it's useful to ignore a case when inheritance will catch all the cases anyway.
640 * <!-- end-user-doc -->
641 * @return the new adapter.
642 * @see org.eclipse.viatra.solver.language.solverLanguage.Reference
643 * @generated
644 */
645 public Adapter createReferenceAdapter()
646 {
647 return null;
648 }
649
650 /**
651 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Interval <em>Interval</em>}'.
652 * <!-- begin-user-doc -->
653 * This default implementation returns null so that we can easily ignore cases;
654 * it's useful to ignore a case when inheritance will catch all the cases anyway.
655 * <!-- end-user-doc -->
656 * @return the new adapter.
657 * @see org.eclipse.viatra.solver.language.solverLanguage.Interval
658 * @generated
659 */
660 public Adapter createIntervalAdapter()
661 {
662 return null;
663 }
664
665 /**
666 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Literal <em>Literal</em>}'.
667 * <!-- begin-user-doc -->
668 * This default implementation returns null so that we can easily ignore cases;
669 * it's useful to ignore a case when inheritance will catch all the cases anyway.
670 * <!-- end-user-doc -->
671 * @return the new adapter.
672 * @see org.eclipse.viatra.solver.language.solverLanguage.Literal
673 * @generated
674 */
675 public Adapter createLiteralAdapter()
676 {
677 return null;
678 }
679
680 /**
681 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral <em>Logic Literal</em>}'.
682 * <!-- begin-user-doc -->
683 * This default implementation returns null so that we can easily ignore cases;
684 * it's useful to ignore a case when inheritance will catch all the cases anyway.
685 * <!-- end-user-doc -->
686 * @return the new adapter.
687 * @see org.eclipse.viatra.solver.language.solverLanguage.LogicLiteral
688 * @generated
689 */
690 public Adapter createLogicLiteralAdapter()
691 {
692 return null;
693 }
694
695 /**
696 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral <em>Numeric Literal</em>}'.
697 * <!-- begin-user-doc -->
698 * This default implementation returns null so that we can easily ignore cases;
699 * it's useful to ignore a case when inheritance will catch all the cases anyway.
700 * <!-- end-user-doc -->
701 * @return the new adapter.
702 * @see org.eclipse.viatra.solver.language.solverLanguage.NumericLiteral
703 * @generated
704 */
705 public Adapter createNumericLiteralAdapter()
706 {
707 return null;
708 }
709
710 /**
711 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral <em>Infinity Literal</em>}'.
712 * <!-- begin-user-doc -->
713 * This default implementation returns null so that we can easily ignore cases;
714 * it's useful to ignore a case when inheritance will catch all the cases anyway.
715 * <!-- end-user-doc -->
716 * @return the new adapter.
717 * @see org.eclipse.viatra.solver.language.solverLanguage.InfinityLiteral
718 * @generated
719 */
720 public Adapter createInfinityLiteralAdapter()
721 {
722 return null;
723 }
724
725 /**
726 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral <em>Empty Interval Literal</em>}'.
727 * <!-- begin-user-doc -->
728 * This default implementation returns null so that we can easily ignore cases;
729 * it's useful to ignore a case when inheritance will catch all the cases anyway.
730 * <!-- end-user-doc -->
731 * @return the new adapter.
732 * @see org.eclipse.viatra.solver.language.solverLanguage.EmptyIntervalLiteral
733 * @generated
734 */
735 public Adapter createEmptyIntervalLiteralAdapter()
736 {
737 return null;
738 }
739
740 /**
741 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.StringLiteral <em>String Literal</em>}'.
742 * <!-- begin-user-doc -->
743 * This default implementation returns null so that we can easily ignore cases;
744 * it's useful to ignore a case when inheritance will catch all the cases anyway.
745 * <!-- end-user-doc -->
746 * @return the new adapter.
747 * @see org.eclipse.viatra.solver.language.solverLanguage.StringLiteral
748 * @generated
749 */
750 public Adapter createStringLiteralAdapter()
751 {
752 return null;
753 }
754
755 /**
756 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition <em>Class Definition</em>}'.
757 * <!-- begin-user-doc -->
758 * This default implementation returns null so that we can easily ignore cases;
759 * it's useful to ignore a case when inheritance will catch all the cases anyway.
760 * <!-- end-user-doc -->
761 * @return the new adapter.
762 * @see org.eclipse.viatra.solver.language.solverLanguage.ClassDefinition
763 * @generated
764 */
765 public Adapter createClassDefinitionAdapter()
766 {
767 return null;
768 }
769
770 /**
771 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition <em>Member Definition</em>}'.
772 * <!-- begin-user-doc -->
773 * This default implementation returns null so that we can easily ignore cases;
774 * it's useful to ignore a case when inheritance will catch all the cases anyway.
775 * <!-- end-user-doc -->
776 * @return the new adapter.
777 * @see org.eclipse.viatra.solver.language.solverLanguage.MemberDefinition
778 * @generated
779 */
780 public Adapter createMemberDefinitionAdapter()
781 {
782 return null;
783 }
784
785 /**
786 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Multiplicity <em>Multiplicity</em>}'.
787 * <!-- begin-user-doc -->
788 * This default implementation returns null so that we can easily ignore cases;
789 * it's useful to ignore a case when inheritance will catch all the cases anyway.
790 * <!-- end-user-doc -->
791 * @return the new adapter.
792 * @see org.eclipse.viatra.solver.language.solverLanguage.Multiplicity
793 * @generated
794 */
795 public Adapter createMultiplicityAdapter()
796 {
797 return null;
798 }
799
800 /**
801 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity <em>Many Multiplicity</em>}'.
802 * <!-- begin-user-doc -->
803 * This default implementation returns null so that we can easily ignore cases;
804 * it's useful to ignore a case when inheritance will catch all the cases anyway.
805 * <!-- end-user-doc -->
806 * @return the new adapter.
807 * @see org.eclipse.viatra.solver.language.solverLanguage.ManyMultiplicity
808 * @generated
809 */
810 public Adapter createManyMultiplicityAdapter()
811 {
812 return null;
813 }
814
815 /**
816 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity <em>Exact Multiplicity</em>}'.
817 * <!-- begin-user-doc -->
818 * This default implementation returns null so that we can easily ignore cases;
819 * it's useful to ignore a case when inheritance will catch all the cases anyway.
820 * <!-- end-user-doc -->
821 * @return the new adapter.
822 * @see org.eclipse.viatra.solver.language.solverLanguage.ExactMultiplicity
823 * @generated
824 */
825 public Adapter createExactMultiplicityAdapter()
826 {
827 return null;
828 }
829
830 /**
831 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity <em>Bounded Multiplicity</em>}'.
832 * <!-- begin-user-doc -->
833 * This default implementation returns null so that we can easily ignore cases;
834 * it's useful to ignore a case when inheritance will catch all the cases anyway.
835 * <!-- end-user-doc -->
836 * @return the new adapter.
837 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedMultiplicity
838 * @generated
839 */
840 public Adapter createBoundedMultiplicityAdapter()
841 {
842 return null;
843 }
844
845 /**
846 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition <em>Scope Definition</em>}'.
847 * <!-- begin-user-doc -->
848 * This default implementation returns null so that we can easily ignore cases;
849 * it's useful to ignore a case when inheritance will catch all the cases anyway.
850 * <!-- end-user-doc -->
851 * @return the new adapter.
852 * @see org.eclipse.viatra.solver.language.solverLanguage.ScopeDefinition
853 * @generated
854 */
855 public Adapter createScopeDefinitionAdapter()
856 {
857 return null;
858 }
859
860 /**
861 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition <em>Exact Scope Definition</em>}'.
862 * <!-- begin-user-doc -->
863 * This default implementation returns null so that we can easily ignore cases;
864 * it's useful to ignore a case when inheritance will catch all the cases anyway.
865 * <!-- end-user-doc -->
866 * @return the new adapter.
867 * @see org.eclipse.viatra.solver.language.solverLanguage.ExactScopeDefinition
868 * @generated
869 */
870 public Adapter createExactScopeDefinitionAdapter()
871 {
872 return null;
873 }
874
875 /**
876 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition <em>Bounded Scope Definition</em>}'.
877 * <!-- begin-user-doc -->
878 * This default implementation returns null so that we can easily ignore cases;
879 * it's useful to ignore a case when inheritance will catch all the cases anyway.
880 * <!-- end-user-doc -->
881 * @return the new adapter.
882 * @see org.eclipse.viatra.solver.language.solverLanguage.BoundedScopeDefinition
883 * @generated
884 */
885 public Adapter createBoundedScopeDefinitionAdapter()
886 {
887 return null;
888 }
889
890 /**
891 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition <em>Lower Bounded Scope Definition</em>}'.
892 * <!-- begin-user-doc -->
893 * This default implementation returns null so that we can easily ignore cases;
894 * it's useful to ignore a case when inheritance will catch all the cases anyway.
895 * <!-- end-user-doc -->
896 * @return the new adapter.
897 * @see org.eclipse.viatra.solver.language.solverLanguage.LowerBoundedScopeDefinition
898 * @generated
899 */
900 public Adapter createLowerBoundedScopeDefinitionAdapter()
901 {
902 return null;
903 }
904
905 /**
906 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition <em>Objective Definition</em>}'.
907 * <!-- begin-user-doc -->
908 * This default implementation returns null so that we can easily ignore cases;
909 * it's useful to ignore a case when inheritance will catch all the cases anyway.
910 * <!-- end-user-doc -->
911 * @return the new adapter.
912 * @see org.eclipse.viatra.solver.language.solverLanguage.ObjectiveDefinition
913 * @generated
914 */
915 public Adapter createObjectiveDefinitionAdapter()
916 {
917 return null;
918 }
919
920 /**
921 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.NamedElement <em>Named Element</em>}'.
922 * <!-- begin-user-doc -->
923 * This default implementation returns null so that we can easily ignore cases;
924 * it's useful to ignore a case when inheritance will catch all the cases anyway.
925 * <!-- end-user-doc -->
926 * @return the new adapter.
927 * @see org.eclipse.viatra.solver.language.solverLanguage.NamedElement
928 * @generated
929 */
930 public Adapter createNamedElementAdapter()
931 {
932 return null;
933 }
934
935 /**
936 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Assertion <em>Assertion</em>}'.
937 * <!-- begin-user-doc -->
938 * This default implementation returns null so that we can easily ignore cases;
939 * it's useful to ignore a case when inheritance will catch all the cases anyway.
940 * <!-- end-user-doc -->
941 * @return the new adapter.
942 * @see org.eclipse.viatra.solver.language.solverLanguage.Assertion
943 * @generated
944 */
945 public Adapter createAssertionAdapter()
946 {
947 return null;
948 }
949
950 /**
951 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Disjunction <em>Disjunction</em>}'.
952 * <!-- begin-user-doc -->
953 * This default implementation returns null so that we can easily ignore cases;
954 * it's useful to ignore a case when inheritance will catch all the cases anyway.
955 * <!-- end-user-doc -->
956 * @return the new adapter.
957 * @see org.eclipse.viatra.solver.language.solverLanguage.Disjunction
958 * @generated
959 */
960 public Adapter createDisjunctionAdapter()
961 {
962 return null;
963 }
964
965 /**
966 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Switch <em>Switch</em>}'.
967 * <!-- begin-user-doc -->
968 * This default implementation returns null so that we can easily ignore cases;
969 * it's useful to ignore a case when inheritance will catch all the cases anyway.
970 * <!-- end-user-doc -->
971 * @return the new adapter.
972 * @see org.eclipse.viatra.solver.language.solverLanguage.Switch
973 * @generated
974 */
975 public Adapter createSwitchAdapter()
976 {
977 return null;
978 }
979
980 /**
981 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Conjunction <em>Conjunction</em>}'.
982 * <!-- begin-user-doc -->
983 * This default implementation returns null so that we can easily ignore cases;
984 * it's useful to ignore a case when inheritance will catch all the cases anyway.
985 * <!-- end-user-doc -->
986 * @return the new adapter.
987 * @see org.eclipse.viatra.solver.language.solverLanguage.Conjunction
988 * @generated
989 */
990 public Adapter createConjunctionAdapter()
991 {
992 return null;
993 }
994
995 /**
996 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.Comparison <em>Comparison</em>}'.
997 * <!-- begin-user-doc -->
998 * This default implementation returns null so that we can easily ignore cases;
999 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1000 * <!-- end-user-doc -->
1001 * @return the new adapter.
1002 * @see org.eclipse.viatra.solver.language.solverLanguage.Comparison
1003 * @generated
1004 */
1005 public Adapter createComparisonAdapter()
1006 {
1007 return null;
1008 }
1009
1010 /**
1011 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression <em>Binary Expression</em>}'.
1012 * <!-- begin-user-doc -->
1013 * This default implementation returns null so that we can easily ignore cases;
1014 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1015 * <!-- end-user-doc -->
1016 * @return the new adapter.
1017 * @see org.eclipse.viatra.solver.language.solverLanguage.BinaryExpression
1018 * @generated
1019 */
1020 public Adapter createBinaryExpressionAdapter()
1021 {
1022 return null;
1023 }
1024
1025 /**
1026 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression <em>Unary Expression</em>}'.
1027 * <!-- begin-user-doc -->
1028 * This default implementation returns null so that we can easily ignore cases;
1029 * it's useful to ignore a case when inheritance will catch all the cases anyway.
1030 * <!-- end-user-doc -->
1031 * @return the new adapter.
1032 * @see org.eclipse.viatra.solver.language.solverLanguage.UnaryExpression
1033 * @generated
1034 */
1035 public Adapter createUnaryExpressionAdapter()
1036 {
1037 return null;
1038 }
1039
1040 /**
1041 * Creates a new adapter for the default case.
1042 * <!-- begin-user-doc -->
1043 * This default implementation returns null.
1044 * <!-- end-user-doc -->
1045 * @return the new adapter.
1046 * @generated
1047 */
1048 public Adapter createEObjectAdapter()
1049 {
1050 return null;
1051 }
1052
1053} //SolverLanguageAdapterFactory
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java
deleted file mode 100644
index 79a98ff7..00000000
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/solverLanguage/util/SolverLanguageSwitch.java
+++ /dev/null
@@ -1,1245 +0,0 @@
1/**
2 * generated by Xtext 2.21.0
3 */
4package org.eclipse.viatra.solver.language.solverLanguage.util;
5
6import org.eclipse.emf.ecore.EObject;
7import org.eclipse.emf.ecore.EPackage;
8
9import org.eclipse.emf.ecore.util.Switch;
10
11import org.eclipse.viatra.solver.language.solverLanguage.*;
12
13/**
14 * <!-- begin-user-doc -->
15 * The <b>Switch</b> for the model's inheritance hierarchy.
16 * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
17 * to invoke the <code>caseXXX</code> method for each class of the model,
18 * starting with the actual class of the object
19 * and proceeding up the inheritance hierarchy
20 * until a non-null result is returned,
21 * which is the result of the switch.
22 * <!-- end-user-doc -->
23 * @see org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage
24 * @generated
25 */
26public class SolverLanguageSwitch<T> extends Switch<T>
27{
28 /**
29 * The cached model package
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 protected static SolverLanguagePackage modelPackage;
35
36 /**
37 * Creates an instance of the switch.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @generated
41 */
42 public SolverLanguageSwitch()
43 {
44 if (modelPackage == null)
45 {
46 modelPackage = SolverLanguagePackage.eINSTANCE;
47 }
48 }
49
50 /**
51 * Checks whether this is a switch for the given package.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @param ePackage the package in question.
55 * @return whether this is a switch for the given package.
56 * @generated
57 */
58 @Override
59 protected boolean isSwitchFor(EPackage ePackage)
60 {
61 return ePackage == modelPackage;
62 }
63
64 /**
65 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @return the first non-null result returned by a <code>caseXXX</code> call.
69 * @generated
70 */
71 @Override
72 protected T doSwitch(int classifierID, EObject theEObject)
73 {
74 switch (classifierID)
75 {
76 case SolverLanguagePackage.PROBLEM:
77 {
78 Problem problem = (Problem)theEObject;
79 T result = caseProblem(problem);
80 if (result == null) result = defaultCase(theEObject);
81 return result;
82 }
83 case SolverLanguagePackage.STATEMENT:
84 {
85 Statement statement = (Statement)theEObject;
86 T result = caseStatement(statement);
87 if (result == null) result = defaultCase(theEObject);
88 return result;
89 }
90 case SolverLanguagePackage.PREDICATE_DEFINITION:
91 {
92 PredicateDefinition predicateDefinition = (PredicateDefinition)theEObject;
93 T result = casePredicateDefinition(predicateDefinition);
94 if (result == null) result = caseStatement(predicateDefinition);
95 if (result == null) result = defaultCase(theEObject);
96 return result;
97 }
98 case SolverLanguagePackage.UNNAMED_ERROR_PREDIATE_DEFINITION:
99 {
100 UnnamedErrorPrediateDefinition unnamedErrorPrediateDefinition = (UnnamedErrorPrediateDefinition)theEObject;
101 T result = caseUnnamedErrorPrediateDefinition(unnamedErrorPrediateDefinition);
102 if (result == null) result = caseStatement(unnamedErrorPrediateDefinition);
103 if (result == null) result = defaultCase(theEObject);
104 return result;
105 }
106 case SolverLanguagePackage.DEFAULT_DEFINITION:
107 {
108 DefaultDefinition defaultDefinition = (DefaultDefinition)theEObject;
109 T result = caseDefaultDefinition(defaultDefinition);
110 if (result == null) result = caseStatement(defaultDefinition);
111 if (result == null) result = defaultCase(theEObject);
112 return result;
113 }
114 case SolverLanguagePackage.EXTERN_PREDICATE_DEFINITION:
115 {
116 ExternPredicateDefinition externPredicateDefinition = (ExternPredicateDefinition)theEObject;
117 T result = caseExternPredicateDefinition(externPredicateDefinition);
118 if (result == null) result = caseStatement(externPredicateDefinition);
119 if (result == null) result = defaultCase(theEObject);
120 return result;
121 }
122 case SolverLanguagePackage.METRIC_DEFINITION:
123 {
124 MetricDefinition metricDefinition = (MetricDefinition)theEObject;
125 T result = caseMetricDefinition(metricDefinition);
126 if (result == null) result = caseStatement(metricDefinition);
127 if (result == null) result = defaultCase(theEObject);
128 return result;
129 }
130 case SolverLanguagePackage.EXTERN_METRIC_DEFINITION:
131 {
132 ExternMetricDefinition externMetricDefinition = (ExternMetricDefinition)theEObject;
133 T result = caseExternMetricDefinition(externMetricDefinition);
134 if (result == null) result = caseStatement(externMetricDefinition);
135 if (result == null) result = defaultCase(theEObject);
136 return result;
137 }
138 case SolverLanguagePackage.EXPRESSION:
139 {
140 Expression expression = (Expression)theEObject;
141 T result = caseExpression(expression);
142 if (result == null) result = caseStatement(expression);
143 if (result == null) result = defaultCase(theEObject);
144 return result;
145 }
146 case SolverLanguagePackage.IF_ELSE:
147 {
148 IfElse ifElse = (IfElse)theEObject;
149 T result = caseIfElse(ifElse);
150 if (result == null) result = caseExpression(ifElse);
151 if (result == null) result = caseStatement(ifElse);
152 if (result == null) result = defaultCase(theEObject);
153 return result;
154 }
155 case SolverLanguagePackage.CASE:
156 {
157 Case case_ = (Case)theEObject;
158 T result = caseCase(case_);
159 if (result == null) result = caseExpression(case_);
160 if (result == null) result = caseStatement(case_);
161 if (result == null) result = defaultCase(theEObject);
162 return result;
163 }
164 case SolverLanguagePackage.COUNT:
165 {
166 Count count = (Count)theEObject;
167 T result = caseCount(count);
168 if (result == null) result = caseExpression(count);
169 if (result == null) result = caseStatement(count);
170 if (result == null) result = defaultCase(theEObject);
171 return result;
172 }
173 case SolverLanguagePackage.AGGREGATION:
174 {
175 Aggregation aggregation = (Aggregation)theEObject;
176 T result = caseAggregation(aggregation);
177 if (result == null) result = caseExpression(aggregation);
178 if (result == null) result = caseStatement(aggregation);
179 if (result == null) result = defaultCase(theEObject);
180 return result;
181 }
182 case SolverLanguagePackage.CALL:
183 {
184 Call call = (Call)theEObject;
185 T result = caseCall(call);
186 if (result == null) result = caseExpression(call);
187 if (result == null) result = caseStatement(call);
188 if (result == null) result = defaultCase(theEObject);
189 return result;
190 }
191 case SolverLanguagePackage.ARGUMENT_LIST:
192 {
193 ArgumentList argumentList = (ArgumentList)theEObject;
194 T result = caseArgumentList(argumentList);
195 if (result == null) result = defaultCase(theEObject);
196 return result;
197 }
198 case SolverLanguagePackage.ARGUMENT:
199 {
200 Argument argument = (Argument)theEObject;
201 T result = caseArgument(argument);
202 if (result == null) result = defaultCase(theEObject);
203 return result;
204 }
205 case SolverLanguagePackage.EXPRESSION_ARGUMENT:
206 {
207 ExpressionArgument expressionArgument = (ExpressionArgument)theEObject;
208 T result = caseExpressionArgument(expressionArgument);
209 if (result == null) result = caseArgument(expressionArgument);
210 if (result == null) result = defaultCase(theEObject);
211 return result;
212 }
213 case SolverLanguagePackage.STAR_ARGUMENT:
214 {
215 StarArgument starArgument = (StarArgument)theEObject;
216 T result = caseStarArgument(starArgument);
217 if (result == null) result = caseArgument(starArgument);
218 if (result == null) result = defaultCase(theEObject);
219 return result;
220 }
221 case SolverLanguagePackage.TYPED_ARGUMENT:
222 {
223 TypedArgument typedArgument = (TypedArgument)theEObject;
224 T result = caseTypedArgument(typedArgument);
225 if (result == null) result = caseArgument(typedArgument);
226 if (result == null) result = defaultCase(theEObject);
227 return result;
228 }
229 case SolverLanguagePackage.TYPED_STAR_ARGUMENT:
230 {
231 TypedStarArgument typedStarArgument = (TypedStarArgument)theEObject;
232 T result = caseTypedStarArgument(typedStarArgument);
233 if (result == null) result = caseArgument(typedStarArgument);
234 if (result == null) result = defaultCase(theEObject);
235 return result;
236 }
237 case SolverLanguagePackage.REFERENCE:
238 {
239 Reference reference = (Reference)theEObject;
240 T result = caseReference(reference);
241 if (result == null) result = caseExpression(reference);
242 if (result == null) result = caseStatement(reference);
243 if (result == null) result = defaultCase(theEObject);
244 return result;
245 }
246 case SolverLanguagePackage.INTERVAL:
247 {
248 Interval interval = (Interval)theEObject;
249 T result = caseInterval(interval);
250 if (result == null) result = caseExpression(interval);
251 if (result == null) result = caseStatement(interval);
252 if (result == null) result = defaultCase(theEObject);
253 return result;
254 }
255 case SolverLanguagePackage.LITERAL:
256 {
257 Literal literal = (Literal)theEObject;
258 T result = caseLiteral(literal);
259 if (result == null) result = caseExpression(literal);
260 if (result == null) result = caseStatement(literal);
261 if (result == null) result = defaultCase(theEObject);
262 return result;
263 }
264 case SolverLanguagePackage.LOGIC_LITERAL:
265 {
266 LogicLiteral logicLiteral = (LogicLiteral)theEObject;
267 T result = caseLogicLiteral(logicLiteral);
268 if (result == null) result = caseLiteral(logicLiteral);
269 if (result == null) result = caseExpression(logicLiteral);
270 if (result == null) result = caseStatement(logicLiteral);
271 if (result == null) result = defaultCase(theEObject);
272 return result;
273 }
274 case SolverLanguagePackage.NUMERIC_LITERAL:
275 {
276 NumericLiteral numericLiteral = (NumericLiteral)theEObject;
277 T result = caseNumericLiteral(numericLiteral);
278 if (result == null) result = caseLiteral(numericLiteral);
279 if (result == null) result = caseExpression(numericLiteral);
280 if (result == null) result = caseStatement(numericLiteral);
281 if (result == null) result = defaultCase(theEObject);
282 return result;
283 }
284 case SolverLanguagePackage.INFINITY_LITERAL:
285 {
286 InfinityLiteral infinityLiteral = (InfinityLiteral)theEObject;
287 T result = caseInfinityLiteral(infinityLiteral);
288 if (result == null) result = caseLiteral(infinityLiteral);
289 if (result == null) result = caseExpression(infinityLiteral);
290 if (result == null) result = caseStatement(infinityLiteral);
291 if (result == null) result = defaultCase(theEObject);
292 return result;
293 }
294 case SolverLanguagePackage.EMPTY_INTERVAL_LITERAL:
295 {
296 EmptyIntervalLiteral emptyIntervalLiteral = (EmptyIntervalLiteral)theEObject;
297 T result = caseEmptyIntervalLiteral(emptyIntervalLiteral);
298 if (result == null) result = caseLiteral(emptyIntervalLiteral);
299 if (result == null) result = caseExpression(emptyIntervalLiteral);
300 if (result == null) result = caseStatement(emptyIntervalLiteral);
301 if (result == null) result = defaultCase(theEObject);
302 return result;
303 }
304 case SolverLanguagePackage.STRING_LITERAL:
305 {
306 StringLiteral stringLiteral = (StringLiteral)theEObject;
307 T result = caseStringLiteral(stringLiteral);
308 if (result == null) result = caseLiteral(stringLiteral);
309 if (result == null) result = caseExpression(stringLiteral);
310 if (result == null) result = caseStatement(stringLiteral);
311 if (result == null) result = defaultCase(theEObject);
312 return result;
313 }
314 case SolverLanguagePackage.CLASS_DEFINITION:
315 {
316 ClassDefinition classDefinition = (ClassDefinition)theEObject;
317 T result = caseClassDefinition(classDefinition);
318 if (result == null) result = caseStatement(classDefinition);
319 if (result == null) result = defaultCase(theEObject);
320 return result;
321 }
322 case SolverLanguagePackage.MEMBER_DEFINITION:
323 {
324 MemberDefinition memberDefinition = (MemberDefinition)theEObject;
325 T result = caseMemberDefinition(memberDefinition);
326 if (result == null) result = defaultCase(theEObject);
327 return result;
328 }
329 case SolverLanguagePackage.MULTIPLICITY:
330 {
331 Multiplicity multiplicity = (Multiplicity)theEObject;
332 T result = caseMultiplicity(multiplicity);
333 if (result == null) result = defaultCase(theEObject);
334 return result;
335 }
336 case SolverLanguagePackage.MANY_MULTIPLICITY:
337 {
338 ManyMultiplicity manyMultiplicity = (ManyMultiplicity)theEObject;
339 T result = caseManyMultiplicity(manyMultiplicity);
340 if (result == null) result = caseMultiplicity(manyMultiplicity);
341 if (result == null) result = defaultCase(theEObject);
342 return result;
343 }
344 case SolverLanguagePackage.EXACT_MULTIPLICITY:
345 {
346 ExactMultiplicity exactMultiplicity = (ExactMultiplicity)theEObject;
347 T result = caseExactMultiplicity(exactMultiplicity);
348 if (result == null) result = caseMultiplicity(exactMultiplicity);
349 if (result == null) result = defaultCase(theEObject);
350 return result;
351 }
352 case SolverLanguagePackage.BOUNDED_MULTIPLICITY:
353 {
354 BoundedMultiplicity boundedMultiplicity = (BoundedMultiplicity)theEObject;
355 T result = caseBoundedMultiplicity(boundedMultiplicity);
356 if (result == null) result = caseMultiplicity(boundedMultiplicity);
357 if (result == null) result = defaultCase(theEObject);
358 return result;
359 }
360 case SolverLanguagePackage.SCOPE_DEFINITION:
361 {
362 ScopeDefinition scopeDefinition = (ScopeDefinition)theEObject;
363 T result = caseScopeDefinition(scopeDefinition);
364 if (result == null) result = caseStatement(scopeDefinition);
365 if (result == null) result = defaultCase(theEObject);
366 return result;
367 }
368 case SolverLanguagePackage.EXACT_SCOPE_DEFINITION:
369 {
370 ExactScopeDefinition exactScopeDefinition = (ExactScopeDefinition)theEObject;
371 T result = caseExactScopeDefinition(exactScopeDefinition);
372 if (result == null) result = caseScopeDefinition(exactScopeDefinition);
373 if (result == null) result = caseStatement(exactScopeDefinition);
374 if (result == null) result = defaultCase(theEObject);
375 return result;
376 }
377 case SolverLanguagePackage.BOUNDED_SCOPE_DEFINITION:
378 {
379 BoundedScopeDefinition boundedScopeDefinition = (BoundedScopeDefinition)theEObject;
380 T result = caseBoundedScopeDefinition(boundedScopeDefinition);
381 if (result == null) result = caseScopeDefinition(boundedScopeDefinition);
382 if (result == null) result = caseStatement(boundedScopeDefinition);
383 if (result == null) result = defaultCase(theEObject);
384 return result;
385 }
386 case SolverLanguagePackage.LOWER_BOUNDED_SCOPE_DEFINITION:
387 {
388 LowerBoundedScopeDefinition lowerBoundedScopeDefinition = (LowerBoundedScopeDefinition)theEObject;
389 T result = caseLowerBoundedScopeDefinition(lowerBoundedScopeDefinition);
390 if (result == null) result = caseScopeDefinition(lowerBoundedScopeDefinition);
391 if (result == null) result = caseStatement(lowerBoundedScopeDefinition);
392 if (result == null) result = defaultCase(theEObject);
393 return result;
394 }
395 case SolverLanguagePackage.OBJECTIVE_DEFINITION:
396 {
397 ObjectiveDefinition objectiveDefinition = (ObjectiveDefinition)theEObject;
398 T result = caseObjectiveDefinition(objectiveDefinition);
399 if (result == null) result = caseStatement(objectiveDefinition);
400 if (result == null) result = defaultCase(theEObject);
401 return result;
402 }
403 case SolverLanguagePackage.NAMED_ELEMENT:
404 {
405 NamedElement namedElement = (NamedElement)theEObject;
406 T result = caseNamedElement(namedElement);
407 if (result == null) result = defaultCase(theEObject);
408 return result;
409 }
410 case SolverLanguagePackage.ASSERTION:
411 {
412 Assertion assertion = (Assertion)theEObject;
413 T result = caseAssertion(assertion);
414 if (result == null) result = caseStatement(assertion);
415 if (result == null) result = defaultCase(theEObject);
416 return result;
417 }
418 case SolverLanguagePackage.DISJUNCTION:
419 {
420 Disjunction disjunction = (Disjunction)theEObject;
421 T result = caseDisjunction(disjunction);
422 if (result == null) result = caseExpression(disjunction);
423 if (result == null) result = caseStatement(disjunction);
424 if (result == null) result = defaultCase(theEObject);
425 return result;
426 }
427 case SolverLanguagePackage.SWITCH:
428 {
429 org.eclipse.viatra.solver.language.solverLanguage.Switch switch_ = (org.eclipse.viatra.solver.language.solverLanguage.Switch)theEObject;
430 T result = caseSwitch(switch_);
431 if (result == null) result = caseExpression(switch_);
432 if (result == null) result = caseStatement(switch_);
433 if (result == null) result = defaultCase(theEObject);
434 return result;
435 }
436 case SolverLanguagePackage.CONJUNCTION:
437 {
438 Conjunction conjunction = (Conjunction)theEObject;
439 T result = caseConjunction(conjunction);
440 if (result == null) result = caseExpression(conjunction);
441 if (result == null) result = caseStatement(conjunction);
442 if (result == null) result = defaultCase(theEObject);
443 return result;
444 }
445 case SolverLanguagePackage.COMPARISON:
446 {
447 Comparison comparison = (Comparison)theEObject;
448 T result = caseComparison(comparison);
449 if (result == null) result = caseExpression(comparison);
450 if (result == null) result = caseStatement(comparison);
451 if (result == null) result = defaultCase(theEObject);
452 return result;
453 }
454 case SolverLanguagePackage.BINARY_EXPRESSION:
455 {
456 BinaryExpression binaryExpression = (BinaryExpression)theEObject;
457 T result = caseBinaryExpression(binaryExpression);
458 if (result == null) result = caseExpression(binaryExpression);
459 if (result == null) result = caseStatement(binaryExpression);
460 if (result == null) result = defaultCase(theEObject);
461 return result;
462 }
463 case SolverLanguagePackage.UNARY_EXPRESSION:
464 {
465 UnaryExpression unaryExpression = (UnaryExpression)theEObject;
466 T result = caseUnaryExpression(unaryExpression);
467 if (result == null) result = caseExpression(unaryExpression);
468 if (result == null) result = caseStatement(unaryExpression);
469 if (result == null) result = defaultCase(theEObject);
470 return result;
471 }
472 default: return defaultCase(theEObject);
473 }
474 }
475
476 /**
477 * Returns the result of interpreting the object as an instance of '<em>Problem</em>'.
478 * <!-- begin-user-doc -->
479 * This implementation returns null;
480 * returning a non-null result will terminate the switch.
481 * <!-- end-user-doc -->
482 * @param object the target of the switch.
483 * @return the result of interpreting the object as an instance of '<em>Problem</em>'.
484 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
485 * @generated
486 */
487 public T caseProblem(Problem object)
488 {
489 return null;
490 }
491
492 /**
493 * Returns the result of interpreting the object as an instance of '<em>Statement</em>'.
494 * <!-- begin-user-doc -->
495 * This implementation returns null;
496 * returning a non-null result will terminate the switch.
497 * <!-- end-user-doc -->
498 * @param object the target of the switch.
499 * @return the result of interpreting the object as an instance of '<em>Statement</em>'.
500 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
501 * @generated
502 */
503 public T caseStatement(Statement object)
504 {
505 return null;
506 }
507
508 /**
509 * Returns the result of interpreting the object as an instance of '<em>Predicate Definition</em>'.
510 * <!-- begin-user-doc -->
511 * This implementation returns null;
512 * returning a non-null result will terminate the switch.
513 * <!-- end-user-doc -->
514 * @param object the target of the switch.
515 * @return the result of interpreting the object as an instance of '<em>Predicate Definition</em>'.
516 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
517 * @generated
518 */
519 public T casePredicateDefinition(PredicateDefinition object)
520 {
521 return null;
522 }
523
524 /**
525 * Returns the result of interpreting the object as an instance of '<em>Unnamed Error Prediate Definition</em>'.
526 * <!-- begin-user-doc -->
527 * This implementation returns null;
528 * returning a non-null result will terminate the switch.
529 * <!-- end-user-doc -->
530 * @param object the target of the switch.
531 * @return the result of interpreting the object as an instance of '<em>Unnamed Error Prediate Definition</em>'.
532 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
533 * @generated
534 */
535 public T caseUnnamedErrorPrediateDefinition(UnnamedErrorPrediateDefinition object)
536 {
537 return null;
538 }
539
540 /**
541 * Returns the result of interpreting the object as an instance of '<em>Default Definition</em>'.
542 * <!-- begin-user-doc -->
543 * This implementation returns null;
544 * returning a non-null result will terminate the switch.
545 * <!-- end-user-doc -->
546 * @param object the target of the switch.
547 * @return the result of interpreting the object as an instance of '<em>Default Definition</em>'.
548 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
549 * @generated
550 */
551 public T caseDefaultDefinition(DefaultDefinition object)
552 {
553 return null;
554 }
555
556 /**
557 * Returns the result of interpreting the object as an instance of '<em>Extern Predicate Definition</em>'.
558 * <!-- begin-user-doc -->
559 * This implementation returns null;
560 * returning a non-null result will terminate the switch.
561 * <!-- end-user-doc -->
562 * @param object the target of the switch.
563 * @return the result of interpreting the object as an instance of '<em>Extern Predicate Definition</em>'.
564 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
565 * @generated
566 */
567 public T caseExternPredicateDefinition(ExternPredicateDefinition object)
568 {
569 return null;
570 }
571
572 /**
573 * Returns the result of interpreting the object as an instance of '<em>Metric Definition</em>'.
574 * <!-- begin-user-doc -->
575 * This implementation returns null;
576 * returning a non-null result will terminate the switch.
577 * <!-- end-user-doc -->
578 * @param object the target of the switch.
579 * @return the result of interpreting the object as an instance of '<em>Metric Definition</em>'.
580 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
581 * @generated
582 */
583 public T caseMetricDefinition(MetricDefinition object)
584 {
585 return null;
586 }
587
588 /**
589 * Returns the result of interpreting the object as an instance of '<em>Extern Metric Definition</em>'.
590 * <!-- begin-user-doc -->
591 * This implementation returns null;
592 * returning a non-null result will terminate the switch.
593 * <!-- end-user-doc -->
594 * @param object the target of the switch.
595 * @return the result of interpreting the object as an instance of '<em>Extern Metric Definition</em>'.
596 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
597 * @generated
598 */
599 public T caseExternMetricDefinition(ExternMetricDefinition object)
600 {
601 return null;
602 }
603
604 /**
605 * Returns the result of interpreting the object as an instance of '<em>Expression</em>'.
606 * <!-- begin-user-doc -->
607 * This implementation returns null;
608 * returning a non-null result will terminate the switch.
609 * <!-- end-user-doc -->
610 * @param object the target of the switch.
611 * @return the result of interpreting the object as an instance of '<em>Expression</em>'.
612 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
613 * @generated
614 */
615 public T caseExpression(Expression object)
616 {
617 return null;
618 }
619
620 /**
621 * Returns the result of interpreting the object as an instance of '<em>If Else</em>'.
622 * <!-- begin-user-doc -->
623 * This implementation returns null;
624 * returning a non-null result will terminate the switch.
625 * <!-- end-user-doc -->
626 * @param object the target of the switch.
627 * @return the result of interpreting the object as an instance of '<em>If Else</em>'.
628 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
629 * @generated
630 */
631 public T caseIfElse(IfElse object)
632 {
633 return null;
634 }
635
636 /**
637 * Returns the result of interpreting the object as an instance of '<em>Case</em>'.
638 * <!-- begin-user-doc -->
639 * This implementation returns null;
640 * returning a non-null result will terminate the switch.
641 * <!-- end-user-doc -->
642 * @param object the target of the switch.
643 * @return the result of interpreting the object as an instance of '<em>Case</em>'.
644 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
645 * @generated
646 */
647 public T caseCase(Case object)
648 {
649 return null;
650 }
651
652 /**
653 * Returns the result of interpreting the object as an instance of '<em>Count</em>'.
654 * <!-- begin-user-doc -->
655 * This implementation returns null;
656 * returning a non-null result will terminate the switch.
657 * <!-- end-user-doc -->
658 * @param object the target of the switch.
659 * @return the result of interpreting the object as an instance of '<em>Count</em>'.
660 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
661 * @generated
662 */
663 public T caseCount(Count object)
664 {
665 return null;
666 }
667
668 /**
669 * Returns the result of interpreting the object as an instance of '<em>Aggregation</em>'.
670 * <!-- begin-user-doc -->
671 * This implementation returns null;
672 * returning a non-null result will terminate the switch.
673 * <!-- end-user-doc -->
674 * @param object the target of the switch.
675 * @return the result of interpreting the object as an instance of '<em>Aggregation</em>'.
676 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
677 * @generated
678 */
679 public T caseAggregation(Aggregation object)
680 {
681 return null;
682 }
683
684 /**
685 * Returns the result of interpreting the object as an instance of '<em>Call</em>'.
686 * <!-- begin-user-doc -->
687 * This implementation returns null;
688 * returning a non-null result will terminate the switch.
689 * <!-- end-user-doc -->
690 * @param object the target of the switch.
691 * @return the result of interpreting the object as an instance of '<em>Call</em>'.
692 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
693 * @generated
694 */
695 public T caseCall(Call object)
696 {
697 return null;
698 }
699
700 /**
701 * Returns the result of interpreting the object as an instance of '<em>Argument List</em>'.
702 * <!-- begin-user-doc -->
703 * This implementation returns null;
704 * returning a non-null result will terminate the switch.
705 * <!-- end-user-doc -->
706 * @param object the target of the switch.
707 * @return the result of interpreting the object as an instance of '<em>Argument List</em>'.
708 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
709 * @generated
710 */
711 public T caseArgumentList(ArgumentList object)
712 {
713 return null;
714 }
715
716 /**
717 * Returns the result of interpreting the object as an instance of '<em>Argument</em>'.
718 * <!-- begin-user-doc -->
719 * This implementation returns null;
720 * returning a non-null result will terminate the switch.
721 * <!-- end-user-doc -->
722 * @param object the target of the switch.
723 * @return the result of interpreting the object as an instance of '<em>Argument</em>'.
724 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
725 * @generated
726 */
727 public T caseArgument(Argument object)
728 {
729 return null;
730 }
731
732 /**
733 * Returns the result of interpreting the object as an instance of '<em>Expression Argument</em>'.
734 * <!-- begin-user-doc -->
735 * This implementation returns null;
736 * returning a non-null result will terminate the switch.
737 * <!-- end-user-doc -->
738 * @param object the target of the switch.
739 * @return the result of interpreting the object as an instance of '<em>Expression Argument</em>'.
740 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
741 * @generated
742 */
743 public T caseExpressionArgument(ExpressionArgument object)
744 {
745 return null;
746 }
747
748 /**
749 * Returns the result of interpreting the object as an instance of '<em>Star Argument</em>'.
750 * <!-- begin-user-doc -->
751 * This implementation returns null;
752 * returning a non-null result will terminate the switch.
753 * <!-- end-user-doc -->
754 * @param object the target of the switch.
755 * @return the result of interpreting the object as an instance of '<em>Star Argument</em>'.
756 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
757 * @generated
758 */
759 public T caseStarArgument(StarArgument object)
760 {
761 return null;
762 }
763
764 /**
765 * Returns the result of interpreting the object as an instance of '<em>Typed Argument</em>'.
766 * <!-- begin-user-doc -->
767 * This implementation returns null;
768 * returning a non-null result will terminate the switch.
769 * <!-- end-user-doc -->
770 * @param object the target of the switch.
771 * @return the result of interpreting the object as an instance of '<em>Typed Argument</em>'.
772 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
773 * @generated
774 */
775 public T caseTypedArgument(TypedArgument object)
776 {
777 return null;
778 }
779
780 /**
781 * Returns the result of interpreting the object as an instance of '<em>Typed Star Argument</em>'.
782 * <!-- begin-user-doc -->
783 * This implementation returns null;
784 * returning a non-null result will terminate the switch.
785 * <!-- end-user-doc -->
786 * @param object the target of the switch.
787 * @return the result of interpreting the object as an instance of '<em>Typed Star Argument</em>'.
788 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
789 * @generated
790 */
791 public T caseTypedStarArgument(TypedStarArgument object)
792 {
793 return null;
794 }
795
796 /**
797 * Returns the result of interpreting the object as an instance of '<em>Reference</em>'.
798 * <!-- begin-user-doc -->
799 * This implementation returns null;
800 * returning a non-null result will terminate the switch.
801 * <!-- end-user-doc -->
802 * @param object the target of the switch.
803 * @return the result of interpreting the object as an instance of '<em>Reference</em>'.
804 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
805 * @generated
806 */
807 public T caseReference(Reference object)
808 {
809 return null;
810 }
811
812 /**
813 * Returns the result of interpreting the object as an instance of '<em>Interval</em>'.
814 * <!-- begin-user-doc -->
815 * This implementation returns null;
816 * returning a non-null result will terminate the switch.
817 * <!-- end-user-doc -->
818 * @param object the target of the switch.
819 * @return the result of interpreting the object as an instance of '<em>Interval</em>'.
820 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
821 * @generated
822 */
823 public T caseInterval(Interval object)
824 {
825 return null;
826 }
827
828 /**
829 * Returns the result of interpreting the object as an instance of '<em>Literal</em>'.
830 * <!-- begin-user-doc -->
831 * This implementation returns null;
832 * returning a non-null result will terminate the switch.
833 * <!-- end-user-doc -->
834 * @param object the target of the switch.
835 * @return the result of interpreting the object as an instance of '<em>Literal</em>'.
836 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
837 * @generated
838 */
839 public T caseLiteral(Literal object)
840 {
841 return null;
842 }
843
844 /**
845 * Returns the result of interpreting the object as an instance of '<em>Logic Literal</em>'.
846 * <!-- begin-user-doc -->
847 * This implementation returns null;
848 * returning a non-null result will terminate the switch.
849 * <!-- end-user-doc -->
850 * @param object the target of the switch.
851 * @return the result of interpreting the object as an instance of '<em>Logic Literal</em>'.
852 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
853 * @generated
854 */
855 public T caseLogicLiteral(LogicLiteral object)
856 {
857 return null;
858 }
859
860 /**
861 * Returns the result of interpreting the object as an instance of '<em>Numeric Literal</em>'.
862 * <!-- begin-user-doc -->
863 * This implementation returns null;
864 * returning a non-null result will terminate the switch.
865 * <!-- end-user-doc -->
866 * @param object the target of the switch.
867 * @return the result of interpreting the object as an instance of '<em>Numeric Literal</em>'.
868 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
869 * @generated
870 */
871 public T caseNumericLiteral(NumericLiteral object)
872 {
873 return null;
874 }
875
876 /**
877 * Returns the result of interpreting the object as an instance of '<em>Infinity Literal</em>'.
878 * <!-- begin-user-doc -->
879 * This implementation returns null;
880 * returning a non-null result will terminate the switch.
881 * <!-- end-user-doc -->
882 * @param object the target of the switch.
883 * @return the result of interpreting the object as an instance of '<em>Infinity Literal</em>'.
884 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
885 * @generated
886 */
887 public T caseInfinityLiteral(InfinityLiteral object)
888 {
889 return null;
890 }
891
892 /**
893 * Returns the result of interpreting the object as an instance of '<em>Empty Interval Literal</em>'.
894 * <!-- begin-user-doc -->
895 * This implementation returns null;
896 * returning a non-null result will terminate the switch.
897 * <!-- end-user-doc -->
898 * @param object the target of the switch.
899 * @return the result of interpreting the object as an instance of '<em>Empty Interval Literal</em>'.
900 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
901 * @generated
902 */
903 public T caseEmptyIntervalLiteral(EmptyIntervalLiteral object)
904 {
905 return null;
906 }
907
908 /**
909 * Returns the result of interpreting the object as an instance of '<em>String Literal</em>'.
910 * <!-- begin-user-doc -->
911 * This implementation returns null;
912 * returning a non-null result will terminate the switch.
913 * <!-- end-user-doc -->
914 * @param object the target of the switch.
915 * @return the result of interpreting the object as an instance of '<em>String Literal</em>'.
916 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
917 * @generated
918 */
919 public T caseStringLiteral(StringLiteral object)
920 {
921 return null;
922 }
923
924 /**
925 * Returns the result of interpreting the object as an instance of '<em>Class Definition</em>'.
926 * <!-- begin-user-doc -->
927 * This implementation returns null;
928 * returning a non-null result will terminate the switch.
929 * <!-- end-user-doc -->
930 * @param object the target of the switch.
931 * @return the result of interpreting the object as an instance of '<em>Class Definition</em>'.
932 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
933 * @generated
934 */
935 public T caseClassDefinition(ClassDefinition object)
936 {
937 return null;
938 }
939
940 /**
941 * Returns the result of interpreting the object as an instance of '<em>Member Definition</em>'.
942 * <!-- begin-user-doc -->
943 * This implementation returns null;
944 * returning a non-null result will terminate the switch.
945 * <!-- end-user-doc -->
946 * @param object the target of the switch.
947 * @return the result of interpreting the object as an instance of '<em>Member Definition</em>'.
948 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
949 * @generated
950 */
951 public T caseMemberDefinition(MemberDefinition object)
952 {
953 return null;
954 }
955
956 /**
957 * Returns the result of interpreting the object as an instance of '<em>Multiplicity</em>'.
958 * <!-- begin-user-doc -->
959 * This implementation returns null;
960 * returning a non-null result will terminate the switch.
961 * <!-- end-user-doc -->
962 * @param object the target of the switch.
963 * @return the result of interpreting the object as an instance of '<em>Multiplicity</em>'.
964 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
965 * @generated
966 */
967 public T caseMultiplicity(Multiplicity object)
968 {
969 return null;
970 }
971
972 /**
973 * Returns the result of interpreting the object as an instance of '<em>Many Multiplicity</em>'.
974 * <!-- begin-user-doc -->
975 * This implementation returns null;
976 * returning a non-null result will terminate the switch.
977 * <!-- end-user-doc -->
978 * @param object the target of the switch.
979 * @return the result of interpreting the object as an instance of '<em>Many Multiplicity</em>'.
980 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
981 * @generated
982 */
983 public T caseManyMultiplicity(ManyMultiplicity object)
984 {
985 return null;
986 }
987
988 /**
989 * Returns the result of interpreting the object as an instance of '<em>Exact Multiplicity</em>'.
990 * <!-- begin-user-doc -->
991 * This implementation returns null;
992 * returning a non-null result will terminate the switch.
993 * <!-- end-user-doc -->
994 * @param object the target of the switch.
995 * @return the result of interpreting the object as an instance of '<em>Exact Multiplicity</em>'.
996 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
997 * @generated
998 */
999 public T caseExactMultiplicity(ExactMultiplicity object)
1000 {
1001 return null;
1002 }
1003
1004 /**
1005 * Returns the result of interpreting the object as an instance of '<em>Bounded Multiplicity</em>'.
1006 * <!-- begin-user-doc -->
1007 * This implementation returns null;
1008 * returning a non-null result will terminate the switch.
1009 * <!-- end-user-doc -->
1010 * @param object the target of the switch.
1011 * @return the result of interpreting the object as an instance of '<em>Bounded Multiplicity</em>'.
1012 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1013 * @generated
1014 */
1015 public T caseBoundedMultiplicity(BoundedMultiplicity object)
1016 {
1017 return null;
1018 }
1019
1020 /**
1021 * Returns the result of interpreting the object as an instance of '<em>Scope Definition</em>'.
1022 * <!-- begin-user-doc -->
1023 * This implementation returns null;
1024 * returning a non-null result will terminate the switch.
1025 * <!-- end-user-doc -->
1026 * @param object the target of the switch.
1027 * @return the result of interpreting the object as an instance of '<em>Scope Definition</em>'.
1028 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1029 * @generated
1030 */
1031 public T caseScopeDefinition(ScopeDefinition object)
1032 {
1033 return null;
1034 }
1035
1036 /**
1037 * Returns the result of interpreting the object as an instance of '<em>Exact Scope Definition</em>'.
1038 * <!-- begin-user-doc -->
1039 * This implementation returns null;
1040 * returning a non-null result will terminate the switch.
1041 * <!-- end-user-doc -->
1042 * @param object the target of the switch.
1043 * @return the result of interpreting the object as an instance of '<em>Exact Scope Definition</em>'.
1044 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1045 * @generated
1046 */
1047 public T caseExactScopeDefinition(ExactScopeDefinition object)
1048 {
1049 return null;
1050 }
1051
1052 /**
1053 * Returns the result of interpreting the object as an instance of '<em>Bounded Scope Definition</em>'.
1054 * <!-- begin-user-doc -->
1055 * This implementation returns null;
1056 * returning a non-null result will terminate the switch.
1057 * <!-- end-user-doc -->
1058 * @param object the target of the switch.
1059 * @return the result of interpreting the object as an instance of '<em>Bounded Scope Definition</em>'.
1060 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1061 * @generated
1062 */
1063 public T caseBoundedScopeDefinition(BoundedScopeDefinition object)
1064 {
1065 return null;
1066 }
1067
1068 /**
1069 * Returns the result of interpreting the object as an instance of '<em>Lower Bounded Scope Definition</em>'.
1070 * <!-- begin-user-doc -->
1071 * This implementation returns null;
1072 * returning a non-null result will terminate the switch.
1073 * <!-- end-user-doc -->
1074 * @param object the target of the switch.
1075 * @return the result of interpreting the object as an instance of '<em>Lower Bounded Scope Definition</em>'.
1076 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1077 * @generated
1078 */
1079 public T caseLowerBoundedScopeDefinition(LowerBoundedScopeDefinition object)
1080 {
1081 return null;
1082 }
1083
1084 /**
1085 * Returns the result of interpreting the object as an instance of '<em>Objective Definition</em>'.
1086 * <!-- begin-user-doc -->
1087 * This implementation returns null;
1088 * returning a non-null result will terminate the switch.
1089 * <!-- end-user-doc -->
1090 * @param object the target of the switch.
1091 * @return the result of interpreting the object as an instance of '<em>Objective Definition</em>'.
1092 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1093 * @generated
1094 */
1095 public T caseObjectiveDefinition(ObjectiveDefinition object)
1096 {
1097 return null;
1098 }
1099
1100 /**
1101 * Returns the result of interpreting the object as an instance of '<em>Named Element</em>'.
1102 * <!-- begin-user-doc -->
1103 * This implementation returns null;
1104 * returning a non-null result will terminate the switch.
1105 * <!-- end-user-doc -->
1106 * @param object the target of the switch.
1107 * @return the result of interpreting the object as an instance of '<em>Named Element</em>'.
1108 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1109 * @generated
1110 */
1111 public T caseNamedElement(NamedElement object)
1112 {
1113 return null;
1114 }
1115
1116 /**
1117 * Returns the result of interpreting the object as an instance of '<em>Assertion</em>'.
1118 * <!-- begin-user-doc -->
1119 * This implementation returns null;
1120 * returning a non-null result will terminate the switch.
1121 * <!-- end-user-doc -->
1122 * @param object the target of the switch.
1123 * @return the result of interpreting the object as an instance of '<em>Assertion</em>'.
1124 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1125 * @generated
1126 */
1127 public T caseAssertion(Assertion object)
1128 {
1129 return null;
1130 }
1131
1132 /**
1133 * Returns the result of interpreting the object as an instance of '<em>Disjunction</em>'.
1134 * <!-- begin-user-doc -->
1135 * This implementation returns null;
1136 * returning a non-null result will terminate the switch.
1137 * <!-- end-user-doc -->
1138 * @param object the target of the switch.
1139 * @return the result of interpreting the object as an instance of '<em>Disjunction</em>'.
1140 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1141 * @generated
1142 */
1143 public T caseDisjunction(Disjunction object)
1144 {
1145 return null;
1146 }
1147
1148 /**
1149 * Returns the result of interpreting the object as an instance of '<em>Switch</em>'.
1150 * <!-- begin-user-doc -->
1151 * This implementation returns null;
1152 * returning a non-null result will terminate the switch.
1153 * <!-- end-user-doc -->
1154 * @param object the target of the switch.
1155 * @return the result of interpreting the object as an instance of '<em>Switch</em>'.
1156 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1157 * @generated
1158 */
1159 public T caseSwitch(org.eclipse.viatra.solver.language.solverLanguage.Switch object)
1160 {
1161 return null;
1162 }
1163
1164 /**
1165 * Returns the result of interpreting the object as an instance of '<em>Conjunction</em>'.
1166 * <!-- begin-user-doc -->
1167 * This implementation returns null;
1168 * returning a non-null result will terminate the switch.
1169 * <!-- end-user-doc -->
1170 * @param object the target of the switch.
1171 * @return the result of interpreting the object as an instance of '<em>Conjunction</em>'.
1172 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1173 * @generated
1174 */
1175 public T caseConjunction(Conjunction object)
1176 {
1177 return null;
1178 }
1179
1180 /**
1181 * Returns the result of interpreting the object as an instance of '<em>Comparison</em>'.
1182 * <!-- begin-user-doc -->
1183 * This implementation returns null;
1184 * returning a non-null result will terminate the switch.
1185 * <!-- end-user-doc -->
1186 * @param object the target of the switch.
1187 * @return the result of interpreting the object as an instance of '<em>Comparison</em>'.
1188 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1189 * @generated
1190 */
1191 public T caseComparison(Comparison object)
1192 {
1193 return null;
1194 }
1195
1196 /**
1197 * Returns the result of interpreting the object as an instance of '<em>Binary Expression</em>'.
1198 * <!-- begin-user-doc -->
1199 * This implementation returns null;
1200 * returning a non-null result will terminate the switch.
1201 * <!-- end-user-doc -->
1202 * @param object the target of the switch.
1203 * @return the result of interpreting the object as an instance of '<em>Binary Expression</em>'.
1204 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1205 * @generated
1206 */
1207 public T caseBinaryExpression(BinaryExpression object)
1208 {
1209 return null;
1210 }
1211
1212 /**
1213 * Returns the result of interpreting the object as an instance of '<em>Unary Expression</em>'.
1214 * <!-- begin-user-doc -->
1215 * This implementation returns null;
1216 * returning a non-null result will terminate the switch.
1217 * <!-- end-user-doc -->
1218 * @param object the target of the switch.
1219 * @return the result of interpreting the object as an instance of '<em>Unary Expression</em>'.
1220 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
1221 * @generated
1222 */
1223 public T caseUnaryExpression(UnaryExpression object)
1224 {
1225 return null;
1226 }
1227
1228 /**
1229 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
1230 * <!-- begin-user-doc -->
1231 * This implementation returns null;
1232 * returning a non-null result will terminate the switch, but this is the last case anyway.
1233 * <!-- end-user-doc -->
1234 * @param object the target of the switch.
1235 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
1236 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
1237 * @generated
1238 */
1239 @Override
1240 public T defaultCase(EObject object)
1241 {
1242 return null;
1243 }
1244
1245} //SolverLanguageSwitch
diff --git a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/validation/AbstractSolverLanguageValidator.java b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/validation/AbstractSolverLanguageValidator.java
index 55314a22..1bcc7538 100644
--- a/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/validation/AbstractSolverLanguageValidator.java
+++ b/Application/org.eclipse.viatra.solver.language/src-gen/org/eclipse/viatra/solver/language/validation/AbstractSolverLanguageValidator.java
@@ -13,7 +13,7 @@ public abstract class AbstractSolverLanguageValidator extends AbstractDeclarativ
13 @Override 13 @Override
14 protected List<EPackage> getEPackages() { 14 protected List<EPackage> getEPackages() {
15 List<EPackage> result = new ArrayList<EPackage>(); 15 List<EPackage> result = new ArrayList<EPackage>();
16 result.add(org.eclipse.viatra.solver.language.solverLanguage.SolverLanguagePackage.eINSTANCE); 16 result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.eclipse.org/viatra/solver/language/SolverLanguage"));
17 return result; 17 return result;
18 } 18 }
19} 19}